コード例 #1
0
    public void FactorOther(BattleTypeEffectiveness other)
    {
        baseEffectiveness *= other.baseEffectiveness;
        List <string> keys = new List <string>(other.typeChart.Keys);

        for (int i = 0; i < keys.Count; i++)
        {
            FactorType(keys[i], other.typeChart[keys[i]]);
        }
    }
コード例 #2
0
    public BattleTypeEffectiveness Clone()
    {
        BattleTypeEffectiveness clone = new BattleTypeEffectiveness();

        clone.rawEffectiveness  = rawEffectiveness;
        clone.baseEffectiveness = baseEffectiveness;

        List <string> keys = new List <string>(typeChart.Keys);

        for (int i = 0; i < keys.Count; i++)
        {
            clone.SetType(keys[i], typeChart[keys[i]]);
        }
        return(clone);
    }
コード例 #3
0
    public BattleHitTarget(Pokemon pokemon)
    {
        this.pokemon  = pokemon;
        preHPPercent  = pokemon.HPPercent;
        postHPPercent = pokemon.HPPercent;
        preHP         = 0;
        postHP        = 0;
        subDamage     = -1;
        damageDealt   = -1;
        disguise      = null;

        effectiveness = new BattleTypeEffectiveness();

        affectedByMove  = true;
        missed          = false;
        criticalHit     = false;
        fainted         = false;
        isMoveReflected = false;

        destinyBondMove = null;

        protection     = null;
        teamProtection = null;
        protectAbility = null;
        protectItem    = null;
        reflection     = null;

        reflectMove    = null;
        reflectAbility = null;
        reflectItem    = null;

        endure         = null;
        sturdyPair     = null;
        focusBand      = null;
        surviveAbility = null;
        surviveItem    = null;
    }
コード例 #4
0
    public void CloneFrom(BattleHitTarget other)
    {
        preHPPercent  = other.preHPPercent;
        postHPPercent = other.postHPPercent;
        preHP         = other.preHP;
        postHP        = other.postHP;
        subDamage     = other.subDamage;
        damageDealt   = other.damageDealt;
        disguise      = (other.disguise == null) ? null : other.disguise.Clone();

        effectiveness = other.effectiveness.Clone();

        affectedByMove  = other.affectedByMove;
        missed          = other.missed;
        criticalHit     = other.criticalHit;
        fainted         = other.fainted;
        isMoveReflected = other.isMoveReflected;

        destinyBondMove = other.destinyBondMove;

        protection     = (other.protection == null) ? null : other.protection.Clone();
        teamProtection = (other.teamProtection == null) ? null : other.teamProtection.Clone();
        protectAbility = other.protectAbility;
        protectItem    = other.protectItem;
        reflection     = (other.reflection == null) ? null : other.reflection.Clone();

        reflectMove    = other.reflectMove;
        reflectAbility = other.reflectAbility;
        reflectItem    = other.reflectItem;

        endure         = (other.endure == null) ? null : other.endure.Clone();
        sturdyPair     = (other.sturdyPair == null) ? null : other.sturdyPair.Clone();
        focusBand      = (other.focusBand == null) ? null : other.focusBand.Clone();
        surviveAbility = other.surviveAbility;
        surviveItem    = other.surviveItem;
    }