public override void OnGetChangeState(BattlePokemonData self, ChangeStateEnumForPokemon newstate, ref bool canAddState)
 {
     if (ChangeStateEnumForPokemon.Confusion == newstate)
     {
         canAddState = false;
         DebugHelper.LogFormat("{0}具有我行我素特性,不会陷入混乱状态", self.Ename);
     }
 }
Example #2
0
    public void RemoveChangeState(ChangeStateEnumForPokemon state)
    {
        if (ChangeStateForPokemonEnums.Contains(state))

        {
            ChangeStateForPokemonEnums.Remove(state);
        }

    }
Example #3
0
 public override void OnGetChangeState(BattlePokemonData self, ChangeStateEnumForPokemon newstate, ref bool canAddState)
 {
     if (ChangeStateEnumForPokemon.Flinch == newstate)
     {
         StatModifiers stat = self.StatModifiers;
         stat.Speed        += 1;
         self.StatModifiers = stat;
         DebugHelper.LogFormat("{0}具有不屈之心特性,陷入畏缩状态后速度提升1级", self.Ename);
     }
 }
Example #4
0
    public void AddChangeState(ChangeStateEnumForPokemon state)
    {
        bool canAddState = true;
        //考虑特性
        if (AbilityManager.AbilityImpacts.ContainsKey(ShowAbility))
            AbilityManager.AbilityImpacts[ShowAbility]
                .OnGetChangeState
                (
                    this, state, ref canAddState
                );

        if (!canAddState) return;
        if(!ChangeStateForPokemonEnums.Contains(state))

        {
            ChangeStateForPokemonEnums.Add(state);
            ChangeStateForPokemon.ChangeStateForPokemons[state].Init(this);
        }
       
    }
 //陷入状态变化时触发
 public virtual void OnGetChangeState(
     BattlePokemonData self, ChangeStateEnumForPokemon newstate,
     ref bool canAddState)
 {
 }