35 #include "Core-Level-JR.h"
39 getPivot()->bSimulateGravitation = M_FALSE;
42 laActiveObject::~laActiveObject(
void)
50 laStateObject::load(fp);
59 void laActiveObject::respawn()
61 laStateObject::respawn();
64 void laActiveObject::_execute_ai(laTimer &t)
67 laLine2 ln(pPlayer->getPosition(), _ptPivot);
68 double dPlayer = ln.lenght();
72 if(
M_ABS( pPlayer->getPosition().y() - _ptPivot.y() ) <
M_UNIT*3 )
83 if( (dPlayer<=M_PLAYER_ATTACK_RANGE * 1) && (pPlayer->isActionActive()) &&
84 (( (pPlayer->getFaceDirection()<0) && (pPlayer->getPosition().x()>_ptPivot.x()) )
85 || ( (pPlayer->getFaceDirection()>0) && (pPlayer->getPosition().x()<_ptPivot.x()) )) )
87 _ai.perceive(P__PLAYER_ACTION);
92 if( (dPlayer < M_PLAYER_ATTACK_RANGE * 1) )
94 _ai.perceive(P__PLAYER_IN_RANGE);
99 laStateObject::_execute_ai(t);
102 unsigned laActiveObject::_next_state(
unsigned nCurrentState )
104 return laStateObject::_next_state(nCurrentState);
#define M_UNIT
Unit of 1 meter.
laActiveObject(void)
Active Object.
#define M_ABS(a)
Return abs(a)