41 #define M_PLAYER_ATTACK_BASIC 0
42 #define M_PLAYER_ATTACK_QUICK 1
51 void _load_profile(
char* strName);
55 fxShutter shutterDeath;
57 M_BOOL _bEnableBattleZoom;
60 double _dMonsterDistance;
67 fxParticleSystem _cbLevelUp;
68 fxParticleSystem _cbSkillUp;
78 unsigned _nLastWeapon;
82 cuiProgressBar _IndicatorHP;
83 cuiProgressBar _IndicatorXP;
100 void _draw_status_ui(
laRenderer *r, laPoint3 ptBasePos);
104 virtual unsigned _next_state(
unsigned nCurrentState );
112 void saveProfile(FILE* f);
114 uiInventory* getPotionsGUI() {
return &_uiPotionsWindow; }
115 uiInventory* getItemsGUI() {
return &_uiInventoryWindow; }
124 virtual void respawn();
126 void enableBattleZoom(M_BOOL enable) {_bEnableBattleZoom = enable; }
127 void ctlBattleMode(){ _bBattleMode = M_TRUE;};
128 M_BOOL isInBattle(){
return _bBattleMode; }
130 double getMonsterDistance() {
return _dMonsterDistance; }
131 void setMonsterDistance(
double d) { _dMonsterDistance = d; }
135 void modePeaceful(M_BOOL on)
139 if( isPeaceful() == on )
return;
143 _nLastWeapon = pInv->activeIndex();
144 _uiInventoryWindow.select(0);
148 _uiInventoryWindow.select( _nLastWeapon );
154 M_BOOL isPeaceful() {
156 return pInv->activeIndex() ? M_FALSE : M_TRUE;
159 M_BOOL isActionActive() {
return !_ttPeacefulAction.isElapsed(); }
160 virtual void attackInitiate(M_BOOL bQuick = M_FALSE);
166 void reflect(
const laRect2 &rReference);
171 void heal(
unsigned nHP );
172 void collect(
unsigned nXP );
173 M_BOOL collect( rpgItem *item );
175 void skillUp(
unsigned nSkill );
190 virtual void _draw_positioned_rotated(
laRenderer *r);
192 virtual void drawFx(
laRenderer *r, laPoint3 ptBasePos);
193 virtual void _drawFx_positioned(
laRenderer *r);
194 virtual void drawInterface(
laRenderer *r, laPoint3 ptBasePos);
198 virtual void animate(laTimer &t);
200 void animate_DeathMode(laTimer &t);
202 void animate_TrapDamage(laTimer &t);
203 void animate_BattleZoom(laTimer &t);
204 void animate_Attack(laTimer &t);
205 void animate_Movement(laTimer &t);
213 void enableDialog(
class laNPCDialog *pd) { _pNPCDialog = pd; }
214 M_BOOL isDialogActive() {
return (_pNPCDialog!=NULL); }
218 #endif //#ifndef M_PLAYER_H
Dialog for interacting with non-player characters.
Abstract RPG Properties Sheet.
2D rectangle (used by the GUI and also as a simple tool for proximity testing)
Virtual interface for the Engine graphics renderer.