diff --git a/client/src/scenes/combat.animations.js b/client/src/scenes/combat.animations.js index 270844f0..12d988a5 100644 --- a/client/src/scenes/combat.animations.js +++ b/client/src/scenes/combat.animations.js @@ -27,7 +27,7 @@ class CombatSkills extends Phaser.GameObjects.Group { } getSkill(type, isAlly, castLocation) { - const genericHeal = ['Heal', 'Triage', 'TriageTick']; + const genericHeal = ['Heal', 'Triage', 'TriageTick', 'DecayTick']; const genericBlock = ['Block', 'Parry', 'Evasion', 'Shield']; if (genericHeal.includes(type)) { diff --git a/client/src/scenes/combat.cryps.js b/client/src/scenes/combat.cryps.js index dbf08377..192428c0 100644 --- a/client/src/scenes/combat.cryps.js +++ b/client/src/scenes/combat.cryps.js @@ -158,14 +158,17 @@ class CombatCryps extends Phaser.Scene { updateData(parent, key, data) { if (key === 'game' && data) { const isAnimating = this.phase === 'animating'; + this.game = data; if (isAnimating) return false; - this.drawCryps(data); } if (key === 'gamePhase' && data) { const shouldUpdate = data !== this.phase; this.phase = data; - if (shouldUpdate) this.cryps.children.entries.forEach(c => c.clearStatus()); + if (shouldUpdate) { + this.cryps.children.entries.forEach(c => c.clearStatus()); + this.drawCryps(this.game); + } } if (key === 'crypStatusUpdate' && data) { @@ -188,8 +191,13 @@ class CombatCryps extends Phaser.Scene { const crypObj = this.cryps.children.entries .find(c => c.cryp.id === cryp.id) || renderCryp(cryp, iter, team); - crypObj.health.hp = cryp.hp.value; + crypObj.health.val = cryp.hp.value; + crypObj.red_shield.val = cryp.red_shield.value; + crypObj.blue_shield.val = cryp.red_shield.value; + crypObj.health.drawStatBar(); + crypObj.red_shield.drawStatBar(); + crypObj.blue_shield.drawStatBar(); crypObj.effects.update(cryp.effects); }; diff --git a/client/src/scenes/combat.render.resolutions.js b/client/src/scenes/combat.render.resolutions.js index c5eafdb7..e2c6b79c 100644 --- a/client/src/scenes/combat.render.resolutions.js +++ b/client/src/scenes/combat.render.resolutions.js @@ -47,7 +47,7 @@ function calculateTweenParams(sourceSpawn, targetSpawn, account) { function animatePhase(scene, game, resolution, cb) { // return early for disabled skills if (resolution.length === 0) return cb(); - if (resolution.event[0] === 'Disable') return cb(); + if (resolution.event[0] === 'Disable' || resolution.event[0] === 'TargetKo') return cb(); const group = scene.scene.get('CombatCryps').cryps; const animations = new CombatAnimations(scene); @@ -76,6 +76,7 @@ function animatePhase(scene, game, resolution, cb) { animations.getSkill(resolution.skill, isAlly, castLocation); // Target cryp takes damage scene.time.delayedCall(ANIMATION_DURATION, () => { + console.log(resolution); if (resolution.event[0] === 'Damage') { targetSpawn.takeDamage(resolution.event[1]); scene.registry.set('gameLog', scene.registry.get('gameLog') + 1);