1 2 #ifndef _BALLOS_H 3 #define _BALLOS_H 4 #include "../../object.h" 5 #include "../../stageboss.h" 6 7 #define NUM_EYES 2 8 enum TRIGDIR 9 { 10 LESS_THAN = 0, 11 GREATER_THAN = 1 12 }; 13 14 class BallosBoss : public StageBoss 15 { 16 public: 17 void OnMapEntry(); 18 void Run(); 19 void RunAftermove(); 20 21 private: 22 void RunForm1(Object *o); 23 void RunForm2(Object *o); 24 void RunForm3(Object *o); 25 void RunComeDown(Object *o); 26 void RunDefeated(Object *o); 27 28 void run_eye(int index); 29 void place_eye(int index); 30 void SetEyeStates(int newstate); 31 32 bool passed_xcoord(bool ltgt, int xcoord, bool reset = false); 33 bool passed_ycoord(bool ltgt, int ycoord, bool reset = false); 34 35 Object *main; 36 Object *body; 37 Object *eye[NUM_EYES]; 38 Object *shield; // top shield to cover eyes from above 39 }; 40 41 void ondeath_ballos(Object *o); 42 void ai_ballos_rotator(Object *o); 43 void aftermove_ballos_rotator(Object *o); 44 void ai_ballos_platform(Object *o); 45 46 #endif 47