Esempio n. 1
0
        /// <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();
        }
Esempio n. 2
0
        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);
        }