public override void LoseState(BattlePokemonData pokemon)
        {
            NeedReplaceSKill.context.Remove(pokemon.ID);
            DebugHelper.LogFormat("{0}大闹一番状态解除", pokemon.Ename);

            pokemon.RemoveChangeState(ChangeStateEnumForPokemon.RockWrecker);

            DebugHelper.LogFormat("{0}因为大闹一番混乱了", pokemon.Ename);
            pokemon.AddChangeState(ChangeStateEnumForPokemon.Flinch);
        }
 public override void BattleStartEffect(BattlePokemonData pokemon, ref bool canEnd)
 {
     if (!wait.ContainsKey(pokemon.ID))
     {
         NeedReplaceSKill.context[pokemon.ID] = skillID;
         pokemon.AddChangeState(ChangeStateEnumForPokemon.WaitNextAround);
         canEnd           = true;
         wait[pokemon.ID] = 1;
     }
     else if (wait.ContainsKey(pokemon.ID) &&
              NeedReplaceSKill.context.ContainsKey(pokemon.ID))
     {
         NeedReplaceSKill.context.Remove(pokemon.ID);
         wait.Remove(pokemon.ID);
     }
 }
        public override void OnBeAttacked(ref bool hit, BattlePokemonData self, Skill skill, BattlePokemonData attackPokemon)
        {
            int skillID = attackPokemon.LastUseSkillID;

            if (hit && -1 != skillID)
            {
                if (RandomService.game.Int(0, 100) < 30)
                {
                    string skillName = ResourceController.Instance.allSkillDic[skillID].sname;

                    attackPokemon.AddChangeState(ChangeStateEnumForPokemon.DisableSkill);

                    DebugHelper.LogFormat("{1}触发了{0}的诅咒之躯特性,{2}被封印了",
                                          attackPokemon.Ename, self.Ename, skillName);
                }
            }
        }
 public override void HitEffect(BattlePokemonData pokemon)
 {
     CanNotEscapeState.ifCanScape[pokemon.ID] = time;
     pokemon.AddChangeState(ChangeStateEnumForPokemon.RockWrecker);
 }
 public override void HitEffect(BattlePokemonData pokemon)
 {
     NeedReplaceSKill.context[pokemon.ID] = skillID;
     pokemon.AddChangeState(ChangeStateEnumForPokemon.RockWrecker);
 }
 public override void HitEffect(BattlePokemonData pokemon)
 {
     pokemon.AddChangeState(ChangeStateEnumForPokemon.Flinch);
 }