/// <summary> /// /// </summary> public void DoCreatureAllRest() { foreach (FDCreature creature in this.Friends) { if (creature.HasActioned) { continue; } if (creature.Data.Hp < creature.Data.HpMax) { // Recover HP and do animation creature.Data.Hp = CreatureFormula.GetRestRecoveredHp(creature.Data.Hp, creature.Data.HpMax); CreatureAnimationPack pack = new CreatureAnimationPack(creature, CreatureAnimationPack.AnimationType.Rest); gameCallback.OnHandlePack(pack); } // Set creature status creature.HasActioned = true; gameCallback.OnHandlePack(new CreatureRefreshPack(creature)); } // Do startNewTurn StartNewTurnPhase(); }
public void DoCreatureRest(int creatureId) { FDCreature creature = this.GetCreature(creatureId); if (creature == null) { return; } if (!creature.HasMoved() && creature.Data.Hp < creature.Data.HpMax) { // Recover HP and do animation creature.Data.Hp = CreatureFormula.GetRestRecoveredHp(creature.Data.Hp, creature.Data.HpMax); CreatureAnimationPack pack = new CreatureAnimationPack(creature, CreatureAnimationPack.AnimationType.Rest); gameCallback.OnHandlePack(pack); } PostCreatureAction(creature); }