#ifndef FOX_CO_H #define FOX_CO_H #define TEAM_HEAD_XROT (19) #define TEAM_HEAD_YROT (20) // Granga Boss: #define DMG_FLICKER_5 (5) // Damage indicator flickers for 5 frames #define DMG_FLICKER_15 (15) // Damage indicator flickers for 15 frames #define DMG_DESTROYED (1000) // Damage part is destroyed typedef enum GrangaStates { /* 0 */ GRANGA_STATIONARY, /* 1 */ GRANGA_FORWARD_MISSILE, // walk forward + missile /* 2 */ GRANGA_BACKWARDS_LASER_PLASMA, // Walk backwards + lasers + plasma /* 3 */ GRANGA_FORWARD_LASER_PLASMA, // Walk towards player + lasers + plasma /* 4 */ GRANGA_FORWARD, // Walk forward /* 5 */ GRANGA_FALL_TO_LEFT, // Falling from missing left leg /* 6 */ GRANGA_FALL_TO_RIGHT, // Falling from missing right leg /* 7 */ GRANGA_EXPLODE, // BOOM! } GrangaStates; typedef enum GrangaWork { /* 00 */ GRANGA_WORK_00, // x of missiles launched from it's right arm ? /* 01 */ GRANGA_WORK_01, // y of missiles launched from it's right arm ? /* 02 */ GRANGA_WORK_02, // z of missiles launched from it's right arm ? /* 03 */ GRANGA_WORK_03, // x of something // destroy effect related? /* 04 */ GRANGA_WORK_04, // y of something // destroy effect related? /* 05 */ GRANGA_WORK_05, // z of something // destroy effect related? /* 06 */ GRANGA_WORK_06, // x of missiles launched from it's left arm ? /* 07 */ GRANGA_WORK_07, // y of missiles launched from it's left arm ? /* 08 */ GRANGA_WORK_08, // z of missiles launched from it's left arm ? /* 09 */ GRANGA_WORK_09, /* 10 */ GRANGA_WORK_10, /* 11 */ GRANGA_WORK_11, /* 12 */ GRANGA_WORK_12, /* 13 */ GRANGA_WORK_13, /* 14 */ GRANGA_WORK_14, /* 15 */ GRANGA_WORK_15, /* 16 */ GRANGA_WORK_16, // yRot of missiles launched from both arms ? /* 17 */ GRANGA_TARGET_X, // player.pos.x target position /* 18 */ GRANGA_TARGET_Y, // player.pos.y target position /* 19 */ GRANGA_TARGET_Z, // player.pos.trueZpos target position /* 20 */ GRANGA_WORK_20, /* 21 */ GRANGA_WORK_21, /* 22 */ GRANGA_WORK_22, /* 23 */ GRANGA_WORK_23, /* 24 */ GRANGA_WORK_24, /* 25 */ GRANGA_WORK_25, /* 26 */ GRANGA_WORK_26, /* 27 */ GRANGA_WORK_27, /* 28 */ GRANGA_WORK_28, /* 29 */ GRANGA_WORK_29, /* 30 */ GRANGA_WORK_30, /* 31 */ GRANGA_WORK_31, /* 32 */ GRANGA_WORK_32, /* 33 */ GRANGA_WORK_33, /* 34 */ GRANGA_WORK_34, /* 35 */ GRANGA_WORK_35, /* 36 */ GRANGA_WORK_36, /* 37 */ GRANGA_WORK_37, /* 38 */ GRANGA_WORK_38, /* 39 */ GRANGA_WORK_39, /* 40 */ GRANGA_WORK_40, /* 41 */ GRANGA_WORK_41, /* 42 */ GRANGA_WORK_42, /* 43 */ GRANGA_WORK_43, /* 44 */ GRANGA_WORK_44, /* 45 */ GRANGA_WORK_45, /* 46 */ GRANGA_WORK_46, /* 47 */ GRANGA_WORK_47, /* 48 */ GRANGA_WORK_48, /* 49 */ GRANGA_WORK_49, /* 50 */ GRANGA_WORK_50, /* 51 */ GRANGA_WORK_51, /* 52 */ GRANGA_WORK_52, /* 53 */ GRANGA_WORK_53, /* 54 */ GRANGA_WORK_54, /* 55 */ GRANGA_WORK_55, /* 56 */ GRANGA_WORK_56, /* 57 */ GRANGA_WORK_57, /* 58 */ GRANGA_WORK_58, /* 59 */ GRANGA_WORK_59, /* 60 */ GRANGA_WORK_60, /* 61 */ GRANGA_WORK_61, /* 62 */ GRANGA_WORK_62, // x /* 63 */ GRANGA_WORK_63, // y /* 64 */ GRANGA_WORK_64, // z /* 65 */ GRANGA_WORK_65, /* 66 */ GRANGA_WORK_66, // xTargetPos ? /* 67 */ GRANGA_WORK_67 // zTargetPos ? } GrangaWork; typedef enum GrangaSwork { /* 00 */ GRANGA_SWK_0, // Damage indicators, one per limb /* 01 */ GRANGA_RIGHT_ARM_DMG_IND, /* 02 */ GRANGA_LEFT_ARM_DMG_IND, /* 03 */ GRANGA_GUN_DMG_IND, /* 04 */ GRANGA_RIGHT_LEG_DMG_IND, /* 07 */ GRANGA_LEFT_LEG_DMG_IND = 7, /* 10 */ GRANGA_BACKPACK_DMG_IND = 10, /* 18 */ GRANGA_SWK_18 = 18, /* 19 */ GRANGA_SWK_19, /* 20 */ GRANGA_SWK_20, /* 21 */ GRANGA_SWK_21, /* 22 */ GRANGA_SWK_22, /* 23 */ GRANGA_SWK_23, /* 24 */ GRANGA_LEFT_LEG_HP, /* 25 */ GRANGA_RIGHT_LEG_HP, /* 26 */ GRANGA_LEFT_ARM_HP, /* 27 */ GRANGA_RIGHT_ARM_HP, /* 28 */ GRANGA_PLASMA_GUN_HP, /* 29 */ GRANGA_BACKPACK_HP, /* 30 */ GRANGA_ATTACK_STATE, /* 31 */ GRANGA_NEXT_STATE, /* 32 */ GRANGA_SWK_32, /* 33 */ GRANGA_INIT, /* 35 */ GRANGA_MISSILE_COUNT = 35, /* 36 */ GRANGA_1UP_CHECK } GrangaSwork; typedef enum GrangaFwork { /* 00 */ GRANGA_FWK_00, // left leg rock angle? /* 01 */ GRANGA_FWK_01, /* 02 */ GRANGA_FWK_02, /* 03 */ GRANGA_FWK_03, /* 04 */ GRANGA_FWK_04, /* 12 */ GRANGA_FWK_12 = 12, /* 13 */ GRANGA_FWK_13, /* 14 */ GRANGA_FWK_14, } GrangaFwork; typedef enum GrangaDmgParts { /* 0 */ GRANGA_DMG_BACKPACK, /* 1 */ GRANGA_DMG_LEFT_ARM, /* 2 */ GRANGA_DMG_RIGHT_ARM, /* 3 */ GRANGA_DMG_GUN, /* 4 */ GRANGA_DMG_LEFT_LEG, /* 5 */ GRANGA_DMG_RIGHT_LEG, } GrangaDmgParts; typedef enum GrangaAttackState { /* 0 */ GRANGA_ATTACK_IDLE, /* 1 */ GRANGA_ATTACK_MISSILES, /* 2 */ GRANGA_ATTACK_LASERS, /* 3 */ GRANGA_ATTACK_PLASMA, } GrangaAttackState; // Carrier Boss: typedef enum CoCarrierParts { /* 0 */ CARRIER, // Boss /* 1 */ CARRIER_LEFT, // Left launch bay /* 2 */ CARRIER_UPPER, // Right upper launch bay /* 3 */ CARRIER_BOTTOM // Right lower launch bay } CarrierParts; typedef enum CoCarrierStates { /* 0 */ CARRIER_STATE_0, /* 1 */ CARRIER_STATE_1, /* 2 */ CARRIER_STATE_2, // positioning /* 3 */ CARRIER_STATE_3, // Close launch bays /* 4 */ CARRIER_STATE_4, // Open left launch bay /* 5 */ CARRIER_STATE_5, // open right launch bays /* 6 */ CARRIER_STATE_6, /* 7 */ CARRIER_STATE_7, // go around beam attack /* 8 */ CARRIER_STATE_8, // Dying /* 9 */ CARRIER_STATE_9, // Dying cutscene /* 10 */ CARRIER_EXPLODE // BOOM! } CoCarrierStates; #endif