You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
184 lines
5.0 KiB
JavaScript
184 lines
5.0 KiB
JavaScript
// For front-end debugging
|
|
// Anything to be tested that would otherwise need server logs, etc.
|
|
// should go here
|
|
|
|
function debugEffect(){
|
|
|
|
let damageAmount = document.getElementById("effectDamageAmount").value;
|
|
if(damageAmount == ""){ damageAmount = null; }
|
|
|
|
let targetId = document.getElementById("effectTargetId").value;
|
|
if(targetId == ""){ targetId = null; }
|
|
|
|
let targetId2 = document.getElementById("effectTargetId2").value;
|
|
if(targetId2 == ""){ targetId2 = null; }
|
|
|
|
let targetPlayer = document.getElementById("effectTargetPlayer").value;
|
|
if(targetPlayer == ""){ targetPlayer = null; }
|
|
|
|
let effectAddRemove = document.getElementById("effectAddRemove").value;
|
|
if(effectAddRemove == ""){ effectAddRemove = null; }
|
|
|
|
let effect = document.getElementById("effect").value;
|
|
if(effect == ""){ effect = null; }
|
|
|
|
debugEffectFunction(damageAmount, targetId, targetId2, targetPlayer, effectAddRemove, effect);
|
|
|
|
}
|
|
|
|
function debugEffectFunction(damageAmount = null, targetId = null, targetId2 = null, targetPlayer = null, effectAddRemove = null, effect = null){
|
|
|
|
if(effect == 'hurt'){
|
|
hurt(damageAmount, targetId, targetPlayer);
|
|
}
|
|
if(effect == 'heal'){
|
|
heal(damageAmount, targetPlayer);
|
|
}
|
|
if(effect == 'flight'){
|
|
console.log(targetId+' Flight: '+flight[targetId]);
|
|
|
|
console.log(effectAddRemove);
|
|
|
|
if(effectAddRemove == 'remove'){
|
|
removeFlight(targetId);
|
|
}else{
|
|
giveFlight(targetId);
|
|
}
|
|
|
|
console.log(targetId+' Flight: '+flight[targetId]);
|
|
}
|
|
if(effect == 'reach'){
|
|
console.log(targetId+' Reach: '+reach[targetId]);
|
|
|
|
console.log(effectAddRemove);
|
|
|
|
if(effectAddRemove == 'remove'){
|
|
removeReach(targetId);
|
|
}else{
|
|
giveReach(targetId);
|
|
}
|
|
|
|
console.log(targetId+' Reach: '+reach[targetId]);
|
|
}
|
|
if(effect == 'draw'){
|
|
drawCard(damageAmount, targetPlayer);
|
|
}
|
|
if(effect == 'equip'){}
|
|
}
|
|
|
|
|
|
function debugTrigger(){
|
|
let targetId = document.getElementById("triggerTargetId").value;
|
|
if(targetId == ""){ targetId = null; }
|
|
|
|
let trigger = document.getElementById("trigger").value;
|
|
if(trigger == ""){ trigger = null; }
|
|
|
|
let triggerAmount = document.getElementById("triggerAmount").value;
|
|
if(triggerAmount == ""){ triggerAmount = null; }
|
|
|
|
debugTriggerFunction(targetId, trigger, triggerAmount);
|
|
}
|
|
function debugTriggerFunction(targetId = null, trigger = null, triggerAmount = null){
|
|
|
|
if(targetId == null){ return false; }
|
|
|
|
if(trigger == 'tap'){
|
|
triggerTap(targetId);
|
|
}
|
|
if(trigger == 'pay'){
|
|
triggerPay(triggerAmount);
|
|
}
|
|
}
|
|
|
|
// Builds console log for card effect (inc.
|
|
// all triggers, etc)
|
|
function debugGetCardEffects(itemKey){
|
|
|
|
let effectData = cardEffect[itemKey];
|
|
console.log(effectData);
|
|
if(effectData === undefined){ return false; }
|
|
|
|
effectData.forEach((effect, effectIndex) => {
|
|
|
|
console.log('--- Effect '+ effectIndex +' ---');
|
|
console.log(effect['description']);
|
|
|
|
// Loop the triggers
|
|
for (const [key, value] of Object.entries(effect['trigger'])) {
|
|
|
|
console.log('--- Trigger ---');
|
|
let effectTrigger = effect['trigger'][key];
|
|
console.log(triggerTypes[effectTrigger['triggerTypeId']]);
|
|
|
|
console.log('--- Trigger Amount ---');
|
|
console.log(effectTrigger['amount']);
|
|
|
|
// Loop targets for said trigger
|
|
effectTrigger['target'].forEach((effectTriggerTarget) => {
|
|
console.log('--- Trigger Target ---');
|
|
console.log(effectTriggerTarget.classId);
|
|
console.log(effectTriggerTarget.colourId);
|
|
console.log(effectTriggerTarget.passiveId);
|
|
console.log(effectTriggerTarget.typeId);
|
|
});
|
|
}
|
|
|
|
// Loop the effects
|
|
for (const [key, value] of Object.entries(effect['step'])) {
|
|
// amoutn, basicEffectId, stepOrder, target (also itemfromstep)
|
|
console.log(effect['step'][key]);
|
|
|
|
console.log('--- Effect Step ---');
|
|
let effectStep = effect['step'][key];
|
|
console.log(basicEffects[effectStep['basicEffectId']]);
|
|
|
|
console.log('--- Effect Step Amount ---');
|
|
console.log(effectStep['amount']);
|
|
|
|
// Loop targets for effectStep
|
|
effectStep['target'].forEach((effectStepTarget) => {
|
|
console.log('--- Effect Step Target ---');
|
|
console.log(effectStepTarget.classId);
|
|
console.log(effectStepTarget.colourId);
|
|
console.log(effectStepTarget.passiveId);
|
|
console.log(effectStepTarget.typeId);
|
|
console.log(effectStepTarget.itemFromStep);
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
function debugEffectCanTrigger(){
|
|
|
|
let ecTriggerTargetId = document.getElementById("ecTriggerTargetId").value;
|
|
if(ecTriggerTargetId == ""){ ecTriggerTargetId = null; }
|
|
|
|
let ecTriggerIndex = document.getElementById("ecTriggerIndex").value;
|
|
if(ecTriggerIndex == ""){ ecTriggerIndex = 0; }
|
|
|
|
let ecDoTrigger = document.getElementById("ecDoTrigger").value;
|
|
if(ecDoTrigger == ""){ ecDoTrigger = 0; }
|
|
|
|
if(doEffectTriggers(ecTriggerTargetId, ecTriggerIndex, true) != true){
|
|
console.log('Effect cannot be triggered');
|
|
doEffect(ecTriggerTargetId, ecTriggerIndex, 1);
|
|
return false;
|
|
}
|
|
|
|
console.log('Effect CAN be triggered');
|
|
|
|
if(ecDoTrigger){
|
|
// Do everything needed in triggers
|
|
doEffectTriggers(ecTriggerTargetId, ecTriggerIndex);
|
|
|
|
// Then do the actual effects
|
|
doEffect(ecTriggerTargetId, ecTriggerIndex); // also step = 1,2,3
|
|
}
|
|
|
|
}
|
|
|