package scalevalapokalypsi.Model import scalevalapokalypsi.Model.Entities.Entity import scala.collection.immutable.Map trait SingEffect(val target: Entity): def apply(singQuality: Float): Event def getVerses: Vector[String] class DefaultSingAttack(target: Entity) extends SingEffect(target): def apply(singQuality: Float): Event = this.target.takeDamage((singQuality * 50).toInt) // TODO: remove magic value Event(Map.empty, "") // The conditions are automatically shown to // clients through takeDamage, but other effects // should explain the changes they have. def getVerses: Vector[String] = this.target.getVerseAgainst