void GodLike_Beast ::Update(float _Time, int** _Terrain,float _MaxWidth,float _MaxHeight) { if(getLife() == false) { EffectLeonDie *_EffectDie = new EffectLeonDie (m_X,m_Y); ManagerObject::Instance()->getListEffect()->push_back(_EffectDie); return ; } int random ; random = rand() % 4; m_TimeUpdate+=_Time ; if(m_TimeUpdate > 2) { switch (random) { case 0: if( m_skillManager->getSkill(1)->getSTT()!=ACTIVE && m_skillManager->getSkill(2)->getSTT()!=ACTIVE && m_skillManager->getSkill(3)->getSTT()!=ACTIVE&& m_skillManager->getSkill(4)->getSTT()!=ACTIVE ) ActiveSkill(0); m_TimeUpdate= 0 ; break; case 1: if( m_skillManager->getSkill(0)->getSTT()!=ACTIVE && m_skillManager->getSkill(2)->getSTT()!=ACTIVE && m_skillManager->getSkill(3)->getSTT()!=ACTIVE && m_skillManager->getSkill(4)->getSTT()!=ACTIVE ) ActiveSkill(1); m_TimeUpdate = 0 ; break ; case 2: if( m_skillManager->getSkill(0)->getSTT()!=ACTIVE && m_skillManager->getSkill(1)->getSTT()!=ACTIVE && m_skillManager->getSkill(3)->getSTT()!=ACTIVE && m_skillManager->getSkill(4)->getSTT()!=ACTIVE ) ActiveSkill(2); m_TimeUpdate = 0 ; break ; case 3: if( m_skillManager->getSkill(0)->getSTT()!=ACTIVE && m_skillManager->getSkill(1)->getSTT()!=ACTIVE && m_skillManager->getSkill(2)->getSTT()!=ACTIVE && m_skillManager->getSkill(4)->getSTT()!=ACTIVE ) ActiveSkill(3) ; m_TimeUpdate = 0 ; break ; } } if( m_skillManager->getSkill(0)->getSTT()!=ACTIVE && m_skillManager->getSkill(1)->getSTT()!=ACTIVE && m_skillManager->getSkill(2)->getSTT()!=ACTIVE && m_skillManager->getSkill(3)->getSTT()!=ACTIVE && m_skillManager->getSkill(4)->getSTT()!=ACTIVE ) { Animation(_Time); Move(_Time,_Terrain,_MaxWidth,_MaxHeight); } m_skillManager->Update(_Time,_Terrain,_MaxWidth,_MaxHeight) ; UpdateStatus(_Time); }
void KHeroSkillMgr::onTurnBegin(KBattleCtrlBase* ctrl) { m_bDone = false; int rndVal = g_rnd.GetRandom(0,100); if(rndVal>50){ CheckLuckyStone(ctrl); }else{ ActiveSkill(ctrl,KAbilityStatic::when_turn_begin); } }
void Bear ::ProcessCollision(MyObject* _Obj) { m_skillManager->ProcessCollision(_Obj); if(!getRect().iCollision(_Obj->getRect())) { if(abs(_Obj->getX() - m_X ) < 500 ) { if(_Obj->getX() > m_X ) { m_Direct =1 ; } if(_Obj->getX() < m_X) { m_Direct = -1 ; } } } if(abs(_Obj->getX() - m_X ) < 250) { ActiveSkill(0); } }
void KHeroSkillMgr::onTurnEnd(KBattleCtrlBase* ctrl) { if(g_rnd.GetRandom(0,100)<50){ ActiveSkill(ctrl,KAbilityStatic::when_turn_end); } }