import statusUpdater from "./statusUpdater";
import store from "../store";
export default {
extraHeart: {
name: "extraHeart",
text: "Extra Heart",
desc: "Increase HP by 30% per level",
cost: 3,
max: 3,
prerequisites: false,
aquire(){
store.player.hp.extraHeartMultiplier += 0.3;
statusUpdater.updateHp();
},
remove(){
store.player.hp.extraHeartMultiplier = 0;
statusUpdater.updateHp();
}
},
extraBeef: {
name: "extraBeef",
text: "Extra Beef",
desc: "Increase Attack by 10% per level",
cost: 1,
max: 5,
prerequisites: ["extraHeart"],
aquire(){
store.player.attack.extraBeefMultiplier += 0.1;
statusUpdater.updateAttack();
},
remove(){
store.player.attack.extraBeefMultiplier = 0;
statusUpdater.updateAttack();
}
},
longerLegs: {
name: "longerLegs",
text: "Longer Legs",
desc: "Increase speed by 1 - ATB fills up one tick sooner. Base is 25 ticks.",
cost: 4,
max: 3,
prerequisites: false,
aquire(){
store.player.atb.longerLegs += 1;
statusUpdater.updateSpeed();
},
remove(){
store.player.atb.longerLegs = 0;
statusUpdater.updateSpeed();
},
},
superiorVision: {
name: "superiorVision",
text: "Superior Vision",
desc: "Increase explore speed by 5 - ATB fills up 5 ticks sooner. Base is 100 ticks.",
cost: 1,
max: 10,
prerequisites: false,
aquire(){
store.player.exploreSpeed += 5;
statusUpdater.updateExploreSpeed();
},
remove(){
store.player.exploreSpeed = 0;
statusUpdater.updateExploreSpeed();
},
},
centepedeForcipules:{
name: "centepedeForcipules",
text: "Centepede Forcipules",
desc: "Base posion damage up 1 per level - by default poison has a 5% chance of hitting",
cost: 4,
max: 3,
prerequisites: false,
aquire(){
store.player.poisonAttack.centepedeForcipules += 1;
statusUpdater.updatePoisonAttack();
},
remove(){
store.player.poisonAttack.centepedeForcipules = 0;
statusUpdater.updatePoisonAttack();
},
},
anaphylaxis:{
name: "anaphylaxis",
text: "Anaphylaxis",
desc: "Posion chance is 20% greater - multiplier - it's multiplied by 20%, not 20% more!",
cost: 2,
max: 5,
prerequisites: false,
aquire(){
store.player.poisonAttack.anaphylaxis += 20;
statusUpdater.updatePoisonAttackChance();
},
remove(){
store.player.poisonAttack.anaphylaxis = 0;
statusUpdater.updatePoisonAttackChance();
},
},
formicAcid:{
name: "formicAcid",
text: "Formic Acid",
desc: "Posion chance base is 1% greater - additive - it's 1% more!",
cost: 2,
max: 10,
prerequisites: false,
aquire(){
store.player.poisonAttack.formicAcid += 1;
statusUpdater.updatePoisonAttackChance();
},
remove(){
store.player.poisonAttack.formicAcid = 0;
statusUpdater.updatePoisonAttackChance();
},
},
fangs:{
name: "fangs",
text: "Fangs",
desc: "Your poison attack percentage will directly multiply your damage",
cost: 20,
max: 1,
prerequisites: false,
aquire(){
store.player.attack.fangsMultiplier = store.player.poisonAttack.chance/100;
statusUpdater.updateAttack();
},
remove(){
store.player.attack.fangsMultiplier = 0;
statusUpdater.updateAttack();
},
},
lobsterGreed:{
name: "lobsterGreed",
text: "Lobster Greed",
desc: "These greedy lobster instincts will compell you to find 10% more gold per level.",
cost: 2,
max: 10,
prerequisites: false,
aquire(){
store.player.goldGain.lobsterGreed += 0.1;
statusUpdater.updateGoldGain();
},
remove(){
store.player.goldGain.lobsterGreed = 0;
statusUpdater.updateGoldGain();
},
},
shrimpWisdom:{
name: "shrimpWisdom",
text: "Shrimp Wisdom",
desc: "You could learn alot from shrimps you know? Gain 10% more experience per level.",
cost: 2,
max: 10,
prerequisites: false,
aquire(){
store.player.expGain.shrimpWisdom += 0.1;
statusUpdater.updateExpGain();
},
remove(){
store.player.expGain.shrimpWisdom = 0;
statusUpdater.updateExpGain();
},
},
necrosis:{
name: "necrosis",
text: "Necrosis",
desc: "Attacks are 10% more powerfull against poisoned foes.",
cost: 2,
max: 5,
prerequisites: false,
aquire(){
store.player.toxin.necrosis += 0.1;
statusUpdater.updateToxin();
},
remove(){
store.player.toxin.necrosis = 0;
statusUpdater.updateToxin();
},
},
antigens:{
name: "antigens",
text: "Antigens",
desc: "You negate one poison per level.",
cost: 3,
max: 3,
prerequisites: false,
aquire(){
store.player.poisonDefence.antigens += 1;
statusUpdater.updatePoisonDefence();
},
remove(){
store.player.poisonDefence.antigens = 0;
statusUpdater.updatePoisonDefence();
}
},
joust: {
name: "joust",
text: "Joust",
desc: "Every fourth attack will do 70% more damage per level.",
cost: 4,
max: 3,
prerequisites: false,
aquire(){
store.player.strongFourth.joust += 0.7
statusUpdater.updateStrongFourthVal();
},
remove(){
store.player.strongFourth.joust = 0;
statusUpdater.updateStrongFourthVal();
}
},
antiJoust: {
name: "antiJoust",
text: "Anti-Joust",
desc: "You block an extra 2 damage per level - but only only every fourth time your attacked.",
cost: 3,
max: 3,
prerequisites: false,
aquire(){
store.player.fourthDefence.antiJoust += 2;
statusUpdater.updateFourthDefenceFlat();
},
remove(){
store.player.fourthDefence.antiJoust = 0;
statusUpdater.updateFourthDefenceFlat();
}
}
}
import store from "../store";
import statusUpdater from "./statusUpdater";
export default {
dodgyTicker:{
name:"dodgyTicker",
text: "The Dodgy Ticker",
desc: "Beep Beep Beep BONG. Your fourth attack is greater so your other attacks are nerfed.",
equip(){
store.artifacts.dodgyTicker.equipped = true;
store.player.attack.dodgyTicker += 1;
store.player.strongFourth.dodgyTicker += 3;
statusUpdater.updateAttack();
statusUpdater.updateStrongFourthVal();
},
unequip(){
store.artifacts.dodgyTicker.equipped = false;
store.player.attack.dodgyTicker -= 1;
store.player.strongFourth.dodgyTicker -= 3;
statusUpdater.updateAttack();
statusUpdater.updateStrongFourthVal();
}
},
experimentalVaccine:{
name:"experimentalVaccine",
text: "Experimental Vaccine",
desc: "You will become more immune to poison, your long term heath will suffer",
equip(){
store.artifacts.experimentalVaccine.equipped = true;
store.player.hp.experimentalVaccine += 1;
store.player.poisonDefence.experimentalVaccine += 2;
statusUpdater.updateHp();
statusUpdater.updatePoisonDefence();
},
unequip(){
store.artifacts.experimentalVaccine.equipped = false;
store.player.hp.experimentalVaccine -= 1;
store.player.poisonDefence.experimentalVaccine -= 2;
statusUpdater.updateHp();
statusUpdater.updatePoisonDefence();
}
},
pillow:{
name:"pillow",
text: "The Pillow",
desc: "Life just got more comfortable - you will rely less on violence.",
equip(){
store.artifacts.pillow.equipped = true;
store.player.hp.pillow += 0.3;
store.player.attack.pillow += 1;
statusUpdater.updateHp();
statusUpdater.updateAttack();
},
unequip(){
store.artifacts.pillow.equipped = false;
store.player.hp.pillow -= 0.3;
store.player.attack.pillow -= 1;
statusUpdater.updateHp();
statusUpdater.updateAttack();
}
},
plusSign:{
name:"plusSign",
text: "A Plus Sign",
desc: "Yay, no drabacks.",
equip(){
store.artifacts.plusSign.equipped = true;
store.player.hp.plusSign += 13;
store.player.attack.plusSign += 3;
statusUpdater.updateHp();
statusUpdater.updateAttack();
},
unequip(){
store.artifacts.plusSign.equipped = false;
store.player.hp.plusSign -= 13;
store.player.attack.plusSign -= 3;
statusUpdater.updateHp();
statusUpdater.updateAttack();
},
},
}
let config = require(__base + 'config'),
masterConfig = require(__base + 'components/db-master/master-configs'),
rp = require('request-promise'),
statusUpdater = require(__base +
'components/core/helper/status-updater')({}),
tableOperations = require(__base +
'components/db-master/table-operations')({}),
pushUpdate = require(__base +
'components/core/push-update')({}),
isJSON = require('is-valid-json'),
isReachable = require('is-reachable'),
logger = require(__base + 'components/logger').log(),
logFormat = require(__base + 'components/logger').format;
module.exports = (params) => {
return {
proceedCSM: (data) => {
console.log('================ proceedCSM data');
masterConfig.getConfigValue('core', 'cloud_his_url', (err, row) => {
console.log('================ proceedCSM' + row);
if(row) {
let cloudUrl = row.config_val;
console.log('================ proceedCSM' + cloudUrl);
isReachable(cloudUrl).then(reachable => {
console.log('================ IS REACHABLE');
let d = {
state: 4,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
console.log('================ PRINTING DATA PACKET TO UPDATE');
console.log(d);
statusUpdater.updateStatus(d, (err, response) => {
console.log('================ REPONSE FROM UPDATE');
if(err) {
let d = {
state: 2,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
//return true;
});
}
});
});
}
});
},
backupData: (data, callback) => {
let d = {
state: 7,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
console.log('STATUS = 7 UPDATED @ CLOUD AND INPREMISE :: CLOUD AND INPREMISE');
tableOperations.tablesBackup(data, (err, tablesBackupRes) => {
if(tablesBackupRes) {
let d = {
state: 8,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
// need to write logger functions
} else {
// need to write logger functions
}
});
} else {
let d = {
state: 6,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
// need to write logger functions
} else {
// need to write logger functions
}
});
}
});
} else {
let d = {
state: 6,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
// need to write logger functions
} else {
// need to write logger functions
}
});
}
});
},
truncateTables: (data, callback) => {
let d = {
state: 9,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
tableOperations.truncateTables(data, (err, truncateDataRes) => {
console.log('RESPONSE FROM truncateTables :: CLOUD TO INPREMISE - HEAD START');
console.log(truncateDataRes);
console.log('RESPONSE FROM truncateTables :: CLOUD TO INPREMISE - HEAD END');
if(truncateDataRes) {
console.log('ENTED IN IF CONDITION truncateTables');
let d = {
state: 10,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
// need to write logger functions
} else {
// need to write logger functions
}
});
} else {
let d = {
state: 8,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
// need to write logger functions
} else {
// need to write logger functions
}
});
}
});
} else {
let d = {
state: 8,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
// need to write logger functions
} else {
// need to write logger functions
}
});
}
});
},
importTables: (data, callback) => {
let d = {
state: 11,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
tableOperations.importTables(data, (err, importDataRes) => {
if(importDataRes) {
let stateValue = 12;
if(data.generate_sqlite==0 && data.generate_push==0) {
stateValue = 16;
} else if(data.generate_sqlite==0 && data.generate_push==1) {
stateValue = 14;
}
console.log('REQUEST FROM importTables Fn');
console.log('WRITING TO CLOUD and IN-PREMISE');
let d = {
state: stateValue,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
return true;
} else {
return false;
}
});
}
});
} else {
let d = {
state: 8,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
// need to write logger functions
} else {
// need to write logger functions
}
});
}
});
},
generateSQLITE: (data, callback) => {
let d = {
state: 13,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
masterConfig.getConfigValue('core', 'inpremise_his_url', (err, row) => {
let generateSqliteUrl =
config.inpremise.syncManager.url.generateSqlite;
console.log(generateSqliteUrl);
let options = {
method: 'POST',
uri: generateSqliteUrl,
headers: {
'Content-Type': config.inpremise.headers.contentType,
'Access-Token': process.env.access_token
},
body: JSON.stringify({
files: data.module_name,
hotel_id: data.hotel_id
}),
rejectUnauthorized: config.server.rejectUnauthorized
};
rp(options)
.then((getSqliteRes) => {
console.log(getSqliteRes);
if(isJSON(getSqliteRes)) {
console.log(getSqliteRes);
let parsedRes = JSON.parse(getSqliteRes);
if(parsedRes.status) {
let stateValue = 14;
if(data.generate_push==0) {
stateValue = 16;
}
let d = {
state: stateValue,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
// need to write logger functions
} else {
// need to write logger functions
}
});
} else {
let d = {
state: 12,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
// need to write logger functions
} else {
// need to write logger functions
}
});
}
} else {
console.log('not a valid JSON');
}
})
.catch((err) => {
console.log(err);
let d = {
state: 12,
syncRequestsId: data.sync_requests_id,
remoteSyncRequestId: data.relative_sync_requests_id,
hotelId: data.hotel_id
};
statusUpdater.updateStatus(d, (err, response) => {
if(response) {
// need to write logger functions
} else {
// need to write logger functions
}
});
});
});
} else {
// need to write logger functions
}
});
}
};
}
Accelerate Your Automation Test Cycles With LambdaTest
Leverage LambdaTestās cloud-based platform to execute your automation tests in parallel and trim down your test execution time significantly. Your first 100 automation testing minutes are on us.