public static void DamageCharacterBy(int amount, Character character)
 {
     if (amount < 0)
     {
         amount = 0;
     }
     while (amount > 0)
     {
         if (character.CurrentHealth > 0)
         {
             character.CurrentHealth -= 1;
         }
         if (character.CurrentHealth <= 0)
         {
             character.CurrentDetermination = 0;
             //Character Death
             if (character is ISideCharacter)
             {
                 character.IsDead        = true;
                 character.CurrentHealth = 0;
             }
             else
             {
                 EndGame_Object.TriggerDefeat("OH NEIN!\r\n" + character.CharacterName + " hat seinen letzten Atemzug getan!\r\n" +
                                              "Ohne seine Unterstützung wird der Rest der Gruppe auch nicht mehr lange überleben!");
             }
         }
         if (!(character is ISideCharacter) &&
             CheckForMoralLoss(character))
         {
             Moral.LowerMoral();
         }
         amount--;
     }
 }
Esempio n. 2
0
        public void increaseRound()
        {
            currentRound += 1;
            PartyActions.SetNextActiveCharacter();

            if (myLevel.CheckForVictory(currentRound))
            {
                EndGame_Object.TriggerVictory("Herzlichen Glückwunsch!\r\nDu hast die Mission erfolgreich erfüllt und bist von der Insel entkommen!\r\n\r\nBis zum nächsten mal.");
            }

            if (currentRound > myLevel.GetNumberOfRounds())
            {
                EndGame_Object.TriggerDefeat("Deiner Gruppe ist leider die Zeit ausgegangen. Aus diesem Grund wird diese Insel von nun an eure neue Heimat.");
            }

            CharacterView_UpdateOnRoundChange.SetToCurrentActive_Global();
            InvokeRoundChange();
        }