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--; } }
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(); }