From f406b2251d40b7ae3931523fd3c62df71dd70bc3 Mon Sep 17 00:00:00 2001 From: Mashy Date: Mon, 25 Mar 2019 14:26:48 +1000 Subject: [PATCH 1/2] Added new format dmg numbers don't work --- client/src/scenes/combat.cryps.js | 2 +- .../src/scenes/combat.render.resolutions.js | 80 +++++++++---------- client/src/scenes/elements/combat.statbar.js | 1 - server/COMBOS.md | 0 server/WORKLOG.md | 1 + 5 files changed, 40 insertions(+), 44 deletions(-) mode change 100755 => 100644 server/COMBOS.md diff --git a/client/src/scenes/combat.cryps.js b/client/src/scenes/combat.cryps.js index 289ebfb8..dbf08377 100644 --- a/client/src/scenes/combat.cryps.js +++ b/client/src/scenes/combat.cryps.js @@ -87,7 +87,7 @@ class CrypImage extends Phaser.GameObjects.Image { this.health = scene.add.existing(new StatBar(scene, this, 'HP')); this.red_shield = scene.add.existing(new StatBar(scene, this, 'Red Shield')); this.blue_shield = scene.add.existing(new StatBar(scene, this, 'Blue Shield')); - this.evasion = scene.add.existing(new StatBar(scene, this, 'Evasion')); + // this.evasion = scene.add.existing(new StatBar(scene, this, 'Evasion')); this.effects = scene.add.existing(new Effects(scene, team, iter)); this.statusText = scene.add.text(statusX, statusY, '', TEXT.NORMAL); diff --git a/client/src/scenes/combat.render.resolutions.js b/client/src/scenes/combat.render.resolutions.js index ea1bc8be..f80d4481 100644 --- a/client/src/scenes/combat.render.resolutions.js +++ b/client/src/scenes/combat.render.resolutions.js @@ -46,9 +46,8 @@ function calculateTweenParams(sourceSpawn, targetSpawn, account) { function animatePhase(scene, game, resolution, cb) { // return early for disabled skills - const { resolution: { results } } = resolution; - if (results.length === 0) return cb(); - if (results[0][0] === 'Disable') return cb(); + if (resolution.resolutions.length === 0) return cb(); + // if (events[0] === 'Disable') return cb(); const group = scene.scene.get('CombatCryps').cryps; const animations = new CombatAnimations(scene); @@ -77,51 +76,48 @@ function animatePhase(scene, game, resolution, cb) { // animate animation animations.getSkill(resolution.skill, isAlly, castLocation); - // Target cryp takes damage scene.time.delayedCall(ANIMATION_DURATION, () => { - eachSeries(results, - (result, tickCb) => { - // touch - if (!results.length) return tickCb(); + console.log(resolution.resolutions); + eachSeries(resolution.resolutions, (events, tickCb) => { + // touch + if (!resolution.resolutions.length) return tickCb(); + if (events.event[0] === 'Damage') { + targetSpawn.takeDamage(events.event[1].amount); + scene.registry.set('gameLog', scene.registry.get('gameLog') + 1); + return setTimeout(tickCb, DAMAGE_TICK); + } + if (events.event[0] === 'Healing') { + targetSpawn.takeHealing(events.event[1].amount); + scene.registry.set('gameLog', scene.registry.get('gameLog') + 1); + return setTimeout(tickCb, DAMAGE_TICK); + } + if (events.event[0] === 'Effect') { + targetSpawn.effects.addEffect(events.event[0]); + console.log('target has new effect', events.event[1].effect); + return setTimeout(tickCb, DAMAGE_TICK); + } - const [resultType, values] = result; - if (resultType === 'Damage') { - targetSpawn.takeDamage(values); - scene.registry.set('gameLog', scene.registry.get('gameLog') + 1); - return setTimeout(tickCb, DAMAGE_TICK); - } - if (resultType === 'Healing') { - targetSpawn.takeHealing(values.amount); - scene.registry.set('gameLog', scene.registry.get('gameLog') + 1); - return setTimeout(tickCb, DAMAGE_TICK); - } - if (resultType === 'Effect') { - targetSpawn.effects.addEffect(values); - console.log('target has new effect', values.effect); - return setTimeout(tickCb, DAMAGE_TICK); - } + if (events.event[0] === 'Removal') { + targetSpawn.effects.removeEffect(events.event[1].effect); + console.log('target effect removed', events.event[1].effect); + return setTimeout(tickCb, DAMAGE_TICK); + } - if (resultType === 'Removal') { - targetSpawn.effects.removeEffect(values.effect); - console.log('target effect removed', values.effect); - return setTimeout(tickCb, DAMAGE_TICK); - } + // unhandled result type + return tickCb(); + }, + (err) => { + // Move cryps back + if (moveSourceOrig) scene.tweens.add(moveSourceOrig); + scene.tweens.add(moveTargetOrig); - // unhandled result type - return tickCb(); - }, - (err) => { - // Move cryps back - if (moveSourceOrig) scene.tweens.add(moveSourceOrig); - scene.tweens.add(moveTargetOrig); - - // all done - scene.time.delayedCall(MOVE_CREEP, () => { - animations.destroy(true); - return cb(); - }); + // all done + scene.time.delayedCall(MOVE_CREEP, () => { + animations.destroy(true); + return cb(); }); + }); }); }); } diff --git a/client/src/scenes/elements/combat.statbar.js b/client/src/scenes/elements/combat.statbar.js index e132b6e1..621c07c9 100644 --- a/client/src/scenes/elements/combat.statbar.js +++ b/client/src/scenes/elements/combat.statbar.js @@ -24,7 +24,6 @@ class StatBar extends Phaser.GameObjects.Graphics { super(scene); this.crypObj = cryp; this.type = type; - console.log(type); if (type === 'HP') { this.val = this.crypObj.cryp.hp.value; diff --git a/server/COMBOS.md b/server/COMBOS.md old mode 100755 new mode 100644 diff --git a/server/WORKLOG.md b/server/WORKLOG.md index 0d2bbe64..68af502d 100644 --- a/server/WORKLOG.md +++ b/server/WORKLOG.md @@ -37,6 +37,7 @@ constants change to ownership pattern ## SOON +* Remove debuffs on KO * Descriptions * Stats - How they work * Items - What they give From df76d50a4ec2ed4e05ff490e5db72f5337837962 Mon Sep 17 00:00:00 2001 From: Mashy Date: Mon, 25 Mar 2019 15:08:12 +1000 Subject: [PATCH 2/2] Fixed resolutions with new format --- .../src/scenes/combat.render.resolutions.js | 75 +++++++------------ client/src/scenes/elements/combat.statbar.js | 8 +- 2 files changed, 33 insertions(+), 50 deletions(-) diff --git a/client/src/scenes/combat.render.resolutions.js b/client/src/scenes/combat.render.resolutions.js index f80d4481..c5eafdb7 100644 --- a/client/src/scenes/combat.render.resolutions.js +++ b/client/src/scenes/combat.render.resolutions.js @@ -7,15 +7,15 @@ const { } = require('./constants'); function findResolutionCryps(scene, group, resolution, game) { - const sourceCryp = game.teams.find(t => t.cryps.find(c => c.id === resolution.source_cryp_id)) - .cryps.find(c => c.id === resolution.source_cryp_id); + const sourceSpawn = group.children.entries.find(c => c.cryp.id === resolution.source.id); - const sourceSpawn = group.children.entries.find(c => c.cryp.id === sourceCryp.id); +/* const sourceCryp = game.teams.find(t => t.cryps.find(c => c.id === resolution.source_cryp_id)) + .cryps.find(c => c.id === resolution.source_cryp_id); const targetCryp = game.teams.find(t => t.cryps.find(c => c.id === resolution.target_cryp_id)) .cryps.find(c => c.id === resolution.target_cryp_id); - - const targetSpawn = group.children.entries.find(c => c.cryp.id === targetCryp.id); +*/ + const targetSpawn = group.children.entries.find(c => c.cryp.id === resolution.target.id); return { sourceSpawn, targetSpawn }; } @@ -46,8 +46,8 @@ function calculateTweenParams(sourceSpawn, targetSpawn, account) { function animatePhase(scene, game, resolution, cb) { // return early for disabled skills - if (resolution.resolutions.length === 0) return cb(); - // if (events[0] === 'Disable') return cb(); + if (resolution.length === 0) return cb(); + if (resolution.event[0] === 'Disable') return cb(); const group = scene.scene.get('CombatCryps').cryps; const animations = new CombatAnimations(scene); @@ -55,7 +55,6 @@ function animatePhase(scene, game, resolution, cb) { // Find cryps, targets const { sourceSpawn, targetSpawn } = findResolutionCryps(scene, group, resolution, game); - const { moveSourceBattle, moveSourceOrig, moveTargetBattle, moveTargetOrig, } = calculateTweenParams(sourceSpawn, targetSpawn, account); @@ -73,50 +72,34 @@ function animatePhase(scene, game, resolution, cb) { return scene.time.delayedCall(MOVE_CREEP, () => { const isAlly = sourceSpawn.cryp.account === account.id; - // animate animation animations.getSkill(resolution.skill, isAlly, castLocation); // Target cryp takes damage scene.time.delayedCall(ANIMATION_DURATION, () => { - console.log(resolution.resolutions); - eachSeries(resolution.resolutions, (events, tickCb) => { - // touch - if (!resolution.resolutions.length) return tickCb(); - if (events.event[0] === 'Damage') { - targetSpawn.takeDamage(events.event[1].amount); - scene.registry.set('gameLog', scene.registry.get('gameLog') + 1); - return setTimeout(tickCb, DAMAGE_TICK); - } - if (events.event[0] === 'Healing') { - targetSpawn.takeHealing(events.event[1].amount); - scene.registry.set('gameLog', scene.registry.get('gameLog') + 1); - return setTimeout(tickCb, DAMAGE_TICK); - } - if (events.event[0] === 'Effect') { - targetSpawn.effects.addEffect(events.event[0]); - console.log('target has new effect', events.event[1].effect); - return setTimeout(tickCb, DAMAGE_TICK); - } + if (resolution.event[0] === 'Damage') { + targetSpawn.takeDamage(resolution.event[1]); + scene.registry.set('gameLog', scene.registry.get('gameLog') + 1); + } + if (resolution.event[0] === 'Healing') { + targetSpawn.takeHealing(resolution.event[1]); + scene.registry.set('gameLog', scene.registry.get('gameLog') + 1); + } + if (resolution.event[0] === 'Effect') { + targetSpawn.effects.addEffect(resolution.event[1]); + console.log('target has new effect', resolution.event[1].effect); + } - if (events.event[0] === 'Removal') { - targetSpawn.effects.removeEffect(events.event[1].effect); - console.log('target effect removed', events.event[1].effect); - return setTimeout(tickCb, DAMAGE_TICK); - } + if (resolution.event[0] === 'Removal') { + targetSpawn.effects.removeEffect(resolution.event[1].effect); + console.log('target effect removed', resolution.event[1].effect); + } + if (moveSourceOrig) scene.tweens.add(moveSourceOrig); + scene.tweens.add(moveTargetOrig); - // unhandled result type - return tickCb(); - }, - (err) => { - // Move cryps back - if (moveSourceOrig) scene.tweens.add(moveSourceOrig); - scene.tweens.add(moveTargetOrig); - - // all done - scene.time.delayedCall(MOVE_CREEP, () => { - animations.destroy(true); - return cb(); - }); + // all done + scene.time.delayedCall(MOVE_CREEP, () => { + animations.destroy(true); + return cb(); }); }); }); diff --git a/client/src/scenes/elements/combat.statbar.js b/client/src/scenes/elements/combat.statbar.js index 621c07c9..7189e945 100644 --- a/client/src/scenes/elements/combat.statbar.js +++ b/client/src/scenes/elements/combat.statbar.js @@ -27,19 +27,19 @@ class StatBar extends Phaser.GameObjects.Graphics { if (type === 'HP') { this.val = this.crypObj.cryp.hp.value; - this.max = this.crypObj.cryp.hp.value; + this.max = this.crypObj.cryp.hp.max; this.margin = 0; } else if (type === 'Red Shield') { this.val = this.crypObj.cryp.red_shield.value; - this.max = this.crypObj.cryp.red_shield.value; + this.max = this.crypObj.cryp.red_shield.max; this.margin = 1; } else if (type === 'Blue Shield') { this.val = this.crypObj.cryp.blue_shield.value; - this.max = this.crypObj.cryp.blue_shield.value; + this.max = this.crypObj.cryp.blue_shield.max; this.margin = 2; } else if (type === 'Evasion') { this.val = this.crypObj.cryp.evasion.value; - this.max = this.crypObj.cryp.evasion.value; + this.max = this.crypObj.cryp.evasion.max; this.margin = 3; } const { statTextX, statTextY } = statTextCoord(cryp.team, cryp.iter, this.margin);