public void Init(IBattlePokemon source, Move move, IBattlePokemon target) { this.source = source; this.move = move; this.target = target; CalculateHit(); CalculateCritical(); CalculateTypeModifier(); CalculateDamage(); if (Damage > target.HP) StatusCondition = StatusCondition.KO; else StatusCondition = StatusCondition.Normal; }
public BurnStatus(IBattlePokemon pokemon, IEventBus eventBus) : base(pokemon, eventBus) { pokemon.NonVolatileStatus = this; pokemon.Stat(PermanentStatType.Attack).AddMultiplier(0.5M); }
public IPermanentStat DefenseStat(IBattlePokemon defender) { return(defender.Stat(DefenseStatType)); }
public IPermanentStat AttackStat(IBattlePokemon attacker) { return(attacker.Stat(AttackStatType)); }
public decimal StabMultiplier(IBattlePokemon user, IType moveType) { return(user.HasType(moveType) ? 1.5M : 1); }
public float CalculateBaseDamage(IBattlePokemon source, IBattlePokemon target, Move move) { return 1.0f; }
public float SameTypeAttackBonus(IBattlePokemon source, Move move) { return 1.0f; }
public float GetTypeModifier(IBattlePokemon source, IBattlePokemon target, Move move) { return 1.0f; }
public float GetHitChance(IBattlePokemon source, IBattlePokemon target, Move move) { return 0.95f; }
public BaseNonVolatileStatus(IBattlePokemon pokemon, IEventBus eventBus) { Pokemon = pokemon; EventHandlers = eventBus.SubscribeEventHandlers(this); }
public void Init(IBattlePokemon source, Move move, IBattlePokemon target) { }