Added animations for dealing damage, but they currently happen concurrently

This commit is contained in:
James Daly
2019-06-17 22:16:19 -04:00
parent 38dbb7fa92
commit 2ea3b98514
4 changed files with 92 additions and 5 deletions

View File

@@ -9,7 +9,7 @@ import scala.io.Source
import scala.util.Random
import Statistic._
import fmon.battle.msg.{Message, SignalConsumer}
import fmon.battle.msg._
import fmon.util._
object MoveType extends Enumeration {
@@ -81,8 +81,10 @@ abstract class Move extends MoveTurn {
val actualDmg = target.takeDamage(dmg)
if (dmg == actualDmg) {
reader ! Message(s"$target takes $actualDmg damage!")
reader ! DamageMsg(dmg, target, element)
} else {
reader ! Message(s"$target takes $actualDmg (+${dmg - actualDmg} overkill) damage!")
reader ! DamageMsg(dmg, target, element)
}
if (drain > 0.frac) {
val healing = Math.max(drain * actualDmg, 1)
@@ -92,6 +94,7 @@ abstract class Move extends MoveTurn {
val recoil = Math.max(-drain * actualDmg, 1)
user.takeDamage(recoil)
reader ! Message(s"$user took $recoil damage from recoil!")
reader ! DamageMsg(actualDmg, target, Element("None"))
}
target.base.ability.onAfterDamage(user, this, target, actualDmg)