Example #1
0
 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);
 }
Example #2
0
    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();
            }
        }
    }
Example #3
0
 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();
     }
 }
Example #4
0
 private static bool IAmIntoTheAttackRange(AttackCharacter attackCharacterEvent)
 {
     return(attackCharacterEvent.Range > attackCharacterEvent.SourceCharacter.AttackRange);
 }