package net.ciklum.icfpc11.domain.greenspoon10 import net.ciklum.icfpc11.domain.Slot import net.ciklum.icfpc11.domain.Game import net.ciklum.icfpc11.domain.Card import net.ciklum.icfpc11.domain.GameError /** * blabla * @author vic */ @Typed class Dec extends Function { @Override Function apply(Function i) { super.apply(i) Slot slot = Game.instance.currentOpponent.getSlot(255-i.value) if (!slot.alive) { throw new GameError("Cannot operate on a dead slot") } if (Game.instance.nowZombieTime) { /** heal opponent by 1 */ if (slot.vitality > 0 && slot.vitality < 65535) { slot.vitality++ } } else { if (slot.vitality > 0) { slot.vitality-- } } Identity.IDENTITY } @Override String toString() { Card.dec.name() } }