private int CalculatePointsToDiscount(AttackCharacter attackCharacterEvent) { if ((Level - attackCharacterEvent.SourceCharacter.Level) >= 5) { return(attackCharacterEvent.Points / 2); } if ((attackCharacterEvent.SourceCharacter.Level - Level) >= 5) { return(attackCharacterEvent.Points * 2); } return(attackCharacterEvent.Points); }
public void showAttack(string AttackName, string[] HurtNames) { FightCharacter AttackCharacter; FightCharacter[] HurtCharacters; if (tryGetCharacter(AttackName, out AttackCharacter) && tryGetCharacter(HurtNames, out HurtCharacters)) { AttackCharacter.attack(); for (int i = 0; i < HurtCharacters.Length; ++i) { HurtCharacters [i].hurt(); } } }
private void HandleAttack(AttackCharacter attackCharacterEvent) { if (IAmTheAttacker(attackCharacterEvent.SourceCharacter)) { return; } if (IAmNotTheAttacked(attackCharacterEvent.TargetCharacter)) { return; } if (IsFromSameFaction(attackCharacterEvent.SourceCharacter)) { return; } if (IAmIntoTheAttackRange(attackCharacterEvent)) { return; } Health -= CalculatePointsToDiscount(attackCharacterEvent); if (Health <= 0) { Die(); } }
private static bool IAmIntoTheAttackRange(AttackCharacter attackCharacterEvent) { return(attackCharacterEvent.Range > attackCharacterEvent.SourceCharacter.AttackRange); }