예제 #1
0
 private string CreateEffectiveMoveMessage(ICombative other, Move move)
 {
     if (other.isDoubleDamageFrom(move.Type))
     {
         return("|It's super effective!\n");
     }
     else if (other.isHalfDamageFrom(move.Type))
     {
         return("|It's not very effective...\n");
     }
     else
     {
         return("");
     }
 }
예제 #2
0
        private float GetDamageModifier(ICombative defender, Move move)
        {
            float  modifier      = 1f;
            Random rand          = new Random();
            float  random        = ((float)rand.Next(85, 100)) / 100f;
            float  STAB          = move.Type == this.PokeType.Name ? 1.5f : 1.0f;
            float  typeEffective = 1.0f;

            if (defender.isDoubleDamageFrom(move.Type))
            {
                typeEffective = 2.0f;
            }
            else if (defender.isHalfDamageTo(move.Type))
            {
                typeEffective = 0.5f;
            }

            modifier *= (random * STAB * typeEffective);

            return(modifier);
        }