Beispiel #1
0
        public void RegrowHeads()
        {
            if (TookFireDamage == false)
            {
                for (int i = 0; i < NewHeadsToGrow; i++)
                {
                    AddEquipment(EquipedWeapon.FirstOrDefault());
                    Health += (int)(MaxHealth * .08);  //add back 80% of the health it took to loose a head after growing a pair of heads
                }

                GlobalReference.GlobalValues.Notify.Room(this, null, Room, new TranslationMessage($"{SentenceDescription} grows {NewHeadsToGrow} new heads."));
            }

            NewHeadsToGrow = 0;
            TookFireDamage = false;
        }
Beispiel #2
0
        private void ProcessIfHeadCutOff(IMobileObject attacker)
        {
            if (!RoundOfDamage.HeadCut &&
                RoundOfDamage.TotalDamage >= (MaxHealth / 10))
            {
                if (!TookFireDamage)
                {
                    NewHeadsToGrow += 2;                //queue 2 new heads to grow
                }

                RoundOfDamage.HeadCut = true;       //set the head to cut for this round

                //remove a head
                IWeapon weapon = EquipedWeapon.FirstOrDefault();
                RemoveEquipment(weapon);

                GlobalReference.GlobalValues.Notify.Mob(attacker, new TranslationMessage("You cut off on of the hydras heads."));
                GlobalReference.GlobalValues.Notify.Room(attacker, this, Room, new TranslationMessage("{performer} cut off on of the hydras heads."));
            }
        }