From 2e926567e3bb1a464f4e850fbc92afecc4aee5e1 Mon Sep 17 00:00:00 2001 From: HailSanta <53960937+HailSanta@users.noreply.github.com> Date: Sat, 20 May 2023 13:26:11 -0400 Subject: [PATCH] various cleanup (#1057) * checkpoint * battle doc * items 2 * actor palette stuff * minor adjustment * the booool * comments, flags, and todos * oops * chain chomp * quick fix * stone chomp as well * partIDs * hm * status turn mod * status_key * status table alignments * TURN_DONE - > INACTIVE * idle anims alignment * defense table alignment * STATUS_END * actor part IDs * lee * lee again * standardizing names * BattlePositions * actor macros * standardize battle and stage macros * check * the rest * red/blue goomba names * trd_part_1 * rest of trd 1 * pal fix --------- Co-authored-by: HailSanta --- include/common_structs.h | 96 +- include/dead.h | 6 +- include/effects.h | 67 +- include/enums.h | 249 ++- include/functions.h | 75 +- include/macros.h | 10 +- include/script_api/battle.h | 20 +- include/script_api/common.h | 4 +- include/variables.h | 2 +- src/16F740.c | 278 +-- src/16c8e0.c | 50 +- src/17D6A0.c | 244 +-- src/17FEB0.c | 49 +- src/181810.c | 136 +- src/182B30.c | 1872 ++++++++-------- src/18F340.c | 64 +- src/190B20.c | 529 ++--- src/19FAF0.c | 81 +- src/1A5830.c | 115 +- src/1AC760.c | 106 +- src/23680.c | 43 +- src/415D90.c | 96 +- src/77480.c | 2 +- src/7fd10_len_b40.c | 8 +- src/80850_len_3060.c | 110 +- src/8a860_len_3f30.c | 8 +- src/C50A0.c | 1906 +++++++++-------- src/actor_api.c | 307 +-- src/battle/action_cmd/air_raid.c | 15 +- src/battle/area/arn/actor/hyper_cleft.c | 238 +- src/battle/area/arn/actor/hyper_paragoomba.c | 457 ++-- src/battle/area/arn/actor/hypergoomba.c | 226 +- src/battle/area/arn/actor/tubba_blubba.c | 122 +- src/battle/area/arn/actor/tubbas_heart.c | 155 +- src/battle/area/arn/area.c | 130 +- src/battle/area/dgb/actor/tubba_blubba.c | 156 +- src/battle/area/dgb/area.c | 46 +- src/battle/area/dig/actor/tubba_blubba.c | 146 +- src/battle/area/dig/area.c | 50 +- src/battle/area/dig/script/dig_01.c | 2 +- src/battle/area/dig/script/dig_02.c | 2 +- src/battle/area/dig/script/dig_03.c | 2 +- src/battle/area/dig/script/dig_04.c | 2 +- src/battle/area/dig/script/dig_05.c | 2 +- src/battle/area/dig/stage/dig_04.c | 8 +- src/battle/area/flo/actor/amazy_dayzee.c | 106 +- src/battle/area/flo/actor/crazee_dayzee.c | 106 +- src/battle/area/flo/actor/lakitu.c | 218 +- src/battle/area/flo/actor/ruff_puff.c | 90 +- src/battle/area/flo/area.c | 300 +-- src/battle/area/flo2/actor/huff_n_puff.c | 411 ++-- src/battle/area/flo2/actor/monty_mole_boss.c | 204 +- src/battle/area/flo2/actor/spike.c | 145 +- src/battle/area/flo2/actor/tuff_puff.c | 151 +- src/battle/area/flo2/area.c | 56 +- src/battle/area/hos/actor/goombario_tutor.c | 116 +- src/battle/area/hos/actor/magikoopa.c | 446 ++-- src/battle/area/hos/area.c | 28 +- .../area/isk_part_1/actor/pokey_mummy.c | 337 +-- .../area/isk_part_1/actor/stone_chomp.c | 778 +++---- src/battle/area/isk_part_1/area.c | 163 +- .../area/isk_part_2/actor/chain_chomp.c | 902 ++++---- src/battle/area/isk_part_2/actor/tutankoopa.c | 909 ++++---- src/battle/area/isk_part_2/area.c | 30 +- src/battle/area/iwa/actor/buzzar.c | 305 +-- src/battle/area/iwa/actor/cleft.c | 184 +- src/battle/area/iwa/area.c | 96 +- src/battle/area/iwa/stage/iwa_01.c | 2 +- src/battle/area/iwa/stage/iwa_02.c | 4 +- src/battle/area/jan/actor/hurt_plant.c | 132 +- src/battle/area/jan/actor/jungle_fuzzy.c | 130 +- src/battle/area/jan/actor/m_bush.c | 100 +- src/battle/area/jan/actor/spear_guy.c | 419 ++-- src/battle/area/jan/area.c | 150 +- src/battle/area/jan2/area.c | 44 +- src/battle/area/kgr/actor/fuzzipede.c | 231 +- src/battle/area/kgr/area.c | 6 +- src/battle/area/kkj/actor/kammy_koopa.c | 101 +- src/battle/area/kkj/area.c | 6 +- src/battle/area/kmr_part_1/area.c | 88 +- .../actor/{blue_goomba.c => blue_goomba_1.c} | 182 +- .../actor/{blue_goomba2.c => blue_goomba_2.c} | 168 +- .../area/kmr_part_2/actor/goomba_king.c | 295 +-- .../area/kmr_part_2/actor/goomnut_tree.c | 170 +- .../actor/{red_goomba.c => red_goomba_1.c} | 180 +- .../actor/{red_goomba2.c => red_goomba_2.c} | 168 +- src/battle/area/kmr_part_2/area.c | 44 +- .../area/kmr_part_3/actor/egg_jr_troopa.c | 146 +- .../area/kmr_part_3/actor/final_jr_troopa.c | 418 ++-- src/battle/area/kmr_part_3/actor/jr_troopa.c | 120 +- .../area/kmr_part_3/actor/mage_jr_troopa.c | 175 +- .../area/kmr_part_3/actor/para_jr_troopa.c | 191 +- src/battle/area/kmr_part_3/actor/paragoomba.c | 373 ++-- .../area/kmr_part_3/actor/spiked_goomba.c | 190 +- .../kmr_part_3/actor/spiked_para_jr_troopa.c | 197 +- src/battle/area/kmr_part_3/area.c | 44 +- src/battle/area/kmr_part_3/stage/kmr_05.c | 2 +- src/battle/area/kpa/actor/bony_beetle.c | 354 +-- src/battle/area/kpa/actor/dry_bones.c | 241 ++- src/battle/area/kpa/area.c | 498 ++--- src/battle/area/kpa/stage/kpa_03.c | 2 +- src/battle/area/kpa2/actor/bowser.c | 154 +- src/battle/area/kpa2/actor/bowser_intro.c | 186 +- src/battle/area/kpa2/actor/bowser_phase_1.c | 324 +-- src/battle/area/kpa2/actor/bowser_phase_2.c | 298 +-- src/battle/area/kpa2/actor/bowser_phase_3.c | 356 +-- src/battle/area/kpa2/area.c | 26 +- src/battle/area/kpa3/actor/anti_guy.c | 150 +- src/battle/area/kpa3/area.c | 26 +- src/battle/area/kpa4/actor/bombshell_bill.c | 80 +- .../area/kpa4/actor/bombshell_bill_blaster.c | 72 +- src/battle/area/kpa4/area.c | 64 +- src/battle/area/kpa4/stage/kpa_03.c | 2 +- src/battle/area/kzn/actor/lava_bubble.c | 154 +- src/battle/area/kzn/area.c | 182 +- src/battle/area/kzn2/actor/lava_bud.c | 171 +- src/battle/area/kzn2/actor/lava_piranha.c | 309 +-- src/battle/area/kzn2/actor/petit_piranha.c | 100 +- .../area/kzn2/actor/petit_piranha_bomb.c | 88 +- src/battle/area/kzn2/area.c | 25 +- src/battle/area/mac/actor/chan.c | 252 +-- src/battle/area/mac/actor/lee.c | 1284 +++++------ src/battle/area/mac/actor/master1.c | 139 +- src/battle/area/mac/actor/master2.c | 235 +- src/battle/area/mac/actor/master3.c | 316 +-- src/battle/area/mac/area.c | 24 +- src/battle/area/mim/actor/forest_fuzzy.c | 118 +- src/battle/area/mim/actor/piranha_plant.c | 116 +- src/battle/area/mim/area.c | 142 +- src/battle/area/nok/actor/kent_c_koopa.c | 238 +- src/battle/area/nok/area.c | 186 +- src/battle/area/omo/actor/anti_guy.c | 154 +- src/battle/area/omo/actor/blue_shy_guy.c | 156 +- src/battle/area/omo/actor/green_shy_guy.c | 156 +- src/battle/area/omo/actor/groove_guy.c | 170 +- src/battle/area/omo/actor/pink_shy_guy.c | 156 +- src/battle/area/omo/actor/pyro_guy.c | 122 +- src/battle/area/omo/actor/sky_guy.c | 436 ++-- src/battle/area/omo/actor/spy_guy.c | 204 +- src/battle/area/omo/actor/yellow_shy_guy.c | 157 +- src/battle/area/omo/area.c | 350 +-- src/battle/area/omo/stage/omo_04.c | 8 +- src/battle/area/omo2/actor/general_guy.c | 237 +- src/battle/area/omo2/actor/light_bulb.c | 64 +- src/battle/area/omo2/actor/toy_tank.c | 242 ++- src/battle/area/omo2/area.c | 10 +- src/battle/area/omo2_1/actor/shy_squad.c | 371 ++-- src/battle/area/omo2_2/actor/stilt_guy.c | 426 ++-- src/battle/area/omo2_3/actor/shy_stack.c | 733 +++---- src/battle/area/omo2_4/actor/signal_guy.c | 82 +- src/battle/area/omo2_5/actor/shy_squad_dup.c | 307 +-- src/battle/area/omo2_6/actor/shy_guy_dup.c | 140 +- .../area/omo3/actor/big_lantern_ghost.c | 155 +- src/battle/area/omo3/area.c | 80 +- src/battle/area/omo3/stage/omo_04.c | 8 +- src/battle/area/pra/actor/albino_dino.c | 95 +- src/battle/area/pra/area.c | 128 +- src/battle/area/pra/stage/pra_04.c | 4 +- src/battle/area/pra2/actor/crystal_bit.c | 121 +- src/battle/area/pra2/actor/crystal_king.c | 274 +-- src/battle/area/pra2/area.c | 12 +- src/battle/area/pra3/area.c | 104 +- src/battle/area/sam/actor/frost_piranha.c | 160 +- src/battle/area/sam/actor/gulpit.c | 122 +- src/battle/area/sam/actor/gulpit_rocks.c | 78 +- src/battle/area/sam/area.c | 206 +- src/battle/area/sam2/actor/monstar.c | 119 +- src/battle/area/sam2/area.c | 22 +- src/battle/area/sbk/area.c | 132 +- src/battle/area/tik/actor/dark_koopa.c | 332 +-- src/battle/area/tik/actor/dark_paratroopa.c | 514 ++--- src/battle/area/tik/actor/gloomba.c | 168 +- src/battle/area/tik/actor/paragloomba.c | 341 +-- src/battle/area/tik/actor/spiked_gloomba.c | 174 +- src/battle/area/tik/area.c | 210 +- src/battle/area/tik2/actor/blooper.c | 169 +- src/battle/area/tik2/actor/blooper_baby.c | 159 +- src/battle/area/tik2/actor/electro_blooper.c | 245 +-- src/battle/area/tik2/actor/super_blooper.c | 267 +-- src/battle/area/tik2/area.c | 22 +- src/battle/area/tik3/area.c | 38 +- .../area/trd_part_1/actor/bill_blaster.c | 198 +- src/battle/area/trd_part_1/actor/bob_omb.c | 473 ++-- .../area/trd_part_1/actor/bullet_bill.c | 198 +- .../area/trd_part_1/actor/koopa_troopa.c | 6 +- src/battle/area/trd_part_1/actor/paratroopa.c | 6 +- src/battle/area/trd_part_1/area.c | 338 ++- src/battle/area/trd_part_1/area.h | 6 + src/battle/area/trd_part_1/stage/trd_00.c | 8 +- src/battle/area/trd_part_1/stage/trd_01.c | 6 +- src/battle/area/trd_part_1/stage/trd_02.c | 123 +- src/battle/area/trd_part_1/stage/trd_02b.c | 125 +- src/battle/area/trd_part_1/stage/trd_02c.c | 12 +- src/battle/area/trd_part_1/stage/trd_02d.c | 117 +- src/battle/area/trd_part_1/stage/trd_03.c | 22 +- src/battle/area/trd_part_1/stage/trd_04.c | 67 +- src/battle/area/trd_part_1/stage/trd_05.c | 123 +- src/battle/area/trd_part_1/stage/trd_05b.c | 123 +- src/battle/area/trd_part_1/stage/trd_05c.c | 131 +- src/battle/area/trd_part_1/stage/trd_05d.c | 129 +- src/battle/area/trd_part_1/stage/trd_05e.c | 119 +- src/battle/area/trd_part_1/stage/trd_05f.c | 123 +- .../area/trd_part_2/actor/blue_ninja_koopa.c | 288 +-- .../area/trd_part_2/actor/fake_bowser.c | 410 ++-- .../area/trd_part_2/actor/green_ninja_koopa.c | 288 +-- .../area/trd_part_2/actor/red_ninja_koopa.c | 288 +-- .../trd_part_2/actor/yellow_ninja_koopa.c | 288 +-- src/battle/area/trd_part_2/area.c | 24 +- src/battle/area/trd_part_2/stage/trd_03.c | 6 +- src/battle/area/trd_part_3/actor/eldstar.c | 106 +- src/battle/area/trd_part_3/area.c | 6 +- src/battle/battle.c | 4 +- src/battle/battle.h | 41 +- src/battle/btl_evt_library.c | 62 +- src/battle/common/actor/bandit.inc.c | 177 +- src/battle/common/actor/buzzy_beetle.inc.c | 240 ++- src/battle/common/actor/bzzap.inc.c | 329 +-- src/battle/common/actor/clubba.inc.c | 92 +- src/battle/common/actor/duplighost.inc.c | 128 +- src/battle/common/actor/ember.inc.c | 160 +- src/battle/common/actor/fuzzy.inc.c | 106 +- src/battle/common/actor/ghost_bombette.inc.c | 121 +- src/battle/common/actor/ghost_bow.inc.c | 133 +- src/battle/common/actor/ghost_goombario.inc.c | 157 +- src/battle/common/actor/ghost_kooper.inc.c | 181 +- .../common/actor/ghost_lakilester.inc.c | 137 +- src/battle/common/actor/ghost_parakarry.inc.c | 105 +- src/battle/common/actor/ghost_sushie.inc.c | 167 +- src/battle/common/actor/ghost_watt.inc.c | 120 +- src/battle/common/actor/goomba.inc.c | 168 +- src/battle/common/actor/gray_magikoopa.inc.c | 272 +-- src/battle/common/actor/green_magikoopa.inc.c | 272 +-- src/battle/common/actor/hammer_bro.inc.c | 249 +-- src/battle/common/actor/koopa_troopa.inc.c | 249 +-- src/battle/common/actor/koopatrol.inc.c | 378 ++-- src/battle/common/actor/magikoopa.inc.c | 476 ++-- src/battle/common/actor/medi_guy.inc.c | 128 +- src/battle/common/actor/monty_mole.inc.c | 200 +- src/battle/common/actor/paragoomba.inc.c | 341 +-- src/battle/common/actor/paratroopa.inc.c | 458 ++-- src/battle/common/actor/pokey.inc.c | 379 ++-- src/battle/common/actor/putrid_piranha.inc.c | 160 +- src/battle/common/actor/red_magikoopa.inc.c | 272 +-- src/battle/common/actor/red_shy_guy.inc.c | 152 +- src/battle/common/actor/slot_machine.inc.c | 86 +- src/battle/common/actor/spike_top.inc.c | 242 ++- src/battle/common/actor/spiked_goomba.inc.c | 174 +- src/battle/common/actor/spiny.inc.c | 169 +- src/battle/common/actor/swooper.inc.c | 164 +- src/battle/common/actor/swoopula.inc.c | 174 +- src/battle/common/actor/whacka.inc.c | 88 +- src/battle/common/actor/white_clubba.inc.c | 108 +- src/battle/common/actor/white_magikoopa.inc.c | 306 +-- .../common/actor/yellow_magikoopa.inc.c | 272 +-- src/battle/common/move/HammerSupport.inc.c | 6 +- src/battle/common/move/ItemRefund.inc.c | 6 +- src/battle/common/move/JumpSupport.inc.c | 12 +- ..._BeachEffects.inc.c => BeachEffects.inc.c} | 0 src/battle/common/stage/MovingClouds.inc.c | 114 + src/battle/common/stage/TexturePanner.inc.c | 66 + src/battle/common/stage/jan_00.inc.c | 2 +- src/battle/common/stage/jan_01.inc.c | 2 +- src/battle/common/stage/jan_01b.inc.c | 2 +- src/battle/common/stage/kmr_03.inc.c | 6 +- src/battle/common/stage/kmr_04.inc.c | 6 +- src/battle/common/stage/kmr_05.inc.c | 2 +- src/battle/common/stage/kmr_06.inc.c | 6 +- src/battle/move/hammer/mega_quake.c | 46 +- src/battle/move/hammer/power_quake.c | 4 +- src/battle/move/hammer/quake_hammer.c | 4 +- src/battle/move/hammer/shrink_smash.c | 4 +- src/battle/move/hammer/spin_smash.c | 12 +- src/battle/move/item/electro_pop.c | 2 +- src/battle/move/item/fire_flower.c | 2 +- src/battle/move/item/pow_block.c | 2 +- src/battle/move/item/repel_gel.c | 2 +- src/battle/move/item/shooting_star.c | 2 +- src/battle/move/item/snowman_doll.c | 2 +- src/battle/move/item/stone_cap.c | 2 +- src/battle/move/item/strange_cake.c | 6 +- src/battle/move/item/super_soda.c | 2 +- src/battle/move/item/tasty_tonic.c | 2 +- src/battle/move/item/thunder_bolt.c | 2 +- src/battle/move/item/thunder_rage.c | 2 +- src/battle/move/item/volt_shroom.c | 2 +- src/battle/move/jump/auto_multibounce.c | 42 +- src/battle/move/jump/dizzy_stomp.c | 18 +- src/battle/move/jump/earthquake_jump.c | 30 +- src/battle/move/jump/multibounce.c | 42 +- src/battle/move/jump/shrink_stomp.c | 18 +- src/battle/move/jump/sleep_stomp.c | 18 +- src/battle/move/star_power/chill_out.c | 2 +- src/battle/move/star_power/focus.c | 4 +- src/battle/move/star_power/lullaby.c | 4 +- src/battle/move/star_power/peach_beam.c | 2 +- src/battle/move/star_power/peach_focus.c | 2 +- src/battle/move/star_power/refresh.c | 4 +- src/battle/move/star_power/smooch.c | 2 +- src/battle/move/star_power/star_beam.c | 2 +- src/battle/move/star_power/star_storm.c | 4 +- src/battle/move/star_power/time_out.c | 4 +- src/battle/move/star_power/up_and_away.c | 2 +- src/battle/partner/bombette.c | 82 +- src/battle/partner/bow.c | 103 +- src/battle/partner/goombario.c | 122 +- src/battle/partner/goompa.c | 60 +- src/battle/partner/kooper.c | 163 +- src/battle/partner/lakilester.c | 131 +- src/battle/partner/parakarry.c | 107 +- src/battle/partner/sushie.c | 78 +- src/battle/partner/twink.c | 68 +- src/battle/partner/watt.c | 103 +- src/common/CanPlayerLoseAction.inc.c | 2 +- src/common/ChompChainInit.inc.c | 35 - src/common/ChompChainUpdateHelperFunc.inc.c | 10 - src/common/ChompChainUpdateHelperFunc2.inc.c | 9 - src/common/ShrinkActor.inc.c | 2 +- src/common/StarRodPowerUpEffect.inc.c | 6 +- src/common/UnkAngleFunc2.inc.c | 35 - src/common/UnkBattleFunc1.inc.c | 17 - src/common/UnkEffect6CFunc.inc.c | 9 - src/common/battle/ChompChainSupport.inc.c | 206 ++ .../battle/SetAbsoluteStatusOffsets.inc.c | 17 + src/effects/attack_result_text.c | 160 +- src/effects/confetti.c | 24 +- src/effects/damage_indicator.c | 166 +- src/effects/embers.c | 32 +- src/effects/floating_rock.c | 91 +- src/encounter.c | 18 +- src/encounter_api.c | 2 +- src/entity/ItemBlock.c | 10 +- src/evt/f8f60_len_1560.c | 21 +- src/evt/fa4c0_len_3bf0.c | 4 +- src/evt/player_api.c | 2 +- src/pause/pause_main.c | 2 +- src/sprite.h | 1 + src/state_battle.c | 2 +- src/state_file_select.c | 4 +- src/state_pause.c | 4 +- src/status_icons.c | 42 +- src/world/action/hit_fire.c | 2 +- src/world/action/hit_lava.c | 2 +- src/world/area_arn/arn_07/arn_07_5_npc.c | 2 +- src/world/area_end/end_00/end_00_1_main.c | 2 +- .../area_end/end_00/end_00_3_parade_setup.c | 22 +- src/world/area_end/end_00/end_00_6_caravan.c | 6 +- src/world/area_end/end_01/end_01_1_main.c | 2 +- src/world/area_flo/flo_00/flo_00_3_npc.c | 2 +- .../area_flo/flo_00/flo_00_5_beanstalk.c | 16 +- src/world/area_hos/hos_05/hos_05_4_npc.c | 2 +- src/world/area_hos/hos_06/hos_06_6_chest.c | 2 +- src/world/area_isk/isk_04/isk_04_6_demo.c | 2 +- src/world/area_isk/isk_11/isk_11_5_puzzle.c | 10 +- src/world/area_isk/isk_14/isk_14_3_npc.c | 2 +- src/world/area_isk/isk_16/isk_16_2_npc.c | 102 +- src/world/area_isk/isk_16/isk_16_3_boss.c | 20 +- src/world/area_jan/jan_03/jan_03_3_shop.c | 2 +- src/world/area_jan/jan_22/jan_22_3_npc.c | 2 +- .../area_kkj/kkj_16/kkj_16_3_npcs_later.c | 2 +- src/world/area_kkj/kkj_17/kkj_17_3_chest.c | 2 +- src/world/area_kkj/kkj_20/kkj_20_4_npc.c | 4 +- .../area_kkj/kkj_25/kkj_25_2_npc_initial.c | 2 +- .../area_kkj/kkj_25/kkj_25_7_kammy_defeated.c | 2 +- src/world/area_kkj/kkj_26/kkj_26_3_demo.c | 2 +- src/world/area_kkj/kkj_29/kkj_29_3_quiz.c | 2 +- src/world/area_kmr/kmr_02/kmr_02_3_npc.c | 10 +- .../area_kmr/kmr_20/kmr_20_4_documents.c | 8 +- src/world/area_kmr/kmr_20/kmr_20_8_bed.c | 4 +- src/world/area_kmr/kmr_22/kmr_22_2_npc.c | 192 +- src/world/area_kmr/kmr_22/npc/chapter_2.inc.c | 12 +- src/world/area_kmr/kmr_30/kmr_30_1_main.c | 2 +- src/world/area_mac/mac_00/mac_00_6_shop.c | 2 +- .../area_mac/mac_00/npc/dojo_members.inc.c | 2 +- .../area_mac/mac_01/npc/post_office.inc.c | 8 +- src/world/area_mac/mac_03/mac_03_8_demo.c | 2 +- src/world/area_mac/mac_04/mac_04_5_shop.c | 2 +- .../area_mac/mac_04/npc_chet_rippo.inc.c | 26 +- src/world/area_mac/mac_04/npc_muskular.inc.c | 2 +- src/world/area_mgm/mgm_01/mgm_01_2_npc.c | 8 +- src/world/area_mgm/mgm_02/mgm_02_2_npc.c | 8 +- src/world/area_nok/nok_01/nok_01_5_shop.c | 2 +- src/world/area_nok/nok_01/nok_01_6_rooms.c | 8 +- .../area_nok/nok_02/nok_02_8_koot_favors.c | 2 +- src/world/area_pra/pra_01/pra_01_3_npc.c | 2 +- src/world/area_sam/sam_02/sam_02_6_shop.c | 2 +- src/world/area_sam/sam_09/sam_09_4_sockets.c | 6 +- src/world/area_sbk/sbk_02/sbk_02_4_npc.c | 2 +- src/world/area_trd/trd_00/trd_00_3_npc.c | 6 +- src/world/common/atomic/ToadHouse.data.inc.c | 4 +- src/world/common/atomic/ToadHouse.inc.c | 10 +- .../common/atomic/ToadHouseHos.data.inc.c | 4 +- src/world/common/complete/Quizmo.inc.c | 4 +- src/world/common/enemy/StoneChomp.h | 32 +- src/world/common/enemy/StoneChomp.inc.c | 2 +- ...ncStatusMenu.inc.c => SyncStatusBar.inc.c} | 4 +- src/world/common/todo/UnkFunc1.inc.c | 2 +- src/world/common/todo/clouds.inc.c | 65 - src/world/dead/area_flo/flo_00/flo_00_3_npc.c | 2 +- .../dead/area_flo/flo_00/flo_00_5_beanstalk.c | 16 +- src/world/partner/goombario.c | 2 +- src/world/partners.c | 2 +- src/world/script_api/shops.c | 14 +- src/world/world.c | 2 +- tools/disasm_script.py | 6 +- tools/ignored_funcs.txt | 6 +- tools/splat_ext/npc.yaml | 216 +- tools/star_rod_idx_to_c.py | 6 +- tools/update_evts.py | 2 +- ver/ique/asm/bss3.s | 15 +- ver/ique/undefined_syms.txt | 14 +- ver/jp/undefined_syms.txt | 8 +- ver/pal/splat.yaml | 8 +- ver/pal/undefined_syms.txt | 46 +- ver/us/asm/bss3.s | 15 +- ver/us/splat.yaml | 14 +- ver/us/symbol_addrs.txt | 1158 +++++----- ver/us/undefined_syms.txt | 6 +- 417 files changed, 26245 insertions(+), 25909 deletions(-) rename src/battle/area/kmr_part_2/actor/{blue_goomba.c => blue_goomba_1.c} (75%) rename src/battle/area/kmr_part_2/actor/{blue_goomba2.c => blue_goomba_2.c} (74%) rename src/battle/area/kmr_part_2/actor/{red_goomba.c => red_goomba_1.c} (75%) rename src/battle/area/kmr_part_2/actor/{red_goomba2.c => red_goomba_2.c} (74%) create mode 100644 src/battle/area/trd_part_1/area.h rename src/battle/common/stage/{jan_BeachEffects.inc.c => BeachEffects.inc.c} (100%) create mode 100644 src/battle/common/stage/MovingClouds.inc.c create mode 100644 src/battle/common/stage/TexturePanner.inc.c delete mode 100644 src/common/ChompChainInit.inc.c delete mode 100644 src/common/ChompChainUpdateHelperFunc.inc.c delete mode 100644 src/common/ChompChainUpdateHelperFunc2.inc.c delete mode 100644 src/common/UnkAngleFunc2.inc.c delete mode 100644 src/common/UnkBattleFunc1.inc.c delete mode 100644 src/common/UnkEffect6CFunc.inc.c create mode 100644 src/common/battle/ChompChainSupport.inc.c create mode 100644 src/common/battle/SetAbsoluteStatusOffsets.inc.c rename src/world/common/todo/{SyncStatusMenu.inc.c => SyncStatusBar.inc.c} (53%) delete mode 100644 src/world/common/todo/clouds.inc.c diff --git a/include/common_structs.h b/include/common_structs.h index 761222e772..1226b06c66 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -311,7 +311,7 @@ typedef struct PlayerData { /* 0x007 */ s8 hardMaxFP; /* 0x008 */ s8 maxBP; /* 0x009 */ s8 level; - /* 0x00A */ s8 hasActionCommands; + /* 0x00A */ b8 hasActionCommands; /* 0x00B */ char unk_0B; /* 0x00C */ s16 coins; /* 0x00E */ s8 fortressKeyCount; @@ -894,8 +894,8 @@ typedef struct BattleStatus { /* 0x089 */ s8 hpDrainCount; /* 0x08A */ s8 nextMerleeSpellType; /* 0x08B */ s8 hustleTurns; /* numTurns from hustle drink, normally 0 */ - /* 0x08C */ s8 unk_8C; - /* 0x08D */ s8 unk_8D; + /* 0x08C */ s8 stateFreezeCount; + /* 0x08D */ s8 endBattleFadeOutRate; /* 0x08E */ s8 initialEnemyCount; /* used for SP award bonus */ /* 0x08F */ char unk_8F[1]; /* 0x090 */ s16 unk_90; @@ -1165,7 +1165,7 @@ typedef struct ItemEntity { /* 0x1B */ s8 spawnType; /* 0x1C */ u8 pickupDelay; /* num frames before item can be picked up */ /* 0x1D */ s8 renderGroup; - /* 0x1E */ s16 wsFaceAngle; /* < 0 means none */ + /* 0x1E */ s16 spawnAngle; /* if < 0, a random screen-relative angle is chosen: left or right */ /* 0x20 */ s16 shadowIndex; /* 0x22 */ char unk_22[2]; /* 0x24 */ u32* readPos; @@ -1175,7 +1175,7 @@ typedef struct ItemEntity { /* 0x2E */ u8 nextUpdate; /* 0x2F */ u8 alpha; /* 0x30 */ f32 scale; - /* 0x34 */ Vec3s unk_34; + /* 0x34 */ Vec3s lastPos; /* 0x3A */ char unk_3A[2]; /* 0x3C */ s32 sparkleNextUpdate; /* 0x40 */ s32* sparkleReadPos; @@ -1506,13 +1506,13 @@ typedef struct PushBlockGrid { typedef struct ItemEntityPhysicsData { /* 0x00 */ f32 verticalVelocity; /* 0x04 */ f32 gravity; /* 2 = normal, 1 = low gravity, higher values never 'settle' */ - /* 0x08 */ f32 unk_08; + /* 0x08 */ f32 collisionRadius; /* 0x0C */ f32 constVelocity; /* 0x10 */ f32 velx; /* 0x14 */ f32 velz; /* 0x18 */ f32 moveAngle; /* 0x1C */ s32 timeLeft; - /* 0x20 */ s32 unk_20; + /* 0x20 */ b32 useSimplePhysics; } ItemEntityPhysicsData; // size = 0x24 typedef struct RenderTask { @@ -1525,10 +1525,8 @@ typedef struct RenderTask { typedef struct SelectableTarget { /* 0x00 */ s16 actorID; /* 0x02 */ s16 partID; /* sometimes loaded as byte from 0x3 */ - /* 0x04 */ Vec3s pos; - /* 0x0A */ s16 unk_0A; - /* 0x0C */ s16 unk_0C; - /* 0x0E */ s16 unk_0E; + /* 0x04 */ Vec3s posA; + /* 0x0A */ Vec3s posB; /* 0x10 */ s8 unk_10; /* 0x11 */ s8 homeCol; /* from xpos --> 0-3 */ /* 0x12 */ s8 homeRow; /* from ypos --> 0-3 */ @@ -1587,7 +1585,7 @@ typedef struct ActorPart { /* 0x4C */ Vec3f scale; /* 0x58 */ Vec3f currentPos; /* 0x64 */ f32 yaw; - /* 0x68 */ s16 unkOffset[2]; + /* 0x68 */ s16 palAnimPosOffset[2]; // used by some palette animations to slightly adjust the screen position /* 0x6C */ Vec2s targetOffset; /* 0x70 */ s16 unk_70; /* 0x72 */ Vec2bu size; @@ -1647,6 +1645,7 @@ typedef struct CollisionStatus { /* 0x1C */ Vec3f bombetteExplosionPos; } CollisionStatus; // size = 0x28 +// seems to be a union differing for each decoration typedef struct DecorationUnk { /* 0x00 */ s16 unk00; /* 0x02 */ s16 unk02; @@ -1661,26 +1660,26 @@ typedef struct DecorationUnk { #define MAX_ACTOR_DECORATIONS 2 typedef struct DecorationTable { - /* 0x000 */ PAL_BIN copiedPalettes[2][27][16]; - /* 0x6C0 */ s8 unk_6C0; - /* 0x6C1 */ s8 unk_6C1; - /* 0x6C2 */ s8 unk_6C2; + /* 0x000 */ PAL_BIN copiedPalettes[2][27][SPR_PAL_SIZE]; + /* 0x6C0 */ s8 paletteAdjustment; + /* 0x6C1 */ b8 resetPalAdjust; + /* 0x6C2 */ s8 palAnimState; /* 0x6C3 */ char unk_6C3[5]; - /* 0x6C8 */ s16 unk_6C8; - /* 0x6CA */ s16 unk_6CA; + /* 0x6C8 */ s16 nextPalTime; + /* 0x6CA */ s16 palBlendAlpha; /* 0x6CC */ s8 spriteColorVariations; - /* 0x6CD */ s8 numSpritePalettes; + /* 0x6CD */ s8 originalPalettesCount; /* 0x6CE */ char unk_6CE[2]; - /* 0x6D0 */ PAL_PTR* spritePalettes; - /* 0x6D4 */ PAL_PTR unk_6D4[27]; - /* 0x740 */ s16 unk_740; - /* 0x742 */ s16 unk_742; - /* 0x744 */ s16 unk_744; - /* 0x746 */ s16 unk_746; - /* 0x748 */ s16 unk_748; - /* 0x74A */ s16 unk_74A; - /* 0x74C */ s16 unk_74C; - /* 0x74E */ s16 unk_74E; + /* 0x6D0 */ PAL_PTR* originalPalettesList; + /* 0x6D4 */ PAL_PTR adjustedPalettes[27]; + /* 0x740 */ s16 blendPalA; // can be either palette or palset index + /* 0x742 */ s16 blendPalB; // can be either palette or palset index + /* 0x744 */ s16 palswapTimeHoldA; + /* 0x746 */ s16 palswapTimeAtoB; + /* 0x748 */ s16 palswapTimeHoldB; + /* 0x74A */ s16 palswapTimeBtoA; + /* 0x74C */ s16 palswapUnused1; // presumably palswapTimeHoldC for unimplemented triple cycling (A->B->C->A) + /* 0x74E */ s16 palswapUnused2; // presumably palswapTimeCtoA for unimplemented triple cycling (A->B->C->A) /* 0x750 */ s8 unk_750; /* 0x751 */ s8 unk_751; /* 0x752 */ s8 unk_752; @@ -1785,16 +1784,19 @@ typedef struct ActorMovement { /* 0x5A */ s16 flyArcAmplitude; } ActorMovement; // size = 0x5C; -typedef struct ChompChainAnimationState { +// a single link of a chain chomp's chain +typedef struct ChompChain { /* 0x00 */ Vec3f currentPos; /* 0x0C */ f32 unk_0C; /* 0x10 */ f32 unk_10; - /* 0x14 */ f32 unk_14; - /* 0x18 */ f32 unk_18; - /* 0x1C */ f32 unk_1C; - /* 0x20 */ f32 unk_20; - /* 0x24 */ Vec3f scale; -} ChompChainAnimationState; // size = 0x30 + /* 0x14 */ f32 gravAccel; + /* 0x18 */ f32 velY; + /* 0x1C */ f32 settleAmt; + /* 0x20 */ f32 settleRate; + /* 0x24 */ f32 outerLinkLen; + /* 0x28 */ f32 innerLinkLen; + /* 0x2C */ f32 linkLengthZ; +} ChompChain; // size = 0x30 typedef struct ActorState { // TODO: Make the first field of this an ActorMovement /* 0x00 */ Vec3f currentPos; @@ -1844,7 +1846,7 @@ typedef struct Actor { /* 0x138 */ Vec3f homePos; /* 0x144 */ Vec3f currentPos; /* 0x150 */ Vec3s headOffset; - /* 0x156 */ Vec3s healthBarPosition; + /* 0x156 */ Vec3s healthBarPos; /* 0x15C */ Vec3f rotation; /* 0x168 */ Vec3s rotationPivotOffset; /* 0x16E */ char unk_16E[2]; @@ -1854,11 +1856,9 @@ typedef struct Actor { /* 0x18C */ f32 yaw; /* 0x190 */ Vec2bu size; /* 0x192 */ s16 actorID; - /* 0x194 */ s8 unk_194; - /* 0x195 */ s8 unk_195; - /* 0x196 */ s8 unk_196; - /* 0x197 */ s8 unk_197; - /* 0x198 */ Vec2b unk_198; + /* 0x194 */ Vec2b statusIconOffset; + /* 0x196 */ Vec2b statusTextOffset; + /* 0x198 */ Vec2b healthBarOffset; /* 0x19A */ s8 verticalRenderOffset; // visual only, does not affect target position /* 0x19B */ char unk_19B[1]; /* 0x19C */ s32 actorTypeData1[6]; /* 4 = jump sound, 5 = attack sound */ // TODO: struct @@ -1866,7 +1866,7 @@ typedef struct Actor { /* 0x1B8 */ s8 currentHP; /* 0x1B9 */ s8 maxHP; /* 0x1BA */ char unk_1BA[2]; - /* 0x1BC */ s8 hpFraction; /* used to render HP bar */ + /* 0x1BC */ s8 healthFraction; /* used to render HP bar */ /* 0x1BD */ char unk_1BD[3]; /* 0x1C0 */ EvtScript* idleSource; /* 0x1C4 */ EvtScript* takeTurnSource; @@ -1890,9 +1890,9 @@ typedef struct Actor { /* 0x1FC */ s16 damageCounter; /* 0x1FE */ char unk_1FE[2]; /* 0x200 */ struct EffectInstance* attackResultEffect; - /* 0x204 */ s8 unk_204; - /* 0x205 */ s8 unk_205; - /* 0x206 */ s8 unk_206; + /* 0x204 */ s8 actionRatingCombo; + /* 0x205 */ s8 actionRatingTime; + /* 0x206 */ s8 healthBarHideTime; /* 0x207 */ s8 extraCoinBonus; /* 0x208 */ s8 instigatorValue; // from the enemy which initiated the encounter if this actor is first in the formation. allows that enemy to pass information to its actor. /* 0x209 */ char unk_209[3]; @@ -1911,7 +1911,7 @@ typedef struct Actor { /* 0x21C */ s8 statusAfflicted; /* 0x21D */ s8 disableDismissTimer; /* 0x21E */ s16 unk_21E; - /* 0x220 */ s8 isGlowing; // charge amount for goombario + /* 0x220 */ s8 isGlowing; // also used for goombario charge amount /* 0x221 */ s8 attackBoost; /* 0x222 */ s8 defenseBoost; /* 0x223 */ s8 chillOutAmount; /* attack reduction */ @@ -2303,7 +2303,7 @@ typedef VirtualEntity* VirtualEntityList[0x40]; typedef struct Message { /* 0x00 */ b32 unk_00; - /* 0x04 */ s32 unk_04; + /* 0x04 */ s32 entityModelIndex; /* 0x08 */ Vec3f accel; /* 0x14 */ Vec3f vel; /* 0x20 */ s32 appearTime; diff --git a/include/dead.h b/include/dead.h index 2046c40980..8eaa6abce5 100644 --- a/include/dead.h +++ b/include/dead.h @@ -77,9 +77,9 @@ #define set_message_msg dead_set_message_msg #define gPlayerData dead_gPlayerData #define gPartnerPopupProperties dead_gPartnerPopupProperties -#define increment_status_menu_disabled dead_increment_status_menu_disabled -#define decrement_status_menu_disabled dead_decrement_status_menu_disabled -#define sync_status_menu dead_sync_status_menu +#define increment_status_bar_disabled dead_increment_status_bar_disabled +#define decrement_status_bar_disabled dead_decrement_status_bar_disabled +#define sync_status_bar dead_sync_status_bar #define set_max_SP dead_set_max_SP #define get_current_map_settings dead_get_current_map_settings #define gGameStatusPtr dead_gGameStatusPtr diff --git a/include/effects.h b/include/effects.h index c077659c8e..54b8fe5be7 100644 --- a/include/effects.h +++ b/include/effects.h @@ -582,15 +582,15 @@ typedef struct SmokeImpactFXData { typedef struct DamageIndicatorFXData { /* 0x00 */ s32 unk_00; - /* 0x04 */ Vec3f unk_04; - /* 0x10 */ Vec3f unk_10; - /* 0x1C */ Vec3f unk_1C; - /* 0x28 */ f32 unk_28; + /* 0x04 */ Vec3f basePos; + /* 0x10 */ Vec3f curPos; + /* 0x1C */ Vec3f relPos; + /* 0x28 */ f32 radius; /* 0x2C */ s32 alpha; - /* 0x30 */ s32 effectDurationTimer; - /* 0x34 */ s32 unk_34; - /* 0x38 */ f32 unk_38; - /* 0x3C */ s32 numParts; + /* 0x30 */ s32 timeLeft; + /* 0x34 */ s32 lifetime; + /* 0x38 */ f32 scale; + /* 0x3C */ s32 damageAmt; } DamageIndicatorFXData; // size = 0x40 typedef struct PurpleRingFXData { @@ -1373,20 +1373,17 @@ typedef struct GatherMagicFXData { } GatherMagicFXData; typedef struct AttackResultTextFXData { - /* 0x00 */ s32 unk_00; + /* 0x00 */ s32 type; /* 0x04 */ s32 unk_04; - /* 0x08 */ f32 unk_08; - /* 0x0C */ f32 unk_0C; - /* 0x10 */ f32 unk_10; - /* 0x14 */ s32 unk_14; - /* 0x18 */ s32 unk_18; - /* 0x1C */ s32 unk_1C; + /* 0x08 */ Vec3f pos; + /* 0x14 */ s32 alpha; + /* 0x18 */ s32 timeLeft; + /* 0x1C */ s32 lifetime; /* 0x20 */ s32 unk_20; - /* 0x24 */ s32 unk_24; - /* 0x28 */ f32 unk_28; + /* 0x24 */ b32 isVisible; + /* 0x28 */ f32 scale; /* 0x2C */ char unk_2C[0x4]; - /* 0x30 */ f32 unk_30; - /* 0x34 */ f32 unk_34; + /* 0x30 */ Vec2f vel; } AttackResultTextFXData; // size = 0x38 typedef struct SmallGoldSparkleFXData { @@ -1433,24 +1430,18 @@ typedef struct BalloonFXData { } BalloonFXData; // size = 0x24 typedef struct FloatingRockFXData { - /* 0x00 */ s32 unk_00; - /* 0x04 */ f32 unk_04; - /* 0x08 */ f32 unk_08; - /* 0x0C */ f32 unk_0C; - /* 0x10 */ f32 unk_10; - /* 0x14 */ s32 unk_14; - /* 0x18 */ f32 unk_18; - /* 0x1C */ s32 unk_1C; - /* 0x20 */ f32 unk_20; - /* 0x24 */ f32 unk_24; - /* 0x28 */ f32 unk_28; - /* 0x2C */ f32 unk_2C; - /* 0x30 */ Vec3f unk_30; - /* 0x3C */ f32 unk_3C; + /* 0x00 */ s32 type; + /* 0x04 */ Vec3f pos; + /* 0x10 */ f32 floorY; + /* 0x14 */ Vec3f vel; + /* 0x20 */ f32 fallAccel; + /* 0x24 */ Vec3f rot; + /* 0x30 */ Vec3f rotVel; + /* 0x3C */ f32 scale; /* 0x40 */ s32 unk_40; - /* 0x44 */ s32 unk_44; - /* 0x48 */ s32 unk_48; - /* 0x4C */ s32 unk_4C; + /* 0x44 */ s32 alpha; + /* 0x48 */ s32 timeLeft; + /* 0x4C */ s32 lifetime; } FloatingRockFXData; // size = 0x50 typedef struct ChompDropFXData { @@ -2152,8 +2143,8 @@ typedef struct EmbersFXData { /* 0x0C */ f32 unk_0C; /* 0x10 */ f32 unk_10; /* 0x14 */ f32 unk_14; - /* 0x18 */ s32 unk_18; - /* 0x1C */ s32 unk_1C; + /* 0x18 */ s32 timeLeft; + /* 0x1C */ s32 lifetime; /* 0x20 */ s32 unk_20; /* 0x24 */ s32 unk_24; /* 0x28 */ s32 unk_28; diff --git a/include/enums.h b/include/enums.h index 3ae80f9a5c..b83c6c2982 100644 --- a/include/enums.h +++ b/include/enums.h @@ -2155,14 +2155,6 @@ enum GotItemType { ITEM_TYPE_STAR_PIECE = 3, }; -enum ItemPickupFlags { - ITEM_PICKUP_FLAG_NO_SOUND = 0x0001, - ITEM_PICKUP_FLAG_NO_ANIMS = 0x0002, - ITEM_PICKUP_FLAG_1_COIN = 0x0010, - ITEM_PICKUP_FLAG_3_STAR_PIECES = 0x0020, - ITEM_PICKUP_FLAG_UNIQUE = 0x0040, -}; - enum ItemTypeFlags { ITEM_TYPE_FLAG_WORLD_USABLE = 0x0001, ITEM_TYPE_FLAG_BATTLE_USABLE = 0x0002, @@ -2208,8 +2200,6 @@ enum ActorPartTargetFlags { ACTOR_PART_TARGET_FLAG_4 = 0x04, }; - - enum PlayerSprites { SPR_Mario1 = 0x1, SPR_Mario1_Back = 0x2, @@ -2870,53 +2860,76 @@ enum HitSounds { // Player.debuff // Partner.debuff enum StatusKeys { - STATUS_END = 0x00000000, - STATUS_NORMAL = 0x00000001, - STATUS_DEFAULT = 0x00000002, - STATUS_FEAR = 0x00000003, - STATUS_DIZZY = 0x00000004, - STATUS_PARALYZE = 0x00000005, - STATUS_SLEEP = 0x00000006, - STATUS_FROZEN = 0x00000007, - STATUS_STOP = 0x00000008, - STATUS_POISON = 0x00000009, - STATUS_SHRINK = 0x0000000A, - STATUS_STATIC = 0x0000000B, - STATUS_STONE = 0x0000000C, - STATUS_DAZE = 0x0000000D, - STATUS_TRANSPARENT = 0x0000000E, - STATUS_KO = 0x0000000F, - STATUS_BERSERK = 0x00000010, - STATUS_11 = 0x00000011, - STATUS_TURN_DONE = 0x00000012, - STATUS_13 = 0x00000013, - STATUS_14 = 0x00000014, - STATUS_15 = 0x00000015, - STATUS_16 = 0x00000016, - STATUS_17 = 0x00000017, - STATUS_18 = 0x00000018, - STATUS_HUSTLE = 0x00000019, - STATUS_DANGER = 0x0000001A, - STATUS_1B = 0x0000001B, - STATUS_THINKING = 0x0000001C, - STATUS_WEARY = 0x0000001D, - STATUS_1E = 0x0000001E, - STATUS_DEFAULT_TURN_MOD = 0x0000001F, - STATUS_SLEEP_TURN_MOD = 0x00000020, - STATUS_STATIC_TURN_MOD = 0x00000021, - STATUS_FROZEN_TURN_MOD = 0x00000022, - STATUS_FEAR_TURN_MOD = 0x00000023, - STATUS_DIZZY_TURN_MOD = 0x00000024, - STATUS_POISON_TURN_MOD = 0x00000025, - STATUS_PARALYZE_TURN_MOD = 0x00000026, - STATUS_SHRINK_TURN_MOD = 0x00000027, - STATUS_STONE_TURN_MOD = 0x00000028, - STATUS_STOP_TURN_MOD = 0x00000029, + STATUS_END = 0x00000000, + STATUS_KEY_NORMAL = 0x00000001, + STATUS_KEY_DEFAULT = 0x00000002, + STATUS_KEY_FEAR = 0x00000003, + STATUS_KEY_DIZZY = 0x00000004, + STATUS_KEY_PARALYZE = 0x00000005, + STATUS_KEY_SLEEP = 0x00000006, + STATUS_KEY_FROZEN = 0x00000007, + STATUS_KEY_STOP = 0x00000008, + STATUS_KEY_POISON = 0x00000009, + STATUS_KEY_SHRINK = 0x0000000A, + STATUS_KEY_STATIC = 0x0000000B, + STATUS_KEY_STONE = 0x0000000C, + STATUS_KEY_DAZE = 0x0000000D, + STATUS_KEY_TRANSPARENT = 0x0000000E, + STATUS_KEY_KO = 0x0000000F, + STATUS_KEY_BERSERK = 0x00000010, + STATUS_KEY_11 = 0x00000011, + STATUS_KEY_INACTIVE = 0x00000012, + STATUS_KEY_INACTIVE_BERSERK = 0x00000013, + STATUS_KEY_14 = 0x00000014, // probably STATUS_KEY_INACTIVE_FROZEN + STATUS_KEY_INACTIVE_SLEEP = 0x00000015, + STATUS_KEY_INACTIVE_WEARY = 0x00000016, + STATUS_KEY_17 = 0x00000017, + STATUS_KEY_INACTIVE_DIZZY = 0x00000018, + STATUS_KEY_HUSTLE = 0x00000019, + STATUS_KEY_DANGER = 0x0000001A, + STATUS_KEY_1B = 0x0000001B, + STATUS_KEY_THINKING = 0x0000001C, + STATUS_KEY_WEARY = 0x0000001D, + STATUS_KEY_1E = 0x0000001E, + STATUS_TURN_MOD_DEFAULT = 0x0000001F, + STATUS_TURN_MOD_SLEEP = 0x00000020, + STATUS_TURN_MOD_STATIC = 0x00000021, + STATUS_TURN_MOD_FROZEN = 0x00000022, + STATUS_TURN_MOD_FEAR = 0x00000023, + STATUS_TURN_MOD_DIZZY = 0x00000024, + STATUS_TURN_MOD_POISON = 0x00000025, + STATUS_TURN_MOD_PARALYZE = 0x00000026, + STATUS_TURN_MOD_SHRINK = 0x00000027, + STATUS_TURN_MOD_STONE = 0x00000028, + STATUS_TURN_MOD_STOP = 0x00000029, +}; + +enum PaletteShifts { + PAL_ADJUST_NONE = 0, + PAL_ADJUST_SLEEP = 3, + PAL_ADJUST_STATIC = 4, + PAL_ADJUST_FEAR = 5, // darker + PAL_ADJUST_POISON = 6, + PAL_ADJUST_PARALYZE = 7, + PAL_ADJUST_BERSERK = 8, + PAL_ADJUST_WATT_IDLE = 9, + PAL_ADJUST_WATT_ATTACK = 10, + PAL_ADJUST_PLAYER_DEBUFF = 12, + PAL_ADJUST_PLAYER_POISON = 13, + PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS = 14, + PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS = 15, + PAL_ADJUST_BLEND_PALSETS = 16, +}; + +// func_80266EE8 +enum { + UNK_PAL_EFFECT_0 = 0, + UNK_PAL_EFFECT_11 = 11, }; enum DoorSwing { - DOOR_SWING_IN = -1, - DOOR_SWING_OUT = 1, + DOOR_SWING_IN = -1, + DOOR_SWING_OUT = 1, }; enum VisibilityGroup { @@ -3421,37 +3434,77 @@ enum TriggerFlags { }; enum ItemEntityFlags { - ITEM_ENTITY_FLAG_CAM0 = 0x00000001, - ITEM_ENTITY_FLAG_CAM1 = 0x00000002, - ITEM_ENTITY_FLAG_CAM2 = 0x00000004, - ITEM_ENTITY_FLAG_CAM3 = 0x00000008, - ITEM_ENTITY_FLAG_10 = 0x00000010, - ITEM_ENTITY_FLAG_HIDDEN = 0x00000040, // do not render; player cant pickup - ITEM_ENTITY_FLAG_80 = 0x00000080, - ITEM_ENTITY_FLAG_AUTO_COLLECT = 0x00000100, - ITEM_ENTITY_FLAG_NEVER_VANISH = 0x00000200, - ITEM_ENTITY_FLAG_400 = 0x00000400, - ITEM_ENTITY_FLAG_800 = 0x00000800, - ITEM_ENTITY_FLAG_1000 = 0x00001000, - ITEM_ENTITY_FLAG_FIXED = 0x00002000, - ITEM_ENTITY_RESIZABLE = 0x00004000, - ITEM_ENTITY_FLAG_8000 = 0x00008000, - ITEM_ENTITY_FLAG_10000 = 0x00010000, - ITEM_ENTITY_FLAG_20000 = 0x00020000, - ITEM_ENTITY_FLAG_40000 = 0x00040000, - ITEM_ENTITY_FLAG_TRANSPARENT = 0x00080000, - ITEM_ENTITY_FLAG_100000 = 0x00100000, - ITEM_ENTITY_FLAG_CANT_COLLECT = 0x00200000, - ITEM_ENTITY_FLAG_400000 = 0x00400000, - ITEM_ENTITY_FLAG_800000 = 0x00800000, - ITEM_ENTITY_FLAG_1000000 = 0x01000000, - ITEM_ENTITY_FLAG_2000000 = 0x02000000, - ITEM_ENTITY_FLAG_4000000 = 0x04000000, - ITEM_ENTITY_FLAG_8000000 = 0x08000000, - ITEM_ENTITY_FLAG_10000000 = 0x10000000, - ITEM_ENTITY_FLAG_20000000 = 0x20000000, - ITEM_ENTITY_FLAG_40000000 = 0x40000000, - ITEM_ENTITY_FLAG_80000000 = 0x80000000, + ITEM_ENTITY_FLAG_CAM0 = 0x00000001, + ITEM_ENTITY_FLAG_CAM1 = 0x00000002, + ITEM_ENTITY_FLAG_CAM2 = 0x00000004, + ITEM_ENTITY_FLAG_CAM3 = 0x00000008, + ITEM_ENTITY_FLAG_10 = 0x00000010, + ITEM_ENTITY_FLAG_HIDDEN = 0x00000040, // do not render; player cant pickup + ITEM_ENTITY_FLAG_80 = 0x00000080, + ITEM_ENTITY_FLAG_AUTO_COLLECT = 0x00000100, + ITEM_ENTITY_FLAG_NEVER_VANISH = 0x00000200, + ITEM_ENTITY_FLAG_SAVE_ON_TOUCH = 0x00000400, // sets bound game flag when the item is touched + ITEM_ENTITY_FLAG_800 = 0x00000800, + ITEM_ENTITY_FLAG_1000 = 0x00001000, + ITEM_ENTITY_FLAG_NO_GRAVITY = 0x00002000, + ITEM_ENTITY_RESIZABLE = 0x00004000, + ITEM_ENTITY_FLAG_8000 = 0x00008000, + ITEM_ENTITY_FLAG_TOSS_LOWER = 0x00010000, + ITEM_ENTITY_FLAG_20000 = 0x00020000, + ITEM_ENTITY_FLAG_40000 = 0x00040000, + ITEM_ENTITY_FLAG_TRANSPARENT = 0x00080000, + ITEM_ENTITY_FLAG_100000 = 0x00100000, + ITEM_ENTITY_FLAG_CANT_COLLECT = 0x00200000, + ITEM_ENTITY_FLAG_400000 = 0x00400000, + ITEM_ENTITY_FLAG_800000 = 0x00800000, + ITEM_ENTITY_FLAG_TOSS_HIGHER = 0x01000000, + ITEM_ENTITY_FLAG_2000000 = 0x02000000, + ITEM_ENTITY_FLAG_4000000 = 0x04000000, + ITEM_ENTITY_FLAG_HIDING = 0x08000000, + ITEM_ENTITY_FLAG_NO_MOTION = 0x10000000, + ITEM_ENTITY_FLAG_DONE_FALLING = 0x20000000, + ITEM_ENTITY_FLAG_ANGLE_RELATIVE_VELOCITY = 0x40000000, + ITEM_ENTITY_FLAG_SAVE_ON_RECEIPT = 0x80000000, // sets bound game flag only when the item is placed in player inventory +}; + +// governs item behavior after spawning until being picked up +enum ItemPhysicsStates { + ITEM_PHYSICS_STATE_INIT = 0x0, + ITEM_PHYSICS_STATE_ALIVE = 0x1, // + ITEM_PHYSICS_STATE_DEAD = 0x2, // item is vanished or fallen out of the world + ITEM_PHYSICS_STATE_TOUCH = 0x3, // player has touched the item + ITEM_PHYSICS_STATE_04 = 0x4, + ITEM_PHYSICS_STATE_PICKUP = 0xA, // item will begin pickup, physics state is invalid after this +}; + +// governs the process of picking up an item +enum ItemPickupStates { + // these states comprise the typical progression for item pickup + ITEM_PICKUP_STATE_INIT = 0x0, + ITEM_PICKUP_STATE_AWAIT_VALID_STATE = 0x1, + ITEM_PICKUP_STATE_SHOW_GOT_ITEM = 0x2, + ITEM_PICKUP_STATE_HIDE_GOT_ITEM = 0x3, // wait for window closing animations to finish + ITEM_PICKUP_STATE_DONE = 0x9, + // next three states are used for tutorials which trigger on item pickup + ITEM_PICKUP_STATE_CHECK_TUTORIALS = 0x4, + ITEM_PICKUP_STATE_SHOW_TUTORIAL = 0x5, + ITEM_PICKUP_STATE_AWAIT_TUTORIAL = 0x6, + // remaining states occur when inventory is full and an item needs to be throw away + ITEM_PICKUP_STATE_SHOW_TOO_MANY = 0xA, // show 'cant carry more items'; open throw away popup on state exit + ITEM_PICKUP_STATE_HIDE_TOO_MANY = 0xB, // wait for window closing animations to finish + ITEM_PICKUP_STATE_AWAIT_THROW_AWAY = 0xC, // choosing + ITEM_PICKUP_STATE_SHOW_THREW_AWAY = 0xD, // you threw away X window + ITEM_PICKUP_STATE_HIDE_THREW_AWAY = 0xE, // wait for window closing animations to finish + ITEM_PICKUP_STATE_THROW_AWAY_DONE = 0xF, +}; + +enum ItemPickupFlags { + ITEM_PICKUP_FLAG_NO_SOUND = 0x01, + ITEM_PICKUP_FLAG_NO_ANIMS = 0x02, + ITEM_PICKUP_FLAG_UNKNOWN = 0x04, + ITEM_PICKUP_FLAG_1_COIN = 0x10, + ITEM_PICKUP_FLAG_3_STAR_PIECES = 0x20, + ITEM_PICKUP_FLAG_UNIQUE = 0x40, }; // Worker @@ -3498,13 +3551,6 @@ enum PlayerBuffs { }; enum StatusFlags { - STATUS_FLAG_1 = 0x00000001, - STATUS_FLAG_4 = 0x00000004, - STATUS_FLAG_8 = 0x00000008, - STATUS_FLAG_20 = 0x00000020, - STATUS_FLAG_40 = 0x00000040, - STATUS_FLAG_100 = 0x00000100, - STATUS_FLAG_200 = 0x00000200, STATUS_FLAG_SLEEP = 0x00001000, STATUS_FLAG_STATIC = 0x00002000, STATUS_FLAG_FROZEN = 0x00004000, @@ -3563,7 +3609,7 @@ enum DamageTypes { DAMAGE_TYPE_SPIN_SMASH = 0x04000000, DAMAGE_TYPE_IGNORE_DEFENSE = 0x08000000, DAMAGE_TYPE_NO_CONTACT = 0x10000000, - DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS = 0x20000000, + DAMAGE_TYPE_MULTIPLE_POPUPS = 0x20000000, DAMAGE_TYPE_STATUS_ALWAYS_HITS = 0x40000000, DAMAGE_TYPE_TRIGGER_LUCKY = 0x80000000, }; @@ -3937,8 +3983,8 @@ enum ActorFlags { ACTOR_FLAG_8000 = 0x00008000, ACTOR_FLAG_10000 = 0x00010000, ACTOR_FLAG_20000 = 0x00020000, - ACTOR_FLAG_HIDE_HP_BAR = 0x00040000, ///< Hide HP bar. - ACTOR_FLAG_80000 = 0x00080000, + ACTOR_FLAG_NO_HEALTH_BAR = 0x00040000, // Health bar is not shown for this actor type + ACTOR_FLAG_HEALTH_BAR_HIDDEN = 0x00080000, // Health bar is temporarily hidden ACTOR_FLAG_100000 = 0x00100000, ACTOR_FLAG_NO_ATTACK = 0x00200000, ///< Skip attack turn. ACTOR_FLAG_NO_DMG_APPLY = 0x00400000, ///< Damage is not applied to actor HP. @@ -4417,12 +4463,11 @@ enum IntroStates { }; enum BattleStatusFlags1 { - BS_FLAGS1_0 = 0x00000000, BS_FLAGS1_ACTORS_VISIBLE = 0x00000001, BS_FLAGS1_MENU_OPEN = 0x00000002, - BS_FLAGS1_4 = 0x00000004, - BS_FLAGS1_8 = 0x00000008, - BS_FLAGS1_10 = 0x00000010, // enable attack bonuses (power plus, etc)? + BS_FLAGS1_TATTLE_OPEN = 0x00000004, + BS_FLAGS1_SHOW_PLAYER_DECORATIONS = 0x00000008, // enables effects for Frozen, Water Block, and Cloud Nine to appear and follow the player + BS_FLAGS1_10 = 0x00000010, // enable attack bonuses (power plus, etc) BS_FLAGS1_SP_EVT_ACTIVE = 0x00000020, // enable special events (other than hit/death/immune?) BS_FLAGS1_40 = 0x00000040, BS_FLAGS1_80 = 0x00000080, @@ -4439,7 +4484,7 @@ enum BattleStatusFlags1 { BS_FLAGS1_BATTLE_FLED = 0x00040000, // used both when the player flees sucessfully or an enemy flees BS_FLAGS1_PARTNER_ACTING = 0x00080000, BS_FLAGS1_PLAYER_IN_BACK = 0x00100000, - BS_FLAGS1_200000 = 0x00200000, // enemy turn pending (?) + BS_FLAGS1_YIELD_TURN = 0x00200000, // moves end either when their script is finished or this flag is set by calling YieldTurn BS_FLAGS1_PLAYER_DEFENDING = 0x00400000, BS_FLAGS1_NO_GAME_OVER = 0x00800000, // don’t game over on loss BS_FLAGS1_STAR_POINTS_DROPPED = 0x01000000, @@ -4448,7 +4493,7 @@ enum BattleStatusFlags1 { BS_FLAGS1_SORT_ENEMIES_BY_POSX = 0x08000000, // enemy turn order ignores priority; sorts bases on x position instead BS_FLAGS1_HAMMER_CHARGED = 0x10000000, BS_FLAGS1_JUMP_CHARGED = 0x20000000, - BS_FLAGS1_40000000 = 0x40000000, + BS_FLAGS1_GOOMBARIO_CHARGED = 0x40000000, BS_FLAGS1_ATK_BLOCKED = 0x80000000, }; @@ -6141,7 +6186,7 @@ enum WindowId { WINDOW_ID_14 = 14, WINDOW_ID_15 = 15, WINDOW_ID_16 = 16, - WINDOW_ID_17 = 17, + WINDOW_ID_17 = 17, // brown box used for "Throw away an item" and certain popup titles WINDOW_ID_18 = 18, WINDOW_ID_19 = 19, WINDOW_ID_CURRENCY_COUNTER = 20, diff --git a/include/functions.h b/include/functions.h index 0a7aa4e3af..6c36fc4432 100644 --- a/include/functions.h +++ b/include/functions.h @@ -61,7 +61,7 @@ u32 get_entity_type(s32 arg0); Entity* get_entity_by_index(s32 index); s32 create_entity(EntityBlueprint* bp, ...); void entity_shattering_idle(Entity* entity); -void func_802666E4(Actor* actor, f32 x, f32 y, f32 z, s32 damage); +void show_damage_fx(Actor* actor, f32 x, f32 y, f32 z, s32 damage); s32 entity_raycast_down(f32*, f32*, f32*, f32*, f32*, f32*); @@ -137,9 +137,9 @@ f32 player_fall_distance(void); void func_800E4AD8(s32 arg0); f32 player_check_collision_below(f32, s32* colliderID); s32 can_trigger_loading_zone(void); -void func_80266684(void); +void update_damage_popups(void); void show_action_rating(s32, Actor*, f32, f32, f32); -s32 func_802591EC(s32, ActorPart*, s32, Matrix4f, s32); +s32 render_with_adjusted_palettes(s32, ActorPart*, s32, Matrix4f, s32); HeapNode* general_heap_create(void); void* general_heap_malloc(s32 size); @@ -286,7 +286,7 @@ void set_game_mode(s16 idx); f32 get_xz_dist_to_player(f32, f32); void func_800E06C0(s32); -void close_status_menu(void); +void close_status_bar(void); Evt* func_802C39F8(Evt* parentScript, Bytecode* nextLine, s32 newState); Evt* start_child_script(Evt* parentScript, EvtScript* source, s32 initialState); Evt* restart_script(Evt* script); @@ -373,10 +373,10 @@ void btl_state_update_celebration(void); void btl_draw_upgrade_windows(s32); void btl_state_draw_celebration(void); -void func_8024F7C8(void); +void btl_bonk_cleanup(void); void func_80263E08(Actor*, ActorPart*, AnimID); -void func_80266978(void); -void func_80266B14(void); +void update_action_ratings(void); +void update_health_bars(void); s32 btl_cam_is_moving_done(void); void btl_popup_messages_update(void); void btl_popup_messages_draw_world_geometry(void); @@ -486,8 +486,7 @@ void set_map_transition_effect(ScreenTransition); void set_tex_panner(struct Model* model, s32 texPannerID); void set_custom_gfx(s32 customGfxIndex, Gfx* pre, Gfx* post); -s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 facingAngleSign, - s32 pickupVar); +s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 angle, s32 pickupVar); s32 make_item_entity_delayed(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 pickupVar); void set_item_entity_position(s32 itemEntityIndex, f32 x, f32 y, f32 z); ItemEntity* get_item_entity(s32 itemEntityIndex); @@ -562,7 +561,7 @@ void create_part_shadow_by_ref(s32 arg0, ActorPart* part); void spawn_drops(Enemy* enemy); -void func_80266D6C(ActorPart*, s32); +void set_part_pal_adjustment(ActorPart*, s32); char* int_to_string(s32, char*, s32); Evt* get_script_by_index(s32 index); @@ -625,7 +624,7 @@ void suggest_player_anim_always_forward(AnimID anim); void suggest_player_anim_allow_backward(AnimID anim); void subtract_hp(s32 amt); void draw_status_ui(void); -void open_status_menu_long(void); +void open_status_bar_long(void); void suspend_all_group(s32 groupFlags); void kill_script(Evt* instanceToKill); @@ -634,7 +633,7 @@ void exec_entity_commandlist(Entity* entity); void show_start_recovery_shimmer(f32 x, f32 y, f32 z, s32 arg3); void show_recovery_shimmer(f32 x, f32 y, f32 z, s32 arg3); -void show_damage_popup(f32 x, f32 y, f32 z, s32 damageAmount, s32); +void show_next_damage_popup(f32 x, f32 y, f32 z, s32 damageAmount, s32); void add_xz_vec3f(Vec3f* vector, f32 speed, f32 angleDeg); void add_xz_vec3f_copy1(Vec3f* vector, f32 speed, f32 angleDeg); void add_xz_vec3f_copy2(Vec3f* vector, f32 speed, f32 angleDeg); @@ -664,8 +663,8 @@ void startup_draw_prim_rect(s16 left, s16 top, s16 right, s16 bottom, u16 r, u16 void startup_draw_prim_rect_COPY(s16 left, s16 top, s16 right, s16 bottom, u16 r, u16 g, u16 b, u16 a); void btl_draw_prim_quad(u8 r, u8 g, u8 b, u8 a, u16 left, u16 top, u16 arg6, u16 arg7); void reset_all_actor_sounds(Actor*); -void decrement_status_menu_disabled(void); -void increment_status_menu_disabled(void); +void decrement_status_bar_disabled(void); +void increment_status_bar_disabled(void); void btl_delete_actor(Actor* actor); void create_status_debuff(s32, s32); void create_status_static(s32, s32); @@ -806,7 +805,7 @@ void func_80266EA8(ActorPart*, s32); void func_80266E40(Actor*); void func_80267018(Actor* actor, s32 arg1); void remove_player_buffs(s32); -s32 is_actor_hp_bar_visible(Actor*); +s32 is_actor_health_bar_visible(Actor*); void sin_cos_rad(f32 rad, f32* outSinTheta, f32* outCosTheta); @@ -916,7 +915,7 @@ void phys_update_action_state(void); void collision_main_lateral(void); void handle_floor_behavior(void); void check_input_open_menus(void); -void check_input_status_menu(void); +void check_input_status_bar(void); void update_player(void); @@ -941,7 +940,7 @@ void func_800E9810(void); void func_800E983C(void); void func_800E984C(void); s32 func_800E9860(void); -void status_menu_respond_to_changes(void); +void status_bar_respond_to_changes(void); void func_800E98EC(void); void func_800E9900(void); void func_800F0C9C(void); @@ -958,9 +957,9 @@ void hide_coin_counter(void); void set_message_msg(s32 msgID, s32 index); void set_message_value(s32 value, s32 index); s32 store_item(s32 itemID); -void open_status_menu_short(void); +void open_status_bar_short(void); void show_immune_bonk(f32 x, f32 y, f32 z, s32, s32, s32); -void func_802664DC(f32 x, f32 y, f32 z, s32 attack, s32 a); +void show_primary_damage_popup(f32 x, f32 y, f32 z, s32 attack, s32 a); s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion); void disable_actor_blur(Actor*); void reset_actor_blur(Actor*); @@ -982,7 +981,7 @@ void func_8025DA60(ActorPart*, s32); void func_8025DBC8(ActorPart*, s32); void func_8025DD40(ActorPart*, s32); void func_8025DE88(ActorPart*, s32); -void status_menu_ignore_changes(void); +void status_bar_ignore_changes(void); void imgfx_release_instance(u32); void set_script_flags(Evt* script, s32 flags); @@ -1006,23 +1005,23 @@ void render_player(void); void render_workers_world(void); void render_effects_world(void); s32 get_asset_offset(char*, s32*); -void initialize_status_menu(void); -void status_menu_start_blinking_fp(void); -s32 is_status_menu_visible(void); -void status_menu_start_blinking_starpoints(void); -void status_menu_stop_blinking_starpoints(void); -void status_menu_start_blinking_hp(void); -void status_menu_start_blinking_sp(void); -void status_menu_stop_blinking_fp(void); -void status_menu_stop_blinking_hp(void); -void status_menu_stop_blinking_sp(void); -void status_menu_start_blinking_sp_bars(s32 numBarsToBlink); -void status_menu_draw_number(s32 iconID, s32 x, s32 y, s32 value, s32 numDigits); -void status_menu_draw_stat(s32 id, s32 x, s32 y, s32, s32); +void initialize_status_bar(void); +void status_bar_start_blinking_fp(void); +s32 is_status_bar_visible(void); +void status_bar_start_blinking_starpoints(void); +void status_bar_stop_blinking_starpoints(void); +void status_bar_start_blinking_hp(void); +void status_bar_start_blinking_sp(void); +void status_bar_stop_blinking_fp(void); +void status_bar_stop_blinking_hp(void); +void status_bar_stop_blinking_sp(void); +void status_bar_start_blinking_sp_bars(s32 numBarsToBlink); +void status_bar_draw_number(s32 iconID, s32 x, s32 y, s32 value, s32 numDigits); +void status_bar_draw_stat(s32 id, s32 x, s32 y, s32, s32); void set_background_size(s16, s16, s16, s16); void read_background_size(BackgroundHeader*); void set_max_SP(s8); -void sync_status_menu(void); +void sync_status_bar(void); void create_cameras_a(void); void func_80045AC0(void); void func_8005AF84(void); @@ -1038,9 +1037,9 @@ void load_map_bg(char* optAssetName); void reset_background_settings(void); void func_80138188(void); void func_80266970(Actor*); -void func_80266ADC(Actor*); -void func_80266AF8(Actor*); -void func_80266E14(ActorPart*); +void show_actor_health_bar(Actor*); +void hide_actor_health_bar(Actor*); +void clear_part_pal_adjustment(ActorPart*); void func_800E24F8(void); void load_tattle_flags(s32); s32 use_consumable(s32 invSlot); @@ -1090,7 +1089,7 @@ void func_80116698(void); void func_8011B950(u16, s32, s32, s32); void backup_map_collision_data(void); -void reset_status_menu(void); +void reset_status_bar(void); void btl_save_world_cameras(void); void load_battle_section(void); void btl_update(void); diff --git a/include/macros.h b/include/macros.h index a600ed03e7..bd57c9727c 100644 --- a/include/macros.h +++ b/include/macros.h @@ -135,7 +135,7 @@ #define SPRITE_WORLD_SCALE_F (5.0f/7.0f) #define SPRITE_WORLD_SCALE_D (5.0/7.0) -#define SPRITE_ID(name, pal_anim) ((name) << 16 | (pal_anim)) +#define SPR_PAL_SIZE 16 #define BATTLE_NPC_ID_BIT 0x800 #define BATTLE_ENTITY_ID_BIT 0x800 @@ -214,11 +214,11 @@ .models = { names } \ } -#define STATUS_CHANCE_IGNORE_RES 0xFE -#define STATUS_CHANCE_NEVER 0xFF -#define DMG_STATUS_CHANCE(typeFlag, duration, chance) (STATUS_FLAG_80000000 | typeFlag | (duration << 8) | chance) +#define STATUS_KEY_IGNORE_RES 0xFE +#define STATUS_KEY_NEVER 0xFF +#define DMG_STATUS_KEY(typeFlag, duration, chance) (STATUS_FLAG_80000000 | typeFlag | (duration << 8) | chance) #define DMG_STATUS_ALWAYS(typeFlag, duration) (STATUS_FLAG_80000000 | STATUS_FLAG_RIGHT_ON | typeFlag | (duration << 8)) -#define DMG_STATUS_IGNORE_RES(typeFlag, duration) (typeFlag | (duration << 8) | STATUS_CHANCE_IGNORE_RES) +#define DMG_STATUS_IGNORE_RES(typeFlag, duration) (STATUS_KEY_IGNORE_RES | typeFlag | (duration << 8)) #define PM_CC_01 0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0 #define PM_CC_02 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0 diff --git a/include/script_api/battle.h b/include/script_api/battle.h index ca0e65c9ae..9b05cbd821 100644 --- a/include/script_api/battle.h +++ b/include/script_api/battle.h @@ -38,7 +38,7 @@ ApiStatus ShowBattleChoice(Evt* script, s32 isInitialCall); ApiStatus OverrideBattleDmaDest(Evt* script, s32 isInitialCall); ApiStatus LoadBattleDmaData(Evt* script, s32 isInitialCall); ApiStatus EnableBattleFloorReflections(Evt* script, s32 isInitialCall); -ApiStatus func_80253734(Evt* script, s32 isInitialCall); +ApiStatus SetDarknessMode(Evt* script, s32 isInitialCall); ApiStatus PlaySoundAtActor(Evt* script, s32 isInitialCall); ApiStatus PlaySoundAtPart(Evt* script, s32 isInitialCall); ApiStatus SetForegroundModelsVisibleUnchecked(Evt* script, s32 isInitialCall); @@ -105,7 +105,7 @@ ApiStatus SetActorDispOffset(Evt* script, s32 isInitialCall); ApiStatus GetPartDispOffset(Evt* script, s32 isInitialCall); ApiStatus SetPartDispOffset(Evt* script, s32 isInitialCall); ApiStatus AddPartDispOffset(Evt* script, s32 isInitialCall); -ApiStatus func_8026BF48(Evt* script, s32 isInitialCall); +ApiStatus FreezeBattleState(Evt* script, s32 isInitialCall); ApiStatus GetActorVar(Evt* script, s32 isInitialCall); ApiStatus SetActorVar(Evt* script, s32 isInitialCall); ApiStatus AddActorVar(Evt* script, s32 isInitialCall); @@ -142,7 +142,7 @@ ApiStatus GetPartEventFlags(Evt* script, s32 isInitialCall); ApiStatus HPBarToHome(Evt* script, s32 isInitialCall); ApiStatus HPBarToCurrent(Evt* script, s32 isInitialCall); ApiStatus func_8026D940(Evt* script, s32 isInitialCall); -ApiStatus func_8026DA94(Evt* script, s32 isInitialCall); +ApiStatus SetActorStatusOffsets(Evt* script, s32 isInitialCall); ApiStatus SummonEnemy(Evt* script, s32 isInitialCall); ApiStatus GetOwnerID(Evt* script, s32 isInitialCall); ApiStatus SetOwnerID(Evt* script, s32 isInitialCall); @@ -164,7 +164,7 @@ ApiStatus GetOwnerTarget(Evt* script, s32 isInitialCall); ApiStatus func_8026E914(Evt* script, s32 isInitialCall); ApiStatus GetPlayerActorID(Evt* script, s32 isInitialCall); ApiStatus GetDistanceToGoal(Evt* script, s32 isInitialCall); -ApiStatus func_8026EA7C(Evt* script, s32 isInitialCall); +ApiStatus SetActorPaletteEffect(Evt* script, s32 isInitialCall); ApiStatus AddActorDecoration(Evt* script, s32 isInitialCall); ApiStatus RemoveActorDecoration(Evt* script, s32 isInitialCall); ApiStatus ModifyActorDecoration(Evt* script, s32 isInitialCall); @@ -174,7 +174,7 @@ ApiStatus RemovePlayerBuffs(Evt* script, s32 isInitialCall); ApiStatus SetPartAlpha(Evt* script, s32 isInitialCall); ApiStatus CreatePartShadow(Evt* script, s32 isInitialCall); ApiStatus RemovePartShadow(Evt* script, s32 isInitialCall); -ApiStatus func_8026F60C(Evt* script, s32 isInitialCall); +ApiStatus SetEndBattleFadeOutRate(Evt* script, s32 isInitialCall); ApiStatus SetBattleVar(Evt* script, s32 isInitialCall); ApiStatus GetBattleVar(Evt* script, s32 isInitialCall); ApiStatus ResetAllActorSounds(Evt* script, s32 isInitialCall); @@ -243,7 +243,7 @@ ApiStatus EnemyFollowupAfflictTarget(Evt* script, s32 isInitialCall); ApiStatus EnemyTestTarget(Evt* script, s32 isInitialCall); ApiStatus DispatchDamageEvent(Evt* script, s32 isInitialCall); ApiStatus DispatchEvent(Evt* script, s32 isInitialCall); -ApiStatus func_8027D2D8(Evt* script, s32 isInitialCall); +ApiStatus ShowHealthBar(Evt* script, s32 isInitialCall); ApiStatus SetTargetOffset(Evt* script, s32 isInitialCall); ApiStatus SetProjectileTargetOffset(Evt* script, s32 isInitialCall); ApiStatus EnableActorBlur(Evt* script, s32 isInitialCall); @@ -295,11 +295,11 @@ ApiStatus PartnerYieldTurn(Evt* script, s32 isInitialCall); ///< YieldTurn copy ApiStatus func_8024ECF8(Evt* script, s32 isInitialCall); ApiStatus UseBattleCamPresetImmediately(Evt* script, s32 isInitialCall); ApiStatus UseBattleCamPresetWait(Evt* script, s32 isInitialCall); -ApiStatus func_8027D32C(Evt* script, s32 isInitialCall); +ApiStatus HideHealthBar(Evt* script, s32 isInitialCall); ApiStatus GetActionCommandResult(Evt* script, s32 isInitialCall); ApiStatus CreateNpc(Evt* script, s32 isInitialCall); -ApiStatus func_802535B4(Evt* script, s32 isInitialCall); -ApiStatus func_80276EFC(Evt* script, s32 isInitialCall); +ApiStatus EnableBattleStatusBar(Evt* script, s32 isInitialCall); +ApiStatus PlayerYieldTurn(Evt* script, s32 isInitialCall); ApiStatus ShowStartRecoveryShimmer(Evt* script, s32 isInitialCall); ApiStatus ShowRecoveryShimmer(Evt* script, s32 isInitialCall); ApiStatus func_80273444(Evt* script, s32 isInitialCall); @@ -311,7 +311,7 @@ ApiStatus func_8026F1A0(Evt* script, s32 isInitialCall); ApiStatus PlayLoopingSoundAtActor(Evt* script, s32 isInitialCall); ApiStatus StopLoopingSoundAtActor(Evt* script, s32 isInitialCall); ApiStatus func_8026ED20(Evt* script, s32 isInitialCall); -ApiStatus func_8026EBF8(Evt* script, s32 isInitialCall); +ApiStatus SetActorPaletteSwapParams(Evt* script, s32 isInitialCall); ApiStatus BattleCamTargetActorPart(Evt* script, s32 isInitialCall); ApiStatus func_802537C0(Evt* script, s32 isInitialCall); ApiStatus CancelEnemyTurn(Evt* script, s32 isInitialCall); diff --git a/include/script_api/common.h b/include/script_api/common.h index 3ad89dc008..574473bf7c 100644 --- a/include/script_api/common.h +++ b/include/script_api/common.h @@ -229,8 +229,8 @@ ApiStatus GetNextPathPos(Evt* script, s32 isInitialCall); ApiStatus GetDist2D(Evt* script, s32 isInitialCall); ApiStatus SetValueByRef(Evt* script, s32 isInitialCall); ApiStatus GetValueByRef(Evt* script, s32 isInitialCall); -ApiStatus EnableStatusMenu(Evt* script, s32 isInitialCall); -ApiStatus ShowStatusMenu(Evt* script, s32 isInitialCall); +ApiStatus EnableWorldStatusBar(Evt* script, s32 isInitialCall); +ApiStatus ShowWorldStatusBar(Evt* script, s32 isInitialCall); ApiStatus SetGameMode(Evt* script, s32 isInitialCall); ApiStatus ClampAngleInt(Evt* script, s32 isInitialCall); ApiStatus ClampAngleFloat(Evt* script, s32 isInitialCall); diff --git a/include/variables.h b/include/variables.h index 2da03c1d4f..7640c544be 100644 --- a/include/variables.h +++ b/include/variables.h @@ -183,7 +183,7 @@ extern s32 Entity_WoodenCrate_RenderShatteredScript[]; // Scripts -extern EvtScript SCRIPT_NpcDefeat; +extern EvtScript EVS_NpcDefeat; extern EvtScript ShakeCam1; extern EvtScript ShakeCamX; diff --git a/src/16F740.c b/src/16F740.c index 107f2ba1da..4c6cfc505f 100644 --- a/src/16F740.c +++ b/src/16F740.c @@ -46,7 +46,7 @@ void btl_merlee_on_start_turn(void) { s32 temp = rand_int(100); if (currentEncounter->currentEnemy != NULL) { - if (currentEncounter->currentEnemy->flags & ACTOR_FLAG_HIDE_HP_BAR) { + if (currentEncounter->currentEnemy->flags & ACTOR_FLAG_NO_HEALTH_BAR) { if (temp <= 45) { playerData->merleeSpellType = MERLEE_SPELL_1; } else if (temp <= 90) { @@ -103,7 +103,7 @@ void btl_merlee_on_first_strike(void) { s32 temp = rand_int(100); if (currentEncounter->currentEnemy != NULL) { - if (currentEncounter->currentEnemy->flags & ACTOR_FLAG_HIDE_HP_BAR) { + if (currentEncounter->currentEnemy->flags & ACTOR_FLAG_NO_HEALTH_BAR) { if (temp <= 45) { playerData->merleeSpellType = MERLEE_SPELL_1; } else if (temp <= 90) { @@ -274,7 +274,7 @@ void btl_state_update_normal_start(void) { if (currentEncounter->allowFleeing) { gBattleStatus.flags2 &= ~BS_FLAGS2_CANT_FLEE; } - battleStatus->unk_8D = 10; + battleStatus->endBattleFadeOutRate = 10; battleStatus->unk_95 = 0; battleStatus->hammerLossTurns = -1; battleStatus->jumpLossTurns = -1; @@ -289,7 +289,7 @@ void btl_state_update_normal_start(void) { battleStatus->reflectFlags = 0; battleStatus->turboChargeTurnsLeft = 0; battleStatus->turboChargeAmount = 0; - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; battleStatus->merleeAttackBoost = 0; battleStatus->merleeDefenseBoost = 0; battleStatus->darknessMode = BTL_DARKNESS_STATE_NONE; @@ -357,8 +357,8 @@ void btl_state_update_normal_start(void) { actor->instigatorValue = 0; if (i == 0) { actor->instigatorValue = currentEncounter->instigatorValue; - if (currentEncounter->dizzyAttackStatus == STATUS_DIZZY) { - inflict_status_set_duration(actor, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD, currentEncounter->dizzyAttackDuration); + if (currentEncounter->dizzyAttackStatus == STATUS_KEY_DIZZY) { + inflict_status_set_duration(actor, STATUS_KEY_DIZZY, STATUS_TURN_MOD_DIZZY, currentEncounter->dizzyAttackDuration); } } } @@ -372,8 +372,8 @@ void btl_state_update_normal_start(void) { actor->instigatorValue = 0; if (i == 0) { actor->instigatorValue = 0; - if (currentEncounter->dizzyAttackStatus == STATUS_DIZZY) { - inflict_status_set_duration(actor, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD, currentEncounter->dizzyAttackDuration); + if (currentEncounter->dizzyAttackStatus == STATUS_KEY_DIZZY) { + inflict_status_set_duration(actor, STATUS_KEY_DIZZY, STATUS_TURN_MOD_DIZZY, currentEncounter->dizzyAttackDuration); } } @@ -495,7 +495,7 @@ void btl_state_update_normal_start(void) { } break; case BTL_SUBSTATE_NORMAL_START_DONE: - if (battleStatus->unk_8C == 0) { + if (battleStatus->stateFreezeCount == 0) { set_screen_overlay_params_front(OVERLAY_NONE, -1.0f); btl_set_state(BATTLE_STATE_BEGIN_TURN); } @@ -584,17 +584,21 @@ void btl_state_update_begin_turn(void) { btl_merlee_on_start_turn(); + // clear rush flags to initialize battleStatus->rushFlags = RUSH_FLAG_NONE; gBattleStatus.flags2 &= ~BS_FLAGS2_HAS_RUSH; + // set rush flags based on danger/peril status if (!(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE)) { - if (playerData->curHP < 2 && is_ability_active(ABILITY_MEGA_RUSH)) { + if (playerData->curHP <= PERIL_THRESHOLD && is_ability_active(ABILITY_MEGA_RUSH)) { gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; battleStatus->rushFlags |= RUSH_FLAG_MEGA; } - if (playerData->curHP < 6 && is_ability_active(ABILITY_POWER_RUSH) && !(battleStatus->rushFlags & RUSH_FLAG_MEGA)) { - gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; - battleStatus->rushFlags |= RUSH_FLAG_POWER; + if (playerData->curHP <= DANGER_THRESHOLD && is_ability_active(ABILITY_POWER_RUSH)) { + if (!(battleStatus->rushFlags & RUSH_FLAG_MEGA)) { + gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; + battleStatus->rushFlags |= RUSH_FLAG_POWER; + } } } @@ -717,7 +721,7 @@ void btl_state_update_begin_player_turn(void) { battleStatus->unk_86 = 127; battleStatus->blockResult = 127; battleStatus->selectedMoveID = 0; - gBattleStatus.flags1 |= BS_FLAGS1_8; + gBattleStatus.flags1 |= BS_FLAGS1_SHOW_PLAYER_DECORATIONS; gBattleStatus.flags2 &= ~BS_FLAGS2_1000000; player->disableDismissTimer = 0; player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; @@ -727,7 +731,7 @@ void btl_state_update_begin_player_turn(void) { partner->disableDismissTimer = 0; } - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; D_8029F254 = 0; D_8029F258 = 0; @@ -754,7 +758,7 @@ void btl_state_update_begin_player_turn(void) { switch (gBattleSubState) { case BTL_SUBSTATE_BEGIN_PLAYER_TURN_CHECK_WATER_BLOCK: - if (battleStatus->unk_8C == 0) { + if (battleStatus->stateFreezeCount == 0) { if (battleStatus->waterBlockTurnsLeft != 0) { battleStatus->waterBlockTurnsLeft--; battleStatus->buffEffect->data.partnerBuff->unk_0C[FX_BUFF_DATA_WATER_BLOCK].turnsLeft = battleStatus->waterBlockTurnsLeft; @@ -831,7 +835,7 @@ void btl_state_update_begin_player_turn(void) { case BTL_SUBSTATE_BEGIN_PLAYER_TURN_AWAIT_TURBO_CHARGE: if (0) { // TODO relocated block - required to match back: - player->koStatus = STATUS_DAZE; + player->koStatus = STATUS_KEY_DAZE; player->disableEffect->data.disableX->koDuration = player->koDuration; goto later; } @@ -842,21 +846,26 @@ back: } if (gBattleSubState == BTL_SUBSTATE_BEGIN_PLAYER_TURN_TRY_STATUS_DAMAGE) { - if (player->debuff == STATUS_POISON && player->stoneStatus == 0) { + if (player->debuff == STATUS_KEY_POISON && player->stoneStatus == 0) { gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; dispatch_damage_event_player_0(1, EVENT_HIT); } + // clear rush flags to initialize battleStatus->rushFlags = RUSH_FLAG_NONE; gBattleStatus.flags2 &= ~BS_FLAGS2_HAS_RUSH; + + // set rush flags based on danger/peril status if (!(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE)) { - if (playerData->curHP <= 1 && is_ability_active(ABILITY_MEGA_RUSH)) { + if (playerData->curHP <= PERIL_THRESHOLD && is_ability_active(ABILITY_MEGA_RUSH)) { gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; battleStatus->rushFlags |= RUSH_FLAG_MEGA; } - if (playerData->curHP < 6 && is_ability_active(ABILITY_POWER_RUSH) && !(battleStatus->rushFlags & RUSH_FLAG_MEGA)) { - gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; - battleStatus->rushFlags |= RUSH_FLAG_POWER; + if (playerData->curHP <= DANGER_THRESHOLD && is_ability_active(ABILITY_POWER_RUSH)) { + if (!(battleStatus->rushFlags & RUSH_FLAG_MEGA)) { + gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; + battleStatus->rushFlags |= RUSH_FLAG_POWER; + } } } gBattleSubState = BTL_SUBSTATE_BEGIN_PLAYER_TURN_TRY_STATUS_RECOVER; @@ -924,7 +933,7 @@ back: D_8029F258 = 20; player->debuffDuration--; if (player->debuffDuration <= 0) { - if (player->debuff == STATUS_FROZEN) { + if (player->debuff == STATUS_KEY_FROZEN) { sfx_play_sound(SOUND_FROZEN_SHATTER); player->icePillarEffect->flags |= FX_INSTANCE_FLAG_DISMISS; player->icePillarEffect = NULL; @@ -975,7 +984,7 @@ back: return; } temp = 1; - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; if (battleStatus->hammerLossTurns >= 0) { battleStatus->hammerLossTurns--; if (battleStatus->hammerLossTurns == -1) { @@ -986,7 +995,7 @@ back: script->varTable[0] = temp; temp += 8; script->varTable[10] = 1; // hammer - battleStatus->unk_8C = 1; + battleStatus->stateFreezeCount = 1; } } @@ -1000,7 +1009,7 @@ back: script->varTable[0] = temp; temp += 8; script->varTable[10] = 0; // jump - battleStatus->unk_8C = 1; + battleStatus->stateFreezeCount = 1; } } @@ -1014,7 +1023,7 @@ back: script->varTable[0] = temp; temp += 8; script->varTable[10] = 2; // item - battleStatus->unk_8C = 1; + battleStatus->stateFreezeCount = 1; } } gBattleSubState = BTL_SUBSTATE_BEGIN_PLAYER_TURN_END_DELAY; @@ -1057,7 +1066,7 @@ void btl_state_update_switch_to_player(void) { gBattleStatus.selectedMoveID = MOVE_NONE; gBattleStatus.unk_86 = 127; gBattleStatus.blockResult = 127; - gBattleStatus.flags1 |= BS_FLAGS1_8; + gBattleStatus.flags1 |= BS_FLAGS1_SHOW_PLAYER_DECORATIONS; player->flags |= ACTOR_FLAG_8000000; if (partner != NULL) { partner->flags |= (ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); @@ -1067,7 +1076,7 @@ void btl_state_update_switch_to_player(void) { Actor* enemy = gBattleStatus.enemyActors[i]; if (enemy != NULL) { - enemy->flags |= ACTOR_FLAG_80000; + enemy->flags |= ACTOR_FLAG_HEALTH_BAR_HIDDEN; enemy->flags |= ACTOR_FLAG_8000000; } } @@ -1204,14 +1213,14 @@ void btl_state_update_switch_to_partner(void) { gBattleStatus.selectedMoveID = MOVE_NONE; gBattleStatus.unk_86 = 127; gBattleStatus.blockResult = 127; - gBattleStatus.flags1 |= BS_FLAGS1_8; + gBattleStatus.flags1 |= BS_FLAGS1_SHOW_PLAYER_DECORATIONS; player->flags |= (ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); partner->flags |= ACTOR_FLAG_8000000; for (i = 0; i < ARRAY_COUNT(gBattleStatus.enemyActors); i++) { Actor* enemy = gBattleStatus.enemyActors[i]; if (enemy != NULL) { - enemy->flags |= ACTOR_FLAG_80000; + enemy->flags |= ACTOR_FLAG_HEALTH_BAR_HIDDEN; enemy->flags |= ACTOR_FLAG_8000000; } } @@ -1285,13 +1294,13 @@ void btl_state_update_9(void) { actor->flags |= ACTOR_FLAG_4000000 | ACTOR_FLAG_8000000; actor->flags &= ~ACTOR_FLAG_10000; - if (actor->debuff != STATUS_END) { - if (actor->debuff == STATUS_FEAR || - actor->debuff == STATUS_DIZZY || - actor->debuff == STATUS_PARALYZE || - actor->debuff == STATUS_SLEEP || - actor->debuff == STATUS_FROZEN || - actor->debuff == STATUS_STOP) + if (actor->debuff != 0) { + if (actor->debuff == STATUS_KEY_FEAR || + actor->debuff == STATUS_KEY_DIZZY || + actor->debuff == STATUS_KEY_PARALYZE || + actor->debuff == STATUS_KEY_SLEEP || + actor->debuff == STATUS_KEY_FROZEN || + actor->debuff == STATUS_KEY_STOP) { actor->flags |= ACTOR_FLAG_10000; } @@ -1333,13 +1342,13 @@ void btl_state_update_9(void) { oldKoDuration = actor->koDuration; actor->koDuration = actor->debuffDuration; if (actor->koDuration > 0) { - actor->koStatus = STATUS_DAZE; + actor->koStatus = STATUS_KEY_DAZE; actor->disableEffect->data.disableX->koDuration = actor->koDuration; } else if (oldKoDuration != actor->koDuration) { actor->koStatus = 0; actor->disableEffect->data.disableX->koDuration = 0; } - if (actor->debuff == STATUS_POISON) { + if (actor->debuff == STATUS_KEY_POISON) { gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; dispatch_damage_event_actor_0(actor, 1, EVENT_HIT); D_8029F258 = 20; @@ -1731,7 +1740,7 @@ void btl_state_update_victory(void) { partner->flags &= ~(ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); } - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; if (battleStatus->outtaSightActive == 0) { gBattleSubState = BTL_SUBSTATE_VICTORY_RECOVER_STATUS; } else { @@ -1767,8 +1776,8 @@ void btl_state_update_victory(void) { gBattleStatus.flags2 &= ~BS_FLAGS2_8; gBattleStatus.flags2 &= ~BS_FLAGS2_10; - gBattleStatus.flags1 &= ~BS_FLAGS1_8; - if (player->koStatus == STATUS_DAZE) { + gBattleStatus.flags1 &= ~BS_FLAGS1_SHOW_PLAYER_DECORATIONS; + if (player->koStatus == STATUS_KEY_DAZE) { dispatch_event_player(EVENT_RECOVER_FROM_KO); gBattleSubState = BTL_SUBSTATE_VICTORY_AWAIT_RECOVER_KO; } @@ -1781,7 +1790,7 @@ void btl_state_update_victory(void) { player->disableEffect->data.disableX->koDuration = 0; if (partner != NULL) { - if (partner->koStatus == STATUS_DAZE) { + if (partner->koStatus == STATUS_KEY_DAZE) { dispatch_event_partner(EVENT_RECOVER_FROM_KO); gBattleSubState = BTL_SUBSTATE_VICTORY_AWAIT_RECOVER_KO; } @@ -1940,7 +1949,7 @@ void btl_state_update_end_training_battle(void) { gBattleStatus.flags2 &= ~BS_FLAGS2_8; gBattleStatus.flags2 &= ~BS_FLAGS2_10; - if (player->koStatus == STATUS_DAZE) { + if (player->koStatus == STATUS_KEY_DAZE) { dispatch_event_player(EVENT_RECOVER_FROM_KO); gBattleSubState = BTL_SUBSTATE_END_TRAINING_AWAIT_RECOVERING; } @@ -1952,7 +1961,7 @@ void btl_state_update_end_training_battle(void) { player->koDuration = 0; player->disableEffect->data.disableX->koDuration = 0; if (partner != NULL) { - if (partner->koStatus == STATUS_DAZE) { + if (partner->koStatus == STATUS_KEY_DAZE) { dispatch_event_partner(EVENT_RECOVER_FROM_KO); gBattleSubState = BTL_SUBSTATE_END_TRAINING_AWAIT_RECOVERING; } @@ -1984,7 +1993,7 @@ void btl_state_update_end_training_battle(void) { switch (gBattleSubState) { case BTL_SUBSTATE_END_TRAINING_CHECK_OUTTA_SIGHT: - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; gBattleStatus.flags2 &= ~BS_FLAGS2_2; gBattleStatus.flags2 &= ~BS_FLAGS2_4; gBattleStatus.flags2 &= ~BS_FLAGS2_8; @@ -2062,7 +2071,7 @@ void btl_state_update_end_battle(void) { gBattleSubState = BTL_SUBSTATE_END_BATTLE_EXEC_STAGE_SCRIPT; break; } - BattleScreenFadeAmt += battleStatus->unk_8D; + BattleScreenFadeAmt += battleStatus->endBattleFadeOutRate; if (BattleScreenFadeAmt > 255) { BattleScreenFadeAmt = 255; } @@ -2118,7 +2127,7 @@ void btl_state_update_end_battle(void) { set_windows_visible(0); if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) { - decrement_status_menu_disabled(); + decrement_status_bar_disabled(); } if (encounterStatus->battleOutcome == OUTCOME_PLAYER_LOST && @@ -2161,7 +2170,7 @@ void btl_state_update_defend(void) { switch (gBattleSubState) { case BTL_SUBSTATE_DEFEND_INIT: - gBattleStatus.unk_8C = 0; + gBattleStatus.stateFreezeCount = 0; gBattleStatus.battlePhase = PHASE_USE_DEFEND; player->takeTurnScript = script = start_script(&EVS_Mario_HandlePhase, EVT_PRIORITY_A, 0); player->takeTurnScriptID = script->id; @@ -2169,7 +2178,7 @@ void btl_state_update_defend(void) { script->owner1.actorID = ACTOR_PLAYER; break; case BTL_SUBSTATE_DEFEND_AWAIT_SCRIPT: - if (!does_script_exist(player->takeTurnScriptID) && gBattleStatus.unk_8C == 0) { + if (!does_script_exist(player->takeTurnScriptID) && gBattleStatus.stateFreezeCount == 0) { btl_set_state(BATTLE_STATE_END_PLAYER_TURN); } break; @@ -2193,7 +2202,7 @@ void btl_state_update_run_away(void) { switch (gBattleSubState) { case BTL_SUBSTATE_RUN_AWAY_EXEC_SCRIPT: - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; gBattleStatus.flags1 &= ~BS_FLAGS1_BATTLE_FLED; gBattleStatus.flags2 |= BS_FLAGS2_10 | BS_FLAGS2_8 | BS_FLAGS2_4 | BS_FLAGS2_2; playerData->unk_2A6++; @@ -2212,12 +2221,12 @@ void btl_state_update_run_away(void) { f32 escapeChance = enemy->actorBlueprint->escapeChance; - if (enemy->debuff == STATUS_FEAR || - enemy->debuff == STATUS_DIZZY || - enemy->debuff == STATUS_PARALYZE || - enemy->debuff == STATUS_SLEEP || - enemy->debuff == STATUS_FROZEN || - enemy->debuff == STATUS_STOP) + if (enemy->debuff == STATUS_KEY_FEAR || + enemy->debuff == STATUS_KEY_DIZZY || + enemy->debuff == STATUS_KEY_PARALYZE || + enemy->debuff == STATUS_KEY_SLEEP || + enemy->debuff == STATUS_KEY_FROZEN || + enemy->debuff == STATUS_KEY_STOP) { escapeChance = 100.0f; } @@ -2247,7 +2256,7 @@ void btl_state_update_run_away(void) { gBattleSubState = BTL_SUBSTATE_RUN_AWAY_AWAIT_SCRIPT; break; case BTL_SUBSTATE_RUN_AWAY_AWAIT_SCRIPT: - if (does_script_exist(player->takeTurnScriptID) || battleStatus->unk_8C != 0) { + if (does_script_exist(player->takeTurnScriptID) || battleStatus->stateFreezeCount != 0) { break; } if (!(gBattleStatus.flags1 & BS_FLAGS1_BATTLE_FLED)) { @@ -2257,7 +2266,7 @@ void btl_state_update_run_away(void) { if (is_ability_active(ABILITY_RUNAWAY_PAY) == 0) { gBattleSubState = BTL_SUBSTATE_RUN_AWAY_DONE; } else { - status_menu_start_blinking_starpoints(); + status_bar_start_blinking_starpoints(); func_8023E104(); D_8029F264 = 0; D_8029F24C = 0; @@ -2298,7 +2307,7 @@ void btl_state_update_run_away(void) { if (RunAwayRewardStep != 0) { RunAwayRewardStep--; } else { - status_menu_stop_blinking_starpoints(); + status_bar_stop_blinking_starpoints(); func_8023E11C(); gBattleSubState = BTL_SUBSTATE_RUN_AWAY_DONE; } @@ -2335,7 +2344,7 @@ void btl_state_update_run_away(void) { } if (!does_script_exist(player->takeTurnScriptID) && (partner == NULL || !does_script_exist(partner->takeTurnScriptID)) - && battleStatus->unk_8C == 0 + && battleStatus->stateFreezeCount == 0 ) { btl_set_state(BATTLE_STATE_9); } @@ -2355,15 +2364,15 @@ void btl_state_update_defeat(void) { switch (gBattleSubState) { case BTL_SUBSTATE_DEFEAT_INIT: - battleStatus->flags1 &= ~BS_FLAGS1_8; + battleStatus->flags1 &= ~BS_FLAGS1_SHOW_PLAYER_DECORATIONS; gBattleStatus.flags2 &= ~BS_FLAGS2_2; gBattleStatus.flags2 &= ~BS_FLAGS2_4; gBattleStatus.flags2 &= ~BS_FLAGS2_8; gBattleStatus.flags2 &= ~BS_FLAGS2_10; - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; if (player->debuff != 0) { - if (player->debuff == STATUS_FROZEN) { + if (player->debuff == STATUS_KEY_FROZEN) { sfx_play_sound(SOUND_FROZEN_SHATTER); player->icePillarEffect->flags |= FX_INSTANCE_FLAG_DISMISS; player->icePillarEffect = NULL; @@ -2393,7 +2402,7 @@ void btl_state_update_defeat(void) { gBattleSubState = BTL_SUBSTATE_DEFEAT_CHECK_LIFE_SHROOM; break; case BTL_SUBSTATE_DEFEAT_CHECK_LIFE_SHROOM: - if (does_script_exist(player->takeTurnScriptID) || battleStatus->unk_8C != 0) { + if (does_script_exist(player->takeTurnScriptID) || battleStatus->stateFreezeCount != 0) { break; } if (find_item(ITEM_LIFE_SHROOM) >= 0) { @@ -2408,7 +2417,7 @@ void btl_state_update_defeat(void) { } break; case BTL_SUBSTATE_DEFEAT_AWAIT_LIFE_SHROOM: - if (does_script_exist(player->takeTurnScriptID) || battleStatus->unk_8C != 0) { + if (does_script_exist(player->takeTurnScriptID) || battleStatus->stateFreezeCount != 0) { break; } // never reached if life shroom is successful. its item script calls RestorePreDefeatState, @@ -2453,7 +2462,7 @@ void btl_state_update_change_partner(void) { case BTL_SUBSTATE_CHANGE_PARTNER_INIT: player->flags &= ~ACTOR_FLAG_8000000; partner->flags &= ~ACTOR_FLAG_8000000; - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; gBattleStatus.flags2 |= BS_FLAGS2_10; btl_cam_use_preset(BTL_CAM_PRESET_19); btl_cam_set_target_pos(-89.0, 40.0, -99.0); @@ -2464,7 +2473,7 @@ void btl_state_update_change_partner(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { enemyActor = battleStatus->enemyActors[i]; if (enemyActor != NULL) { - enemyActor->flags &= ~ACTOR_FLAG_80000; + enemyActor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; enemyActor->flags &= ~ACTOR_FLAG_8000000; } } @@ -2549,7 +2558,7 @@ void btl_state_update_change_partner(void) { gBattleSubState = BTL_SUBSTATE_CHANGE_PARTNER_DONE; break; case BTL_SUBSTATE_CHANGE_PARTNER_DONE: - if (battleStatus->unk_8C != 0) { + if (battleStatus->stateFreezeCount != 0) { break; } gBattleStatus.flags2 &= ~BS_FLAGS2_10; @@ -2585,7 +2594,7 @@ void btl_state_update_player_move(void) { s32 i; if (gBattleSubState == BTL_SUBSTATE_PLAYER_MOVE_INIT) { - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; battleStatus->unk_86 = 127; battleStatus->blockResult = 127; battleStatus->lastAttackDamage = 0; @@ -2598,10 +2607,10 @@ void btl_state_update_player_move(void) { partner->flags &= ~ACTOR_FLAG_8000000; } btl_cam_target_actor(ACTOR_PLAYER); - gBattleStatus.flags1 &= ~BS_FLAGS1_8; + gBattleStatus.flags1 &= ~BS_FLAGS1_SHOW_PLAYER_DECORATIONS; player->statusAfflicted = 0; gBattleStatus.flags2 |= BS_FLAGS2_8; - gBattleStatus.flags1 &= ~BS_FLAGS1_200000; + gBattleStatus.flags1 &= ~BS_FLAGS1_YIELD_TURN; for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = battleStatus->enemyActors[i]; @@ -2613,7 +2622,7 @@ void btl_state_update_player_move(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = battleStatus->enemyActors[i]; if (actor != NULL) { - actor->flags &= ~ACTOR_FLAG_80000; + actor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; actor->flags &= ~ACTOR_FLAG_8000000; } } @@ -2670,7 +2679,7 @@ void btl_state_update_player_move(void) { case BTL_SUBSTATE_PLAYER_MOVE_EXECUTE_MOVE: gBattleStatus.flags1 &= ~BS_FLAGS1_4000; gBattleStatus.flags1 &= ~BS_FLAGS1_10000; - increment_status_menu_disabled(); + increment_status_bar_disabled(); gBattleStatus.flags1 |= BS_FLAGS1_100; reset_all_actor_sounds(player); battleStatus->battlePhase = PHASE_EXECUTE_ACTION; @@ -2686,7 +2695,7 @@ void btl_state_update_player_move(void) { break; case BTL_SUBSTATE_PLAYER_MOVE_HANDLE_RESULTS: // wait for player battle phase script to finish - if (!(gBattleStatus.flags1 & BS_FLAGS1_200000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_YIELD_TURN)) { if (player->takeTurnScript != NULL && does_script_exist(player->takeTurnScriptID)) { break; } @@ -2744,11 +2753,11 @@ void btl_state_update_player_move(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = battleStatus->enemyActors[i]; if (actor != NULL) { - actor->flags &= ~ACTOR_FLAG_80000; + actor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; } } - if (battleStatus->unk_8C != 0) { + if (battleStatus->stateFreezeCount != 0) { break; } @@ -2757,8 +2766,8 @@ void btl_state_update_player_move(void) { break; } - decrement_status_menu_disabled(); - gBattleStatus.flags1 |= BS_FLAGS1_8; + decrement_status_bar_disabled(); + gBattleStatus.flags1 |= BS_FLAGS1_SHOW_PLAYER_DECORATIONS; gBattleStatus.flags2 &= ~BS_FLAGS2_8; if (btl_check_player_defeated()) { return; @@ -2954,7 +2963,7 @@ void btl_state_update_end_player_turn(void) { && !is_ability_active(ABILITY_HAPPY_FLOWER) ) { gBattleSubState = BTL_SUBSTATE_END_PLAYER_TURN_AWAIT_HAPPY; - } else if (player->stoneStatus == STATUS_STONE || battleStatus->outtaSightActive) { + } else if (player->stoneStatus == STATUS_KEY_STONE || battleStatus->outtaSightActive) { gBattleSubState = BTL_SUBSTATE_END_PLAYER_TURN_AWAIT_HAPPY; } else { s32 prevHPDrainCount = 0; @@ -3143,7 +3152,7 @@ void btl_state_update_partner_move(void) { btl_set_state(BATTLE_STATE_9); break; } - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; battleStatus->unk_86 = 127; battleStatus->blockResult = 127; battleStatus->currentDamageSource = DMG_SRC_DEFAULT; @@ -3156,7 +3165,7 @@ void btl_state_update_partner_move(void) { deduct_current_move_fp(); btl_cam_target_actor(ACTOR_PARTNER); gBattleStatus.flags2 |= BS_FLAGS2_10; - gBattleStatus.flags1 &= ~BS_FLAGS1_200000; + gBattleStatus.flags1 &= ~BS_FLAGS1_YIELD_TURN; for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { enemyActor = battleStatus->enemyActors[i]; @@ -3171,12 +3180,12 @@ void btl_state_update_partner_move(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { enemyActor = battleStatus->enemyActors[i]; if (enemyActor != NULL) { - enemyActor->flags &= ~ACTOR_FLAG_80000; + enemyActor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; enemyActor->flags &= ~ACTOR_FLAG_8000000; } } - increment_status_menu_disabled(); + increment_status_bar_disabled(); gBattleStatus.flags1 |= BS_FLAGS1_100; reset_actor_turn_info(); reset_all_actor_sounds(partner); @@ -3188,7 +3197,7 @@ void btl_state_update_partner_move(void) { gBattleSubState = BTL_SUBSTATE_PARTNER_MOVE_HANDLE_RESULTS; break; case BTL_SUBSTATE_PARTNER_MOVE_HANDLE_RESULTS: - if (!(gBattleStatus.flags1 & BS_FLAGS1_200000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_YIELD_TURN)) { if (partner->takeTurnScript != NULL && does_script_exist(partner->takeTurnScriptID)) { break; } @@ -3239,11 +3248,11 @@ void btl_state_update_partner_move(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { enemyActor = battleStatus->enemyActors[i]; if (enemyActor != NULL) { - enemyActor->flags &= ~ACTOR_FLAG_80000; + enemyActor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; } } - if (battleStatus->unk_8C != 0) { + if (battleStatus->stateFreezeCount != 0) { break; } @@ -3251,12 +3260,12 @@ void btl_state_update_partner_move(void) { btl_set_state(BATTLE_STATE_END_DEMO_BATTLE); break; } - decrement_status_menu_disabled(); + decrement_status_bar_disabled(); if (playerData->currentPartner == PARTNER_GOOMBARIO && battleStatus->moveCategory == BTL_MENU_TYPE_CHANGE_PARTNER && battleStatus->selectedMoveID != MOVE_CHARGE) { partner->isGlowing = 0; - gBattleStatus.flags1 &= ~BS_FLAGS1_40000000; + gBattleStatus.flags1 &= ~BS_FLAGS1_GOOMBARIO_CHARGED; } if (btl_check_player_defeated()) { return; @@ -3273,7 +3282,7 @@ void btl_state_update_partner_move(void) { btl_update_ko_status(); - if (partner->statusAfflicted == STATUS_DAZE && !btl_are_all_enemies_defeated()) { + if (partner->statusAfflicted == STATUS_KEY_DAZE && !btl_are_all_enemies_defeated()) { btl_cam_use_preset(BTL_CAM_PARTNER_INJURED); btl_show_battle_message(BTL_MSG_PARTNER_INJURED, 60); partner->statusAfflicted = 0; @@ -3463,25 +3472,25 @@ void btl_state_update_next_enemy(void) { skipEnemy = FALSE; - if (enemy->debuff == STATUS_SLEEP) { + if (enemy->debuff == STATUS_KEY_SLEEP) { skipEnemy = TRUE; } - if (enemy->debuff == STATUS_FEAR) { + if (enemy->debuff == STATUS_KEY_FEAR) { skipEnemy = TRUE; } - if (enemy->debuff == STATUS_DIZZY) { + if (enemy->debuff == STATUS_KEY_DIZZY) { skipEnemy = TRUE; } - if (enemy->debuff == STATUS_PARALYZE) { + if (enemy->debuff == STATUS_KEY_PARALYZE) { skipEnemy = TRUE; } - if (enemy->debuff == STATUS_FROZEN) { + if (enemy->debuff == STATUS_KEY_FROZEN) { skipEnemy = TRUE; } - if (enemy->debuff == STATUS_STOP) { + if (enemy->debuff == STATUS_KEY_STOP) { skipEnemy = TRUE; } - if (enemy->stoneStatus == STATUS_STONE) { + if (enemy->stoneStatus == STATUS_KEY_STONE) { skipEnemy = TRUE; } if (enemy->flags & ACTOR_FLAG_10000) { @@ -3494,7 +3503,7 @@ void btl_state_update_next_enemy(void) { return; } - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; gBattleStatus.flags1 &= ~BS_FLAGS1_BATTLE_FLED; gBattleStatus.flags1 &= ~BS_FLAGS1_AUTO_SUCCEED_ACTION; @@ -3525,7 +3534,7 @@ void btl_state_update_next_enemy(void) { gBattleSubState = BTL_SUBSTATE_NEXT_ENEMY_DONE; break; case BTL_SUBSTATE_NEXT_ENEMY_DONE: - if (battleStatus->unk_8C == 0) { + if (battleStatus->stateFreezeCount == 0) { enemy = get_actor(battleStatus->activeEnemyActorID); if (enemy == NULL || enemy->unk_134 != D_8029F244) { @@ -3563,12 +3572,12 @@ void btl_state_update_enemy_move(void) { case BTL_SUBSTATE_ENEMY_MOVE_EXECUTE: case BTL_SUBSTATE_ENEMY_MOVE_UNUSED_1: gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; - gBattleStatus.flags1 &= ~BS_FLAGS1_200000; + gBattleStatus.flags1 &= ~BS_FLAGS1_YIELD_TURN; player->flags &= ~ACTOR_FLAG_8000000; if (partner != NULL) { partner->flags &= ~ACTOR_FLAG_8000000; } - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; battleStatus->lastAttackDamage = 0; battleStatus->actionSuccess = 0; battleStatus->unk_86 = 127; @@ -3585,7 +3594,7 @@ void btl_state_update_enemy_move(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { enemy = battleStatus->enemyActors[i]; if (enemy != NULL) { - enemy->flags &= ~ACTOR_FLAG_80000; + enemy->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; } } @@ -3658,14 +3667,14 @@ void btl_state_update_enemy_move(void) { } } - if (!waitingForEnemyScript || (gBattleStatus.flags1 & BS_FLAGS1_200000)) { + if (!waitingForEnemyScript || (gBattleStatus.flags1 & BS_FLAGS1_YIELD_TURN)) { gBattleStatus.flags1 &= ~BS_FLAGS1_100; gBattleStatus.flags2 &= ~BS_FLAGS2_4000; if (btl_check_enemies_defeated()) { return; } - if (battleStatus->unk_8C == 0) { + if (battleStatus->stateFreezeCount == 0) { if (gGameStatusPtr->demoFlags & 1) { btl_set_state(BATTLE_STATE_END_DEMO_BATTLE); } else { @@ -3678,22 +3687,22 @@ void btl_state_update_enemy_move(void) { btl_cam_use_preset(BTL_CAM_PLAYER_STATUS_AFFLICTED); switch (player->statusAfflicted) { - case STATUS_DIZZY: + case STATUS_KEY_DIZZY: messageIndex = BTL_MSG_PLAYER_DAZED; break; - case STATUS_SLEEP: + case STATUS_KEY_SLEEP: messageIndex = BTL_MSG_PLAYER_ASLEEP; break; - case STATUS_FROZEN: + case STATUS_KEY_FROZEN: messageIndex = BTL_MSG_PLAYER_FROZEN; break; - case STATUS_POISON: + case STATUS_KEY_POISON: messageIndex = BTL_MSG_PLAYER_POISONED; break; - case STATUS_SHRINK: + case STATUS_KEY_SHRINK: messageIndex = BTL_MSG_PLAYER_SHRUNK; break; - case STATUS_PARALYZE: + case STATUS_KEY_PARALYZE: messageIndex = BTL_MSG_PLAYER_PARALYZED; break; default: @@ -3734,7 +3743,7 @@ void btl_state_update_enemy_move(void) { switch (gBattleSubState) { case BTL_SUBSTATE_ENEMY_MOVE_CHECK_PARTNER: if (partner != NULL) { - if (partner->statusAfflicted == STATUS_DAZE) { + if (partner->statusAfflicted == STATUS_KEY_DAZE) { player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; partner->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; btl_cam_use_preset(BTL_CAM_PARTNER_INJURED); @@ -3791,19 +3800,22 @@ void btl_state_update_first_strike(void) { if (playerData->playerFirstStrikes < 9999) { playerData->playerFirstStrikes++; } + + // clear rush flags to initialize battleStatus->rushFlags = RUSH_FLAG_NONE; gBattleStatus.flags2 &= ~BS_FLAGS2_HAS_RUSH; + // set rush flags based on danger/peril status if (!(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE)) { - if (playerData->curHP < 2 && is_ability_active(ABILITY_MEGA_RUSH)) { + if (playerData->curHP <= PERIL_THRESHOLD && is_ability_active(ABILITY_MEGA_RUSH)) { gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; battleStatus->rushFlags |= RUSH_FLAG_MEGA; } - if (playerData->curHP < 6 && is_ability_active(ABILITY_POWER_RUSH) && - !(battleStatus->rushFlags & RUSH_FLAG_MEGA)) - { - gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; - battleStatus->rushFlags |= RUSH_FLAG_POWER; + if (playerData->curHP <= DANGER_THRESHOLD && is_ability_active(ABILITY_POWER_RUSH)) { + if (!(battleStatus->rushFlags & RUSH_FLAG_MEGA)) { + gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; + battleStatus->rushFlags |= RUSH_FLAG_POWER; + } } } @@ -3847,13 +3859,13 @@ void btl_state_update_first_strike(void) { } func_80263230(player, enemy); - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; battleStatus->lastAttackDamage = 0; battleStatus->currentDamageSource = DMG_SRC_DEFAULT; gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; gBattleStatus.flags2 |= BS_FLAGS2_1000000; gBattleStatus.flags1 &= ~BS_FLAGS1_PARTNER_ACTING; - increment_status_menu_disabled(); + increment_status_bar_disabled(); btl_cam_use_preset(BTL_CAM_PRESET_10); btl_cam_target_actor(ACTOR_PLAYER); reset_actor_turn_info(); @@ -3874,7 +3886,7 @@ void btl_state_update_first_strike(void) { } // wait for player move script - if (!(gBattleStatus.flags1 & BS_FLAGS1_200000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_YIELD_TURN)) { if (player->takeTurnScript != NULL && does_script_exist(player->takeTurnScriptID)) { break; } @@ -3932,12 +3944,12 @@ void btl_state_update_first_strike(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { enemy = battleStatus->enemyActors[i]; if (enemy != NULL) { - enemy->flags &= ~ACTOR_FLAG_80000; + enemy->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; } } - if (battleStatus->unk_8C == 0) { - decrement_status_menu_disabled(); + if (battleStatus->stateFreezeCount == 0) { + decrement_status_bar_disabled(); if (!(gGameStatusPtr->demoFlags & 1)) { Actor* target; @@ -4050,13 +4062,13 @@ void btl_state_update_partner_striking_first(void) { target = &partner->targetData[partner->targetIndexList[0]]; partner->targetActorID = target->actorID; partner->targetPartIndex = target->partID; - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; battleStatus->lastAttackDamage = 0; battleStatus->currentDamageSource = DMG_SRC_DEFAULT; gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; gBattleStatus.flags2 |= BS_FLAGS2_1000000; gBattleStatus.flags1 |= BS_FLAGS1_PARTNER_ACTING; - increment_status_menu_disabled(); + increment_status_bar_disabled(); btl_cam_use_preset(BTL_CAM_PRESET_10); btl_cam_target_actor(ACTOR_PARTNER); reset_actor_turn_info(); @@ -4126,12 +4138,12 @@ void btl_state_update_partner_striking_first(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = battleStatus->enemyActors[i]; if (actor != NULL) { - actor->flags &= ~ACTOR_FLAG_80000; + actor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; } } - if (battleStatus->unk_8C == 0) { - decrement_status_menu_disabled(); + if (battleStatus->stateFreezeCount == 0) { + decrement_status_bar_disabled(); if (btl_check_player_defeated() || btl_check_enemies_defeated()) { return; } @@ -4201,7 +4213,7 @@ void btl_state_update_enemy_striking_first(void) { switch (gBattleSubState) { case BTL_SUBSTATE_ENEMY_FIRST_STRIKE_INIT: - battleStatus->unk_8C = 0; + battleStatus->stateFreezeCount = 0; battleStatus->lastAttackDamage = 0; battleStatus->currentDamageSource = DMG_SRC_DEFAULT; playerData->enemyFirstStrikes++; @@ -4327,11 +4339,11 @@ void btl_state_update_enemy_striking_first(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = battleStatus->enemyActors[i]; if (actor != NULL) { - actor->flags &= ~ACTOR_FLAG_80000; + actor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; } } - if (battleStatus->unk_8C == 0) { + if (battleStatus->stateFreezeCount == 0) { if (btl_check_player_defeated() || btl_check_enemies_defeated()) { return; } @@ -4437,7 +4449,7 @@ void btl_state_update_end_demo_battle(void) { set_windows_visible(WINDOW_GROUP_ALL); if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) { - decrement_status_menu_disabled(); + decrement_status_bar_disabled(); } if (D_802809F6 != -1) { diff --git a/src/16c8e0.c b/src/16c8e0.c index 96697cc235..7d3a9a4b67 100644 --- a/src/16c8e0.c +++ b/src/16c8e0.c @@ -192,7 +192,7 @@ void initialize_battle(void) { if (gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_IS_PEACH) { gBattleStatus.flags2 |= BS_FLAGS2_PEACH_BATTLE; - increment_status_menu_disabled(); + increment_status_bar_disabled(); } else { gBattleStatus.flags2 &= ~BS_FLAGS2_PEACH_BATTLE; } @@ -403,12 +403,12 @@ void btl_update(void) { battleStatus->unk_90++; if (battleStatus->unk_90 == 40) { - func_8024F7C8(); + btl_bonk_cleanup(); } - func_80266684(); - func_80266978(); - func_80266B14(); + update_damage_popups(); + update_action_ratings(); + update_health_bars(); btl_popup_messages_update(); update_actor_shadows(); @@ -871,29 +871,29 @@ void btl_draw_enemy_health_bars(void) { currentHP = enemy->currentHP; temp = (currentHP * 25) / enemy->maxHP; - if (temp < enemy->hpFraction) { - enemy->hpFraction -= 2; - if (enemy->hpFraction < temp) { - enemy->hpFraction = temp; + if (temp < enemy->healthFraction) { + enemy->healthFraction -= 2; + if (enemy->healthFraction < temp) { + enemy->healthFraction = temp; } } - if (enemy->hpFraction < temp) { - enemy->hpFraction += 2; - if (enemy->hpFraction > temp) { - enemy->hpFraction = temp; + if (enemy->healthFraction < temp) { + enemy->healthFraction += 2; + if (enemy->healthFraction > temp) { + enemy->healthFraction = temp; } } - if (!(enemy->flags & (ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_TARGET_ONLY)) - && ((gBattleStatus.flags1 & BS_FLAGS1_MENU_OPEN) || (enemy->flags & ACTOR_FLAG_80000)) - && is_actor_hp_bar_visible(enemy) + if (!(enemy->flags & (ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_TARGET_ONLY)) + && ((gBattleStatus.flags1 & BS_FLAGS1_MENU_OPEN) || (enemy->flags & ACTOR_FLAG_HEALTH_BAR_HIDDEN)) + && is_actor_health_bar_visible(enemy) ) { - f32 x = enemy->healthBarPosition.x; - f32 y = enemy->healthBarPosition.y; - f32 z = enemy->healthBarPosition.z; + f32 x = enemy->healthBarPos.x; + f32 y = enemy->healthBarPos.y; + f32 z = enemy->healthBarPos.z; - if (enemy->healthBarPosition.y >= -500) { + if (enemy->healthBarPos.y >= -500) { s32 screenX, screenY, screenZ; s32 id; @@ -926,7 +926,7 @@ void btl_draw_enemy_health_bars(void) { hud_element_set_render_pos(id, screenX + 10, screenY + 6); hud_element_draw_next(id); - temp = enemy->hpFraction; + temp = enemy->healthFraction; temp = 25 - temp; btl_draw_prim_quad(168, 0, 0, 255, screenX + 11 - temp, screenY - 7, temp, 1); btl_draw_prim_quad(255, 0, 0, 255, screenX + 11 - temp, screenY - 6, temp, 4); @@ -1122,7 +1122,7 @@ void btl_delete_actor(Actor* actor) { if (actor->takeTurnScript != NULL) { kill_script_by_ID(actor->takeTurnScriptID); } - func_80266EE8(actor, 0); + func_80266EE8(actor, UNK_PAL_EFFECT_0); part = actor->partsTable; @@ -1140,7 +1140,7 @@ void btl_delete_actor(Actor* actor) { heap_free(part->movement); } - if (!(part->flags & 0x2)) { + if (!(part->flags & ACTOR_PART_FLAG_2)) { heap_free(part->decorationTable); } } @@ -1154,7 +1154,7 @@ void btl_delete_actor(Actor* actor) { remove_effect(actor->disableEffect); if (actor->attackResultEffect != NULL) { - actor->attackResultEffect->data.attackResultText->unk_24 = 0; + actor->attackResultEffect->data.attackResultText->isVisible = FALSE; } battleStatus = &gBattleStatus; @@ -1197,7 +1197,7 @@ void btl_delete_player_actor(Actor* player) { remove_effect(player->disableEffect); if (player->attackResultEffect != NULL) { - player->attackResultEffect->data.attackResultText->unk_24 = 0; + player->attackResultEffect->data.attackResultText->isVisible = FALSE; } heap_free(movement); diff --git a/src/17D6A0.c b/src/17D6A0.c index e63bf8b7f3..bb56afe708 100644 --- a/src/17D6A0.c +++ b/src/17D6A0.c @@ -2211,77 +2211,77 @@ ActorOffsets bActorOffsets[ACTOR_TYPE_COUNT] = { }; u32 bMarioIdleAnims[] = { - STATUS_NORMAL, ANIM_Mario1_Walk, - STATUS_DANGER, ANIM_Mario1_TiredIdle, - STATUS_STONE, ANIM_MarioB3_Petrified, - STATUS_SLEEP, ANIM_MarioB1_Sleep, - STATUS_DIZZY, ANIM_MarioB1_Sick, - STATUS_STOP, ANIM_Mario1_Still, - STATUS_HUSTLE, ANIM_Mario1_Run, - STATUS_BERSERK, ANIM_MarioB2_BerserkIdle, - STATUS_PARALYZE, ANIM_MarioB1_Sleep, - STATUS_FROZEN, ANIM_Mario1_Frozen, - STATUS_TRANSPARENT, ANIM_Mario1_Idle, - STATUS_TURN_DONE, ANIM_Mario1_Still, - STATUS_13, ANIM_MarioB2_BerserkStill, - STATUS_14, ANIM_MarioB2_Inert, - STATUS_15, ANIM_MarioB1_SleepStill, - STATUS_18, ANIM_MarioB1_SickStill, - STATUS_16, ANIM_Mario1_TiredStill, - STATUS_THINKING, ANIM_Mario1_Thinking, - STATUS_WEARY, ANIM_Mario1_SpinLand, + STATUS_KEY_NORMAL, ANIM_Mario1_Walk, + STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle, + STATUS_KEY_STONE, ANIM_MarioB3_Petrified, + STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep, + STATUS_KEY_DIZZY, ANIM_MarioB1_Sick, + STATUS_KEY_STOP, ANIM_Mario1_Still, + STATUS_KEY_HUSTLE, ANIM_Mario1_Run, + STATUS_KEY_BERSERK, ANIM_MarioB2_BerserkIdle, + STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep, + STATUS_KEY_FROZEN, ANIM_Mario1_Frozen, + STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle, + STATUS_KEY_INACTIVE, ANIM_Mario1_Still, + STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill, + STATUS_KEY_14, ANIM_MarioB2_Inert, + STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill, + STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill, + STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill, + STATUS_KEY_THINKING, ANIM_Mario1_Thinking, + STATUS_KEY_WEARY, ANIM_Mario1_SpinLand, STATUS_END }; s32 bMarioDefendAnims[] = { - STATUS_NORMAL, ANIM_Mario1_Crouch, - STATUS_DANGER, ANIM_Mario1_TiredIdle, - STATUS_STONE, ANIM_MarioB3_Petrified, - STATUS_SLEEP, ANIM_MarioB1_Sleep, - STATUS_DIZZY, ANIM_MarioB1_Sick, - STATUS_STOP, ANIM_Mario1_Still, - STATUS_HUSTLE, ANIM_Mario1_Crouch, - STATUS_BERSERK, ANIM_Mario1_Crouch, - STATUS_PARALYZE, ANIM_MarioB1_Sleep, - STATUS_FROZEN, ANIM_Mario1_Frozen, - STATUS_TRANSPARENT, ANIM_Mario1_Idle, - STATUS_TURN_DONE, ANIM_Mario1_Still, - STATUS_13, ANIM_MarioB2_BerserkStill, - STATUS_14, ANIM_MarioB2_Inert, - STATUS_15, ANIM_MarioB1_SleepStill, - STATUS_18, ANIM_MarioB1_SickStill, - STATUS_16, ANIM_Mario1_TiredStill, - STATUS_THINKING, ANIM_Mario1_Thinking, - STATUS_WEARY, ANIM_Mario1_SpinLand, + STATUS_KEY_NORMAL, ANIM_Mario1_Crouch, + STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle, + STATUS_KEY_STONE, ANIM_MarioB3_Petrified, + STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep, + STATUS_KEY_DIZZY, ANIM_MarioB1_Sick, + STATUS_KEY_STOP, ANIM_Mario1_Still, + STATUS_KEY_HUSTLE, ANIM_Mario1_Crouch, + STATUS_KEY_BERSERK, ANIM_Mario1_Crouch, + STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep, + STATUS_KEY_FROZEN, ANIM_Mario1_Frozen, + STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle, + STATUS_KEY_INACTIVE, ANIM_Mario1_Still, + STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill, + STATUS_KEY_14, ANIM_MarioB2_Inert, + STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill, + STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill, + STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill, + STATUS_KEY_THINKING, ANIM_Mario1_Thinking, + STATUS_KEY_WEARY, ANIM_Mario1_SpinLand, STATUS_END }; s32 bMarioHideAnims[] = { - STATUS_NORMAL, ANIM_Mario1_Crouch, - STATUS_DANGER, ANIM_Mario1_TiredIdle, - STATUS_STONE, ANIM_MarioB3_Petrified, - STATUS_SLEEP, ANIM_MarioB1_Sleep, - STATUS_DIZZY, ANIM_MarioB1_Sick, - STATUS_STOP, ANIM_Mario1_Still, - STATUS_HUSTLE, ANIM_MarioW2_RideLaki, - STATUS_BERSERK, ANIM_MarioW2_RideLaki, - STATUS_PARALYZE, ANIM_MarioB1_Sleep, - STATUS_FROZEN, ANIM_Mario1_Frozen, - STATUS_TRANSPARENT, ANIM_Mario1_Idle, - STATUS_TURN_DONE, ANIM_Mario1_Crouch, - STATUS_13, ANIM_MarioB2_BerserkStill, - STATUS_14, ANIM_MarioB2_Inert, - STATUS_15, ANIM_MarioB1_SleepStill, - STATUS_18, ANIM_MarioB1_SickStill, - STATUS_16, ANIM_Mario1_TiredStill, - STATUS_THINKING, ANIM_Mario1_Thinking, - STATUS_WEARY, ANIM_Mario1_SpinLand, + STATUS_KEY_NORMAL, ANIM_Mario1_Crouch, + STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle, + STATUS_KEY_STONE, ANIM_MarioB3_Petrified, + STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep, + STATUS_KEY_DIZZY, ANIM_MarioB1_Sick, + STATUS_KEY_STOP, ANIM_Mario1_Still, + STATUS_KEY_HUSTLE, ANIM_MarioW2_RideLaki, + STATUS_KEY_BERSERK, ANIM_MarioW2_RideLaki, + STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep, + STATUS_KEY_FROZEN, ANIM_Mario1_Frozen, + STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle, + STATUS_KEY_INACTIVE, ANIM_Mario1_Crouch, + STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill, + STATUS_KEY_14, ANIM_MarioB2_Inert, + STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill, + STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill, + STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill, + STATUS_KEY_THINKING, ANIM_Mario1_Thinking, + STATUS_KEY_WEARY, ANIM_Mario1_SpinLand, STATUS_END }; s32 bPeachIdleAnims[] = { - STATUS_NORMAL, ANIM_Peach1_Walk, - STATUS_TURN_DONE, ANIM_Peach2_Inert, + STATUS_KEY_NORMAL, ANIM_Peach1_Walk, + STATUS_KEY_INACTIVE, ANIM_Peach2_Inert, STATUS_END }; @@ -2291,27 +2291,27 @@ s32 bMarioDefenseTable[] = { }; s32 bPlayerStatusTable[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END }; @@ -2329,9 +2329,9 @@ ActorBlueprint bPlayerActorBlueprint = { .powerBounceChance = 80, .size = { 33, 43 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 30 }, - .statusMessageOffset = { 10, 30 }, + .statusTextOffset = { 10, 30 }, }; ActorPartBlueprint bMarioParts[] = { @@ -2346,23 +2346,23 @@ ActorPartBlueprint bMarioParts[] = { }; Vec3s btl_actorHomePositions[] = { - { 5, 0, -20 }, - { 45, 0, -5 }, - { 85, 0, 10 }, - { 125, 0, 25 }, - { 10, 50, -20 }, - { 50, 45, -5 }, - { 90, 50, 10 }, - { 130, 55, 25 }, - { 15, 85, -20 }, - { 55, 80, -5 }, - { 95, 85, 10 }, - { 135, 90, 25 }, - { 15, 125, -20 }, - { 55, 120, -5 }, - { 95, 125, 10 }, - { 135, 130, 25 }, - { 105, 0, 0 }, + [BTL_POS_GROUND_A] { 5, 0, -20 }, + [BTL_POS_GROUND_B] { 45, 0, -5 }, + [BTL_POS_GROUND_C] { 85, 0, 10 }, + [BTL_POS_GROUND_D] { 125, 0, 25 }, + [BTL_POS_AIR_A] { 10, 50, -20 }, + [BTL_POS_AIR_B] { 50, 45, -5 }, + [BTL_POS_AIR_C] { 90, 50, 10 }, + [BTL_POS_AIR_D] { 130, 55, 25 }, + [BTL_POS_HIGH_A] { 15, 85, -20 }, + [BTL_POS_HIGH_B] { 55, 80, -5 }, + [BTL_POS_HIGH_C] { 95, 85, 10 }, + [BTL_POS_HIGH_D] { 135, 90, 25 }, + [BTL_POS_TOP_A] { 15, 125, -20 }, + [BTL_POS_TOP_B] { 55, 120, -5 }, + [BTL_POS_TOP_C] { 95, 125, 10 }, + [BTL_POS_TOP_D] { 135, 130, 25 }, + [BTL_POS_CENTER] { 105, 0, 0 }, }; // TODO: what is this, and look into warnings that are silenced via casts @@ -2703,7 +2703,7 @@ extern HudScript HES_TimingBlink; void btl_bonk_update(void* data); void btl_bonk_render(void* data); -void func_8024F768(void* data); +void btl_bonk_setup_gfx(void* data); void btl_update_message_popup(void* popup); void btl_show_message_popup(void* popup); @@ -2785,7 +2785,7 @@ void free_popup(PopupMessage* popup) { popup->active = FALSE; } -void show_immune_bonk(f32 x, f32 y, f32 z, s32 numMessages, s32 arg4, s32 arg5) { +void show_immune_bonk(f32 x, f32 y, f32 z, s32 numStars, s32 arg4, s32 arg5) { BattleStatus* battleStatus = &gBattleStatus; PopupMessage* popup; Message* message; @@ -2806,8 +2806,8 @@ void show_immune_bonk(f32 x, f32 y, f32 z, s32 numMessages, s32 arg4, s32 arg5) baseScale = 1.0f; cond = FALSE; var_f20 = 1.0f; - if (numMessages < 1) { - numMessages = 1; + if (numStars < 1) { + numStars = 1; cond = TRUE; baseScale = 0.4f; var_f20 = 0.7f; @@ -2840,15 +2840,15 @@ void show_immune_bonk(f32 x, f32 y, f32 z, s32 numMessages, s32 arg4, s32 arg5) popup->renderUIFunc = NULL; popup->messageIndex = 1; popup->active |= 0x10; - message = popup->message = heap_malloc(numMessages * sizeof(*popup->message)); + message = popup->message = heap_malloc(numStars * sizeof(*popup->message)); ASSERT (popup->message != NULL); - for (i = 0; i < numMessages; i++, message++) { - modelScript = &bBonkModelScripts[numMessages]; + for (i = 0; i < numStars; i++, message++) { + modelScript = &bBonkModelScripts[numStars]; message->unk_00 = TRUE; - message->unk_04 = load_entity_model(*modelScript); - set_entity_model_flags(message->unk_04, ENTITY_MODEL_FLAG_HIDDEN); - bind_entity_model_setupGfx(message->unk_04, message, func_8024F768); + message->entityModelIndex = load_entity_model(*modelScript); + set_entity_model_flags(message->entityModelIndex, ENTITY_MODEL_FLAG_HIDDEN); + bind_entity_model_setupGfx(message->entityModelIndex, message, btl_bonk_setup_gfx); message->pos.x = x; message->pos.y = y; message->pos.z = z; @@ -2892,7 +2892,7 @@ void btl_bonk_update(void* data) { for (i = 0; i < popup->messageIndex; i++, message++) { if (message->unk_00) { - s32 modelIdx = message->unk_04; + s32 modelIdx = message->entityModelIndex; found = TRUE; if (message->unk_24 != 0) { @@ -2960,7 +2960,7 @@ void btl_bonk_render(void* data) { if (message->unk_24 != 0) { break; } else { - s32 modelIdx = message->unk_04; + s32 modelIdx = message->entityModelIndex; guTranslateF(sp18, message->pos.x, message->pos.y, message->pos.z); guRotateF(mtxRotX, 0.0f, 1.0f, 0.0f, 0.0f); @@ -2978,7 +2978,7 @@ void btl_bonk_render(void* data) { } } -void func_8024F768(void* data) { +void btl_bonk_setup_gfx(void* data) { Message* message = data; s32 alphaAmt = message->deleteTime; @@ -2988,7 +2988,7 @@ void func_8024F768(void* data) { gDPSetPrimColor(gMainGfxPos++, 0, 0, 0, 0, 0, (alphaAmt * 255) / 10); } -void func_8024F7C8(void) { +void btl_bonk_cleanup(void) { s32 i; for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { @@ -3009,7 +3009,7 @@ void func_8024F7C8(void) { } } -ApiStatus func_8024F84C(Evt* script, s32 isInitialCall) { +ApiStatus ShowImmuneBonk(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 x = evt_get_variable(script, *args++); s32 y = evt_get_variable(script, *args++); @@ -3022,8 +3022,8 @@ ApiStatus func_8024F84C(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_8024F940(Evt* script, s32 isInitialCall) { - func_8024F7C8(); +ApiStatus ForceImmuneBonkCleanup(Evt* script, s32 isInitialCall) { + btl_bonk_cleanup(); return ApiStatus_DONE2; } @@ -3106,7 +3106,7 @@ void btl_update_message_popup(void* data) { BattleStatus* battleStatus = &gBattleStatus; s32 shouldDisposeWindow = FALSE; - s32 temp_a0; + s32 actionCommandMode; switch (popup->messageIndex) { case BTL_MSG_MERLEE_ATK_UP: @@ -3210,9 +3210,9 @@ void btl_update_message_popup(void* data) { case BTL_MSG_ACTION_TIP_12: case BTL_MSG_ACTION_TIP_13: case BTL_MSG_ACTION_TIP_14: - temp_a0 = battleStatus->actionCommandMode; + actionCommandMode = battleStatus->actionCommandMode; D_8029F64A = TRUE; - if (temp_a0 == ACTION_COMMAND_MODE_NOT_LEARNED) { + if (actionCommandMode == ACTION_COMMAND_MODE_NOT_LEARNED) { D_8029F64A = FALSE; shouldDisposeWindow = TRUE; break; @@ -3363,7 +3363,7 @@ void btl_update_message_popup(void* data) { set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_TRANSPARENT); popup->duration = 0; popup->showMsgState = 2; - } else if (!(gBattleStatus.flags1 & BS_FLAGS1_4000) && (temp_a0 != 2)) { + } else if (!(gBattleStatus.flags1 & BS_FLAGS1_4000) && (actionCommandMode != ACTION_COMMAND_MODE_TUTORIAL)) { set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_TRANSPARENT); switch (popup->messageIndex) { case BTL_MSG_ACTION_TIP_03: @@ -3441,7 +3441,7 @@ void btl_update_message_popup(void* data) { } break; case 2: - if ((temp_a0 != popup->showMsgState) || (gBattleStatus.flags1 & BS_FLAGS1_10000)) { + if ((actionCommandMode != popup->showMsgState) || (gBattleStatus.flags1 & BS_FLAGS1_10000)) { s16* duration; if (D_8029F64E < 192) { @@ -3455,7 +3455,7 @@ void btl_update_message_popup(void* data) { } } - gWindows[9].pos.y = D_8029F64E + D_8029F650; + gWindows[WINDOW_ID_BATTLE_POPUP].pos.y = D_8029F64E + D_8029F650; duration = &popup->duration; // TODO required to match if (*duration != -1) { diff --git a/src/17FEB0.c b/src/17FEB0.c index 75d2e3af46..a19e3fc708 100644 --- a/src/17FEB0.c +++ b/src/17FEB0.c @@ -28,11 +28,11 @@ HitResult calc_item_check_hit(void) { return HIT_RESULT_MISS; } - if (actor->transparentStatus == STATUS_TRANSPARENT) { + if (actor->transparentStatus == STATUS_KEY_TRANSPARENT) { return HIT_RESULT_MISS; } - if (actor->stoneStatus == STATUS_STONE) { + if (actor->stoneStatus == STATUS_KEY_STONE) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); return HIT_RESULT_IMMUNE; } @@ -115,7 +115,7 @@ HitResult calc_item_damage_enemy(void) { if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_REMOVE_BUFFS)) { if ((targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) - || (target->transparentStatus == STATUS_TRANSPARENT) + || (target->transparentStatus == STATUS_KEY_TRANSPARENT) || (targetPart->eventFlags & ACTOR_EVENT_FLAG_800) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE) ) { @@ -123,10 +123,10 @@ HitResult calc_item_damage_enemy(void) { } } - if (target->stoneStatus == STATUS_STONE) { + if (target->stoneStatus == STATUS_KEY_STONE) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 1); - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 0); + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 0); if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { return HIT_RESULT_1; } @@ -347,7 +347,7 @@ HitResult calc_item_damage_enemy(void) { #define INFLICT_STATUS(STATUS_TYPE) \ do { \ if ((battleStatus->currentAttackStatus & STATUS_FLAG_##STATUS_TYPE) && \ - try_inflict_status(target, STATUS_##STATUS_TYPE, STATUS_##STATUS_TYPE##_TURN_MOD)) { \ + try_inflict_status(target, STATUS_KEY_##STATUS_TYPE, STATUS_TURN_MOD_##STATUS_TYPE)) { \ wasStatusInflicted = TRUE; \ } \ } while (0); @@ -380,18 +380,18 @@ HitResult calc_item_damage_enemy(void) { if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) && (battleStatus->currentAttackElement & DAMAGE_TYPE_FEAR)) { if (rand_int(99) < temp - && (target->debuff != STATUS_FEAR - && target->debuff != STATUS_DIZZY - && target->debuff != STATUS_PARALYZE - && target->debuff != STATUS_SLEEP - && target->debuff != STATUS_FROZEN - && target->debuff != STATUS_STOP) + && (target->debuff != STATUS_KEY_FEAR + && target->debuff != STATUS_KEY_DIZZY + && target->debuff != STATUS_KEY_PARALYZE + && target->debuff != STATUS_KEY_SLEEP + && target->debuff != STATUS_KEY_FROZEN + && target->debuff != STATUS_KEY_STOP) && !(target->flags & ACTOR_FLAG_FLIPPED)) { dispatchEvent = EVENT_SCARE_AWAY; hitResult = HIT_RESULT_HIT; sp1C = TRUE; - gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10 | BS_FLAGS1_8 | BS_FLAGS1_ACTORS_VISIBLE; + gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10 | BS_FLAGS1_SHOW_PLAYER_DECORATIONS | BS_FLAGS1_ACTORS_VISIBLE; sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); wasStatusInflicted = TRUE; gBattleStatus.flags1 |= BS_FLAGS1_40; @@ -428,7 +428,7 @@ HitResult calc_item_damage_enemy(void) { if (actorClass == ACTOR_PARTNER) { if ((battleStatus->lastAttackDamage > 0) && (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) { - inflict_status(target, STATUS_DAZE, battleStatus->lastAttackDamage); + inflict_status(target, STATUS_KEY_DAZE, battleStatus->lastAttackDamage); } } @@ -438,13 +438,13 @@ HitResult calc_item_damage_enemy(void) { show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); } } else if (!partImmuneToElement) { - if (battleStatus->currentAttackElement & (DAMAGE_TYPE_SMASH | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS)) { - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); + if (battleStatus->currentAttackElement & (DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_SMASH)) { + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); } else { - func_802664DC(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); + show_primary_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); } if (!(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4)) { - func_802666E4(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); + show_damage_fx(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } } } @@ -521,7 +521,7 @@ HitResult calc_item_damage_enemy(void) { sfx_play_sound_at_position(SOUND_SMASH_GOOMNUT_TREE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } - func_80266ADC(target); + show_actor_health_bar(target); if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { if (hitResult == HIT_RESULT_HIT) { @@ -550,7 +550,8 @@ ApiStatus ItemDamageEnemy(Evt* script, s32 isInitialCall) { flags = *args++; if ((flags & (BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE)) == (BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE)) { - gBattleStatus.flags1 |= BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE; + gBattleStatus.flags1 |= BS_FLAGS1_10; + gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; } else if (flags & BS_FLAGS1_10) { gBattleStatus.flags1 |= BS_FLAGS1_10; gBattleStatus.flags1 &= ~BS_FLAGS1_SP_EVT_ACTIVE; @@ -585,7 +586,7 @@ ApiStatus ItemDamageEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { + if (battleStatus->statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } @@ -655,7 +656,7 @@ ApiStatus ItemSpookEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { + if (battleStatus->statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } @@ -724,7 +725,7 @@ ApiStatus ItemAfflictEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { + if (battleStatus->statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } @@ -793,7 +794,7 @@ ApiStatus ItemCheckHit(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { + if (battleStatus->statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } diff --git a/src/181810.c b/src/181810.c index 1ca33a7db5..8ebe1f018a 100644 --- a/src/181810.c +++ b/src/181810.c @@ -11,6 +11,8 @@ BSS s32 gSpeakingActorIdleAnim; BSS Actor* gSpeakingActor; BSS ActorPart* gSpeakingActorPart; +#define ACTOR_TYPE_LIST_END 0xFF + u8* gBattleDmaDest = NULL; u8 ActorTypesGhost[] = { @@ -23,7 +25,7 @@ u8 ActorTypesGhost[] = { ACTOR_TYPE_GHOST_WATT, ACTOR_TYPE_GHOST_SUSHIE, ACTOR_TYPE_GHOST_LAKILESTER, - 0xFF + ACTOR_TYPE_LIST_END }; u8 ActorTypesLee[] = { @@ -36,25 +38,25 @@ u8 ActorTypesLee[] = { ACTOR_TYPE_LEE_WATT, ACTOR_TYPE_LEE_SUSHIE, ACTOR_TYPE_LEE_LAKILESTER, - 0xFF + ACTOR_TYPE_LIST_END }; u8 ActorTypesCrystalKing[] = { ACTOR_TYPE_CRYSTAL_KING, ACTOR_TYPE_CRYSTAL_CLONE, - 0xFF + ACTOR_TYPE_LIST_END }; u8 ActorTypesShyGuyBoss[] = { ACTOR_TYPE_TOY_TANK, ACTOR_TYPE_LIGHT_BULB, - 0xFF + ACTOR_TYPE_LIST_END }; u8 ActorTypesBowser[] = { ACTOR_TYPE_BOWSER_PHASE_2, ACTOR_TYPE_BOWSER_PHASE_3, - 0xFF + ACTOR_TYPE_LIST_END }; u8 ActorTypesMagikoopa[] = { @@ -62,37 +64,37 @@ u8 ActorTypesMagikoopa[] = { ACTOR_TYPE_MAGICLONE, ACTOR_TYPE_FLYING_MAGIKOOPA, ACTOR_TYPE_FLYING_MAGICLONE, - 0xFF + ACTOR_TYPE_LIST_END }; u8 ActorTypesRedMagikoopa[] = { ACTOR_TYPE_RED_MAGIKOOPA, ACTOR_TYPE_FLYING_RED_MAGIKOOPA, - 0xFF + ACTOR_TYPE_LIST_END }; u8 ActorTypesGreenMagikoopa[] = { ACTOR_TYPE_GREEN_MAGIKOOPA, ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA, - 0xFF + ACTOR_TYPE_LIST_END }; u8 ActorTypesGrayMagikoopa[] = { ACTOR_TYPE_GRAY_MAGIKOOPA, ACTOR_TYPE_FLYING_GRAY_MAGIKOOPA, - 0xFF + ACTOR_TYPE_LIST_END }; u8 ActorTypesYellowMagikoopa[] = { ACTOR_TYPE_YELLOW_MAGIKOOPA, ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA, - 0xFF + ACTOR_TYPE_LIST_END }; u8 ActorTypesWhiteMagikoopa[] = { ACTOR_TYPE_WHITE_MAGIKOOPA, ACTOR_TYPE_FLYING_WHITE_MAGIKOOPA, - 0xFF + ACTOR_TYPE_LIST_END }; u8* ActorTypesLists[] = { @@ -159,7 +161,7 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { if (gSpeakingActorTalkAnim >= 0) { func_80263E08(actor, part, gSpeakingActorTalkAnim); } - increment_status_menu_disabled(); + increment_status_bar_disabled(); } if (script->functionTemp[0] == 0) { @@ -180,7 +182,7 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { msg_printer_set_origin_pos(gSpeakingActorPrintCtx, screenX, screenY); if (gSpeakingActorPrintCtx->stateFlags & MSG_STATE_FLAG_40) { - decrement_status_menu_disabled(); + decrement_status_bar_disabled(); return ApiStatus_DONE1; } @@ -195,7 +197,7 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { } if (gSpeakingActorPrintIsDone == TRUE) { - decrement_status_menu_disabled(); + decrement_status_bar_disabled(); gOverrideFlags &= ~GLOBAL_OVERRIDES_10; return ApiStatus_DONE1; } @@ -227,7 +229,7 @@ ApiStatus EndActorSpeech(Evt* script, s32 isInitialCall) { gSpeakingActorPart = actorPart; close_message(gSpeakingActorPrintCtx); script->functionTemp[0] = 0; - increment_status_menu_disabled(); + increment_status_bar_disabled(); } if (script->functionTemp[0] == 0) { @@ -246,7 +248,7 @@ ApiStatus EndActorSpeech(Evt* script, s32 isInitialCall) { flags = gSpeakingActorPrintCtx->stateFlags; if (flags & 0x40) { - decrement_status_menu_disabled(); + decrement_status_bar_disabled(); return ApiStatus_DONE1; } @@ -261,7 +263,7 @@ ApiStatus EndActorSpeech(Evt* script, s32 isInitialCall) { } if (gSpeakingActorPrintIsDone == TRUE) { - decrement_status_menu_disabled(); + decrement_status_bar_disabled(); gOverrideFlags &= ~GLOBAL_OVERRIDES_10; return ApiStatus_DONE1; } @@ -292,11 +294,14 @@ ApiStatus ShowBattleChoice(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus func_802535B4(Evt* script, s32 isInitialCall) { - if (evt_get_variable(script, *script->ptrReadPos)) { - decrement_status_menu_disabled(); +ApiStatus EnableBattleStatusBar(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + b32 shouldEnable = evt_get_variable(script, *args++); + + if (shouldEnable) { + decrement_status_bar_disabled(); } else { - increment_status_menu_disabled(); + increment_status_bar_disabled(); } return ApiStatus_DONE2; } @@ -340,12 +345,12 @@ ApiStatus EnableBattleFloorReflections(Evt* script, s32 isInitialCall) { } -ApiStatus func_80253734(Evt* script, s32 isInitialCall) { +ApiStatus SetDarknessMode(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; - s32 val = evt_get_variable(script, *args++); + s32 darknessMode = evt_get_variable(script, *args++); - switch (val) { + switch (darknessMode) { case BTL_DARKNESS_MODE_0: battleStatus->darknessMode = BTL_DARKNESS_STATE_DARK; break; @@ -476,28 +481,28 @@ ApiStatus SetForegroundModelsVisible(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_80253B30(Evt* script, s32 isInitialCall) { +ApiStatus MakeIgnoreResStatusField(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; - Bytecode a0 = *args++; - Bytecode a1 = *args++; - s32 var1 = evt_get_variable(script, *args++); + Bytecode outVar = *args++; + Bytecode typeFlag = *args++; // STATUS_FLAG_* + s32 duration = evt_get_variable(script, *args++); - evt_set_variable(script, a0, (a1 | 0xFE) | (var1 * 256)); + evt_set_variable(script, outVar, DMG_STATUS_IGNORE_RES(typeFlag, duration)); return ApiStatus_DONE2; } ApiStatus MakeStatusField(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 outVar = *args++; - s32 a = *args++; - s32 b = evt_get_variable(script, *args++); - s32 c = evt_get_variable(script, *args++); + s32 typeFlag = *args++; // STATUS_FLAG_* + s32 chance = evt_get_variable(script, *args++); + s32 duration = evt_get_variable(script, *args++); - evt_set_variable(script, outVar, a | 0x80000000 | (c << 8) | b); + evt_set_variable(script, outVar, DMG_STATUS_KEY(typeFlag, duration, chance)); return ApiStatus_DONE2; } -s32 is_actor_hp_bar_visible(Actor* actor) { +s32 is_actor_health_bar_visible(Actor* actor) { BattleStatus* battleStatus = &gBattleStatus; s32 flags; @@ -505,47 +510,52 @@ s32 is_actor_hp_bar_visible(Actor* actor) { return TRUE; } - flags = get_global_byte((actor->actorType >> 3) + 365); + flags = get_global_byte(EVT_INDEX_OF_GAME_BYTE(GB_Tattles_00) + actor->actorType / 8); if (actor->flags & ACTOR_FLAG_TYPE_CHANGED) { - flags |= battleStatus->tattleFlags[actor->actorType >> 3]; + flags |= battleStatus->tattleFlags[actor->actorType / 8]; } - return (flags >> (actor->actorType & 7)) & 1; + + return (flags >> (actor->actorType % 8)) & 1; } -s32 is_actortype_hpbar_visible(s32 actorType) { +s32 is_actortype_health_bar_visible(s32 actorType) { BattleStatus* battleStatus = &gBattleStatus; - s32 idx; + s32 flags; + s32 byteIdx; + s32 flagIdx; if (is_ability_active(ABILITY_PEEKABOO)) { return TRUE; } - idx = actorType / 8; - return ((get_global_byte(idx + 365) | battleStatus->tattleFlags[idx]) >> (actorType - (idx * 8))) & 1; + flags = get_global_byte(EVT_INDEX_OF_GAME_BYTE(GB_Tattles_00) + actorType / 8); + flags |= battleStatus->tattleFlags[actorType / 8]; + + return (flags >> (actorType % 8)) & 1; } void save_tattle_flags(s32 actorType) { BattleStatus* battleStatus = &gBattleStatus; - u8* list; + u8* types; s32 gb; s32 i = 0; s32 j; s32 k; while (TRUE) { - list = ActorTypesLists[i]; - if (list == NULL) { + types = ActorTypesLists[i]; + if (types == NULL) { break; } - for (j = 0; list[j] != 0xFF; j++) { - if (actorType == list[j]) { - for (k = 0; list[k] != 0xFF; k++) { - actorType = list[k]; + for (j = 0; types[j] != ACTOR_TYPE_LIST_END; j++) { + if (actorType == types[j]) { + for (k = 0; types[k] != ACTOR_TYPE_LIST_END; k++) { + actorType = types[k]; - gb = get_global_byte((actorType / 8) + 0x16D); // GameByte(0x16D) is GB_Tattles_00 (first tattle) + gb = get_global_byte(EVT_INDEX_OF_GAME_BYTE(GB_Tattles_00) + actorType / 8); gb |= 1 << (actorType % 8); - set_global_byte((actorType / 8) + 0x16D, gb); + set_global_byte(EVT_INDEX_OF_GAME_BYTE(GB_Tattles_00) + actorType / 8, gb); battleStatus->tattleFlags[actorType / 8] |= gb; } return; @@ -554,32 +564,32 @@ void save_tattle_flags(s32 actorType) { i++; } - gb = get_global_byte((actorType / 8) + 0x16D); + gb = get_global_byte(EVT_INDEX_OF_GAME_BYTE(GB_Tattles_00) + actorType / 8); gb |= 1 << (actorType % 8); - set_global_byte((actorType / 8) + 0x16D, gb); + set_global_byte(EVT_INDEX_OF_GAME_BYTE(GB_Tattles_00) + actorType / 8, gb); battleStatus->tattleFlags[actorType / 8] |= gb; } void load_tattle_flags(s32 actorType) { BattleStatus* battleStatus = &gBattleStatus; - u8* list; + u8* types; s32 gb; s32 i = 0; s32 j; s32 k; while (TRUE) { - list = ActorTypesLists[i]; - if (list == NULL) { + types = ActorTypesLists[i]; + if (types == NULL) { break; } - for (j = 0; list[j] != 0xFF; j++) { - if (actorType == list[j]) { - for (k = 0; list[k] != 0xFF; k++) { - actorType = list[k]; + for (j = 0; types[j] != ACTOR_TYPE_LIST_END; j++) { + if (actorType == types[j]) { + for (k = 0; types[k] != ACTOR_TYPE_LIST_END; k++) { + actorType = types[k]; - gb = get_global_byte((actorType / 8) + 0x16D); // GameByte(0x16D) is GB_Tattles_00 (first tattle) + gb = get_global_byte(EVT_INDEX_OF_GAME_BYTE(GB_Tattles_00) + actorType / 8); gb |= 1 << (actorType % 8); battleStatus->tattleFlags[actorType / 8] |= gb; } @@ -589,12 +599,12 @@ void load_tattle_flags(s32 actorType) { i++; } - gb = get_global_byte((actorType / 8) + 0x16D); + gb = get_global_byte(EVT_INDEX_OF_GAME_BYTE(GB_Tattles_00) + actorType / 8); gb |= 1 << (actorType % 8); battleStatus->tattleFlags[actorType / 8] |= gb; } -ApiStatus func_80253FB0(Evt* script, s32 isInitialCall) { +ApiStatus SetEnemiesFled(Evt* script, s32 isInitialCall) { gCurrentEncounter.battleOutcome = OUTCOME_ENEMY_FLED; btl_set_state(BATTLE_STATE_END_BATTLE); @@ -635,7 +645,7 @@ ApiStatus ApplyShrinkFromOwner(Evt* script, s32 isInitialCall) { Actor* actor = get_actor(script->owner1.actorID); s32 amt = evt_get_variable(script, *args); - if (actor->debuff == STATUS_SHRINK && amt > 0) { + if (actor->debuff == STATUS_KEY_SHRINK && amt > 0) { amt /= 2; } diff --git a/src/182B30.c b/src/182B30.c index 8fc9373f3d..8981b85607 100644 --- a/src/182B30.c +++ b/src/182B30.c @@ -2,16 +2,114 @@ #include "sprite.h" #include "effects.h" #include "battle/battle.h" +#include "sprite/npc/BattleWatt.h" + +enum StandardPalettes { + STANDARD_PAL_POISON = 1, + STANDARD_PAL_DIZZY = 2, + STANDARD_PAL_STATIC = 3, +}; + +#define UNPACK_PAL_R(color) (((color) >> 11) & 0x1F) +#define UNPACK_PAL_G(color) (((color) >> 6) & 0x1F) +#define UNPACK_PAL_B(color) (((color) >> 1) & 0x1F) +#define UNPACK_PAL_A(color) ((color) & 1) + +#define PACK_PAL_RGBA(r, g, b, a) (((r) << 11) | ((g) << 6) | ((b) << 1) | (a)); + +// lerp from A to B as alpha does from 0 to 255 +#define LERP_COMPONENT(a, b, alpha) ((a) * (255 - (alpha)) + (b) * (alpha)) / 255; + +#define PAL_ANIM_END 0xFF + +enum PalSwapState { + PAL_SWAP_HOLD_A = 0, + PAL_SWAP_A_TO_B = 1, + PAL_SWAP_HOLD_B = 2, + PAL_SWAP_B_TO_A = 3, +}; + +// palette types for static palette animation +enum { + STATIC_DEFAULT = 0, + STATIC_BRIGHT = 1, + STATIC_DARK = 2, +}; + +// animated palettes for electrified sprites +// each pair gives { mode, duration } +u8 StaticPalettesAnim[] = { + STATIC_DEFAULT, 32, + STATIC_BRIGHT, 4, + STATIC_DARK, 2, + STATIC_DEFAULT, 16, + STATIC_BRIGHT, 2, + STATIC_DEFAULT, 64, + STATIC_BRIGHT, 2, + STATIC_DARK, 2, + STATIC_DEFAULT, 28, + STATIC_BRIGHT, 2, + STATIC_DEFAULT, 18, + STATIC_BRIGHT, 4, + STATIC_DEFAULT, 16, + STATIC_BRIGHT, 2, + STATIC_DEFAULT, 80, + STATIC_BRIGHT, 2, + STATIC_DEFAULT, 16, + STATIC_DARK, 2, + STATIC_BRIGHT, 2, + STATIC_DEFAULT, 32, + STATIC_BRIGHT, 2, + STATIC_DEFAULT, 14, + STATIC_BRIGHT, 2, + STATIC_DARK, 2, + PAL_ANIM_END +}; + +s16 FearPaletteAnimXOffsets[] = { -2, 2, 0, 0, -2, 2, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, PAL_ANIM_END }; + +s16 ParalyzePaletteAnimXOffsets[] = { -2, 2, 0, 0, -2, 2, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, PAL_ANIM_END }; + +// palette types for watt palette animations +enum { + WATT_DEFAULT = 0, + WATT_BRIGHTEST = 1, + WATT_BRIGHTER = 2, +}; + +// animated palettes for Watt +// each pair gives { mode, duration } +u8 WattIdlePalettesAnim[] = { + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 52, + WATT_BRIGHTEST, 4, + WATT_DEFAULT, 54, + WATT_DEFAULT, 54, + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 28, + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 6, + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 44, + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 44, + PAL_ANIM_END +}; + +u8 WattAttackPalettesAnim[] = { + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 10, + WATT_BRIGHTER, 4, + WATT_DEFAULT, 14, + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 10, + WATT_BRIGHTER, 4, + WATT_DEFAULT, 4, + PAL_ANIM_END +}; -u8 D_80284080[] = { 0, 32, 1, 4, 2, 2, 0, 16, 1, 2, 0, 64, 1, 2, 2, 2, 0, 28, 1, 2, 0, 18, 1, 4, 0, 16, 1, 2, 0, 80, - 1, 2, 0, 16, 2, 2, 1, 2, 0, 32, 1, 2, 0, 14, 1, 2, 2, 2, 255, 0, 0, 0 }; -s16 D_802840B4[] = { -2, 2, 0, 0, -2, 2, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 255, 0 }; -s16 D_802840DC[] = { -2, 2, 0, 0, -2, 2, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 255, 0 }; -u8 D_80284104[] = { 1, 2, 0, 52, 1, 4, 0, 54, 0, 54, 1, 2, 0, 28, 1, 2, 0, 6, 1, 2, 0, 44, 1, 2, 0, 44, 255, 0 }; -u8 D_80284120[] = { 1, 2, 0, 10, 2, 4, 0, 14, 1, 2, 0, 10, 2, 4, 0, 4, 255, 0, 0, 0 }; s16 D_80284134[] = { -1, 15, 10, 7, 5, 3, 2, 1, 0, 0, 0, 0, 0, 0 }; - void update_player_actor_shadow(void); void appendGfx_npc_actor(s32 isPartner, s32 actorIndex); @@ -22,8 +120,8 @@ void enable_status_debuff(s16); void enable_status_transparent(s16); void enable_status_icon_boost_jump(s32 iconID); void enable_status_icon_boost_hammer(s32 iconID); -s32 func_80265CE8(u32*, s32); -void func_80266DAC(Actor* actor, s32 arg1); +s32 get_npc_anim_for_status(u32*, s32); +void set_actor_pal_adjustment(Actor* actor, s32 arg1); void create_status_icon_boost_hammer(s32 iconID); void create_status_icon_boost_jump(s32 iconID); void create_status_icon_peril(s32 iconID); @@ -31,7 +129,7 @@ void create_status_icon_danger(s32 iconID); void set_status_icons_offset(s32 iconID, s32 offsetY, s32 arg2); void set_status_icons_properties(s32 iconID, f32 x, f32 y, f32 z, s32 arg, s32 arg2, s32 radius, s32 offsetY); -void func_802571F0(s32, Actor*); +void appendGfx_npc_actor_reflection(s32, Actor*); void func_80259494(ActorPart*); void func_8025950C(ActorPart*, s32, Matrix4f); void func_802596C0(ActorPart*, s32, Matrix4f); @@ -53,21 +151,21 @@ void func_8025DA68(ActorPart*, s32); void func_8025DBD0(ActorPart*, s32); void func_8025DD60(ActorPart*, s32); -void func_80259A48(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4); -void func_80259AAC(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4); -void func_80259D9C(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4); -void func_8025A2C4(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4); -void func_8025A50C(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4); -void func_8025A74C(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4); -void func_8025AA80(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4); -void func_8025AD90(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4); -void func_8025B1A8(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4); -void func_8025B5C0(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4, s32 arg5); -void func_8025BAA0(s32 arg0, ActorPart* part, s32 yaw, s32 arg3, Matrix4f mtx, s32 arg5); -void func_8025C120(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4); +void render_without_adjusted_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_sleep_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_static_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_fear_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_poison_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_paralyze_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_berserk_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_watt_idle_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_watt_attack_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_player_debuff_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation, s32 isPoison); +void render_with_pal_blending(s32 arg0, ActorPart* part, s32 yaw, s32 arg3, Matrix4f mtx, s32 skipAnimation); +void render_with_palset_blending(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); s32 func_8025C840(s32 arg0, ActorPart* part, s32 yaw, s32); s32 func_8025CCC8(s32 arg0, ActorPart* part, s32 yaw, s32); -s32 func_80265D44(s32 animID); +s32 get_player_anim_for_status(s32 animID); void func_8026709C(ActorPart* part); s32 func_80254250(ActorPart* part) { @@ -375,7 +473,7 @@ void appendGfx_player_actor_blur(Actor* actor) { guMtxCatF(mtxTemp, mtxTranslate, mtxTransform); prevOpacity = partTable->opacity; partTable->opacity = newOpacityBase - (num * newOpacityModulus); - func_802591EC(0, partTable, clamp_angle(yaw + 180), mtxTransform, 1); + render_with_adjusted_palettes(SPRITE_MODE_PLAYER, partTable, clamp_angle(yaw + 180), mtxTransform, 1); partTable->opacity = prevOpacity; } } @@ -739,7 +837,7 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { f32 partPosX, partPosY, partPosZ, partYaw; u32 lastAnim; s32 animChanged; - s32 cond2; + s32 palChanged; s32 decorChanged; s32 i; @@ -756,8 +854,10 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { } actorPosZ = actor->currentPos.z + actor->headOffset.z; - actor->disableEffect->data.disableX->pos.x = actorPosX + ((actor->actorBlueprint->statusIconOffset.x + actor->unk_194) * actor->scalingFactor); - actor->disableEffect->data.disableX->pos.y = actorPosY + ((actor->actorBlueprint->statusIconOffset.y + actor->unk_195) * actor->scalingFactor); + actor->disableEffect->data.disableX->pos.x = actorPosX + + (actor->actorBlueprint->statusIconOffset.x + actor->statusIconOffset.x) * actor->scalingFactor; + actor->disableEffect->data.disableX->pos.y = actorPosY + + (actor->actorBlueprint->statusIconOffset.y + actor->statusIconOffset.y) * actor->scalingFactor; actor->disableEffect->data.disableX->pos.z = actorPosZ; if (!(gBattleStatus.flags1 & ACTOR_PART_FLAG_4) && (actor->flags & ACTOR_FLAG_8000000)) { @@ -771,10 +871,12 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { actor->disableEffect->data.disableX->pos.y = NPC_DISPOSE_POS_Y; actor->disableDismissTimer = 10; } - if (actor->debuff == STATUS_FROZEN) { + if (actor->debuff == STATUS_KEY_FROZEN) { effect = actor->icePillarEffect; if (actor->icePillarEffect != NULL) { - if ((gBattleStatus.flags1 & BS_FLAGS1_8) || (!(gBattleStatus.flags1 & BS_FLAGS1_4) && (actor->flags & ACTOR_FLAG_8000000))) { + if ((gBattleStatus.flags1 & BS_FLAGS1_SHOW_PLAYER_DECORATIONS) || + (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (actor->flags & ACTOR_FLAG_8000000))) + { effect->data.icePillar->pos.x = actorPosX; effect->data.icePillar->pos.y = actorPosY; effect->data.icePillar->pos.z = actorPosZ; @@ -793,10 +895,10 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { } } set_status_icons_properties(actor->hudElementDataIndex, actorPosX, actorPosY, actorPosZ, - (actor->actorBlueprint->statusIconOffset.x + actor->unk_194) * actor->scalingFactor, - (actor->actorBlueprint->statusIconOffset.y + actor->unk_195) * actor->scalingFactor, - (actor->actorBlueprint->statusMessageOffset.x + actor->unk_196) * actor->scalingFactor, - (actor->actorBlueprint->statusMessageOffset.y + actor->unk_197) * actor->scalingFactor); + (actor->actorBlueprint->statusIconOffset.x + actor->statusIconOffset.x) * actor->scalingFactor, + (actor->actorBlueprint->statusIconOffset.y + actor->statusIconOffset.y) * actor->scalingFactor, + (actor->actorBlueprint->statusTextOffset.x + actor->statusTextOffset.x) * actor->scalingFactor, + (actor->actorBlueprint->statusTextOffset.y + actor->statusTextOffset.y) * actor->scalingFactor); if (!(actor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { set_status_icons_offset(actor->hudElementDataIndex, @@ -809,7 +911,7 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { } do { - if (actor->debuff == STATUS_SHRINK) { + if (actor->debuff == STATUS_KEY_SHRINK) { actor->scalingFactor += ((0.4 - actor->scalingFactor) / 6.0); } else { actor->scalingFactor += ((1.0 - actor->scalingFactor) / 6.0); @@ -885,7 +987,7 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { continue; } - if (actor->transparentStatus == STATUS_TRANSPARENT) { + if (actor->transparentStatus == STATUS_KEY_TRANSPARENT) { part->flags |= ACTOR_PART_FLAG_100; } else { part->flags &= ~ACTOR_PART_FLAG_100; @@ -894,7 +996,7 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { do { lastAnim = part->currentAnimation; animChanged = FALSE; - cond2 = FALSE; + palChanged = FALSE; decorChanged = FALSE; } while (0); // required to match @@ -902,156 +1004,156 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { if ((gBattleStatus.flags2 & (BS_FLAGS2_10 | BS_FLAGS2_4)) == BS_FLAGS2_4) { do { if (actor->koStatus == 0) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_TURN_DONE); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_INACTIVE); spr_update_sprite(part->spriteInstanceID, part->currentAnimation, part->animationRate); animChanged = TRUE; } } while (0); // required to match - func_80266DAC(actor, 0xC); - cond2 = TRUE; - func_80266EE8(actor, 0); + set_actor_pal_adjustment(actor, PAL_ADJUST_PLAYER_DEBUFF); + palChanged = TRUE; + func_80266EE8(actor, UNK_PAL_EFFECT_0); decorChanged = TRUE; } if (isPartner && (gPlayerData.currentPartner == PARTNER_WATT)) { - if (!cond2) { - func_80266DAC(actor, 9); + if (!palChanged) { + set_actor_pal_adjustment(actor, PAL_ADJUST_WATT_IDLE); } - cond2 = TRUE; + palChanged = TRUE; } } if (actor->isGlowing) { if (!decorChanged) { - func_80266EE8(actor, 0xB); + func_80266EE8(actor, UNK_PAL_EFFECT_11); } decorChanged = TRUE; } - if (actor->debuff == STATUS_POISON) { - if (!cond2) { - func_80266DAC(actor, 6); + if (actor->debuff == STATUS_KEY_POISON) { + if (!palChanged) { + set_actor_pal_adjustment(actor, PAL_ADJUST_POISON); } - cond2 = TRUE; + palChanged = TRUE; } - if (actor->debuff == STATUS_PARALYZE) { - if (!cond2) { - func_80266DAC(actor, 7); + if (actor->debuff == STATUS_KEY_PARALYZE) { + if (!palChanged) { + set_actor_pal_adjustment(actor, PAL_ADJUST_PARALYZE); } - cond2 = TRUE; + palChanged = TRUE; } - if (actor->debuff == STATUS_FEAR) { - if (!cond2) { - func_80266DAC(actor, 5); + if (actor->debuff == STATUS_KEY_FEAR) { + if (!palChanged) { + set_actor_pal_adjustment(actor, PAL_ADJUST_FEAR); } - cond2 = TRUE; + palChanged = TRUE; } - if (actor->staticStatus == STATUS_STATIC) { - if (!cond2) { - func_80266DAC(actor, 4); + if (actor->staticStatus == STATUS_KEY_STATIC) { + if (!palChanged) { + set_actor_pal_adjustment(actor, PAL_ADJUST_STATIC); } - cond2 = TRUE; + palChanged = TRUE; } - if ((!cond2) && !(part->flags & ACTOR_PART_FLAG_1000000)) { - func_80266DAC(actor, 0); + if ((!palChanged) && !(part->flags & ACTOR_PART_FLAG_1000000)) { + set_actor_pal_adjustment(actor, PAL_ADJUST_NONE); } if ((!decorChanged) && !(part->flags & ACTOR_PART_FLAG_1000000)) { - func_80266EE8(actor, 0); + func_80266EE8(actor, UNK_PAL_EFFECT_0); } if (actor->flags & ACTOR_FLAG_4000000) { if (!(part->flags & ACTOR_PART_FLAG_20000000)) { - if (actor->debuff == STATUS_FROZEN) { + if (actor->debuff == STATUS_KEY_FROZEN) { if (!animChanged) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_FROZEN); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_FROZEN); animChanged = TRUE; } - } else if (actor->debuff != STATUS_SHRINK) { - if (actor->debuff == STATUS_POISON) { + } else if (actor->debuff != STATUS_KEY_SHRINK) { + if (actor->debuff == STATUS_KEY_POISON) { if (!animChanged) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_POISON); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_POISON); animChanged = TRUE; } - } else if (actor->debuff == STATUS_DIZZY) { + } else if (actor->debuff == STATUS_KEY_DIZZY) { if (!animChanged) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_DIZZY); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_DIZZY); animChanged = TRUE; } - } else if (actor->debuff == STATUS_FEAR) { + } else if (actor->debuff == STATUS_KEY_FEAR) { if (!animChanged) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_FEAR); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_FEAR); animChanged = TRUE; } - } else if (actor->debuff == STATUS_SLEEP) { + } else if (actor->debuff == STATUS_KEY_SLEEP) { if (!animChanged) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_SLEEP); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_SLEEP); animChanged = TRUE; } - } else if (actor->debuff == STATUS_PARALYZE) { + } else if (actor->debuff == STATUS_KEY_PARALYZE) { if (!animChanged) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_PARALYZE); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_PARALYZE); animChanged = TRUE; } } } - if (actor->staticStatus == STATUS_STATIC) { + if (actor->staticStatus == STATUS_KEY_STATIC) { if (!animChanged) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_STATIC); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_STATIC); animChanged = TRUE; } do {} while (0); // required to match } if (!animChanged) { - part->currentAnimation = func_80265CE8(part->idleAnimations, 1); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, 1); } if (isPartner) { - if (actor->koStatus == STATUS_DAZE) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_DAZE); + if (actor->koStatus == STATUS_KEY_DAZE) { + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_DAZE); animChanged = TRUE; } else { - s32 temp = func_80265CE8(part->idleAnimations, STATUS_NORMAL); + s32 temp = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_NORMAL); do { - if (temp == func_80265CE8(part->idleAnimations, STATUS_DAZE)) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_NORMAL); + if (temp == get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_DAZE)) { + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_NORMAL); } } while (0); // required to match } } - if (actor->debuff == STATUS_STOP) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_STOP); - create_status_debuff(actor->hudElementDataIndex, STATUS_STOP); + if (actor->debuff == STATUS_KEY_STOP) { + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_STOP); + create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_STOP); } else if (!animChanged) { - s32 temp = func_80265CE8(part->idleAnimations, STATUS_NORMAL); + s32 temp = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_NORMAL); do { - if (temp == func_80265CE8(part->idleAnimations, STATUS_STOP)) { - part->currentAnimation = func_80265CE8(part->idleAnimations, STATUS_NORMAL); + if (temp == get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_STOP)) { + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_NORMAL); } } while (0); // required to match } } } - if (!(gBattleStatus.flags1 & BS_FLAGS1_4) && (actor->flags & ACTOR_FLAG_8000000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (actor->flags & ACTOR_FLAG_8000000)) { do { - if (actor->debuff == STATUS_POISON) { - create_status_debuff(actor->hudElementDataIndex, STATUS_POISON); - } else if (actor->debuff == STATUS_DIZZY) { - create_status_debuff(actor->hudElementDataIndex, STATUS_DIZZY); - } else if (actor->debuff == STATUS_SLEEP) { - create_status_debuff(actor->hudElementDataIndex, STATUS_SLEEP); - } else if (actor->debuff == STATUS_PARALYZE) { - create_status_debuff(actor->hudElementDataIndex, STATUS_PARALYZE); - } else if (actor->debuff == STATUS_SHRINK) { - create_status_debuff(actor->hudElementDataIndex, STATUS_SHRINK); - } else if (actor->debuff == STATUS_FROZEN) { - create_status_debuff(actor->hudElementDataIndex, STATUS_FROZEN); + if (actor->debuff == STATUS_KEY_POISON) { + create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_POISON); + } else if (actor->debuff == STATUS_KEY_DIZZY) { + create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_DIZZY); + } else if (actor->debuff == STATUS_KEY_SLEEP) { + create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_SLEEP); + } else if (actor->debuff == STATUS_KEY_PARALYZE) { + create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_PARALYZE); + } else if (actor->debuff == STATUS_KEY_SHRINK) { + create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_SHRINK); + } else if (actor->debuff == STATUS_KEY_FROZEN) { + create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_FROZEN); } } while (0); // required to match - if (actor->staticStatus == STATUS_STATIC) { - create_status_static(actor->hudElementDataIndex, STATUS_STATIC); + if (actor->staticStatus == STATUS_KEY_STATIC) { + create_status_static(actor->hudElementDataIndex, STATUS_KEY_STATIC); } - if ((actor->transparentStatus == STATUS_TRANSPARENT) || (part->flags & ACTOR_PART_FLAG_100)) { - create_status_transparent(actor->hudElementDataIndex, STATUS_TRANSPARENT); + if ((actor->transparentStatus == STATUS_KEY_TRANSPARENT) || (part->flags & ACTOR_PART_FLAG_100)) { + create_status_transparent(actor->hudElementDataIndex, STATUS_KEY_TRANSPARENT); } if (actor->chillOutAmount != 0) { create_status_chill_out(actor->hudElementDataIndex); @@ -1088,8 +1190,8 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { part->rotationPivotOffset.z * actor->scalingFactor); } guTranslateF(mtxTranslate, - partPosX + part->unkOffset[0], - partPosY + part->unkOffset[1], + partPosX + part->palAnimPosOffset[0], + partPosY + part->palAnimPosOffset[1], partPosZ); guRotateF(mtxRotX, part->rotation.x, 1.0f, 0.0f, 0.0f); guRotateF(mtxRotY, part->rotation.y, 0.0f, 1.0f, 0.0f); @@ -1108,19 +1210,19 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { } guMtxCatF(mtxTemp, mtxTranslate, mtxTransform); - part->currentPos.x = partPosX + part->unkOffset[0]; - part->currentPos.y = partPosY + part->unkOffset[1]; + part->currentPos.x = partPosX + part->palAnimPosOffset[0]; + part->currentPos.y = partPosY + part->palAnimPosOffset[1]; part->currentPos.z = partPosZ; if (part->spriteInstanceID >= 0) { if (!isPartner) { func_8025C840(1, part, partYaw, 0); func_8025CCC8(1, part, partYaw, 0); - func_802591EC(1, part, partYaw, mtxTransform, 0); + render_with_adjusted_palettes(SPRITE_MODE_NPC, part, partYaw, mtxTransform, 0); } else { func_8025C840(1, part, clamp_angle(180.0f - partYaw), 0); func_8025CCC8(1, part, clamp_angle(180.0f - partYaw), 0); - func_802591EC(1, part, clamp_angle(180.0f - partYaw), mtxTransform, 0); + render_with_adjusted_palettes(SPRITE_MODE_NPC, part, clamp_angle(180.0f - partYaw), mtxTransform, 0); } _add_part_decoration(part); @@ -1130,7 +1232,7 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { } } -void func_802571F0(s32 flipYaw, Actor* actor) { +void appendGfx_npc_actor_reflection(s32 flipYaw, Actor* actor) { Matrix4f mtxRotX, mtxRotY, mtxRotZ, mtxRotation, mtxScale; Matrix4f mtxPivotOn, mtxPivotOff, mtxTranslate; Matrix4f mtxTemp, mtxTransform, mtxMirror; @@ -1238,8 +1340,8 @@ void func_802571F0(s32 flipYaw, Actor* actor) { part->rotationPivotOffset.z * actor->scalingFactor); } guTranslateF(mtxTranslate, - partPosX + part->unkOffset[0], - partPosY + part->unkOffset[1], + partPosX + part->palAnimPosOffset[0], + partPosY + part->palAnimPosOffset[1], partPosZ - 1.0f); guRotateF(mtxRotX, part->rotation.x, 1.0f, 0.0f, 0.0f); @@ -1264,11 +1366,11 @@ void func_802571F0(s32 flipYaw, Actor* actor) { if (flipYaw == 0) { func_8025C840(1, part, partYaw, 1); func_8025CCC8(1, part, partYaw, 1); - func_802591EC(1, part, partYaw, mtxTransform, 1); + render_with_adjusted_palettes(SPRITE_MODE_NPC, part, partYaw, mtxTransform, 1); } else { func_8025C840(1, part, clamp_angle(partYaw + 180.0f), 1); func_8025CCC8(1, part, clamp_angle(partYaw + 180.0f), 1); - func_802591EC(1, part, clamp_angle(partYaw + 180.0f), mtxTransform, 1); + render_with_adjusted_palettes(SPRITE_MODE_NPC, part, clamp_angle(partYaw + 180.0f), mtxTransform, 1); } part = part->nextPart; @@ -1286,11 +1388,11 @@ void appendGfx_partner_actor(void* data) { void appendGfx_enemy_actor_reflection(void* data) { Actor* actor = data; - func_802571F0(0, actor); + appendGfx_npc_actor_reflection(0, actor); } void appendGfx_partner_actor_reflection(void* data) { - func_802571F0(1, gBattleStatus.partnerActor); + appendGfx_npc_actor_reflection(1, gBattleStatus.partnerActor); } void update_player_actor_shadow(void) { @@ -1352,7 +1454,7 @@ void appendGfx_player_actor(void* arg0) { ActorPart* playerParts; EffectInstance* effect; f32 playerPosX, playerPosY, playerPosZ, playerYaw; - s32 cond1, cond2, cond3, cond4; + s32 animChanged, palChanged, cond3, cond4; u32 lastAnim; player = battleStatus->playerActor; @@ -1366,12 +1468,12 @@ void appendGfx_player_actor(void* arg0) { playerYaw = playerParts->yaw = player->yaw; player->disableEffect->data.disableX->pos.x = playerPosX + - ((player->actorBlueprint->statusIconOffset.x + player->unk_194) * player->scalingFactor); + (player->actorBlueprint->statusIconOffset.x + player->statusIconOffset.x) * player->scalingFactor; player->disableEffect->data.disableX->pos.y = playerPosY + - ((player->actorBlueprint->statusIconOffset.y + player->unk_195) * player->scalingFactor); + (player->actorBlueprint->statusIconOffset.y + player->statusIconOffset.y) * player->scalingFactor; player->disableEffect->data.disableX->pos.z = playerPosZ; - if (!(gBattleStatus.flags1 & BS_FLAGS1_4) && (player->flags & ACTOR_FLAG_8000000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000)) { if (player->disableDismissTimer != 0) { player->disableDismissTimer--; player->disableEffect->data.disableX->pos.y = NPC_DISPOSE_POS_Y; @@ -1384,8 +1486,8 @@ void appendGfx_player_actor(void* arg0) { } if (battleStatus->waterBlockTurnsLeft != 0) { - if ((gBattleStatus.flags1 & BS_FLAGS1_8) || - (!(gBattleStatus.flags1 & BS_FLAGS1_4) && (player->flags & ACTOR_FLAG_8000000))) + if ((gBattleStatus.flags1 & BS_FLAGS1_SHOW_PLAYER_DECORATIONS) || + (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000))) { effect = battleStatus->waterBlockEffect; effect->data.waterBlock->pos.x = playerPosX; @@ -1399,8 +1501,8 @@ void appendGfx_player_actor(void* arg0) { } } if (battleStatus->cloudNineTurnsLeft != 0) { - if ((gBattleStatus.flags1 & BS_FLAGS1_8) || - (!(gBattleStatus.flags1 & BS_FLAGS1_4) && (player->flags & ACTOR_FLAG_8000000))) + if ((gBattleStatus.flags1 & BS_FLAGS1_SHOW_PLAYER_DECORATIONS) || + (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000))) { effect = battleStatus->cloudNineEffect; effect->data.endingDecals->pos.x = playerPosX; @@ -1414,11 +1516,11 @@ void appendGfx_player_actor(void* arg0) { effect->data.endingDecals->pos.z = playerPosZ; } } - if (player->debuff == STATUS_FROZEN) { + if (player->debuff == STATUS_KEY_FROZEN) { effect = player->icePillarEffect; if (player->icePillarEffect != NULL) { - if ((gBattleStatus.flags1 & BS_FLAGS1_8) || - (!(gBattleStatus.flags1 & BS_FLAGS1_4) && (player->flags & ACTOR_FLAG_8000000))) + if ((gBattleStatus.flags1 & BS_FLAGS1_SHOW_PLAYER_DECORATIONS) || + (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000))) { effect->data.icePillar->pos.x = playerPosX - 8.0f; effect->data.icePillar->pos.y = playerPosY; @@ -1437,19 +1539,19 @@ void appendGfx_player_actor(void* arg0) { } else { effect = player->icePillarEffect; if (effect != NULL) { - effect->flags |= 0x10; + effect->flags |= FX_INSTANCE_FLAG_DISMISS; player->icePillarEffect = NULL; } } - if (!(gBattleStatus.flags2 & BS_FLAGS2_10000) && !(gBattleStatus.flags1 & BS_FLAGS1_4) && (player->flags & ACTOR_FLAG_8000000)) { + if (!(gBattleStatus.flags2 & BS_FLAGS2_10000) && !(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000)) { battleStatus->buffEffect->data.partnerBuff->unk_02 = 1; } else { battleStatus->buffEffect->data.partnerBuff->unk_02 = 0; } do { - if (player->debuff == STATUS_SHRINK) { + if (player->debuff == STATUS_KEY_SHRINK) { player->scalingFactor += (0.4 - player->scalingFactor) / 6.0; } else { player->scalingFactor += (1.0 - player->scalingFactor) / 6.0; @@ -1475,10 +1577,10 @@ void appendGfx_player_actor(void* arg0) { } if ((player->flags & ACTOR_FLAG_8000000) && !(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE)) { - if (playerData->curHP > 1) { + if (playerData->curHP > PERIL_THRESHOLD) { remove_status_icon_peril(player->hudElementDataIndex); do { - if (playerData->curHP <= 5) { + if (playerData->curHP <= DANGER_THRESHOLD) { create_status_icon_danger(player->hudElementDataIndex); remove_status_icon_peril(player->hudElementDataIndex); } else { @@ -1494,13 +1596,13 @@ void appendGfx_player_actor(void* arg0) { remove_status_icon_danger(player->hudElementDataIndex); } - if (player->transparentStatus == 0xE) { + if (player->transparentStatus == STATUS_KEY_TRANSPARENT) { playerParts->flags |= ACTOR_PART_FLAG_100; if (FALSE) { // TODO required to match - also whyyyyyy compiler, whyyyyy back: - playerParts->currentAnimation = func_80265D44(8); - create_status_debuff(player->hudElementDataIndex, 8); + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_STOP); + create_status_debuff(player->hudElementDataIndex, STATUS_KEY_STOP); goto end; } } else { @@ -1508,8 +1610,8 @@ void appendGfx_player_actor(void* arg0) { } do { - cond1 = FALSE; - cond2 = FALSE; + animChanged = FALSE; + palChanged = FALSE; cond3 = FALSE; cond4 = FALSE; lastAnim = playerParts->currentAnimation; @@ -1520,51 +1622,51 @@ void appendGfx_player_actor(void* arg0) { && ((partner == NULL) || !(partner->flags & ACTOR_FLAG_NO_ATTACK))) { if (!(gBattleStatus.flags2 & BS_FLAGS2_100000)) { - if ((player->debuff != STATUS_FEAR) - && (player->debuff != STATUS_PARALYZE) - && (player->debuff != STATUS_FROZEN) - && (player->debuff != STATUS_STOP) + if ((player->debuff != STATUS_KEY_FEAR) + && (player->debuff != STATUS_KEY_PARALYZE) + && (player->debuff != STATUS_KEY_FROZEN) + && (player->debuff != STATUS_KEY_STOP) ) { - if ((player->transparentStatus != STATUS_TRANSPARENT) && - (player->stoneStatus != STATUS_STONE) && + if ((player->transparentStatus != STATUS_KEY_TRANSPARENT) && + (player->stoneStatus != STATUS_KEY_STONE) && ((battleStatus->outtaSightActive > 0) || (gBattleStatus.flags2 & BS_FLAGS2_2))) { if (is_ability_active(ABILITY_BERSERKER)) { - playerParts->currentAnimation = func_80265D44(0x13); - } else if (player->debuff == STATUS_SLEEP) { - playerParts->currentAnimation = func_80265D44(0x15); - } else if (player->debuff == STATUS_DIZZY) { - playerParts->currentAnimation = func_80265D44(0x18); + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_INACTIVE_BERSERK); + } else if (player->debuff == STATUS_KEY_SLEEP) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_INACTIVE_SLEEP); + } else if (player->debuff == STATUS_KEY_DIZZY) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_INACTIVE_DIZZY); } else { - playerParts->currentAnimation = func_80265D44(0x12); + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_INACTIVE); } spr_update_player_sprite(PLAYER_SPRITE_MAIN, playerParts->currentAnimation, playerParts->animationRate); - cond1 = TRUE; + animChanged = TRUE; } } - if (player->debuff != STATUS_POISON) { - func_80266DAC(player, 0xC); + if (player->debuff != STATUS_KEY_POISON) { + set_actor_pal_adjustment(player, PAL_ADJUST_PLAYER_DEBUFF); } else { - func_80266DAC(player, 0xD); + set_actor_pal_adjustment(player, PAL_ADJUST_PLAYER_POISON); } - cond2 = TRUE; + palChanged = TRUE; - func_80266EE8(player, 0); + func_80266EE8(player, UNK_PAL_EFFECT_0); cond3 = TRUE; } } - if (player->stoneStatus == STATUS_STONE) { - playerParts->currentAnimation = func_80265D44(0xC); + if (player->stoneStatus == STATUS_KEY_STONE) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_STONE); spr_update_player_sprite(PLAYER_SPRITE_MAIN, playerParts->currentAnimation, playerParts->animationRate); - cond1 = TRUE; + animChanged = TRUE; - if (!cond2) { - func_80266DAC(player, 0); + if (!palChanged) { + set_actor_pal_adjustment(player, PAL_ADJUST_NONE); } - func_80266EE8(player, 0); - cond2 = TRUE; + func_80266EE8(player, UNK_PAL_EFFECT_0); + palChanged = TRUE; enable_status_debuff(player->hudElementDataIndex); cond3 = TRUE; enable_status_2(player->hudElementDataIndex); @@ -1574,151 +1676,151 @@ void appendGfx_player_actor(void* arg0) { enable_status_chill_out(player->hudElementDataIndex); } - if ((player->flags & ACTOR_FLAG_4000000) && !cond1) { + if ((player->flags & ACTOR_FLAG_4000000) && !animChanged) { s32 temp = playerParts->currentAnimation; - if (temp == func_80265D44(0xC)) { - playerParts->currentAnimation = func_80265D44(1); + if (temp == get_player_anim_for_status(STATUS_KEY_STONE)) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_NORMAL); } } if (is_ability_active(ABILITY_BERSERKER)) { - if (!cond2) { - func_80266DAC(player, 8); + if (!palChanged) { + set_actor_pal_adjustment(player, PAL_ADJUST_BERSERK); } - cond2 = TRUE; + palChanged = TRUE; } - if (player->debuff == STATUS_POISON) { - if (!cond2) { - func_80266DAC(player, 6); + if (player->debuff == STATUS_KEY_POISON) { + if (!palChanged) { + set_actor_pal_adjustment(player, PAL_ADJUST_POISON); } - cond2 = TRUE; + palChanged = TRUE; } - if (player->debuff == STATUS_PARALYZE) { - if (!cond2) { - func_80266DAC(player, 7); + if (player->debuff == STATUS_KEY_PARALYZE) { + if (!palChanged) { + set_actor_pal_adjustment(player, PAL_ADJUST_PARALYZE); } - cond2 = TRUE; + palChanged = TRUE; } - if (player->staticStatus == STATUS_STATIC) { - if (!cond2) { - func_80266DAC(player, 4); + if (player->staticStatus == STATUS_KEY_STATIC) { + if (!palChanged) { + set_actor_pal_adjustment(player, PAL_ADJUST_STATIC); } - cond2 = TRUE; + palChanged = TRUE; } if (battleStatus->turboChargeTurnsLeft != 0) { if (!cond3) { - func_80266EE8(player, 0xB); + func_80266EE8(player, UNK_PAL_EFFECT_11); } cond3 = TRUE; } if (is_ability_active(ABILITY_ZAP_TAP)) { - if (!cond2) { - func_80266DAC(player, 4); + if (!palChanged) { + set_actor_pal_adjustment(player, PAL_ADJUST_STATIC); } - cond2 = TRUE; + palChanged = TRUE; } - if (!cond2) { - func_80266DAC(player, 0); + if (!palChanged) { + set_actor_pal_adjustment(player, PAL_ADJUST_NONE); } if (!cond3) { - func_80266EE8(player, 0); + func_80266EE8(player, UNK_PAL_EFFECT_0); } if (player->flags & ACTOR_FLAG_4000000) { if (battleStatus->hustleTurns != 0) { - playerParts->currentAnimation = func_80265D44(0x19); - cond1 = TRUE; - } else if (!cond1) { - s32 temp = func_80265D44(1); + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_HUSTLE); + animChanged = TRUE; + } else if (!animChanged) { + s32 temp = get_player_anim_for_status(STATUS_KEY_NORMAL); do { - if (temp == func_80265D44(0x19)) { - playerParts->currentAnimation = func_80265D44(1); + if (temp == get_player_anim_for_status(STATUS_KEY_HUSTLE)) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_NORMAL); } } while (0); // required to match } do { - if (player->debuff == STATUS_FROZEN) { - if (!cond1) { - playerParts->currentAnimation = func_80265D44(7); - cond1 = TRUE; + if (player->debuff == STATUS_KEY_FROZEN) { + if (!animChanged) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_FROZEN); + animChanged = TRUE; } - } else if (player->debuff != STATUS_SHRINK) { - if (player->debuff == STATUS_POISON) { - if (!cond1) { - playerParts->currentAnimation = func_80265D44(9); - cond1 = TRUE; + } else if (player->debuff != STATUS_KEY_SHRINK) { + if (player->debuff == STATUS_KEY_POISON) { + if (!animChanged) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_POISON); + animChanged = TRUE; } - } else if (player->debuff == STATUS_DIZZY) { - if (!cond1) { - playerParts->currentAnimation = func_80265D44(4); - cond1 = TRUE; + } else if (player->debuff == STATUS_KEY_DIZZY) { + if (!animChanged) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_DIZZY); + animChanged = TRUE; } - } else if (player->debuff == STATUS_SLEEP) { - if (!cond1) { - playerParts->currentAnimation = func_80265D44(6); - cond1 = TRUE; + } else if (player->debuff == STATUS_KEY_SLEEP) { + if (!animChanged) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_SLEEP); + animChanged = TRUE; } - } else if (player->debuff == STATUS_PARALYZE) { - if (!cond1) { - playerParts->currentAnimation = func_80265D44(5); - cond1 = TRUE; + } else if (player->debuff == STATUS_KEY_PARALYZE) { + if (!animChanged) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_PARALYZE); + animChanged = TRUE; } } else { if (player_team_is_ability_active(player, ABILITY_BERSERKER)) { - if (!cond1) { - playerParts->currentAnimation = func_80265D44(0x10); - cond1 = TRUE; + if (!animChanged) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_BERSERK); + animChanged = TRUE; } } } } if (is_ability_active(ABILITY_ZAP_TAP)) { - if (!cond1) { - playerParts->currentAnimation = func_80265D44(0xB); - cond1 = TRUE; + if (!animChanged) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_STATIC); + animChanged = TRUE; } - player->staticStatus = STATUS_STATIC; + player->staticStatus = STATUS_KEY_STATIC; player->staticDuration = 127; - } else if ((player->staticStatus == STATUS_STATIC) && !cond1) { - playerParts->currentAnimation = func_80265D44(0xB); - cond1 = TRUE; + } else if ((player->staticStatus == STATUS_KEY_STATIC) && !animChanged) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_STATIC); + animChanged = TRUE; } - if ((player->transparentStatus == STATUS_TRANSPARENT) || (playerParts->flags & ACTOR_PART_FLAG_100)) { - if (!cond1) { - playerParts->currentAnimation = func_80265D44(0xE); - cond1 = TRUE; + if ((player->transparentStatus == STATUS_KEY_TRANSPARENT) || (playerParts->flags & ACTOR_PART_FLAG_100)) { + if (!animChanged) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_TRANSPARENT); + animChanged = TRUE; } - create_status_transparent(player->hudElementDataIndex, 0xE); + create_status_transparent(player->hudElementDataIndex, STATUS_KEY_TRANSPARENT); } - if (!cond1) { - playerParts->currentAnimation = func_80265D44(1); + if (!animChanged) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_NORMAL); } } while (0); // needed to match } - if (!(gBattleStatus.flags1 & BS_FLAGS1_4) && (player->flags & ACTOR_FLAG_8000000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000)) { if (!cond4) { do { - if (player->debuff == STATUS_POISON) { - create_status_debuff(player->hudElementDataIndex, player->debuff); - } else if (player->debuff == STATUS_SLEEP) { - create_status_debuff(player->hudElementDataIndex, player->debuff); - } else if (player->debuff == STATUS_PARALYZE) { - create_status_debuff(player->hudElementDataIndex, player->debuff); - } else if (player->debuff == STATUS_DIZZY) { - create_status_debuff(player->hudElementDataIndex, player->debuff); - } else if (player->debuff == STATUS_SHRINK) { - create_status_debuff(player->hudElementDataIndex, player->debuff); - } else if (player->debuff == STATUS_FROZEN) { - create_status_debuff(player->hudElementDataIndex, player->debuff); + if (player->debuff == STATUS_KEY_POISON) { + create_status_debuff(player->hudElementDataIndex, STATUS_KEY_POISON); + } else if (player->debuff == STATUS_KEY_SLEEP) { + create_status_debuff(player->hudElementDataIndex, STATUS_KEY_SLEEP); + } else if (player->debuff == STATUS_KEY_PARALYZE) { + create_status_debuff(player->hudElementDataIndex, STATUS_KEY_PARALYZE); + } else if (player->debuff == STATUS_KEY_DIZZY) { + create_status_debuff(player->hudElementDataIndex, STATUS_KEY_DIZZY); + } else if (player->debuff == STATUS_KEY_SHRINK) { + create_status_debuff(player->hudElementDataIndex, STATUS_KEY_SHRINK); + } else if (player->debuff == STATUS_KEY_FROZEN) { + create_status_debuff(player->hudElementDataIndex, STATUS_KEY_FROZEN); } } while (0); // required to match - if (!cond4 && (is_ability_active(ABILITY_ZAP_TAP) || (player->staticStatus == STATUS_STATIC))) { - create_status_static(player->hudElementDataIndex, 0xB); + if (!cond4 && (is_ability_active(ABILITY_ZAP_TAP) || (player->staticStatus == STATUS_KEY_STATIC))) { + create_status_static(player->hudElementDataIndex, STATUS_KEY_STATIC); } } - if ((player->transparentStatus == STATUS_TRANSPARENT) || (playerParts->flags & ACTOR_PART_FLAG_100)) { - create_status_transparent(player->hudElementDataIndex, 0xE); + if ((player->transparentStatus == STATUS_KEY_TRANSPARENT) || (playerParts->flags & ACTOR_PART_FLAG_100)) { + create_status_transparent(player->hudElementDataIndex, STATUS_KEY_TRANSPARENT); } } else { enable_status_debuff(player->hudElementDataIndex); @@ -1727,11 +1829,11 @@ void appendGfx_player_actor(void* arg0) { enable_status_chill_out(player->hudElementDataIndex); } - if (player->debuff != STATUS_STOP) { - if (!cond1) { + if (player->debuff != STATUS_KEY_STOP) { + if (!animChanged) { s32 temp = playerParts->currentAnimation; - if (temp == func_80265D44(8)) { - playerParts->currentAnimation = func_80265D44(1); + if (temp == get_player_anim_for_status(STATUS_KEY_STOP)) { + playerParts->currentAnimation = get_player_anim_for_status(STATUS_KEY_NORMAL); } } } else { @@ -1743,14 +1845,14 @@ end: playerPosX, playerPosY, playerPosZ, player->actorBlueprint->statusIconOffset.x * player->scalingFactor, player->actorBlueprint->statusIconOffset.y * player->scalingFactor, - player->actorBlueprint->statusMessageOffset.x * player->scalingFactor, - player->actorBlueprint->statusMessageOffset.y * player->scalingFactor); + player->actorBlueprint->statusTextOffset.x * player->scalingFactor, + player->actorBlueprint->statusTextOffset.y * player->scalingFactor); set_status_icons_offset(player->hudElementDataIndex, player->size.y * player->scalingFactor, player->size.x * player->scalingFactor); - playerPosX += playerParts->unkOffset[0]; - playerPosY += playerParts->unkOffset[1]; + playerPosX += playerParts->palAnimPosOffset[0]; + playerPosY += playerParts->palAnimPosOffset[1]; playerParts->currentPos.x = playerPosX; playerParts->currentPos.y = playerPosY; @@ -1787,7 +1889,7 @@ end: } func_8025C840(0, playerParts, clamp_angle(playerYaw + 180.0f), 0); func_8025CCC8(0, playerParts, clamp_angle(playerYaw + 180.0f), 0); - func_802591EC(0, playerParts, clamp_angle(playerYaw + 180.0f), mtxTransform, 0); + render_with_adjusted_palettes(SPRITE_MODE_PLAYER, playerParts, clamp_angle(playerYaw + 180.0f), mtxTransform, 0); _add_part_decoration(playerParts); } @@ -1801,9 +1903,9 @@ void appendGfx_player_actor_reflection(void* arg0) { f32 dx, dy, dz; dx = player->currentPos.x + player->headOffset.x; - dx += part->unkOffset[0]; + dx += part->palAnimPosOffset[0]; dy = player->currentPos.y + player->headOffset.y; - dy += part->unkOffset[1]; + dy += part->palAnimPosOffset[1]; dz = player->currentPos.z + player->headOffset.z - 5.0f; part->yaw = playerYaw; @@ -1837,10 +1939,10 @@ void appendGfx_player_actor_reflection(void* arg0) { func_8025C840(0, part, clamp_angle(playerYaw + 180.0f), 1); func_8025CCC8(0, part, clamp_angle(playerYaw + 180.0f), 1); - func_802591EC(0, part, clamp_angle(playerYaw + 180.0f), mtxTransform, 1); + render_with_adjusted_palettes(SPRITE_MODE_PLAYER, part, clamp_angle(playerYaw + 180.0f), mtxTransform, TRUE); } -s32 func_802591EC(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +s32 render_with_adjusted_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { s32 opacity; s32 sprDrawOpts; @@ -1852,10 +1954,10 @@ s32 func_802591EC(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { opacity = part->opacity; } if (part->flags & ACTOR_PART_FLAG_100) { - opacity = opacity * 120 / 255; sprDrawOpts = DRAW_SPRITE_OVERRIDE_ALPHA; + opacity = opacity * 120 / 255; } - if (arg0 == 0) { + if (isNpcSprite == SPRITE_MODE_PLAYER) { if (opacity == 255) { spr_draw_player_sprite(PLAYER_SPRITE_MAIN, yaw, 0, NULL, mtx); } else { @@ -1871,48 +1973,48 @@ s32 func_802591EC(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { return 0; } - switch (part->decorationTable->unk_6C0) { - case 0: - func_80259A48(arg0, part, yaw, mtx, arg4); + switch (part->decorationTable->paletteAdjustment) { + case PAL_ADJUST_NONE: + render_without_adjusted_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case 3: - func_80259AAC(arg0, part, yaw, mtx, arg4); + case PAL_ADJUST_SLEEP: + render_with_sleep_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case 4: - func_80259D9C(arg0, part, yaw, mtx, arg4); + case PAL_ADJUST_STATIC: + render_with_static_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case 5: - func_8025A2C4(arg0, part, yaw, mtx, arg4); + case PAL_ADJUST_FEAR: + render_with_fear_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case 6: - func_8025A50C(arg0, part, yaw, mtx, arg4); + case PAL_ADJUST_POISON: + render_with_poison_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case 7: - func_8025A74C(arg0, part, yaw, mtx, arg4); + case PAL_ADJUST_PARALYZE: + render_with_paralyze_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case 8: - func_8025AA80(arg0, part, yaw, mtx, arg4); + case PAL_ADJUST_BERSERK: + render_with_berserk_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case 9: - func_8025AD90(arg0, part, yaw, mtx, arg4); + case PAL_ADJUST_WATT_IDLE: + render_with_watt_idle_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case 10: - func_8025B1A8(arg0, part, yaw, mtx, arg4); + case PAL_ADJUST_WATT_ATTACK: + render_with_watt_attack_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case 12: - func_8025B5C0(arg0, part, yaw, mtx, arg4, 0); + case PAL_ADJUST_PLAYER_DEBUFF: + render_with_player_debuff_palettes(isNpcSprite, part, yaw, mtx, skipAnimation, FALSE); break; - case 13: - func_8025B5C0(arg0, part, yaw, mtx, arg4, 1); + case PAL_ADJUST_PLAYER_POISON: + render_with_player_debuff_palettes(isNpcSprite, part, yaw, mtx, skipAnimation, TRUE); break; - case 14: - func_8025BAA0(arg0, part, yaw, 0, mtx, arg4); + case PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS: + render_with_pal_blending(isNpcSprite, part, yaw, FALSE, mtx, skipAnimation); break; - case 15: - func_8025BAA0(arg0, part, yaw, 1, mtx, arg4); + case PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS: + render_with_pal_blending(isNpcSprite, part, yaw, TRUE, mtx, skipAnimation); break; - case 16: - func_8025C120(arg0, part, yaw, mtx, arg4); + case PAL_ADJUST_BLEND_PALSETS: + render_with_palset_blending(isNpcSprite, part, yaw, mtx, skipAnimation); break; default: break; @@ -1926,12 +2028,12 @@ void func_80259494(ActorPart* part) { PAL_PTR dest; s32 i, j; - for (i = 0; i < decor->numSpritePalettes; i++) { - if (decor->unk_6D4[i] != NULL) { - src = decor->unk_6D4[i]; + for (i = 0; i < decor->originalPalettesCount; i++) { + if (decor->adjustedPalettes[i] != NULL) { + src = decor->adjustedPalettes[i]; dest = decor->copiedPalettes[1][i]; - for (j = 0; j < ARRAY_COUNT(decor->copiedPalettes[1][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *dest = *src | 0xFFFE; src++; dest++; @@ -1960,14 +2062,14 @@ void func_8025950C(ActorPart* part, s32 yaw, Matrix4f mtx) { } if (decor->unk_768 != 0) { - decor->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 0x10); - decor->numSpritePalettes = 0; - while (decor->spritePalettes[decor->numSpritePalettes] != (PAL_PTR) -1) { - decor->numSpritePalettes++; + decor->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 0x10); + decor->originalPalettesCount = 0; + while (decor->originalPalettesList[decor->originalPalettesCount] != (PAL_PTR) -1) { + decor->originalPalettesCount++; } - for (i = 0; i < decor->numSpritePalettes; i++) { - src = decor->spritePalettes[i]; + for (i = 0; i < decor->originalPalettesCount; i++) { + src = decor->originalPalettesList[i]; dest = decor->copiedPalettes[0][i]; if (src != NULL) { for (j = 0; j < ARRAY_COUNT(decor->copiedPalettes[0][i]); j++) { @@ -1978,8 +2080,8 @@ void func_8025950C(ActorPart* part, s32 yaw, Matrix4f mtx) { } } - for (i = 0; i < decor->numSpritePalettes; i++) { - decor->unk_6D4[i] = decor->copiedPalettes[0][i]; + for (i = 0; i < decor->originalPalettesCount; i++) { + decor->adjustedPalettes[i] = decor->copiedPalettes[0][i]; } func_802596C0(part, yaw, mtx); @@ -2007,7 +2109,7 @@ void func_802596C0(ActorPart* part, s32 yaw, Matrix4f mtx) { func_80259494(part); spr_draw_npc_sprite(part->spriteInstanceID | DRAW_SPRITE_OVERRIDE_PALETTES | idMask, yaw, opacity, decorationTable->unk_76C, mtx); } else { - spr_draw_npc_sprite(part->spriteInstanceID | DRAW_SPRITE_OVERRIDE_PALETTES | idMask, yaw, opacity, decorationTable->unk_6D4, mtx); + spr_draw_npc_sprite(part->spriteInstanceID | DRAW_SPRITE_OVERRIDE_PALETTES | idMask, yaw, opacity, decorationTable->adjustedPalettes, mtx); } } @@ -2029,17 +2131,17 @@ void func_802597B0(ActorPart* part, s32 yaw, Matrix4f mtx) { } if (decor->unk_768 != 0) { - decor->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decor->numSpritePalettes = 0; + decor->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decor->originalPalettesCount = 0; - while (decor->spritePalettes[decor->numSpritePalettes] != (PAL_PTR) -1) { - decor->numSpritePalettes++; + while (decor->originalPalettesList[decor->originalPalettesCount] != (PAL_PTR) -1) { + decor->originalPalettesCount++; } - for (i = 0; i < decor->numSpritePalettes; i++) { - src = decor->spritePalettes[i]; + for (i = 0; i < decor->originalPalettesCount; i++) { + src = decor->originalPalettesList[i]; dest = decor->copiedPalettes[0][i]; - if (decor->spritePalettes[i] != NULL) { + if (decor->originalPalettesList[i] != NULL) { for (j = 0; j < ARRAY_COUNT(decor->copiedPalettes[0][i]); j++) { *dest = *src; dest++; @@ -2047,8 +2149,8 @@ void func_802597B0(ActorPart* part, s32 yaw, Matrix4f mtx) { } } } - for (i = 0; i < decor->numSpritePalettes; i++) { - decor->unk_6D4[i] = decor->copiedPalettes[0][i]; + for (i = 0; i < decor->originalPalettesCount; i++) { + decor->adjustedPalettes[i] = decor->copiedPalettes[0][i]; } func_8025995C(part, yaw, mtx); } else { @@ -2076,18 +2178,18 @@ void func_8025995C(ActorPart* part, s32 yaw, Matrix4f mtx) { spr_draw_player_sprite(PLAYER_SPRITE_MAIN | idMask, yaw, opacity, decorationTable->unk_76C, mtx); } else { idMask |= DRAW_SPRITE_OVERRIDE_PALETTES; - spr_draw_player_sprite(PLAYER_SPRITE_MAIN | idMask, yaw, opacity, decorationTable->unk_6D4, mtx); + spr_draw_player_sprite(PLAYER_SPRITE_MAIN | idMask, yaw, opacity, decorationTable->adjustedPalettes, mtx); } } -void func_80259A48(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +void render_without_adjusted_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decorationTable = part->decorationTable; - if (decorationTable->unk_6C1 != 0) { + if (decorationTable->resetPalAdjust) { part->verticalStretch = 1; - part->unkOffset[0] = 0; - part->unkOffset[1] = 0; - decorationTable->unk_6C1 = 0; + part->palAnimPosOffset[0] = 0; + part->palAnimPosOffset[1] = 0; + decorationTable->resetPalAdjust = FALSE; } if (isNpcSprite == SPRITE_MODE_PLAYER) { func_802597B0(part, yaw, mtx); @@ -2096,49 +2198,50 @@ void func_80259A48(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 } } -void func_80259AAC(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +void render_with_sleep_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decorationTable = part->decorationTable; s32 i, j; - if (decorationTable->unk_6C1 != 0) { + if (decorationTable->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } } else { - decorationTable->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } } - decorationTable->unk_6C2 = 0; - decorationTable->unk_6C1 = 0; + decorationTable->palAnimState = 0; + decorationTable->resetPalAdjust = FALSE; } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - u16* palIn = decorationTable->spritePalettes[i]; - u16* palOut = decorationTable->copiedPalettes[0][i]; - decorationTable->unk_6D4[i] = palOut; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + PAL_PTR palIn = decorationTable->originalPalettesList[i]; + PAL_PTR palOut = decorationTable->copiedPalettes[0][i]; + decorationTable->adjustedPalettes[i] = palOut; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { - u8 r = ((*palIn >> 11) & 0x1F); - u8 g = ((*palIn >> 6) & 0x1F); - u8 b = ((*palIn >> 1) & 0x1F); - u8 a = *palIn & 1; + for (j = 0; j < SPR_PAL_SIZE; j++) { + u8 r = UNPACK_PAL_R(*palIn); + u8 g = UNPACK_PAL_G(*palIn); + u8 b = UNPACK_PAL_B(*palIn); + u8 a = UNPACK_PAL_A(*palIn); palIn++; + // make colors darker and bluer r *= 0.2; g *= 0.4; b *= 0.7; - *palOut++ = (r << 11) | (g << 6) | (b << 1) | a; + *palOut++ = PACK_PAL_RGBA(r, g, b, a); } } } - switch (decorationTable->unk_6C2) { + switch (decorationTable->palAnimState) { case 0: case 1: if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -2150,106 +2253,110 @@ void func_80259AAC(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 } } -void func_80259D9C(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +void render_with_static_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decorationTable = part->decorationTable; - u16* palIn; - u16* palOut; + PAL_PTR palIn; + PAL_PTR palOut; s32 i, j; - s32 temp; + s32 paletteType; + s32 staticPalIdx; - if (decorationTable->unk_6C1 != 0) { + if (decorationTable->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } - decorationTable->spriteColorVariations = 6; + decorationTable->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; } else { - decorationTable->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } decorationTable->spriteColorVariations = spr_get_npc_color_variations(part->currentAnimation >> 16); } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - palIn = decorationTable->spritePalettes[i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + palIn = decorationTable->originalPalettesList[i]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } - decorationTable->unk_6C2 = -2; - decorationTable->unk_6CA = 0; - decorationTable->unk_6C1 = 0; - decorationTable->unk_6C8 = 0; + decorationTable->palAnimState = -2; + decorationTable->palBlendAlpha = 0; + decorationTable->resetPalAdjust = FALSE; + decorationTable->nextPalTime = 0; } - if (arg4 == 0) { - if (decorationTable->unk_6C8 == 0) { - decorationTable->unk_6C2 += 2; - if (D_80284080[decorationTable->unk_6C2] == 255) { - decorationTable->unk_6C2 = 0; + + if (!skipAnimation) { + if (decorationTable->nextPalTime == 0) { + decorationTable->palAnimState += 2; + if (StaticPalettesAnim[decorationTable->palAnimState] == PAL_ANIM_END) { + decorationTable->palAnimState = 0; } - decorationTable->unk_6C8 = D_80284080[decorationTable->unk_6C2 + 1] / 2; + decorationTable->nextPalTime = StaticPalettesAnim[decorationTable->palAnimState + 1] / 2; } - temp = D_80284080[decorationTable->unk_6C2]; - decorationTable->unk_6C8--; + paletteType = StaticPalettesAnim[decorationTable->palAnimState]; + decorationTable->nextPalTime--; } else { - temp = D_80284080[decorationTable->unk_6C2]; + paletteType = StaticPalettesAnim[decorationTable->palAnimState]; } - switch (temp) { - case 0: + + switch (paletteType) { + case STATIC_DEFAULT: // no change for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->spritePalettes[i]; + palIn = decorationTable->originalPalettesList[i]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } break; - case 1: + case STATIC_BRIGHT: // bright yellow for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->spritePalettes[decorationTable->spriteColorVariations * 3 + i]; + staticPalIdx = decorationTable->spriteColorVariations * STANDARD_PAL_STATIC + i; + palIn = decorationTable->originalPalettesList[staticPalIdx]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } break; - case 2: + case STATIC_DARK: // darkened via code for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->spritePalettes[i]; + palIn = decorationTable->originalPalettesList[i]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { - u8 r = ((*palIn >> 11) & 0x1F); - u8 g = ((*palIn >> 6) & 0x1F); - u8 b = ((*palIn >> 1) & 0x1F); - u8 a = *palIn & 1; + for (j = 0; j < SPR_PAL_SIZE; j++) { + u8 r = UNPACK_PAL_R(*palIn); + u8 g = UNPACK_PAL_G(*palIn); + u8 b = UNPACK_PAL_B(*palIn); + u8 a = UNPACK_PAL_A(*palIn); palIn++; r *= 0.1; g *= 0.1; b *= 0.1; - *palOut++ = (r << 11) | (g << 6) | (b << 1) | a; + *palOut++ = PACK_PAL_RGBA(r, g, b, a); } } } break; } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - decorationTable->unk_6D4[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; } if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -2258,65 +2365,71 @@ void func_80259D9C(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 func_802596C0(part, yaw, mtx); } - if (arg4 == 0) { - decorationTable->unk_6CA--; + if (!skipAnimation) { + decorationTable->palBlendAlpha--; } } -void func_8025A2C4(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +void render_with_fear_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decorationTable = part->decorationTable; - u16* palIn; - u16* palOut; + PAL_PTR palIn; + PAL_PTR palOut; s32 i, j; s32 temp; - if (decorationTable->unk_6C1 != 0) { + if (decorationTable->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 2; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 2; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } } else { - decorationTable->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } } - decorationTable->unk_6C2 = 0; - decorationTable->unk_6CA = 0; - decorationTable->unk_6C8 = 0; - decorationTable->unk_6C1 = 0; + decorationTable->palAnimState = 0; + decorationTable->palBlendAlpha = 0; + decorationTable->nextPalTime = 0; + decorationTable->resetPalAdjust = FALSE; } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - palIn = decorationTable->spritePalettes[i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + palIn = decorationTable->originalPalettesList[i]; palOut = decorationTable->copiedPalettes[0][i]; - decorationTable->unk_6D4[i] = palOut; + decorationTable->adjustedPalettes[i] = palOut; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { - u8 r = ((*palIn >> 11) / 2) & 0xF; - u8 g = ((*palIn >> 6) / 2) & 0xF; - u8 b = ((*palIn >> 1) / 2) & 0xF; - u8 a = *palIn & 1; + for (j = 0; j < SPR_PAL_SIZE; j++) { + u8 r = UNPACK_PAL_R(*palIn); + u8 g = UNPACK_PAL_G(*palIn); + u8 b = UNPACK_PAL_B(*palIn); + u8 a = UNPACK_PAL_A(*palIn); palIn++; - *palOut++ = (r << 11) | (g << 6) | (b << 1) | a; + + // darken the color + r /= 2; + g /= 2; + b /= 2; + + *palOut++ = PACK_PAL_RGBA(r, g, b, a); } } } - if (decorationTable->unk_6C8 <= 0) { - part->unkOffset[0] = D_802840B4[abs(decorationTable->unk_6C8)]; - if (part->unkOffset[0] == 255) { - part->unkOffset[0] = 0; - decorationTable->unk_6C8 = rand_int(60) + 30; + if (decorationTable->nextPalTime <= 0) { + part->palAnimPosOffset[0] = FearPaletteAnimXOffsets[abs(decorationTable->nextPalTime)]; + if (part->palAnimPosOffset[0] == PAL_ANIM_END) { + part->palAnimPosOffset[0] = 0; + decorationTable->nextPalTime = rand_int(60) + 30; } } - if (arg4 == 0) { - decorationTable->unk_6C8--; + if (!skipAnimation) { + decorationTable->nextPalTime--; } if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -2326,55 +2439,55 @@ void func_8025A2C4(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 } } -void func_8025A50C(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +void render_with_poison_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decorationTable = part->decorationTable; - u16* palIn; - u16* palOut; + PAL_PTR palIn; + PAL_PTR palOut; s32 i, j; - if (decorationTable->unk_6C1 != 0) { + if (decorationTable->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } decorationTable->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; } else { - decorationTable->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } decorationTable->spriteColorVariations = spr_get_npc_color_variations(part->currentAnimation >> 16); } - decorationTable->unk_6C2 = 0; - decorationTable->unk_6CA = 0; - decorationTable->unk_6C1 = 0; + decorationTable->palAnimState = 0; + decorationTable->palBlendAlpha = 0; + decorationTable->resetPalAdjust = FALSE; } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - palIn = decorationTable->spritePalettes[i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + palIn = decorationTable->originalPalettesList[i]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->spritePalettes[decorationTable->spriteColorVariations + i]; + palIn = decorationTable->originalPalettesList[decorationTable->spriteColorVariations + i]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - decorationTable->unk_6D4[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; } if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -2384,41 +2497,42 @@ void func_8025A50C(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 } } -void func_8025A74C(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +void render_with_paralyze_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decorationTable = part->decorationTable; - u16* palIn; - u16* palOut; + PAL_PTR palIn; + PAL_PTR palOut; s32 i, j; - if (decorationTable->unk_6C1 != 0) { + if (decorationTable->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } } else { - decorationTable->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } } - decorationTable->unk_6C2 = 0; - decorationTable->unk_6C8 = 0; - decorationTable->unk_6CA = 10; - decorationTable->unk_6C1 = 0; + decorationTable->palAnimState = 0; + decorationTable->nextPalTime = 0; + decorationTable->palBlendAlpha = 10; + decorationTable->resetPalAdjust = FALSE; } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - palIn = decorationTable->spritePalettes[i]; + + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + palIn = decorationTable->originalPalettesList[i]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { - u8 r = ((*palIn >> 11) & 0x1F); - u8 g = ((*palIn >> 6) & 0x1F); - u8 b = ((*palIn >> 1) & 0x1F); - u8 a = *palIn & 1; + for (j = 0; j < SPR_PAL_SIZE; j++) { + u8 r = UNPACK_PAL_R(*palIn); + u8 g = UNPACK_PAL_G(*palIn); + u8 b = UNPACK_PAL_B(*palIn); + u8 a = UNPACK_PAL_A(*palIn); palIn++; r += 4; if (r > 31) { @@ -2433,31 +2547,31 @@ void func_8025A74C(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 b = 31; } - *palOut++ = (r << 11) | (g << 6) | (b << 1) | a; + *palOut++ = PACK_PAL_RGBA(r, g, b, a); } } } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - decorationTable->unk_6D4[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; } - switch (decorationTable->unk_6C2) { + switch (decorationTable->palAnimState) { case 0: case 1: - if (decorationTable->unk_6C8 <= 0) { - part->unkOffset[1] = D_802840DC[abs(decorationTable->unk_6C8)]; - if (part->unkOffset[1] == 255) { - part->unkOffset[1] = 0; - decorationTable->unk_6C8 = rand_int(60) + 30; + if (decorationTable->nextPalTime <= 0) { + part->palAnimPosOffset[1] = ParalyzePaletteAnimXOffsets[abs(decorationTable->nextPalTime)]; + if (part->palAnimPosOffset[1] == PAL_ANIM_END) { + part->palAnimPosOffset[1] = 0; + decorationTable->nextPalTime = rand_int(60) + 30; } } - if (arg4 == 0) { - decorationTable->unk_6C8--; + if (!skipAnimation) { + decorationTable->nextPalTime--; } - switch (decorationTable->unk_6CA) { + switch (decorationTable->palBlendAlpha) { case 10: case 12: if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -2467,7 +2581,7 @@ void func_8025A74C(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 } break; case 13: - decorationTable->unk_6CA = 0; + decorationTable->palBlendAlpha = 0; // fallthrough default: if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -2478,60 +2592,62 @@ void func_8025A74C(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 break; } - if (arg4 == 0) { - decorationTable->unk_6CA++; + if (!skipAnimation) { + decorationTable->palBlendAlpha++; } break; } } -void func_8025AA80(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +void render_with_berserk_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decorationTable = part->decorationTable; s32 i, j; - if (decorationTable->unk_6C1 != 0) { + if (decorationTable->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } - decorationTable->unk_6C2 = 0; + decorationTable->palAnimState = 0; } else { - decorationTable->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } - decorationTable->unk_6C2 = 0; + decorationTable->palAnimState = 0; } - decorationTable->unk_6CA = 0; - decorationTable->unk_6C2 = 0; - decorationTable->unk_6C1 = 0; + decorationTable->palBlendAlpha = 0; + decorationTable->palAnimState = 0; + decorationTable->resetPalAdjust = FALSE; } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - PAL_PTR palIn = decorationTable->spritePalettes[i]; + // adjust each palette + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + PAL_PTR palIn = decorationTable->originalPalettesList[i]; PAL_PTR palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { - u8 r = ((*palIn >> 11) & 0x1F); - u8 g = ((*palIn >> 6) & 0x1F); - u8 b = ((*palIn >> 1) & 0x1F); - u8 a = *palIn & 1; + for (j = 0; j < SPR_PAL_SIZE; j++) { + u8 r = UNPACK_PAL_R(*palIn); + u8 g = UNPACK_PAL_G(*palIn); + u8 b = UNPACK_PAL_B(*palIn); + u8 a = UNPACK_PAL_A(*palIn); palIn++; + // make each color darker and redder r *= 0.8; g *= 0.6; b *= 0.1; - *palOut++ = (r << 11) | (g << 6) | (b << 1) | a; + *palOut++ = PACK_PAL_RGBA(r, g, b, a); } } } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - decorationTable->unk_6D4[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; } if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -2541,87 +2657,96 @@ void func_8025AA80(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 } } -void func_8025AD90(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +void render_with_watt_idle_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decorationTable = part->decorationTable; PAL_PTR palIn; PAL_PTR palOut; s32 i, j; - s32 temp; + s32 palIdx; + s32 brightnessLevel; - if (decorationTable->unk_6C1 != 0) { + if (decorationTable->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } - decorationTable->spriteColorVariations = 6; + decorationTable->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; } else { - decorationTable->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } decorationTable->spriteColorVariations = spr_get_npc_color_variations(part->currentAnimation >> 16); } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - palIn = decorationTable->spritePalettes[i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + palIn = decorationTable->originalPalettesList[i]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } - decorationTable->unk_6C2 = -2; - decorationTable->unk_6CA = 0; - decorationTable->unk_6C1 = 0; - decorationTable->unk_6C8 = 0; + decorationTable->palAnimState = -2; + decorationTable->palBlendAlpha = 0; + decorationTable->resetPalAdjust = FALSE; + decorationTable->nextPalTime = 0; } - if (arg4 == 0) { - if (decorationTable->unk_6C8 == 0) { - decorationTable->unk_6C2 += 2; - if (D_80284104[decorationTable->unk_6C2] == 255) { - decorationTable->unk_6C2 = 0; + + if (!skipAnimation) { + if (decorationTable->nextPalTime == 0) { + decorationTable->palAnimState += 2; + if (WattIdlePalettesAnim[decorationTable->palAnimState] == PAL_ANIM_END) { + decorationTable->palAnimState = 0; } - decorationTable->unk_6C8 = D_80284104[decorationTable->unk_6C2 + 1] / 2; + decorationTable->nextPalTime = WattIdlePalettesAnim[decorationTable->palAnimState + 1] / 2; } - temp = D_80284104[decorationTable->unk_6C2]; - decorationTable->unk_6C8--; + brightnessLevel = WattIdlePalettesAnim[decorationTable->palAnimState]; + decorationTable->nextPalTime--; } else { - temp = D_80284104[decorationTable->unk_6C2]; + //@bug if only called with skipAnimation set, palAnimPos will always be -2 and the array access is OOB + brightnessLevel = WattIdlePalettesAnim[decorationTable->palAnimState]; } - switch (temp) { - case 0: + + switch (brightnessLevel) { + case WATT_DEFAULT: for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->spritePalettes[i]; + // use watt's base palettes + palIn = decorationTable->originalPalettesList[i]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } break; - case 1: + case WATT_BRIGHTEST: for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->spritePalettes[decorationTable->spriteColorVariations * 5 + i]; + // use watt's Brightest palettes + palIdx = decorationTable->spriteColorVariations * SPR_PAL_BattleWatt_Brightest + i; + palIn = decorationTable->originalPalettesList[palIdx]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } break; - case 2: + case WATT_BRIGHTER: for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->spritePalettes[decorationTable->spriteColorVariations * 6 + i]; + // use watt's Brighter palettes + palIdx = decorationTable->spriteColorVariations * SPR_PAL_BattleWatt_Brighter + i; + palIn = decorationTable->originalPalettesList[palIdx]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } @@ -2629,8 +2754,8 @@ void func_8025AD90(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 break; } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - decorationTable->unk_6D4[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; } if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -2639,92 +2764,100 @@ void func_8025AD90(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 func_802596C0(part, yaw, mtx); } - if (arg4 == 0) { - decorationTable->unk_6CA--; + if (!skipAnimation) { + decorationTable->palBlendAlpha--; } } -void func_8025B1A8(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +void render_with_watt_attack_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decorationTable = part->decorationTable; - u16* palIn; - u16* palOut; + PAL_PTR palIn; + PAL_PTR palOut; s32 i, j; - s32 temp; + s32 palIdx; + s32 brightness; - if (decorationTable->unk_6C1 != 0) { + if (decorationTable->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } - decorationTable->spriteColorVariations = 6; + decorationTable->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; } else { - decorationTable->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } decorationTable->spriteColorVariations = spr_get_npc_color_variations(part->currentAnimation >> 16); } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - palIn = decorationTable->spritePalettes[i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + palIn = decorationTable->originalPalettesList[i]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } - decorationTable->unk_6C2 = -2; - decorationTable->unk_6CA = 0; - decorationTable->unk_6C1 = 0; - decorationTable->unk_6C8 = 0; + decorationTable->palAnimState = -2; + decorationTable->palBlendAlpha = 0; + decorationTable->resetPalAdjust = FALSE; + decorationTable->nextPalTime = 0; } - if (arg4 == 0) { - if (decorationTable->unk_6C8 == 0) { - decorationTable->unk_6C2 += 2; - if (D_80284120[decorationTable->unk_6C2] == 255) { - decorationTable->unk_6C2 = 0; + + if (!skipAnimation) { + if (decorationTable->nextPalTime == 0) { + decorationTable->palAnimState += 2; + if (WattAttackPalettesAnim[decorationTable->palAnimState] == PAL_ANIM_END) { + decorationTable->palAnimState = 0; } - decorationTable->unk_6C8 = D_80284120[decorationTable->unk_6C2 + 1] / 2; + decorationTable->nextPalTime = WattAttackPalettesAnim[decorationTable->palAnimState + 1] / 2; } - temp = D_80284120[decorationTable->unk_6C2]; - decorationTable->unk_6C8--; + brightness = WattAttackPalettesAnim[decorationTable->palAnimState]; + decorationTable->nextPalTime--; } else { - temp = D_80284120[decorationTable->unk_6C2]; + //@bug if only called with skipAnimation set, palAnimPos will always be -2 and the array access is OOB + brightness = WattAttackPalettesAnim[decorationTable->palAnimState]; } - switch (temp) { - case 0: + + switch (brightness) { + case WATT_DEFAULT: for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->spritePalettes[i]; + palIn = decorationTable->originalPalettesList[i]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } break; - case 1: + case WATT_BRIGHTEST: for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->spritePalettes[decorationTable->spriteColorVariations * 5 + i]; + // use watt's Brightest palettes + palIdx = decorationTable->spriteColorVariations * SPR_PAL_BattleWatt_Brightest + i; + palIn = decorationTable->originalPalettesList[palIdx]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } break; - case 2: + case WATT_BRIGHTER: for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->spritePalettes[decorationTable->spriteColorVariations * 6 + i]; + // use watt's Brighter palettes + palIdx = decorationTable->spriteColorVariations * SPR_PAL_BattleWatt_Brighter + i; + palIn = decorationTable->originalPalettesList[palIdx]; palOut = decorationTable->copiedPalettes[0][i]; if (palIn != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } @@ -2732,8 +2865,8 @@ void func_8025B1A8(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 break; } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - decorationTable->unk_6D4[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; } if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -2742,125 +2875,125 @@ void func_8025B1A8(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 func_802596C0(part, yaw, mtx); } - if (arg4 == 0) { - decorationTable->unk_6CA--; + if (!skipAnimation) { + decorationTable->palBlendAlpha--; } } -void func_8025B5C0(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4, s32 arg5) { +void render_with_player_debuff_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation, b32 isPoison) { DecorationTable* decorationTable = part->decorationTable; PAL_PTR color2; PAL_PTR color1; PAL_PTR palOut; s32 i, j; - u8 alpha; + u8 blendAlpha; - if (decorationTable->unk_6C1 != 0) { + if (decorationTable->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) { - decorationTable->spriteColorVariations = 4; + decorationTable->spriteColorVariations = SPR_PEACH_BTL_PAL_STRIDE; } else { - decorationTable->spriteColorVariations = 6; + decorationTable->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; } } else { - decorationTable->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decorationTable->numSpritePalettes = 0; - while ((s32)decorationTable->spritePalettes[decorationTable->numSpritePalettes] != -1) { - decorationTable->numSpritePalettes++; + decorationTable->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decorationTable->originalPalettesCount = 0; + while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { + decorationTable->originalPalettesCount++; } decorationTable->spriteColorVariations = spr_get_npc_color_variations(part->currentAnimation >> 16); } - if (decorationTable->unk_6C1 == 1) { - decorationTable->unk_6C2 = 0; - decorationTable->unk_6CA = 0; + if (decorationTable->resetPalAdjust == TRUE) { + decorationTable->palAnimState = 0; + decorationTable->palBlendAlpha = 0; } else { - decorationTable->unk_6C2 = 0; - decorationTable->unk_6CA = 255; + decorationTable->palAnimState = 0; + decorationTable->palBlendAlpha = 255; } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - color2 = decorationTable->spritePalettes[i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + color2 = decorationTable->originalPalettesList[i]; color1 = decorationTable->copiedPalettes[0][i]; - decorationTable->unk_6D4[i] = color1; + decorationTable->adjustedPalettes[i] = color1; if (color2 != NULL) { - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *color1++ = *color2++; } } } - if (arg5) { + if (isPoison) { for (i = 0; i < decorationTable->spriteColorVariations; i++) { - color2 = decorationTable->spritePalettes[decorationTable->spriteColorVariations + i]; + color2 = decorationTable->originalPalettesList[decorationTable->spriteColorVariations + i]; palOut = decorationTable->copiedPalettes[0][i]; - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *color2++; } } } - decorationTable->unk_6C8 = 10; - decorationTable->unk_6CA = 0; - decorationTable->unk_6C2 = 0; - decorationTable->unk_6C1 = 0; + decorationTable->nextPalTime = 10; + decorationTable->palBlendAlpha = 0; + decorationTable->palAnimState = 0; + decorationTable->resetPalAdjust = FALSE; } - if (decorationTable->unk_6C2 == 0) { - if (arg4 == 0 && decorationTable->unk_6C8 != 0) { - decorationTable->unk_6C8--; + if (decorationTable->palAnimState == 0) { + if (!skipAnimation && decorationTable->nextPalTime != 0) { + decorationTable->nextPalTime--; } else { - if (arg4 == 0) { - decorationTable->unk_6CA += 2560; - if (decorationTable->unk_6CA > 25500) { - decorationTable->unk_6CA = 25500; + if (!skipAnimation) { + decorationTable->palBlendAlpha += 2560; + if (decorationTable->palBlendAlpha > 255 * 100) { + decorationTable->palBlendAlpha = 255 * 100; } } - alpha = decorationTable->unk_6CA / 100; + blendAlpha = decorationTable->palBlendAlpha / 100; for (i = 0; i < decorationTable->spriteColorVariations; i++) { - if (arg5 == 0) { - color2 = decorationTable->spritePalettes[i]; + if (!isPoison) { + color2 = decorationTable->originalPalettesList[i]; } else { - color2 = decorationTable->spritePalettes[decorationTable->spriteColorVariations + i]; + color2 = decorationTable->originalPalettesList[decorationTable->spriteColorVariations * STANDARD_PAL_POISON + i]; } - color1 = decorationTable->spritePalettes[decorationTable->spriteColorVariations * 2 + i]; + color1 = decorationTable->originalPalettesList[decorationTable->spriteColorVariations * STANDARD_PAL_DIZZY + i]; palOut = decorationTable->copiedPalettes[0][i]; - for (j = 0; j < ARRAY_COUNT(decorationTable->copiedPalettes[0][i]); j++) { - u8 r2 = (*color2 >> 11) & 0x1F; - u8 g2 = (*color2 >> 6) & 0x1F; - u8 b2 = (*color2 >> 1) & 0x1F; - u8 r1 = (*color1 >> 11) & 0x1F; - u8 g1 = (*color1 >> 6) & 0x1F; - u8 b1 = (*color1 >> 1) & 0x1F; - u8 a1 = *color1 & 1; + for (j = 0; j < SPR_PAL_SIZE; j++) { + u8 r2 = UNPACK_PAL_R(*color2); + u8 g2 = UNPACK_PAL_G(*color2); + u8 b2 = UNPACK_PAL_B(*color2); + u8 r1 = UNPACK_PAL_R(*color1); + u8 g1 = UNPACK_PAL_G(*color1); + u8 b1 = UNPACK_PAL_B(*color1); + u8 a1 = UNPACK_PAL_A(*color1); color2++; color1++; - r2 = (r2 * (255 - alpha) + r1 * alpha) / 255; - g2 = (g2 * (255 - alpha) + g1 * alpha) / 255; - b2 = (b2 * (255 - alpha) + b1 * alpha) / 255; + r1 = LERP_COMPONENT(r2, r1, blendAlpha); + g1 = LERP_COMPONENT(g2, g1, blendAlpha); + b1 = LERP_COMPONENT(b2, b1, blendAlpha); - *palOut++ = (r2 << 11) | (g2 << 6) | (b2 << 1) | a1; + *palOut++ = PACK_PAL_RGBA(r1, g1, b1, a1); } } - if (alpha == 255) { - decorationTable->unk_6C2 = 1; + if (blendAlpha == 255) { + decorationTable->palAnimState = 1; } } } - for (i = 0; i < decorationTable->numSpritePalettes; i++) { - decorationTable->unk_6D4[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorationTable->originalPalettesCount; i++) { + decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; } - switch (decorationTable->unk_6C2) { + switch (decorationTable->palAnimState) { case 0: case 1: if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -2872,164 +3005,169 @@ void func_8025B5C0(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 } } -void func_8025BAA0(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3, Matrix4f mtx, s32 arg5) { +void render_with_pal_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 hasDifferentIntervals, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decor = part->decorationTable; PAL_PTR color1; PAL_PTR color2; - PAL_PTR blendColor; + PAL_PTR outColor; s32 i, j; u8 blendAlpha; u8 r2, g2, b2, a1; u8 r1, g1, b1; - if (decor->unk_6C1 != 0) { + if (decor->resetPalAdjust != 0) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decor->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decor->numSpritePalettes = 0; - while ((s32)decor->spritePalettes[decor->numSpritePalettes] != -1) { - decor->numSpritePalettes++; + decor->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decor->originalPalettesCount = 0; + while ((s32)decor->originalPalettesList[decor->originalPalettesCount] != -1) { + decor->originalPalettesCount++; } } else { - decor->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decor->numSpritePalettes = 0; - while ((s32)decor->spritePalettes[decor->numSpritePalettes] != -1) { - decor->numSpritePalettes++; + decor->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decor->originalPalettesCount = 0; + while ((s32)decor->originalPalettesList[decor->originalPalettesCount] != -1) { + decor->originalPalettesCount++; } } - if (decor->unk_6C1 == 1) { - decor->unk_6C2 = 0; - decor->unk_6CA = 0; + if (decor->resetPalAdjust == 1) { + decor->palAnimState = 0; + decor->palBlendAlpha = 0; } else { - decor->unk_6C2 = 0; - decor->unk_6CA = 255; + decor->palAnimState = 0; + decor->palBlendAlpha = 255; } - for (i = 0; i < decor->numSpritePalettes; i++) { - color2 = decor->spritePalettes[i]; + for (i = 0; i < decor->originalPalettesCount; i++) { + color2 = decor->originalPalettesList[i]; color1 = decor->copiedPalettes[0][i]; - decor->unk_6D4[i] = color1; + decor->adjustedPalettes[i] = color1; if (color2 != NULL) { - for (j = 0; j < 16; j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *color1++ = *color2++; } } } - if (arg3 == 0) { - decor->unk_746 = decor->unk_744; - decor->unk_748 = decor->unk_746; - decor->unk_74A = decor->unk_746; - decor->unk_744 = 0; + if (!hasDifferentIntervals) { + decor->palswapTimeAtoB = decor->palswapTimeHoldA; + decor->palswapTimeHoldB = decor->palswapTimeAtoB; + decor->palswapTimeBtoA = decor->palswapTimeAtoB; + decor->palswapTimeHoldA = 0; } - decor->unk_6C8 = decor->unk_744; - decor->unk_6CA = 0; - decor->unk_6C2 = 0; - decor->unk_6C1 = 0; + decor->nextPalTime = decor->palswapTimeHoldA; + decor->palBlendAlpha = 0; + decor->palAnimState = PAL_SWAP_HOLD_A; + decor->resetPalAdjust = FALSE; } - switch (decor->unk_6C2) { - case 0: - if (arg5 != 0) { + // blending from A -> B + switch (decor->palAnimState) { + case PAL_SWAP_HOLD_A: + if (skipAnimation) { break; } - if (decor->unk_6C8 != 0) { - decor->unk_6C8--; + if (decor->nextPalTime != 0) { + decor->nextPalTime--; break; } - decor->unk_6CA = 0; - decor->unk_6C2 = 1; + decor->palBlendAlpha = 0; + decor->palAnimState = PAL_SWAP_A_TO_B; // fallthrough - case 1: - if (arg5 == 0) { - decor->unk_6CA += 25600 / decor->unk_746; - if (decor->unk_6CA > 25500) { - decor->unk_6CA = 25500; + case PAL_SWAP_A_TO_B: + if (!skipAnimation) { + decor->palBlendAlpha += 25600 / decor->palswapTimeAtoB; + if (decor->palBlendAlpha > 255 * 100) { + decor->palBlendAlpha = 255 * 100; } } - blendAlpha = decor->unk_6CA / 100; - color2 = decor->spritePalettes[decor->unk_740]; - color1 = decor->spritePalettes[decor->unk_742]; - blendColor = decor->unk_6D4[0] = decor->copiedPalettes[0][0]; + blendAlpha = decor->palBlendAlpha / 100; + // blend two palettes + color2 = decor->originalPalettesList[decor->blendPalA]; + color1 = decor->originalPalettesList[decor->blendPalB]; + outColor = decor->adjustedPalettes[0] = decor->copiedPalettes[0][0]; - for (j = 0; j < 16; j++) { - r2 = (*color2 >> 11) & 0x1F; - g2 = (*color2 >> 6) & 0x1F; - b2 = (*color2 >> 1) & 0x1F; - r1 = (*color1 >> 11) & 0x1F; - g1 = (*color1 >> 6) & 0x1F; - b1 = (*color1 >> 1) & 0x1F; - a1 = *color1 & 1; + for (j = 0; j < SPR_PAL_SIZE; j++) { + r2 = UNPACK_PAL_R(*color2); + g2 = UNPACK_PAL_G(*color2); + b2 = UNPACK_PAL_B(*color2); + r1 = UNPACK_PAL_R(*color1); + g1 = UNPACK_PAL_G(*color1); + b1 = UNPACK_PAL_B(*color1); + a1 = UNPACK_PAL_A(*color1); color2++; color1++; - r1 = (r2 * (255 - blendAlpha) + r1 * blendAlpha) / 255; - g1 = (g2 * (255 - blendAlpha) + g1 * blendAlpha) / 255; - b1 = (b2 * (255 - blendAlpha) + b1 * blendAlpha) / 255; + r1 = LERP_COMPONENT(r2, r1, blendAlpha); + g1 = LERP_COMPONENT(g2, g1, blendAlpha); + b1 = LERP_COMPONENT(b2, b1, blendAlpha); - *blendColor++ = (r1 << 11) | (g1 << 6) | (b1 << 1) | a1; + *outColor++ = PACK_PAL_RGBA(r1, g1, b1, a1); } if (blendAlpha == 255) { - decor->unk_6C2 = 2; - decor->unk_6C8 = decor->unk_748; - } - break; - } - switch (decor->unk_6C2) { - case 2: - if (arg5 != 0) { - break; - } - if (decor->unk_6C8 != 0) { - decor->unk_6C8--; - break; - } - decor->unk_6CA = 0; - decor->unk_6C2 = 3; - // fallthrough - case 3: - if (arg5 == 0) { - decor->unk_6CA += 25600 / decor->unk_74A; - if (decor->unk_6CA > 25500) { - decor->unk_6CA = 25500; - } - } - blendAlpha = decor->unk_6CA / 100; - color2 = decor->spritePalettes[decor->unk_742]; - color1 = decor->spritePalettes[decor->unk_740]; - blendColor = decor->copiedPalettes[0][0]; - decor->unk_6D4[0] = blendColor; - - for (j = 0; j < 16; j++) { - r2 = (*color2 >> 11) & 0x1F; - g2 = (*color2 >> 6) & 0x1F; - b2 = (*color2 >> 1) & 0x1F; - r1 = (*color1 >> 11) & 0x1F; - g1 = (*color1 >> 6) & 0x1F; - b1 = (*color1 >> 1) & 0x1F; - a1 = *color1 & 1; - color2++; - color1++; - - r1 = (r2 * (255 - blendAlpha) + r1 * blendAlpha) / 255; - g1 = (g2 * (255 - blendAlpha) + g1 * blendAlpha) / 255; - b1 = (b2 * (255 - blendAlpha) + b1 * blendAlpha) / 255; - - *blendColor++ = ((r1) << 11) | ((g1) << 6) | ((b1) << 1) | a1; - } - if (blendAlpha == 255) { - decor->unk_6C2 = 0; - decor->unk_6C8 = decor->unk_744; + decor->palAnimState = PAL_SWAP_HOLD_B; + decor->nextPalTime = decor->palswapTimeHoldB; } break; } - switch (decor->unk_6C2) { - case 0: - case 1: - case 2: - case 3: + // blending from B -> A + switch (decor->palAnimState) { + case PAL_SWAP_HOLD_B: + if (skipAnimation) { + break; + } + if (decor->nextPalTime != 0) { + decor->nextPalTime--; + break; + } + decor->palBlendAlpha = 0; + decor->palAnimState = PAL_SWAP_B_TO_A; + // fallthrough + case PAL_SWAP_B_TO_A: + if (!skipAnimation) { + decor->palBlendAlpha += 25600 / decor->palswapTimeBtoA; + if (decor->palBlendAlpha > 255 * 100) { + decor->palBlendAlpha = 255 * 100; + } + } + blendAlpha = decor->palBlendAlpha / 100; + // blend two palettes + color2 = decor->originalPalettesList[decor->blendPalB]; + color1 = decor->originalPalettesList[decor->blendPalA]; + outColor = decor->copiedPalettes[0][0]; + decor->adjustedPalettes[0] = outColor; + + for (j = 0; j < SPR_PAL_SIZE; j++) { + r2 = UNPACK_PAL_R(*color2); + g2 = UNPACK_PAL_G(*color2); + b2 = UNPACK_PAL_B(*color2); + r1 = UNPACK_PAL_R(*color1); + g1 = UNPACK_PAL_G(*color1); + b1 = UNPACK_PAL_B(*color1); + a1 = UNPACK_PAL_A(*color1); + color2++; + color1++; + + r1 = LERP_COMPONENT(r2, r1, blendAlpha); + g1 = LERP_COMPONENT(g2, g1, blendAlpha); + b1 = LERP_COMPONENT(b2, b1, blendAlpha); + + *outColor++ = PACK_PAL_RGBA(r1, g1, b1, a1); + } + if (blendAlpha == 255) { + decor->palAnimState = PAL_SWAP_HOLD_A; + decor->nextPalTime = decor->palswapTimeHoldA; + } + break; + } + + switch (decor->palAnimState) { + case PAL_SWAP_HOLD_A: + case PAL_SWAP_A_TO_B: + case PAL_SWAP_HOLD_B: + case PAL_SWAP_B_TO_A: if (isNpcSprite == SPRITE_MODE_PLAYER) { func_8025995C(part, yaw, mtx); } else { @@ -3039,163 +3177,167 @@ void func_8025BAA0(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3, Matrix4f } } -void func_8025C120(s32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) { +void render_with_palset_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { DecorationTable* decor = part->decorationTable; PAL_PTR color1; PAL_PTR color2; - PAL_PTR blendColor; + PAL_PTR outColor; s32 i, j; u8 blendAlpha; u8 r2, g2, b2, a1; u8 r1, g1, b1; - if (decor->unk_6C1 != 0) { + if (decor->resetPalAdjust != 0) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decor->spritePalettes = spr_get_player_palettes(part->currentAnimation >> 16); - decor->numSpritePalettes = 0; - while (decor->spritePalettes[decor->numSpritePalettes] != (PAL_PTR) -1) { - decor->numSpritePalettes++; + decor->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16); + decor->originalPalettesCount = 0; + while (decor->originalPalettesList[decor->originalPalettesCount] != (PAL_PTR) -1) { + decor->originalPalettesCount++; } } else { - decor->spritePalettes = spr_get_npc_palettes(part->currentAnimation >> 16); - decor->numSpritePalettes = 0; - while (decor->spritePalettes[decor->numSpritePalettes] != (PAL_PTR) -1) { - decor->numSpritePalettes++; + decor->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16); + decor->originalPalettesCount = 0; + while (decor->originalPalettesList[decor->originalPalettesCount] != (PAL_PTR) -1) { + decor->originalPalettesCount++; } decor->spriteColorVariations = spr_get_npc_color_variations(part->currentAnimation >> 16); } - if (decor->unk_6C1 == 1) { - decor->unk_6C2 = 0; - decor->unk_6CA = 0; + + if (decor->resetPalAdjust == 1) { + decor->palAnimState = 0; + decor->palBlendAlpha = 0; } else { - decor->unk_6C2 = 0; - decor->unk_6CA = 255; + decor->palAnimState = 0; + decor->palBlendAlpha = 255; } - for (i = 0; i < decor->numSpritePalettes; i++) { - color2 = decor->spritePalettes[i]; + for (i = 0; i < decor->originalPalettesCount; i++) { + color2 = decor->originalPalettesList[i]; color1 = decor->copiedPalettes[0][i]; - decor->unk_6D4[i] = color1; + decor->adjustedPalettes[i] = color1; if (color2 != NULL) { - for (j = 0; j < 16; j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *color1++ = *color2++; } } } - decor->unk_6C8 = decor->unk_744; - decor->unk_6CA = 0; - decor->unk_6C2 = 0; - decor->unk_6C1 = 0; + decor->nextPalTime = decor->palswapTimeHoldA; + decor->palBlendAlpha = 0; + decor->palAnimState = PAL_SWAP_HOLD_A; + decor->resetPalAdjust = FALSE; } - switch (decor->unk_6C2) { - case 0: - if (arg4 != 0) { + // blending from A -> B + switch (decor->palAnimState) { + case PAL_SWAP_HOLD_A: + if (skipAnimation) { break; } - if (decor->unk_6C8 != 0) { - decor->unk_6C8--; + if (decor->nextPalTime != 0) { + decor->nextPalTime--; break; } - decor->unk_6CA = 0; - decor->unk_6C2 = 1; + decor->palBlendAlpha = 0; + decor->palAnimState = PAL_SWAP_A_TO_B; // fallthrough - case 1: - if (arg4 == 0) { - decor->unk_6CA += 0x6400 / decor->unk_746; - if (decor->unk_6CA > 25500) { - decor->unk_6CA = 25500; + case PAL_SWAP_A_TO_B: + if (!skipAnimation) { + decor->palBlendAlpha += 25600 / decor->palswapTimeAtoB; + if (decor->palBlendAlpha > 255 * 100) { + decor->palBlendAlpha = 255 * 100; } } - blendAlpha = decor->unk_6CA / 100; + blendAlpha = decor->palBlendAlpha / 100; + // blend all palettes from two palette sets for (i = 0; i < decor->spriteColorVariations; i++) { - color2 = decor->spritePalettes[decor->unk_740 * decor->spriteColorVariations + i]; - color1 = decor->spritePalettes[decor->unk_742 * decor->spriteColorVariations + i]; - blendColor = decor->copiedPalettes[0][i]; - decor->unk_6D4[i] = blendColor; + color2 = decor->originalPalettesList[decor->blendPalA * decor->spriteColorVariations + i]; + color1 = decor->originalPalettesList[decor->blendPalB * decor->spriteColorVariations + i]; + outColor = decor->copiedPalettes[0][i]; + decor->adjustedPalettes[i] = outColor; - for (j = 0; j < 16; j++) { - r2 = (*color2 >> 11) & 0x1F; - g2 = (*color2 >> 6) & 0x1F; - b2 = (*color2 >> 1) & 0x1F; - r1 = (*color1 >> 11) & 0x1F; - g1 = (*color1 >> 6) & 0x1F; - b1 = (*color1 >> 1) & 0x1F; - a1 = *color1 & 1; + for (j = 0; j < SPR_PAL_SIZE; j++) { + r2 = UNPACK_PAL_R(*color2); + g2 = UNPACK_PAL_G(*color2); + b2 = UNPACK_PAL_B(*color2); + r1 = UNPACK_PAL_R(*color1); + g1 = UNPACK_PAL_G(*color1); + b1 = UNPACK_PAL_B(*color1); + a1 = UNPACK_PAL_A(*color1); color2++; color1++; - r1 = (r2 * (255 - blendAlpha) + r1 * blendAlpha) / 255; - g1 = (g2 * (255 - blendAlpha) + g1 * blendAlpha) / 255; - b1 = (b2 * (255 - blendAlpha) + b1 * blendAlpha) / 255; + r1 = LERP_COMPONENT(r2, r1, blendAlpha); + g1 = LERP_COMPONENT(g2, g1, blendAlpha); + b1 = LERP_COMPONENT(b2, b1, blendAlpha); - *blendColor++ = (r1 << 11) | (g1 << 6) | (b1 << 1) | a1; + *outColor++ = PACK_PAL_RGBA(r1, g1, b1, a1); } } if (blendAlpha == 255) { - decor->unk_6C2 = 2; - decor->unk_6C8 = decor->unk_748; + decor->palAnimState = PAL_SWAP_HOLD_B; + decor->nextPalTime = decor->palswapTimeHoldB; } break; } - switch (decor->unk_6C2) { - case 2: - if (arg4 != 0) { + switch (decor->palAnimState) { + case PAL_SWAP_HOLD_B: + if (skipAnimation) { break; } - if (decor->unk_6C8 != 0) { - decor->unk_6C8--; + if (decor->nextPalTime != 0) { + decor->nextPalTime--; break; } - decor->unk_6CA = 0; - decor->unk_6C2 = 3; + decor->palBlendAlpha = 0; + decor->palAnimState = PAL_SWAP_B_TO_A; // fallthrough - case 3: - if (arg4 == 0) { - decor->unk_6CA += 0x6400 / decor->unk_74A; - if (decor->unk_6CA > 25500) { - decor->unk_6CA = 25500; + case PAL_SWAP_B_TO_A: + if (!skipAnimation) { + decor->palBlendAlpha += 25600 / decor->palswapTimeBtoA; + if (decor->palBlendAlpha > 255 * 100) { + decor->palBlendAlpha = 255 * 100; } } - blendAlpha = decor->unk_6CA / 100; + blendAlpha = decor->palBlendAlpha / 100; + // blend all palettes from two palette sets for (i = 0; i < decor->spriteColorVariations; i++) { - color2 = decor->spritePalettes[decor->unk_740 * decor->spriteColorVariations + i]; - color1 = decor->spritePalettes[decor->unk_742 * decor->spriteColorVariations + i]; - blendColor = decor->copiedPalettes[0][i]; - decor->unk_6D4[i] = blendColor; + color2 = decor->originalPalettesList[decor->blendPalA * decor->spriteColorVariations + i]; + color1 = decor->originalPalettesList[decor->blendPalB * decor->spriteColorVariations + i]; + outColor = decor->copiedPalettes[0][i]; + decor->adjustedPalettes[i] = outColor; - for (j = 0; j < 16; j++) { - r2 = (*color2 >> 11) & 0x1F; - g2 = (*color2 >> 6) & 0x1F; - b2 = (*color2 >> 1) & 0x1F; - r1 = (*color1 >> 11) & 0x1F; - g1 = (*color1 >> 6) & 0x1F; - b1 = (*color1 >> 1) & 0x1F; - a1 = *color1 & 1; + for (j = 0; j < SPR_PAL_SIZE; j++) { + r2 = UNPACK_PAL_R(*color2); + g2 = UNPACK_PAL_G(*color2); + b2 = UNPACK_PAL_B(*color2); + r1 = UNPACK_PAL_R(*color1); + g1 = UNPACK_PAL_G(*color1); + b1 = UNPACK_PAL_B(*color1); + a1 = UNPACK_PAL_A(*color1); color2++; color1++; - r1 = (r2 * (255 - blendAlpha) + r1 * blendAlpha) / 255; - g1 = (g2 * (255 - blendAlpha) + g1 * blendAlpha) / 255; - b1 = (b2 * (255 - blendAlpha) + b1 * blendAlpha) / 255; + r1 = LERP_COMPONENT(r2, r1, blendAlpha); + g1 = LERP_COMPONENT(g2, g1, blendAlpha); + b1 = LERP_COMPONENT(b2, b1, blendAlpha); - *blendColor++ = ((r1) << 11) | ((g1) << 6) | ((b1) << 1) | a1; + *outColor++ = PACK_PAL_RGBA(r1, g1, b1, a1); } } if (blendAlpha == 255) { - decor->unk_6C2 = 0; - decor->unk_6C8 = decor->unk_744; + decor->palAnimState = PAL_SWAP_HOLD_A; + decor->nextPalTime = decor->palswapTimeHoldA; } break; } - switch (decor->unk_6C2) { - case 0: - case 1: - case 2: - case 3: + switch (decor->palAnimState) { + case PAL_SWAP_HOLD_A: + case PAL_SWAP_A_TO_B: + case PAL_SWAP_HOLD_B: + case PAL_SWAP_B_TO_A: if (isNpcSprite == SPRITE_MODE_PLAYER) { func_8025995C(part, yaw, mtx); } else { @@ -3219,7 +3361,7 @@ s32 func_8025C840(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) { return 0; } -void func_8025C8A0(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) { +void func_8025C8A0(b32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) { if (part->decorationTable->unk_751 != 0) { part->decorationTable->unk_751 = 0; if (isNpcSprite == SPRITE_MODE_PLAYER) { @@ -3230,7 +3372,7 @@ void func_8025C8A0(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) { } } -void func_8025C918(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) { +void func_8025C918(b32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) { DecorationTable* decor = part->decorationTable; u8 rbuf[20]; u8 gbuf[20]; @@ -3516,8 +3658,8 @@ void func_8025D160(ActorPart* arg0, s32 index) { case 0: fx_aura(3, arg0->currentPos.x, arg0->currentPos.y, arg0->currentPos.z, 0.4f, &table->effect[index]); table->state[index] = 1; - table->unk_8C6[index].unk00 = 0x28; - table->unk_8C6[index].unk02 = 0x28; + table->unk_8C6[index].unk00 = 40; + table->unk_8C6[index].unk02 = 40; table->unk_8C6[index].unk04 = 0; break; case 1: @@ -3806,7 +3948,7 @@ void func_8025DD60(ActorPart* part, s32 decorationIndex) { case 0: decor->effect[decorationIndex] = fx_energy_in_out(4, part->currentPos.x, part->currentPos.y, part->currentPos.z, 1.2f, 0); decor->state[decorationIndex] = 1; - decor->unk_8C6[decorationIndex].unk00 = 0x78; + decor->unk_8C6[decorationIndex].unk00 = 120; decor->unk_8C6[decorationIndex].unk02 = 0; // fallthrough case 1: diff --git a/src/18F340.c b/src/18F340.c index 3457e110ed..eaf45fc630 100644 --- a/src/18F340.c +++ b/src/18F340.c @@ -45,14 +45,14 @@ void btl_set_player_idle_anims(void) { API_CALLABLE(IsPartnerImmobile) { BattleStatus* battleStatus = &gBattleStatus; Actor* playerActor = battleStatus->playerActor; - s32 isImmobile = playerActor->debuff == STATUS_FEAR - || playerActor->debuff == STATUS_DIZZY - || playerActor->debuff == STATUS_PARALYZE - || playerActor->debuff == STATUS_SLEEP - || playerActor->debuff == STATUS_FROZEN - || playerActor->debuff == STATUS_STOP; + s32 isImmobile = playerActor->debuff == STATUS_KEY_FEAR + || playerActor->debuff == STATUS_KEY_DIZZY + || playerActor->debuff == STATUS_KEY_PARALYZE + || playerActor->debuff == STATUS_KEY_SLEEP + || playerActor->debuff == STATUS_KEY_FROZEN + || playerActor->debuff == STATUS_KEY_STOP; - if (playerActor->stoneStatus == STATUS_STONE) { + if (playerActor->stoneStatus == STATUS_KEY_STONE) { isImmobile = TRUE; } @@ -76,8 +76,8 @@ API_CALLABLE(DoesMarioStatusPreventHappyAnimation) { show_action_rating(ACTION_RATING_LUCKY, player, player->currentPos.x, player->currentPos.y + 20.0f, player->currentPos.z); sfx_play_sound(SOUND_3FC); script->varTable[0] = FALSE; - if (player->debuff == STATUS_FEAR || player->debuff == STATUS_DIZZY || player->debuff == STATUS_PARALYZE || - player->debuff == STATUS_SLEEP ||player->debuff == STATUS_FROZEN || player->debuff == STATUS_STOP) { + if (player->debuff == STATUS_KEY_FEAR || player->debuff == STATUS_KEY_DIZZY || player->debuff == STATUS_KEY_PARALYZE || + player->debuff == STATUS_KEY_SLEEP ||player->debuff == STATUS_KEY_FROZEN || player->debuff == STATUS_KEY_STOP) { script->varTable[0] = TRUE; } return ApiStatus_DONE2; @@ -138,7 +138,7 @@ API_CALLABLE(SetFledBattleFlag) { return ApiStatus_DONE2; } -API_CALLABLE(func_80260DD8) { +API_CALLABLE(DetermineAutoRunAwaySuccess) { Actor* player = gBattleStatus.playerActor; s32 var; @@ -172,7 +172,7 @@ API_CALLABLE(GiveRefund) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; s32 sellValue = gItemTable[battleStatus->moveArgument].sellValue; - f32 facingAngleSign = 0.0f; + f32 angle = 0.0f; s32 delayTime = 0; f32 posX, posY, posZ; posY = player->currentPos.y + player->size.y; @@ -188,9 +188,9 @@ API_CALLABLE(GiveRefund) { posX = player->currentPos.x; posZ = player->currentPos.z; - make_item_entity(ITEM_COIN, posX, posY, posZ, ITEM_SPAWN_MODE_TOSS_FADE1, (i * 3) + 1, facingAngleSign, 0); + make_item_entity(ITEM_COIN, posX, posY, posZ, ITEM_SPAWN_MODE_TOSS_FADE1, (i * 3) + 1, angle, 0); add_coins(1); - facingAngleSign += 30.0f; + angle += 30.0f; } delayTime = (i * 3) + 30; @@ -218,7 +218,7 @@ API_CALLABLE(GiveRefundCleanup) { return ApiStatus_DONE2; } -API_CALLABLE(func_802610CC) { +API_CALLABLE(LifeShroomShroudWorld) { if (isInitialCall) { mdl_set_all_fog_mode(FOG_MODE_1); *gBackgroundFogModePtr = FOG_MODE_1; @@ -233,7 +233,7 @@ API_CALLABLE(func_802610CC) { return (script->functionTemp[0] == 0) * ApiStatus_DONE2; } -API_CALLABLE(func_80261164) { +API_CALLABLE(LifeShroomRevealWorld) { if (isInitialCall) { script->functionTemp[0] = 20; btl_cam_unfreeze(); @@ -269,22 +269,26 @@ API_CALLABLE(RestorePreDefeatState) { PlayerData* playerData = &gPlayerData; BattleStatus* battleStatus = &gBattleStatus; - battleStatus->rushFlags = RUSH_FLAG_NONE; gBattleState = gDefeatedBattleState; gBattleSubState = gDefeatedBattleSubstate; - battleStatus->flags1 |= BS_FLAGS1_8; + battleStatus->flags1 |= BS_FLAGS1_SHOW_PLAYER_DECORATIONS; + + // clear rush flags to initialize + battleStatus->rushFlags = RUSH_FLAG_NONE; battleStatus->flags2 &= ~BS_FLAGS2_HAS_RUSH; + // set rush flags based on danger/peril status if (!(battleStatus->flags2 & BS_FLAGS2_PEACH_BATTLE)) { - if (playerData->curHP <= 1 && is_ability_active(ABILITY_MEGA_RUSH)) { + if (playerData->curHP <= PERIL_THRESHOLD && is_ability_active(ABILITY_MEGA_RUSH)) { gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; battleStatus->rushFlags |= RUSH_FLAG_MEGA; } - if (playerData->curHP <= 5 && is_ability_active(ABILITY_POWER_RUSH) && - !(battleStatus->rushFlags & RUSH_FLAG_MEGA)) { - gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; - battleStatus->rushFlags |= RUSH_FLAG_POWER; + if (playerData->curHP <= DANGER_THRESHOLD && is_ability_active(ABILITY_POWER_RUSH)) { + if (!(battleStatus->rushFlags & RUSH_FLAG_MEGA)) { + gBattleStatus.flags2 |= BS_FLAGS2_HAS_RUSH; + battleStatus->rushFlags |= RUSH_FLAG_POWER; + } } } return ApiStatus_DONE2; @@ -702,7 +706,7 @@ EvtScript EVS_MarioEnterStage = { }; EvtScript EVS_PeachEnterStage = { - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PLAYER_ENTRY) EVT_CALL(SetBattleCamTarget, -80, 35, 8) EVT_CALL(BattleCamTargetActor, ACTOR_PLAYER) @@ -723,7 +727,7 @@ EvtScript EVS_PeachEnterStage = { EVT_CALL(PlayerRunToGoal, 40) EVT_CALL(SetAnimation, ACTOR_SELF, 0, ANIM_Peach1_Walk) EVT_WAIT(15) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_RETURN EVT_END }; @@ -837,7 +841,7 @@ EvtScript EVS_Player_HandleEvent = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_END_SWITCH EVT_CALL(CloseActionCommandInfo) - EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, 0) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, FALSE) EVT_CALL(func_802693F0) EVT_CALL(func_802749F8) EVT_CALL(GetLastEvent, ACTOR_PLAYER, LVarF) @@ -1088,7 +1092,7 @@ EvtScript EVS_RunAwayNoCommand = { EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_Mario1_Jump, ANIM_Mario1_Fall, ANIM_Mario1_Land) EVT_CALL(SetGoalPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(func_80273444, 8, 0, 0) - EVT_CALL(func_80260DD8) + EVT_CALL(DetermineAutoRunAwaySuccess) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetFledBattleFlag) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15E) @@ -1202,7 +1206,7 @@ EvtScript EVS_RunAwayStart = { EVT_CALL(SetGoalPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(func_80273444, 8, 0, 0) EVT_CALL(GetActionSuccess, LVar0) - EVT_CALL(func_80260DD8) + EVT_CALL(DetermineAutoRunAwaySuccess) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetFledBattleFlag) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15E) @@ -1442,7 +1446,7 @@ EvtScript EVS_UseLifeShroom = { EVT_CALL(SetPartAlpha, ACTOR_PARTNER, -1, 0) EVT_END_IF EVT_END_CHILD_THREAD - EVT_CALL(func_802610CC) + EVT_CALL(LifeShroomShroudWorld) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(MakeItemEntity, ITEM_LIFE_SHROOM, LVar0, LVar1, LVar2, 1, 0) EVT_SET(LVarA, LVar0) @@ -1510,7 +1514,7 @@ EvtScript EVS_UseLifeShroom = { EVT_END_CHILD_THREAD EVT_WAIT(50) EVT_CHILD_THREAD - EVT_CALL(func_80261164) + EVT_CALL(LifeShroomRevealWorld) EVT_END_CHILD_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_374) EVT_CALL(SetActorRotation, ACTOR_PLAYER, 0, 0, 0) @@ -1840,7 +1844,7 @@ EvtScript EVS_PlayerRegainAbility = { EVT_ADD(LVar1, 20) EVT_PLAY_EFFECT(EFFECT_STARS_SHIMMER, 0, LVar0, LVar1, LVar2, 30, 30, 10, 30) EVT_CALL(RemoveItemEntity, LVarA) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_RETURN EVT_END }; diff --git a/src/190B20.c b/src/190B20.c index be08a3b3a9..89ae985405 100644 --- a/src/190B20.c +++ b/src/190B20.c @@ -55,7 +55,7 @@ extern ActorPartBlueprint bMarioParts[]; extern PartnerDMAData bPartnerDmaTable[]; -s32 func_80265CE8(AnimID*, s32); +s32 get_npc_anim_for_status(AnimID*, s32); void create_target_list(Actor* actor, s32 arg1) { s32 numTargets = 0; @@ -88,13 +88,13 @@ void create_target_list(Actor* actor, s32 arg1) { targetDataList->actorID = ACTOR_PLAYER; targetDataList->partID = 1; if (!arg1) { - targetDataList->pos.x = playerActor->currentPos.x + playerActor->size.x * 0.3 * playerActor->scalingFactor; - targetDataList->pos.y = playerActor->currentPos.y + playerActor->size.y * 0.9 * playerActor->scalingFactor; - targetDataList->pos.z = playerActor->currentPos.z; + targetDataList->posA.x = playerActor->currentPos.x + playerActor->size.x * 0.3 * playerActor->scalingFactor; + targetDataList->posA.y = playerActor->currentPos.y + playerActor->size.y * 0.9 * playerActor->scalingFactor; + targetDataList->posA.z = playerActor->currentPos.z; } else { - targetDataList->pos.x = playerActor->homePos.x + playerActor->size.x * 0.3 * playerActor->scalingFactor; - targetDataList->pos.y = playerActor->homePos.y + playerActor->size.y * 0.9 * playerActor->scalingFactor; - targetDataList->pos.z = playerActor->homePos.z; + targetDataList->posA.x = playerActor->homePos.x + playerActor->size.x * 0.3 * playerActor->scalingFactor; + targetDataList->posA.y = playerActor->homePos.y + playerActor->size.y * 0.9 * playerActor->scalingFactor; + targetDataList->posA.z = playerActor->homePos.z; } targetDataList->unk_10 = -100; numTargets++; @@ -105,13 +105,13 @@ void create_target_list(Actor* actor, s32 arg1) { targetDataList->actorID = ACTOR_PARTNER; targetDataList->partID = 1; if (!arg1) { - targetDataList->pos.x = partnerActor->currentPos.x + partnerActor->size.x * 0.1 * partnerActor->scalingFactor; - targetDataList->pos.y = partnerActor->currentPos.y + partnerActor->size.y * 0.8 * partnerActor->scalingFactor; - targetDataList->pos.z = partnerActor->currentPos.z; + targetDataList->posA.x = partnerActor->currentPos.x + partnerActor->size.x * 0.1 * partnerActor->scalingFactor; + targetDataList->posA.y = partnerActor->currentPos.y + partnerActor->size.y * 0.8 * partnerActor->scalingFactor; + targetDataList->posA.z = partnerActor->currentPos.z; } else { - targetDataList->pos.x = partnerActor->homePos.x + partnerActor->size.x * 0.1 * partnerActor->scalingFactor; - targetDataList->pos.y = partnerActor->homePos.y + partnerActor->size.y * 0.8 * partnerActor->scalingFactor; - targetDataList->pos.z = partnerActor->homePos.z; + targetDataList->posA.x = partnerActor->homePos.x + partnerActor->size.x * 0.1 * partnerActor->scalingFactor; + targetDataList->posA.y = partnerActor->homePos.y + partnerActor->size.y * 0.8 * partnerActor->scalingFactor; + targetDataList->posA.z = partnerActor->homePos.z; } targetDataList->unk_10 = -50; numTargets++; @@ -170,9 +170,9 @@ void create_target_list(Actor* actor, s32 arg1) { targetDataList->actorID = ACTOR_CLASS_ENEMY | i; partIndex = partBlueprint->index; - targetDataList->pos.x = targetX; - targetDataList->pos.y = targetY; - targetDataList->pos.z = targetZ; + targetDataList->posA.x = targetX; + targetDataList->posA.y = targetY; + targetDataList->posA.z = targetZ; targetDataList->unk_10 = 0; targetDataList->partID = partIndex; @@ -180,15 +180,15 @@ void create_target_list(Actor* actor, s32 arg1) { targetDataList->unk_10 = 100; } targetDataList->unk_10 += targetPart->unk_70; - targetDataList->unk_0A = f12 + targetDataList->unk_10 * 100; - targetDataList->unk_0C = f2; - targetDataList->unk_0E = f14; + targetDataList->posB.x = f12 + targetDataList->unk_10 * 100; + targetDataList->posB.y = f2; + targetDataList->posB.z = f14; - if (targetDataList->unk_0C < 40) { + if (targetDataList->posB.y < 40) { targetDataList->homeRow = 0; - } else if (targetDataList->unk_0C < 85) { + } else if (targetDataList->posB.y < 85) { targetDataList->homeRow = 1; - } else if (targetDataList->unk_0C < 100) { + } else if (targetDataList->posB.y < 100) { targetDataList->homeRow = 2; } else { do { @@ -198,11 +198,11 @@ void create_target_list(Actor* actor, s32 arg1) { } while (0); } - if (targetDataList->unk_0A < 25) { + if (targetDataList->posB.x < 25) { targetDataList->homeCol = 0; - } else if (targetDataList->unk_0A < 65) { + } else if (targetDataList->posB.x < 65) { targetDataList->homeCol = 1; - } else if (targetDataList->unk_0A < 105) { + } else if (targetDataList->posB.x < 105) { targetDataList->homeCol = 2; } else { do { @@ -210,7 +210,7 @@ void create_target_list(Actor* actor, s32 arg1) { } while (0); } - if (targetDataList->unk_0E < -30) { + if (targetDataList->posB.z < -30) { targetDataList->layer = 0; } else { targetDataList->layer = 1; @@ -445,7 +445,7 @@ END: s32 index2 = targetIndexList[j]; targetData = &targetDataList[index1]; otherTarget = &targetDataList[index2]; - if (targetData->pos.x + targetData->unk_10 * 10 > otherTarget->pos.x + otherTarget->unk_10 * 10) { + if (targetData->posA.x + targetData->unk_10 * 10 > otherTarget->posA.x + otherTarget->unk_10 * 10) { targetIndexList[i] = targetIndexList[j]; targetIndexList[j] = index1; } @@ -453,7 +453,7 @@ END: } } -void func_80266DAC(Actor* actor, s32 arg1); +void set_actor_pal_adjustment(Actor* actor, s32 palAdjust); void player_create_target_list(Actor* actor) { create_target_list(actor, 0); @@ -519,9 +519,9 @@ s32 func_80263064(Actor* actor0, Actor* actor1, s32 unused) { actor0->targetActorID = target->actorID = actor1->actorID; actor0->targetPartIndex = target->partID = bp->index; - target->pos.x = x; - target->pos.y = y; - target->pos.z = z; + target->posA.x = x; + target->posA.y = y; + target->posA.z = z; target->unk_10 = 0; target++; ret++; @@ -561,9 +561,9 @@ void func_80263268(void) { } if (partnersEnabled >= 2) { - if (partner->koStatus == STATUS_DAZE) { + if (partner->koStatus == STATUS_KEY_DAZE) { battleStatus->changePartnerAllowed = 0; - } else if (partner->debuff == STATUS_FROZEN) { + } else if (partner->debuff == STATUS_KEY_FROZEN) { battleStatus->changePartnerAllowed = 0; } else if (playerData->currentPartner == PARTNER_GOOMPA) { battleStatus->changePartnerAllowed = -1; @@ -967,20 +967,20 @@ void reset_actor_turn_info(void) { if (actor != NULL) { actor->hpChangeCounter = 0; actor->damageCounter = 0; - actor->unk_204 = 0; + actor->actionRatingCombo = 0; } } actor = battleStatus->playerActor; actor->hpChangeCounter = 0; actor->damageCounter = 0; - actor->unk_204 = 0; + actor->actionRatingCombo = 0; actor = battleStatus->partnerActor; if (actor != NULL) { actor->hpChangeCounter = 0; actor->damageCounter = 0; - actor->unk_204 = 0; + actor->actionRatingCombo = 0; } } @@ -1241,17 +1241,17 @@ void load_player_actor(void) { player->size.x = player->actorBlueprint->size.x; player->size.y = player->actorBlueprint->size.y; player->actorID = 0; - player->healthBarPosition.x = player->currentPos.x; - player->healthBarPosition.y = player->currentPos.y; - player->healthBarPosition.z = player->currentPos.z; + player->healthBarPos.x = player->currentPos.x; + player->healthBarPos.y = player->currentPos.y; + player->healthBarPos.z = player->currentPos.z; player->scalingFactor = 1.0f; player->attackResultEffect = NULL; - player->unk_204 = 0; - player->unk_205 = 0; - player->unk_194 = 0; - player->unk_195 = 0; - player->unk_196 = 0; - player->unk_197 = 0; + player->actionRatingCombo = 0; + player->actionRatingTime = 0; + player->statusIconOffset.x = 0; + player->statusIconOffset.y = 0; + player->statusTextOffset.x = 0; + player->statusTextOffset.y = 0; player->idleSource = NULL; player->takeTurnSource = NULL; player->handleEventSource = NULL; @@ -1345,10 +1345,10 @@ void load_player_actor(void) { part->scale.y = 1.0f; part->scale.z = 1.0f; part->verticalStretch = 1; - part->unkOffset[0] = 0; - part->unkOffset[1] = 0; + part->palAnimPosOffset[0] = 0; + part->palAnimPosOffset[1] = 0; part->animationRate = 1.0f; - part->currentAnimation = func_80265CE8(part->idleAnimations, 1U); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, 1U); part->nextPart = NULL; part->partTypeData[0] = bActorSoundTable[player->actorType].walk[0]; part->partTypeData[1] = bActorSoundTable[player->actorType].walk[1]; @@ -1367,7 +1367,7 @@ void load_player_actor(void) { ASSERT(decorationTable != NULL); - decorationTable->unk_6C0 = 0; + decorationTable->paletteAdjustment = PAL_ADJUST_NONE; decorationTable->unk_750 = 0; decorationTable->unk_764 = 0; decorationTable->unk_768 = 0; @@ -1400,7 +1400,7 @@ void load_player_actor(void) { player->icePillarEffect = NULL; if (is_ability_active(ABILITY_ZAP_TAP)) { - player->staticStatus = STATUS_STATIC; + player->staticStatus = STATUS_KEY_STATIC; player->staticDuration = 127; } } @@ -1487,17 +1487,17 @@ void load_partner_actor(void) { partnerActor->verticalRenderOffset = 0; partnerActor->size.x = actorBP->size.x; partnerActor->size.y = actorBP->size.y; - partnerActor->healthBarPosition.x = partnerActor->homePos.x; - partnerActor->healthBarPosition.y = partnerActor->homePos.y; - partnerActor->healthBarPosition.z = partnerActor->homePos.z; + partnerActor->healthBarPos.x = partnerActor->homePos.x; + partnerActor->healthBarPos.y = partnerActor->homePos.y; + partnerActor->healthBarPos.z = partnerActor->homePos.z; partnerActor->scalingFactor = 1.0f; partnerActor->attackResultEffect = NULL; - partnerActor->unk_204 = 0; - partnerActor->unk_205 = 0; - partnerActor->unk_194 = 0; - partnerActor->unk_195 = 0; - partnerActor->unk_196 = 0; - partnerActor->unk_197 = 0; + partnerActor->actionRatingCombo = 0; + partnerActor->actionRatingTime = 0; + partnerActor->statusIconOffset.x = 0; + partnerActor->statusIconOffset.y = 0; + partnerActor->statusTextOffset.x = 0; + partnerActor->statusTextOffset.y = 0; partnerActor->renderMode = RENDER_MODE_ALPHATEST; partnerActor->actorID = ACTOR_PARTNER; partnerActor->statusTable = actorBP->statusTable; @@ -1576,8 +1576,8 @@ void load_partner_actor(void) { part->scale.y = 1.0f; part->scale.z = 1.0f; part->verticalStretch = 1; - part->unkOffset[0] = 0; - part->unkOffset[1] = 0; + part->palAnimPosOffset[0] = 0; + part->palAnimPosOffset[1] = 0; part->partTypeData[0] = bActorSoundTable[partnerActor->actorType].walk[0]; part->partTypeData[1] = bActorSoundTable[partnerActor->actorType].walk[1]; part->partTypeData[2] = bActorSoundTable[partnerActor->actorType].fly[0]; @@ -1596,7 +1596,7 @@ void load_partner_actor(void) { ASSERT(decorationTable != NULL); - decorationTable->unk_6C0 = 0; + decorationTable->paletteAdjustment = PAL_ADJUST_NONE; decorationTable->unk_750 = 0; decorationTable->unk_764 = 0; decorationTable->unk_768 = 0; @@ -1629,7 +1629,7 @@ void load_partner_actor(void) { part->spriteInstanceID = -1; if (part->idleAnimations != NULL) { - part->currentAnimation = func_80265CE8(part->idleAnimations, 1); + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, 1); part->spriteInstanceID = spr_load_npc_sprite(part->currentAnimation | SPRITE_ID_TAIL_ALLOCATE, NULL); } @@ -1734,22 +1734,22 @@ Actor* create_actor(Formation formation) { actor->size.x = formationActor->size.x; actor->size.y = formationActor->size.y; actor->scalingFactor = 1.0f; - actor->unk_194 = 0; - actor->unk_195 = 0; - actor->unk_196 = 0; - actor->unk_197 = 0; - actor->unk_198.x = 0; - actor->unk_198.y = 0; - actor->unk_206 = 0; + actor->statusIconOffset.x = 0; + actor->statusIconOffset.y = 0; + actor->statusTextOffset.x = 0; + actor->statusTextOffset.y = 0; + actor->healthBarOffset.x = 0; + actor->healthBarOffset.y = 0; + actor->healthBarHideTime = 0; actor->attackResultEffect = NULL; - actor->unk_204 = 0; - actor->unk_205 = 0; + actor->actionRatingCombo = 0; + actor->actionRatingTime = 0; - actor->healthBarPosition.x = actor->currentPos.x + formationActor->hpBarOffset.x; - actor->healthBarPosition.y = actor->currentPos.y + formationActor->hpBarOffset.y; - actor->healthBarPosition.z = actor->currentPos.z; + actor->healthBarPos.x = actor->currentPos.x + formationActor->healthBarOffset.x; + actor->healthBarPos.y = actor->currentPos.y + formationActor->healthBarOffset.y; + actor->healthBarPos.z = actor->currentPos.z; if (actor->flags & ACTOR_FLAG_UPSIDE_DOWN) { - actor->healthBarPosition.y = actor->currentPos.y - actor->size.y - formationActor->hpBarOffset.y; + actor->healthBarPos.y = actor->currentPos.y - actor->size.y - formationActor->healthBarOffset.y; } actor->statusTable = formationActor->statusTable; @@ -1842,8 +1842,8 @@ Actor* create_actor(Formation formation) { part->scale.y = 1.0f; part->scale.z = 1.0f; part->verticalStretch = 1; - part->unkOffset[0] = 0; - part->unkOffset[1] = 0; + part->palAnimPosOffset[0] = 0; + part->palAnimPosOffset[1] = 0; part->partTypeData[0] = bActorSoundTable[actor->actorType].walk[0]; part->partTypeData[1] = bActorSoundTable[actor->actorType].walk[1]; part->partTypeData[2] = bActorSoundTable[actor->actorType].fly[0]; @@ -1858,7 +1858,7 @@ Actor* create_actor(Formation formation) { decorationTable = part->decorationTable; ASSERT(decorationTable != NULL); - decorationTable->unk_6C0 = 0; + decorationTable->paletteAdjustment = PAL_ADJUST_NONE; decorationTable->unk_750 = 0; decorationTable->unk_764 = 0; decorationTable->unk_768 = 0; @@ -1896,7 +1896,7 @@ Actor* create_actor(Formation formation) { part->spriteInstanceID = -1; if (part->idleAnimations != NULL) { - part->currentAnimation = func_80265CE8(part->idleAnimations, 1) & ~SPRITE_ID_TAIL_ALLOCATE; + part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, 1) & ~SPRITE_ID_TAIL_ALLOCATE; part->spriteInstanceID = spr_load_npc_sprite(part->currentAnimation, NULL); } @@ -1914,11 +1914,11 @@ Actor* create_actor(Formation formation) { part->nextPart = NULL; } - actor->hpFraction = 25; - actor->actorID = actor->enemyIndex | 0x200; + actor->healthFraction = 25; + actor->actorID = actor->enemyIndex | ACTOR_CLASS_ENEMY; takeTurnScript = start_script(actor->takeTurnSource, EVT_PRIORITY_A, 0); actor->takeTurnScriptID = takeTurnScript->id; - takeTurnScript->owner1.enemyID = actor->enemyIndex | 0x200; + takeTurnScript->owner1.enemyID = actor->enemyIndex | ACTOR_CLASS_ENEMY; actor->shadow.id = create_shadow_type(0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z); actor->shadowScale = actor->size.x / 24.0; actor->disableEffect = fx_disable_x(0, -142.0f, 34.0f, 1.0f, 0); @@ -1927,7 +1927,7 @@ Actor* create_actor(Formation formation) { return actor; } -s32 func_80265CE8(AnimID* animations, s32 statusKey) { +s32 get_npc_anim_for_status(AnimID* animations, s32 statusKey) { AnimID foundAnim; if (animations == NULL) { @@ -1936,7 +1936,7 @@ s32 func_80265CE8(AnimID* animations, s32 statusKey) { foundAnim = 0; while (animations[DICTIONARY_KEY] != NULL) { - if (animations[DICTIONARY_KEY] == STATUS_NORMAL) { + if (animations[DICTIONARY_KEY] == STATUS_KEY_NORMAL) { foundAnim = animations[DICTIONARY_VALUE]; } if (animations[DICTIONARY_KEY] == statusKey) { @@ -1948,7 +1948,7 @@ s32 func_80265CE8(AnimID* animations, s32 statusKey) { return foundAnim; } -s32 func_80265D44(s32 animID) { +s32 get_player_anim_for_status(s32 statusKey) { BattleStatus* battleStatus = &gBattleStatus; PlayerData* playerData = &gPlayerData; Actor* player = battleStatus->playerActor; @@ -1960,46 +1960,47 @@ s32 func_80265D44(s32 animID) { } ret = 0; - // TODO use animation id enum once it exists if (!(battleStatus->flags2 & BS_FLAGS2_PEACH_BATTLE)) { - if (playerData->curHP < 6) { - if (animID == 1) { - animID = 26; + // switch to danger override animations + if (playerData->curHP <= DANGER_THRESHOLD) { + if (statusKey == STATUS_KEY_NORMAL) { + statusKey = STATUS_KEY_DANGER; } - - if (animID == 18) { - animID = 22; + if (statusKey == STATUS_KEY_INACTIVE) { + statusKey = STATUS_KEY_INACTIVE_WEARY; } - - if (animID == 28) { - animID = 29; + if (statusKey == STATUS_KEY_THINKING) { + statusKey = STATUS_KEY_WEARY; } } - if (player->debuff == STATUS_POISON) { - if (animID == 1) { - animID = 26; + // switch to poisoned override animations + if (player->debuff == STATUS_KEY_POISON) { + if (statusKey == STATUS_KEY_NORMAL) { + statusKey = STATUS_KEY_DANGER; } - - if (animID == 18) { - animID = 22; + if (statusKey == STATUS_KEY_INACTIVE) { + statusKey = STATUS_KEY_INACTIVE_WEARY; } - - if (animID == 28) { - animID = 29; + if (statusKey == STATUS_KEY_THINKING) { + statusKey = STATUS_KEY_WEARY; } } - if (player->debuff == STATUS_DIZZY && animID == 18) { - animID = 24; + // switch to dizzy override animations + if (player->debuff == STATUS_KEY_DIZZY) { + if (statusKey == STATUS_KEY_INACTIVE) { + statusKey = STATUS_KEY_INACTIVE_DIZZY; + } } } + // search IdleAnimations to get animID for key while (*anim != NULL) { if (*anim == 1) { ret = anim[1]; } - if (*anim == animID) { + if (*anim == statusKey) { ret = anim[1]; break; } @@ -2032,7 +2033,7 @@ s32 lookup_status_chance(s32* statusTable, s32 statusKey) { s32 defaultChance = 0; while (statusTable[DICTIONARY_KEY] != STATUS_END) { - if (statusTable[DICTIONARY_KEY] == STATUS_DEFAULT) { + if (statusTable[DICTIONARY_KEY] == STATUS_KEY_DEFAULT) { defaultChance = statusTable[DICTIONARY_VALUE]; } @@ -2051,7 +2052,7 @@ s32 lookup_status_duration_mod(s32* statusTable, s32 statusKey) { s32 defaultTurnMod = 0; while (statusTable[DICTIONARY_KEY] != ELEMENT_END) { - if (statusTable[DICTIONARY_KEY] == STATUS_DEFAULT_TURN_MOD) { + if (statusTable[DICTIONARY_KEY] == STATUS_TURN_MOD_DEFAULT) { defaultTurnMod = statusTable[DICTIONARY_VALUE]; } @@ -2071,14 +2072,14 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) { EffectInstance* effect; switch (statusTypeKey) { - case STATUS_FEAR: - case STATUS_DIZZY: - case STATUS_PARALYZE: - case STATUS_SLEEP: - case STATUS_FROZEN: - case STATUS_STOP: - case STATUS_POISON: - case STATUS_SHRINK: + case STATUS_KEY_FEAR: + case STATUS_KEY_DIZZY: + case STATUS_KEY_PARALYZE: + case STATUS_KEY_SLEEP: + case STATUS_KEY_FROZEN: + case STATUS_KEY_STOP: + case STATUS_KEY_POISON: + case STATUS_KEY_SHRINK: if (target->actorID != ACTOR_PLAYER || (!is_ability_active(ABILITY_FEELING_FINE) && !is_ability_active(ABILITY_BERSERKER) && battleStatus->hustleTurns == 0)) { @@ -2094,7 +2095,7 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) { } switch (statusTypeKey) { - case STATUS_FROZEN: + case STATUS_KEY_FROZEN: if (target->actorID != ACTOR_PARTNER) { effect = target->icePillarEffect; if (effect != NULL) { @@ -2102,30 +2103,30 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) { } target->icePillarEffect = fx_ice_pillar(0, target->currentPos.x, target->currentPos.y, target->currentPos.z, 1.0f, 0); - create_status_debuff(target->hudElementDataIndex, STATUS_FROZEN); + create_status_debuff(target->hudElementDataIndex, STATUS_KEY_FROZEN); } return TRUE; - case STATUS_SLEEP: - func_80266DAC(target, 3); - create_status_debuff(target->hudElementDataIndex, STATUS_SLEEP); + case STATUS_KEY_SLEEP: + set_actor_pal_adjustment(target, PAL_ADJUST_SLEEP); + create_status_debuff(target->hudElementDataIndex, STATUS_KEY_SLEEP); return TRUE; - case STATUS_PARALYZE: - func_80266DAC(target, 7); - create_status_debuff(target->hudElementDataIndex, STATUS_PARALYZE); + case STATUS_KEY_PARALYZE: + set_actor_pal_adjustment(target, PAL_ADJUST_PARALYZE); + create_status_debuff(target->hudElementDataIndex, STATUS_KEY_PARALYZE); return TRUE; - case STATUS_DIZZY: - create_status_debuff(target->hudElementDataIndex, STATUS_DIZZY); + case STATUS_KEY_DIZZY: + create_status_debuff(target->hudElementDataIndex, STATUS_KEY_DIZZY); return TRUE; - case STATUS_FEAR: - func_80266DAC(target, 5); - create_status_debuff(target->hudElementDataIndex, STATUS_FEAR); + case STATUS_KEY_FEAR: + set_actor_pal_adjustment(target, PAL_ADJUST_FEAR); + create_status_debuff(target->hudElementDataIndex, STATUS_KEY_FEAR); return TRUE; - case STATUS_POISON: - func_80266DAC(target, 6); - create_status_debuff(target->hudElementDataIndex, STATUS_POISON); + case STATUS_KEY_POISON: + set_actor_pal_adjustment(target, PAL_ADJUST_POISON); + create_status_debuff(target->hudElementDataIndex, STATUS_KEY_POISON); return TRUE; - case STATUS_SHRINK: - create_status_debuff(target->hudElementDataIndex, STATUS_SHRINK); + case STATUS_KEY_SHRINK: + create_status_debuff(target->hudElementDataIndex, STATUS_KEY_SHRINK); return TRUE; } } @@ -2134,61 +2135,61 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) { return FALSE; } break; - case STATUS_STATIC: + case STATUS_KEY_STATIC: if (target->actorID != ACTOR_PARTNER) { target->staticStatus = statusTypeKey; target->staticDuration = duration; if ((s8)duration > 9) { target->staticDuration = 9; } - target->statusAfflicted = STATUS_STATIC; - func_80266DAC(target, 4); - create_status_static(target->hudElementDataIndex, STATUS_STATIC); + target->statusAfflicted = STATUS_KEY_STATIC; + set_actor_pal_adjustment(target, PAL_ADJUST_STATIC); + create_status_static(target->hudElementDataIndex, STATUS_KEY_STATIC); } return TRUE; - case STATUS_STONE: + case STATUS_KEY_STONE: if (target->actorID != ACTOR_PARTNER) { - target->stoneStatus = STATUS_STONE; + target->stoneStatus = STATUS_KEY_STONE; target->stoneDuration = duration; if ((s8)duration > 9) { target->stoneDuration = 9; } - target->statusAfflicted = STATUS_STONE; + target->statusAfflicted = STATUS_KEY_STONE; } return TRUE; - case STATUS_DAZE: + case STATUS_KEY_DAZE: if (target->koStatus < statusTypeKey) { - target->koStatus = STATUS_DAZE; + target->koStatus = STATUS_KEY_DAZE; target->koDuration = duration; if ((s8)duration > 9) { target->koDuration = 9; } - target->statusAfflicted = STATUS_DAZE; + target->statusAfflicted = STATUS_KEY_DAZE; } return TRUE; - case STATUS_TRANSPARENT: + case STATUS_KEY_TRANSPARENT: if (target->actorID != ACTOR_PARTNER) { - target->transparentStatus = STATUS_TRANSPARENT; + target->transparentStatus = STATUS_KEY_TRANSPARENT; target->transparentDuration = duration; if ((s8)duration > 9) { target->transparentDuration = 9; } - target->statusAfflicted = STATUS_TRANSPARENT; - create_status_transparent(target->hudElementDataIndex, STATUS_TRANSPARENT); + target->statusAfflicted = STATUS_KEY_TRANSPARENT; + create_status_transparent(target->hudElementDataIndex, STATUS_KEY_TRANSPARENT); } return TRUE; - case STATUS_END: - case STATUS_NORMAL: - case STATUS_DEFAULT: + case 0: + case STATUS_KEY_NORMAL: + case STATUS_KEY_DEFAULT: default: return TRUE; } } s32 inflict_partner_ko(Actor* target, s32 statusTypeKey, s32 duration) { - if (statusTypeKey == STATUS_DAZE) { + if (statusTypeKey == STATUS_KEY_DAZE) { if (statusTypeKey != target->koStatus) { - inflict_status(target, STATUS_DAZE, duration); + inflict_status(target, STATUS_KEY_DAZE, duration); sfx_play_sound(SOUND_2107); } else { target->koDuration += duration; @@ -2250,7 +2251,8 @@ s32 get_defense(Actor* actor, s32* defenseTable, s32 elementFlags) { return minDefense; } -void func_802664DC(f32 x, f32 y, f32 z, s32 attack, s32 a) { +// refresh the first (primary) damage popup +void show_primary_damage_popup(f32 posX, f32 posY, f32 posZ, s32 damageAmt, b32 angle) { s32 i; for (i = 0; i < 1; i++) { @@ -2261,21 +2263,22 @@ void func_802664DC(f32 x, f32 y, f32 z, s32 attack, s32 a) { if (i > 0) { i = 0; - gDamageCountEffects[i]->data.damageIndicator->effectDurationTimer = 5; + gDamageCountEffects[i]->data.damageIndicator->timeLeft = 5; gDamageCountEffects[i] = NULL; } - if (a == 0) { - a = -55; + if (angle == 0) { + angle = -55; } else { - a = 55; + angle = 55; } - fx_damage_indicator(0, x, y, z, 10.0f, a, attack, &gDamageCountEffects[i]); + fx_damage_indicator(0, posX, posY, posZ, 10.0f, angle, damageAmt, &gDamageCountEffects[i]); gDamageCountTimers[i] = 40; } -void show_damage_popup(f32 x, f32 y, f32 z, s32 attack, s32 a) { +// show another damage popup, if any are available +void show_next_damage_popup(f32 posX, f32 posY, f32 posZ, s32 damageAmt, b32 angle) { s32 i; for (i = 0; i < ARRAY_COUNT(gDamageCountEffects); i++) { @@ -2286,46 +2289,46 @@ void show_damage_popup(f32 x, f32 y, f32 z, s32 attack, s32 a) { if (i > ARRAY_COUNT(gDamageCountEffects) - 1) { i = 0; - gDamageCountEffects[i]->data.damageIndicator->effectDurationTimer = 5; + gDamageCountEffects[i]->data.damageIndicator->timeLeft = 5; gDamageCountEffects[i] = NULL; } - if (a == 0) { - a = -55; + if (angle == 0) { + angle = -55; } else { - a = 55; + angle = 55; } - fx_damage_indicator(0, x, y, z, 10.0f, a, attack, &gDamageCountEffects[i]); + fx_damage_indicator(0, posX, posY, posZ, 10.0f, angle, damageAmt, &gDamageCountEffects[i]); gDamageCountTimers[i] = 40; } -void func_80266684(void) { +void update_damage_popups(void) { s32 i; for (i = 0; i < ARRAY_COUNT(gDamageCountEffects); i++) { if (gDamageCountEffects[i] != NULL) { gDamageCountTimers[i]--; if (gDamageCountTimers[i] == 0) { - gDamageCountEffects[i]->data.damageIndicator->effectDurationTimer = 5; + gDamageCountEffects[i]->data.damageIndicator->timeLeft = 5; gDamageCountEffects[i] = NULL; } } }; } -void func_802666E4(Actor* actor, f32 x, f32 y, f32 z, s32 damage) { +void show_damage_fx(Actor* actor, f32 x, f32 y, f32 z, s32 damage) { BattleStatus* battleStatus = &gBattleStatus; - s32 var_t0; + s32 intensity; if (damage < 3) { - var_t0 = 0; + intensity = DAMAGE_INTENSITY_LIGHT; } else if (damage < 5) { - var_t0 = 1; + intensity = DAMAGE_INTENSITY_MEDIUM; } else if (damage < 9) { - var_t0 = 2; + intensity = DAMAGE_INTENSITY_HEAVY; } else { - var_t0 = 3; + intensity = DAMAGE_INTENSITY_EXTREME; } do { @@ -2336,13 +2339,13 @@ void func_802666E4(Actor* actor, f32 x, f32 y, f32 z, s32 damage) { } else if (battleStatus->currentAttackElement & DAMAGE_TYPE_WATER) { fx_water_splash(0, x, y, z, 1.0f, 24); } else { - fx_firework(0, x, y, z, 1.0, var_t0); + fx_firework(0, x, y, z, 1.0, intensity); } } while (0); // required to match } // grossness -void show_action_rating(s32 arg0, Actor* actor, f32 x, f32 y, f32 z) { +void show_action_rating(s32 rating, Actor* actor, f32 x, f32 y, f32 z) { BattleStatus* battleStatus = &gBattleStatus; Actor* player; s32 new_var; // TODO required to match @@ -2353,47 +2356,47 @@ void show_action_rating(s32 arg0, Actor* actor, f32 x, f32 y, f32 z) { if (actor->attackResultEffect == NULL) { type = 0; - switch (arg0) { - case 0: + switch (rating) { + case ACTION_RATING_NICE: type = 0; - actor->unk_204 = 1; + actor->actionRatingCombo = 1; break; - case 1: + case ACTION_RATING_MISS: type = 4; - actor->unk_204 = 0; + actor->actionRatingCombo = 0; break; - case 2: + case ACTION_RATING_LUCKY: type = 3; - actor->unk_204 = 0; + actor->actionRatingCombo = 0; break; - case 3: + case ACTION_RATING_SUPER: type = 2; - actor->unk_204 = 2; + actor->actionRatingCombo = 2; break; - case 4: + case ACTION_RATING_NICE_NO_COMBO: type = 0; - actor->unk_204 = 0; + actor->actionRatingCombo = 0; break; - case 5: - type = player->unk_204; - player->unk_204++; - if (player->unk_204 > 2) { - player->unk_204 = 2; + case ACTION_RATING_NICE_SUPER_COMBO: + type = player->actionRatingCombo; + player->actionRatingCombo++; + if (player->actionRatingCombo > 2) { + player->actionRatingCombo = 2; } break; } actor->attackResultEffect = fx_attack_result_text(type, x, y, z - 10.0f, 12.0f, 90); - actor->unk_205 = 80; + actor->actionRatingTime = 80; new_var = 2; // TODO required to match } else { - actor->attackResultEffect->data.attackResultText->unk_18 = 0; - type = actor->unk_204; - new_var = arg0; // TODO required to match + actor->attackResultEffect->data.attackResultText->timeLeft = 0; + type = actor->actionRatingCombo; + new_var = rating; // TODO required to match switch (new_var) { // TODO required to match case ACTION_RATING_NICE: - actor->unk_204++; - if (actor->unk_204 > 2) { - actor->unk_204 = 2; + actor->actionRatingCombo++; + if (actor->actionRatingCombo > 2) { + actor->actionRatingCombo = 2; } break; case ACTION_RATING_MISS: @@ -2409,23 +2412,23 @@ void show_action_rating(s32 arg0, Actor* actor, f32 x, f32 y, f32 z) { type = 0; break; case ACTION_RATING_NICE_SUPER_COMBO: - type = player->unk_204; - player->unk_204++; - if (player->unk_204 > 2) { - player->unk_204 = 2; + type = player->actionRatingCombo; + player->actionRatingCombo++; + if (player->actionRatingCombo > 2) { + player->actionRatingCombo = 2; } break; } actor->attackResultEffect = fx_attack_result_text(type, x, y, z - 10.0f, 12.0f, 90); - actor->unk_205 = 80; + actor->actionRatingTime = 80; } } void func_80266970(Actor* target) { - target->unk_204 = 0; + target->actionRatingCombo = 0; } -void func_80266978(void) { +void update_action_ratings(void) { BattleStatus* battleStatus = &gBattleStatus; Actor* actor; s32 i; @@ -2433,81 +2436,81 @@ void func_80266978(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = gBattleStatus.enemyActors[i]; if (actor != NULL) { - if (actor->unk_205 == 0x3C) { - if (actor->attackResultEffect != 0) { - actor->attackResultEffect->data.attackResultText->unk_24 = 0; + if (actor->actionRatingTime == 60) { + if (actor->attackResultEffect != NULL) { + actor->attackResultEffect->data.attackResultText->isVisible = FALSE; } } - if (actor->unk_205 == 5) { - if (actor->attackResultEffect != 0) { - actor->attackResultEffect->data.attackResultText->unk_18 = 0; + if (actor->actionRatingTime == 5) { + if (actor->attackResultEffect != NULL) { + actor->attackResultEffect->data.attackResultText->timeLeft = 0; actor->attackResultEffect = NULL; } } - if (actor->unk_205 > 0) { - actor->unk_205--; + if (actor->actionRatingTime > 0) { + actor->actionRatingTime--; } } } actor = battleStatus->playerActor; if (actor != NULL) { - if (actor->unk_205 == 60) { + if (actor->actionRatingTime == 60) { if (actor->attackResultEffect != NULL) { - actor->attackResultEffect->data.attackResultText->unk_24 = 0; + actor->attackResultEffect->data.attackResultText->isVisible = FALSE; } } - if (actor->unk_205 == 5) { + if (actor->actionRatingTime == 5) { if (actor->attackResultEffect != NULL) { - actor->attackResultEffect->data.attackResultText->unk_18 = 0; + actor->attackResultEffect->data.attackResultText->timeLeft = 0; actor->attackResultEffect = NULL; } } - if (actor->unk_205 > 0) { - actor->unk_205--; + if (actor->actionRatingTime > 0) { + actor->actionRatingTime--; } } actor = battleStatus->partnerActor; if (actor != NULL) { - if (actor->unk_205 == 60) { + if (actor->actionRatingTime == 60) { if (actor->attackResultEffect != NULL) { - actor->attackResultEffect->data.attackResultText->unk_24 = 0; + actor->attackResultEffect->data.attackResultText->isVisible = FALSE; } } - if (actor->unk_205 == 5) { + if (actor->actionRatingTime == 5) { if (actor->attackResultEffect != NULL) { - actor->attackResultEffect->data.attackResultText->unk_18 = 0; + actor->attackResultEffect->data.attackResultText->timeLeft = 0; actor->attackResultEffect = NULL; } } - if (actor->unk_205 > 0) { - actor->unk_205--; + if (actor->actionRatingTime > 0) { + actor->actionRatingTime--; } } } -void func_80266ADC(Actor* target) { - target->unk_206 = -1; - target->flags |= ACTOR_FLAG_80000; +void show_actor_health_bar(Actor* target) { + target->healthBarHideTime = -1; + target->flags |= ACTOR_FLAG_HEALTH_BAR_HIDDEN; } -void func_80266AF8(Actor* target) { - target->unk_206 = 0; - target->flags &= ~ACTOR_FLAG_80000; +void hide_actor_health_bar(Actor* target) { + target->healthBarHideTime = 0; + target->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; } -void func_80266B14(void) { +void update_health_bars(void) { s32 i; for (i = 0; i < ARRAY_COUNT(gBattleStatus.enemyActors); i++) { Actor* enemy = gBattleStatus.enemyActors[i]; if (enemy != NULL) { - if (enemy->unk_206 > 0) { - enemy->unk_206--; - if (enemy->unk_206 == 0) { - enemy->flags &= ~ACTOR_FLAG_80000; + if (enemy->healthBarHideTime > 0) { + enemy->healthBarHideTime--; + if (enemy->healthBarHideTime == 0) { + enemy->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; } } } @@ -2520,7 +2523,7 @@ s32 try_inflict_status(Actor* actor, s32 statusTypeKey, s32 statusKey) { s32 chance; s32 duration; - if (battleStatus->statusChance == STATUS_CHANCE_IGNORE_RES) { + if (battleStatus->statusChance == STATUS_KEY_IGNORE_RES) { duration = battleStatus->statusDuration; duration += lookup_status_duration_mod(actor->statusTable, statusKey); return inflict_status_set_duration(actor, statusTypeKey, statusKey, duration); @@ -2583,43 +2586,43 @@ s32 inflict_status_set_duration(Actor* actor, s32 statusTypeKey, s32 statusDurat return 0; } -void func_80266D6C(ActorPart* part, s32 arg1) { +void set_part_pal_adjustment(ActorPart* part, s32 palAdjust) { if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) { DecorationTable* decorationTable = part->decorationTable; - if (decorationTable->unk_6C0 != arg1) { - decorationTable->unk_6C0 = arg1; - decorationTable->unk_6C2 = 0; - decorationTable->unk_6C1 = 1; + if (decorationTable->paletteAdjustment != palAdjust) { + decorationTable->paletteAdjustment = palAdjust; + decorationTable->palAnimState = 0; + decorationTable->resetPalAdjust = TRUE; } } } -void func_80266DAC(Actor* actor, s32 arg1) { +void set_actor_pal_adjustment(Actor* actor, s32 palAdjust) { ActorPart* partIt = &actor->partsTable[0]; while (partIt != NULL) { - if (!(partIt->flags & ACTOR_PART_FLAG_INVISIBLE) && - (partIt->idleAnimations != NULL) && - !(partIt->flags & ACTOR_PART_FLAG_2)) - { - func_80266D6C(partIt, arg1); + if (!(partIt->flags & ACTOR_PART_FLAG_INVISIBLE) + && (partIt->idleAnimations != NULL) + && !(partIt->flags & ACTOR_PART_FLAG_2) + ) { + set_part_pal_adjustment(partIt, palAdjust); } partIt = partIt->nextPart; } } -void func_80266E14(ActorPart* part) { +void clear_part_pal_adjustment(ActorPart* part) { if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) { - part->decorationTable->unk_6C0 = 0; + part->decorationTable->paletteAdjustment = PAL_ADJUST_NONE; } } // TODO: improve match void func_80266E40(Actor* actor) { ActorPart* partIt = actor->partsTable; - s8 e = 0xE; - s8 f = 0xF; + s8 e = PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS; + s8 f = PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS; while (partIt != NULL) { DecorationTable* decorationTable = partIt->decorationTable; @@ -2629,8 +2632,8 @@ void func_80266E40(Actor* actor) { (partIt->idleAnimations != NULL) && !(partIt->flags & ACTOR_PART_FLAG_2)) { - if (decorationTable->unk_6C0 != e && decorationTable->unk_6C0 != f) { - decorationTable->unk_6C0 = 0; + if (decorationTable->paletteAdjustment != e && decorationTable->paletteAdjustment != f) { + decorationTable->paletteAdjustment = PAL_ADJUST_NONE; } } } while (0); // required to match @@ -2823,7 +2826,7 @@ void remove_player_buffs(s32 buffs) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; Actor* partner = battleStatus->partnerActor; - ActorPart* playerPartsTable = player->partsTable; + ActorPart* playerActorParts = player->partsTable; if (buffs & PLAYER_BUFF_JUMP_CHARGE) { battleStatus->jumpCharge = 0; @@ -2849,7 +2852,7 @@ void remove_player_buffs(s32 buffs) { if (buffs & PLAYER_BUFF_TRANSPARENT && (player->transparentStatus != 0)) { player->transparentDuration = 0; player->transparentStatus = 0; - playerPartsTable->flags &= ~ACTOR_PART_FLAG_100; + playerActorParts->flags &= ~ACTOR_PART_FLAG_100; remove_status_transparent(player->hudElementDataIndex); } if (buffs & PLAYER_BUFF_WATER_BLOCK && (battleStatus->waterBlockTurnsLeft != 0)) { @@ -2878,7 +2881,7 @@ void remove_player_buffs(s32 buffs) { if (partner != NULL && (buffs & PLAYER_BUFF_PARTNER_GLOWING)) { partner->isGlowing = FALSE; - gBattleStatus.flags1 &= ~BS_FLAGS1_40000000; + gBattleStatus.flags1 &= ~BS_FLAGS1_GOOMBARIO_CHARGED; } } @@ -2891,7 +2894,7 @@ void btl_update_ko_status(void) { player->koDuration = player->debuffDuration; if (player->koDuration > 0) { - player->koStatus = STATUS_DAZE; + player->koStatus = STATUS_KEY_DAZE; player->disableEffect->data.disableX->koDuration = player->koDuration; if (koDuration == 0) { @@ -2901,12 +2904,12 @@ void btl_update_ko_status(void) { if (partner != NULL) { if (partner->koDuration < partner->debuffDuration) { - partner->koStatus = STATUS_DAZE; + partner->koStatus = STATUS_KEY_DAZE; partner->koDuration = partner->debuffDuration; } if (partner->koDuration > 0) { - partner->koStatus = STATUS_DAZE; + partner->koStatus = STATUS_KEY_DAZE; partner->disableEffect->data.disableX->koDuration = partner->koDuration; } } @@ -2917,7 +2920,7 @@ void btl_update_ko_status(void) { if (enemy != NULL) { enemy->koDuration = enemy->debuffDuration; if (enemy->koDuration > 0) { - enemy->koStatus = STATUS_DAZE; + enemy->koStatus = STATUS_KEY_DAZE; enemy->disableEffect->data.disableX->koDuration = enemy->koDuration; } } diff --git a/src/19FAF0.c b/src/19FAF0.c index f4b29e3755..dfee802ad6 100644 --- a/src/19FAF0.c +++ b/src/19FAF0.c @@ -200,14 +200,14 @@ HitResult calc_player_test_enemy(void) { return HIT_RESULT_MISS; } - if (target->transparentStatus == STATUS_TRANSPARENT + if (target->transparentStatus == STATUS_KEY_TRANSPARENT || (targetPart->eventFlags & ACTOR_EVENT_FLAG_800) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) { return HIT_RESULT_MISS; } - if (target->stoneStatus == STATUS_STONE) { + if (target->stoneStatus == STATUS_KEY_STONE) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); return HIT_RESULT_IMMUNE; } @@ -231,7 +231,7 @@ HitResult calc_player_test_enemy(void) { return HIT_RESULT_BACKFIRE; } - if (player->staticStatus != STATUS_STATIC && target->staticStatus == STATUS_STATIC) { + if (player->staticStatus != STATUS_KEY_STATIC && target->staticStatus == STATUS_KEY_STATIC) { return HIT_RESULT_HIT_STATIC; } @@ -301,17 +301,17 @@ HitResult calc_player_damage_enemy(void) { } if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY - || (target->transparentStatus == STATUS_TRANSPARENT + || (target->transparentStatus == STATUS_KEY_TRANSPARENT || targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) ) { return HIT_RESULT_MISS; } - if (target->stoneStatus == STATUS_STONE) { + if (target->stoneStatus == STATUS_KEY_STONE) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 1); - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 0); + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 0); if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { return HIT_RESULT_1; } @@ -423,8 +423,8 @@ HitResult calc_player_damage_enemy(void) { } if (!is_ability_active(ABILITY_ZAP_TAP) - && player->staticStatus != STATUS_STATIC - && (target->staticStatus == STATUS_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) + && player->staticStatus != STATUS_KEY_STATIC + && (target->staticStatus == STATUS_KEY_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && !(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SHOCK)) && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) ) { @@ -541,7 +541,7 @@ HitResult calc_player_damage_enemy(void) { } } - if (player->debuff == STATUS_SHRINK) { + if (player->debuff == STATUS_KEY_SHRINK) { if (currentAttackDamage > 0) { currentAttackDamage /= 2; @@ -631,8 +631,8 @@ HitResult calc_player_damage_enemy(void) { if (targetPart->flags & ACTOR_PART_FLAG_2000) { if (!is_ability_active(ABILITY_ZAP_TAP) - && player->staticStatus != STATUS_STATIC - && (target->staticStatus == STATUS_STATIC || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) + && player->staticStatus != STATUS_KEY_STATIC + && (target->staticStatus == STATUS_KEY_STATIC || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_SHOCK) @@ -656,12 +656,12 @@ HitResult calc_player_damage_enemy(void) { if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { if (battleStatus->currentAttackElement & DAMAGE_TYPE_FEAR && rand_int(99) < (target->actorBlueprint->escapeChance * battleStatus->statusChance) / 100 - && (target->debuff != STATUS_FEAR - && target->debuff != STATUS_DIZZY - && target->debuff != STATUS_PARALYZE - && target->debuff != STATUS_SLEEP - && target->debuff != STATUS_FROZEN - && target->debuff != STATUS_STOP) + && (target->debuff != STATUS_KEY_FEAR + && target->debuff != STATUS_KEY_DIZZY + && target->debuff != STATUS_KEY_PARALYZE + && target->debuff != STATUS_KEY_SLEEP + && target->debuff != STATUS_KEY_FROZEN + && target->debuff != STATUS_KEY_STOP) && !(target->flags & ACTOR_FLAG_FLIPPED) ) { dispatch_event_actor(target, EVENT_SCARE_AWAY); @@ -691,8 +691,11 @@ HitResult calc_player_damage_enemy(void) { dispatchEvent = EVENT_HIT_COMBO; } - if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE || - (func_80266E14(targetPart), gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) { // TODO remove func_80266E14 from conditional + if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) { + clear_part_pal_adjustment(targetPart); + } + + if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { if (battleStatus->currentAttackElement & DAMAGE_TYPE_SPIN_SMASH) { PlayerData* playerData = &gPlayerData; @@ -836,7 +839,7 @@ HitResult calc_player_damage_enemy(void) { ) { #define INFLICT_STATUS(STATUS_TYPE) \ if ((battleStatus->currentAttackStatus & STATUS_FLAG_##STATUS_TYPE) && \ - try_inflict_status(target, STATUS_##STATUS_TYPE, STATUS_##STATUS_TYPE##_TURN_MOD)) { \ + try_inflict_status(target, STATUS_KEY_##STATUS_TYPE, STATUS_TURN_MOD_##STATUS_TYPE)) { \ tempBinary = TRUE; \ wasStatusInflicted = TRUE; \ } \ @@ -876,14 +879,14 @@ HitResult calc_player_damage_enemy(void) { } } } else if (!partImmuneToElement) { - if (battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_SMASH)) { - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); + if (battleStatus->currentAttackElement & (DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_SMASH)) { + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); } else { - func_802664DC(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); + show_primary_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); } if (!(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4)) { - func_802666E4(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); + show_damage_fx(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } } } @@ -894,8 +897,11 @@ HitResult calc_player_damage_enemy(void) { sfx_play_sound_at_position(player->actorTypeData1[5], SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } - if (battleStatus->lastAttackDamage > 0 && (sfx_play_sound(SOUND_231), battleStatus->lastAttackDamage > 0) || // TODO remove sfx_play_sound from conditional - battleStatus->currentAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS && tempBinary) { + if (battleStatus->lastAttackDamage > 0) { + sfx_play_sound(SOUND_231); + } + + if (battleStatus->lastAttackDamage > 0 || battleStatus->currentAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS && tempBinary) { if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_MULTI_BOUNCE)) { show_action_rating(ACTION_RATING_NICE, target, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { @@ -993,7 +999,7 @@ HitResult calc_player_damage_enemy(void) { sfx_play_sound_at_position(SOUND_SMASH_GOOMNUT_TREE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } - func_80266ADC(target); + show_actor_health_bar(target); if (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) { if (hitResult == HIT_RESULT_HIT) { @@ -1005,8 +1011,8 @@ HitResult calc_player_damage_enemy(void) { } if (!is_ability_active(ABILITY_ZAP_TAP) - && (player->staticStatus != STATUS_STATIC) - && (target->staticStatus == STATUS_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) + && (player->staticStatus != STATUS_KEY_STATIC) + && (target->staticStatus == STATUS_KEY_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && !(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SHOCK)) && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) ) { @@ -1078,8 +1084,8 @@ s32 dispatch_damage_event_player(s32 damageAmount, s32 event, s32 arg2) { sfx_play_sound_at_position(SOUND_HIT_NORMAL, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 1); - func_802666E4(player, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 1); + show_damage_fx(player, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); if (battleStatus->lastAttackDamage > 0) { func_80267018(player, 1); @@ -1518,7 +1524,8 @@ ApiStatus PlayerDamageEnemy(Evt* script, s32 isInitialCall) { flags = *args++; if ((flags & (BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE)) == (BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE)) { - gBattleStatus.flags1 |= BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE; + gBattleStatus.flags1 |= BS_FLAGS1_10; + gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; } else if (flags & BS_FLAGS1_10) { gBattleStatus.flags1 |= BS_FLAGS1_10; gBattleStatus.flags1 &= ~BS_FLAGS1_SP_EVT_ACTIVE; @@ -1555,7 +1562,7 @@ ApiStatus PlayerDamageEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetID = target->targetActorID; battleStatus->currentTargetPart = target->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { + if (battleStatus->statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; @@ -1626,7 +1633,7 @@ ApiStatus PlayerPowerBounceEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetID = target->targetActorID; battleStatus->currentTargetPart = target->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { + if (battleStatus->statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; @@ -1697,7 +1704,7 @@ ApiStatus PlayerTestEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetID = target->targetActorID; battleStatus->currentTargetPart = target->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { + if (battleStatus->statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; @@ -2464,8 +2471,8 @@ ApiStatus DidActionSucceed(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_80276EFC(Evt* script, s32 isInitialCall) { - gBattleStatus.flags1 |= BS_FLAGS1_200000; +ApiStatus PlayerYieldTurn(Evt* script, s32 isInitialCall) { + gBattleStatus.flags1 |= BS_FLAGS1_YIELD_TURN; return ApiStatus_DONE2; } diff --git a/src/1A5830.c b/src/1A5830.c index 731619285a..ec7140a3af 100644 --- a/src/1A5830.c +++ b/src/1A5830.c @@ -168,7 +168,7 @@ HitResult calc_enemy_test_target(Actor* actor) { hitResult = HIT_RESULT_HIT; target2 = target; - if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY || battleStatus->outtaSightActive || target2->transparentStatus == STATUS_TRANSPARENT) { + if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY || battleStatus->outtaSightActive || target2->transparentStatus == STATUS_KEY_TRANSPARENT) { if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_MAGIC)) { hitResult = HIT_RESULT_MISS; } @@ -220,11 +220,11 @@ HitResult calc_enemy_test_target(Actor* actor) { return HIT_RESULT_LUCKY; } - if (target2->stoneStatus == STATUS_STONE) { + if (target2->stoneStatus == STATUS_KEY_STONE) { return HIT_RESULT_IMMUNE; } - if (target2->staticStatus == STATUS_STATIC) { + if (target2->staticStatus == STATUS_KEY_STATIC) { return HIT_RESULT_HIT_STATIC; } @@ -289,16 +289,16 @@ HitResult calc_enemy_damage_target(Actor* attacker) { return HIT_RESULT_MISS; } - if (target->transparentStatus == STATUS_TRANSPARENT + if (target->transparentStatus == STATUS_KEY_TRANSPARENT || targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE) ) { return HIT_RESULT_MISS; } - if (target->stoneStatus == STATUS_STONE) { + if (target->stoneStatus == STATUS_KEY_STONE) { show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, -1); - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 0); + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 0); play_hit_sound(attacker, state->goalPos.x, state->goalPos.y, state->goalPos.z, 0); dispatch_event_general(target, EVENT_IMMUNE); return HIT_RESULT_HIT; @@ -338,8 +338,8 @@ HitResult calc_enemy_damage_target(Actor* attacker) { isIce = TRUE; } - if (!(attacker->staticStatus == STATUS_STATIC) - && ((target->staticStatus == STATUS_STATIC) || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) + if (!(attacker->staticStatus == STATUS_KEY_STATIC) + && ((target->staticStatus == STATUS_KEY_STATIC) || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) && !(battleStatus->currentAttackElement & (DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT)) && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) && !has_enchanted_part(attacker)) // enchanted attacks ignore electrified defenders @@ -389,7 +389,7 @@ HitResult calc_enemy_damage_target(Actor* attacker) { damage -= attacker->chillOutAmount; } - if (attacker->debuff == STATUS_SHRINK) { + if (attacker->debuff == STATUS_KEY_SHRINK) { if (damage > 0) { damage /= 2; } @@ -426,8 +426,8 @@ HitResult calc_enemy_damage_target(Actor* attacker) { switch (actorClass) { case ACTOR_CLASS_PLAYER: - // TODO figure out how to better write target->debuff >= STATUS_POISON - if ((target->debuff == 0 || target->debuff >= STATUS_POISON) && (target->stoneStatus == STATUS_END) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_UNBLOCKABLE)) { + // TODO figure out how to better write target->debuff >= STATUS_KEY_POISON + if ((target->debuff == 0 || target->debuff >= STATUS_KEY_POISON) && (target->stoneStatus == 0) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_UNBLOCKABLE)) { s32 blocked; if (player_team_is_ability_active(target, ABILITY_BERSERKER)) { @@ -448,8 +448,8 @@ HitResult calc_enemy_damage_target(Actor* attacker) { } break; case ACTOR_CLASS_PARTNER: - if (target->stoneStatus == STATUS_END) { - if (target->koStatus == STATUS_END && !(battleStatus->currentAttackElement & DAMAGE_TYPE_UNBLOCKABLE)) { + if (target->stoneStatus == 0) { + if (target->koStatus == 0 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_UNBLOCKABLE)) { if (check_block_input(BUTTON_A)) { damage = 0; sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -525,7 +525,7 @@ HitResult calc_enemy_damage_target(Actor* attacker) { } if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) { - func_80266E14(targetPart); + clear_part_pal_adjustment(targetPart); } if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) @@ -593,54 +593,54 @@ HitResult calc_enemy_damage_target(Actor* attacker) { && !(gBattleStatus.flags2 & BS_FLAGS2_1000000) && !(actorClass == ACTOR_PLAYER && is_ability_active(ABILITY_HEALTHY_HEALTHY) && (rand_int(100) < 50))) { - if (battleStatus->currentAttackStatus & STATUS_FLAG_SHRINK && try_inflict_status(target, STATUS_SHRINK, STATUS_SHRINK_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_SHRINK && try_inflict_status(target, STATUS_KEY_SHRINK, STATUS_TURN_MOD_SHRINK)) { statusInflicted = one; statusInflicted2 = one; } - if (battleStatus->currentAttackStatus & STATUS_FLAG_POISON && try_inflict_status(target, STATUS_POISON, STATUS_POISON_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_POISON && try_inflict_status(target, STATUS_KEY_POISON, STATUS_TURN_MOD_POISON)) { statusInflicted = one; statusInflicted2 = one; } - if (battleStatus->currentAttackStatus & STATUS_FLAG_STONE && try_inflict_status(target, STATUS_STONE, STATUS_STONE_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_STONE && try_inflict_status(target, STATUS_KEY_STONE, STATUS_TURN_MOD_STONE)) { statusInflicted = one; statusInflicted2 = one; } - if (battleStatus->currentAttackStatus & STATUS_FLAG_SLEEP && try_inflict_status(target, STATUS_SLEEP, STATUS_SLEEP_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_SLEEP && try_inflict_status(target, STATUS_KEY_SLEEP, STATUS_TURN_MOD_SLEEP)) { statusInflicted = one; statusInflicted2 = one; } - if (battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY && try_inflict_status(target, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY && try_inflict_status(target, STATUS_KEY_DIZZY, STATUS_TURN_MOD_DIZZY)) { statusInflicted = one; statusInflicted2 = one; } - if (battleStatus->currentAttackStatus & STATUS_FLAG_STOP && try_inflict_status(target, STATUS_STOP, STATUS_STOP_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_STOP && try_inflict_status(target, STATUS_KEY_STOP, STATUS_TURN_MOD_STOP)) { statusInflicted = one; statusInflicted2 = one; } - if (battleStatus->currentAttackStatus & STATUS_FLAG_STATIC && try_inflict_status(target, STATUS_STATIC, STATUS_STATIC_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_STATIC && try_inflict_status(target, STATUS_KEY_STATIC, STATUS_TURN_MOD_STATIC)) { statusInflicted = one; statusInflicted2 = one; } - if (battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE && try_inflict_status(target, STATUS_PARALYZE, STATUS_PARALYZE_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE && try_inflict_status(target, STATUS_KEY_PARALYZE, STATUS_TURN_MOD_PARALYZE)) { statusInflicted = one; statusInflicted2 = one; } - if (battleStatus->currentAttackStatus & STATUS_FLAG_FEAR && try_inflict_status(target, STATUS_FEAR, STATUS_FEAR_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_FEAR && try_inflict_status(target, STATUS_KEY_FEAR, STATUS_TURN_MOD_FEAR)) { statusInflicted = one; statusInflicted2 = one; } // @bug? repeated paralyze and dizzy infliction - if (battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE && try_inflict_status(target, STATUS_PARALYZE, STATUS_PARALYZE_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE && try_inflict_status(target, STATUS_KEY_PARALYZE, STATUS_TURN_MOD_PARALYZE)) { statusInflicted = one; statusInflicted2 = one; } - if (battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY && try_inflict_status(target, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY && try_inflict_status(target, STATUS_KEY_DIZZY, STATUS_TURN_MOD_DIZZY)) { statusInflicted = one; statusInflicted2 = one; } - if (battleStatus->currentAttackStatus & STATUS_FLAG_FROZEN && target->debuff != STATUS_FROZEN && try_inflict_status(target, STATUS_FROZEN, STATUS_FROZEN_TURN_MOD)) { + if (battleStatus->currentAttackStatus & STATUS_FLAG_FROZEN && target->debuff != STATUS_KEY_FROZEN && try_inflict_status(target, STATUS_KEY_FROZEN, STATUS_TURN_MOD_FROZEN)) { statusInflicted = one; statusInflicted2 = one; } @@ -676,7 +676,7 @@ HitResult calc_enemy_damage_target(Actor* attacker) { && gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && !(target->flags & ACTOR_FLAG_NO_DMG_APPLY)) { - inflict_partner_ko(target, STATUS_DAZE, battleStatus->lastAttackDamage); + inflict_partner_ko(target, STATUS_KEY_DAZE, battleStatus->lastAttackDamage); } if (!(target->flags & ACTOR_FLAG_NO_DMG_POPUP)) { @@ -688,12 +688,12 @@ HitResult calc_enemy_damage_target(Actor* attacker) { // immune star fx? show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, -3); } - } else if (battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_SMASH)) { - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 1); - func_802666E4(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); + } else if (battleStatus->currentAttackElement & (DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_SMASH)) { + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 1); + show_damage_fx(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } else { - func_802664DC(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 1); - func_802666E4(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); + show_primary_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 1); + show_damage_fx(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); break; } break; @@ -702,12 +702,12 @@ HitResult calc_enemy_damage_target(Actor* attacker) { if (!statusInflicted2 && !statusInflicted) { show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); } - } else if (battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_SMASH)) { - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); - func_802666E4(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); + } else if (battleStatus->currentAttackElement & (DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_SMASH)) { + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); + show_damage_fx(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } else { - func_802664DC(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); - func_802666E4(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); + show_primary_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); + show_damage_fx(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } break; } @@ -793,12 +793,13 @@ HitResult calc_enemy_damage_target(Actor* attacker) { sfx_play_sound_at_position(SOUND_SMASH_GOOMNUT_TREE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } - func_80266ADC(target); - if (attacker->staticStatus != STATUS_STATIC - && (target->staticStatus == STATUS_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) + show_actor_health_bar(target); + + if (attacker->staticStatus != STATUS_KEY_STATIC + && (target->staticStatus == STATUS_KEY_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) - && (attacker->transparentStatus != STATUS_TRANSPARENT) + && (attacker->transparentStatus != STATUS_KEY_TRANSPARENT) && !has_enchanted_part(attacker)) { sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -860,21 +861,21 @@ s32 dispatch_damage_event_actor(Actor* actor, s32 damageAmount, s32 originalEven s32 oldTargetActorID = actor->targetActorID; if (func_80263230(actor, actor) != 0) { - show_damage_popup(actor->targetData[0].pos.x, actor->targetData[0].pos.y, actor->targetData[0].pos.z, battleStatus->lastAttackDamage, 0); - func_802666E4(actor, actor->targetData[0].pos.x, actor->targetData[0].pos.y, actor->targetData[0].pos.z, battleStatus->lastAttackDamage); + show_next_damage_popup(actor->targetData[0].posA.x, actor->targetData[0].posA.y, actor->targetData[0].posA.z, battleStatus->lastAttackDamage, 0); + show_damage_fx(actor, actor->targetData[0].posA.x, actor->targetData[0].posA.y, actor->targetData[0].posA.z, battleStatus->lastAttackDamage); actor->targetActorID = oldTargetActorID; } else { actor->targetActorID = oldTargetActorID; } } else { - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); - func_802666E4(actor, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); + show_damage_fx(actor, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } if (battleStatus->lastAttackDamage > 0) { func_80267018(actor, 1); } - actor->flags |= ACTOR_FLAG_80000; + actor->flags |= ACTOR_FLAG_HEALTH_BAR_HIDDEN; dispatch_event_actor(actor, dispatchEvent); return 0; } @@ -2609,7 +2610,7 @@ ApiStatus SetEnemyHP(Evt* script, s32 isInitialCall) { actor->currentHP = actor->maxHP; } - actor->hpFraction = (actor->currentHP * 25) / actor->maxHP; + actor->healthFraction = (actor->currentHP * 25) / actor->maxHP; return ApiStatus_DONE2; } @@ -2866,7 +2867,7 @@ ApiStatus EnemyDamageTarget(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus & 0xFF; - if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { + if (battleStatus->statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; @@ -2904,7 +2905,7 @@ ApiStatus EnemyFollowupAfflictTarget(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { + if (battleStatus->statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } @@ -3028,25 +3029,25 @@ ApiStatus DispatchEvent(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_8027D2D8(Evt* script, s32 isInitialCall) { +ApiStatus ShowHealthBar(Evt* script, s32 isInitialCall) { s32 actorID = evt_get_variable(script, *script->ptrReadPos); if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } - func_80266ADC(get_actor(actorID)); + show_actor_health_bar(get_actor(actorID)); return ApiStatus_DONE2; } -ApiStatus func_8027D32C(Evt* script, s32 isInitialCall) { +ApiStatus HideHealthBar(Evt* script, s32 isInitialCall) { s32 actorID = evt_get_variable(script, *script->ptrReadPos); if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } - func_80266AF8(get_actor(actorID)); + hide_actor_health_bar(get_actor(actorID)); return ApiStatus_DONE2; } @@ -3205,7 +3206,7 @@ ApiStatus GetEncounterState(Evt* script, s32 isInitialCall) { } ApiStatus YieldTurn(Evt* script, s32 isInitialCall) { - gBattleStatus.flags1 |= BS_FLAGS1_200000; + gBattleStatus.flags1 |= BS_FLAGS1_YIELD_TURN; return ApiStatus_DONE2; } @@ -3340,7 +3341,7 @@ ApiStatus EnableActorGlow(Evt* script, s32 isInitialCall) { } it = it->nextPart; } - func_80266EE8(actor, 0); + func_80266EE8(actor, UNK_PAL_EFFECT_0); } return ApiStatus_DONE2; @@ -3406,9 +3407,9 @@ ApiStatus ClearStatusEffects(Evt* script, s32 isInitialCall) { actor = get_actor(actorID); - if (actor->debuff != STATUS_END) { + if (actor->debuff != 0) { actor->debuffDuration = 0; - actor->debuff = STATUS_END; + actor->debuff = 0; remove_status_debuff(actor->hudElementDataIndex); } diff --git a/src/1AC760.c b/src/1AC760.c index e1187d25ac..c21661e1b5 100644 --- a/src/1AC760.c +++ b/src/1AC760.c @@ -67,11 +67,11 @@ HitResult calc_partner_test_enemy(void) { part = get_actor_part(target, currentTargetPart); ASSERT(part != NULL); - if (target->stoneStatus == STATUS_STONE) { + if (target->stoneStatus == STATUS_KEY_STONE) { return HIT_RESULT_IMMUNE; } - if ((part->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) || target->transparentStatus == STATUS_TRANSPARENT) { + if ((part->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) || target->transparentStatus == STATUS_KEY_TRANSPARENT) { return HIT_RESULT_MISS; } @@ -134,8 +134,8 @@ HitResult calc_partner_test_enemy(void) { } // check partner airlifting electrified enemy - if (partner->staticStatus != STATUS_STATIC - && (target->staticStatus == STATUS_STATIC || (part->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) + if (partner->staticStatus != STATUS_KEY_STATIC + && (target->staticStatus == STATUS_KEY_STATIC || (part->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT)) { @@ -205,16 +205,16 @@ HitResult calc_partner_damage_enemy(void) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY - || target->transparentStatus == STATUS_TRANSPARENT + || target->transparentStatus == STATUS_KEY_TRANSPARENT || (targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) ) { return HIT_RESULT_MISS; } - if (target->stoneStatus == STATUS_STONE) { + if (target->stoneStatus == STATUS_KEY_STONE) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 1); - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 0); + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 0); if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { return HIT_RESULT_1; } @@ -328,8 +328,8 @@ HitResult calc_partner_damage_enemy(void) { // check shock contact for airlift if (battleStatus->currentAttackElement & DAMAGE_TYPE_AIR_LIFT) { - if (partner->staticStatus != STATUS_STATIC - && (target->staticStatus == STATUS_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) + if (partner->staticStatus != STATUS_KEY_STATIC + && (target->staticStatus == STATUS_KEY_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) ) { @@ -361,8 +361,8 @@ HitResult calc_partner_damage_enemy(void) { isIceDamage = TRUE; } - if (partner->staticStatus != STATUS_STATIC - && (target->staticStatus == STATUS_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) + if (partner->staticStatus != STATUS_KEY_STATIC + && (target->staticStatus == STATUS_KEY_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && !(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SHOCK)) && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) ) { @@ -395,7 +395,7 @@ HitResult calc_partner_damage_enemy(void) { damageDealt = 0; } - if (partner->debuff == STATUS_SHRINK) { + if (partner->debuff == STATUS_KEY_SHRINK) { if (damageDealt != 0) { damageDealt /= 2; @@ -473,8 +473,8 @@ HitResult calc_partner_damage_enemy(void) { } if (targetPart->flags & ACTOR_PART_FLAG_2000) { - if (partner->staticStatus == STATUS_STATIC - || !(target->staticStatus == STATUS_STATIC || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) + if (partner->staticStatus == STATUS_KEY_STATIC + || !(target->staticStatus == STATUS_KEY_STATIC || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) || battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT || battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT ) { @@ -513,8 +513,11 @@ HitResult calc_partner_damage_enemy(void) { dispatchEvent = EVENT_HIT_COMBO; } - if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE || - (func_80266E14(targetPart), gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) { // TODO remove func_80266E14 from conditional + if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) { + clear_part_pal_adjustment(targetPart); + } + + if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { if (battleStatus->currentAttackElement & DAMAGE_TYPE_SPIN_SMASH) { if (dispatchEvent == EVENT_HIT) { dispatchEvent = EVENT_SPIN_SMASH_HIT; @@ -642,7 +645,7 @@ HitResult calc_partner_damage_enemy(void) { ) { #define INFLICT_STATUS(STATUS_TYPE) \ if ((battleStatus->currentAttackStatus & STATUS_FLAG_##STATUS_TYPE) && \ - try_inflict_status(target, STATUS_##STATUS_TYPE, STATUS_##STATUS_TYPE##_TURN_MOD)) { \ + try_inflict_status(target, STATUS_KEY_##STATUS_TYPE, STATUS_TURN_MOD_##STATUS_TYPE)) { \ tempBinary = TRUE; \ wasStatusInflicted = TRUE; \ } \ @@ -669,19 +672,19 @@ HitResult calc_partner_damage_enemy(void) { if (battleStatus->currentAttackStatus & STATUS_FLAG_400000) { if (rand_int(99) < statusChanceOrDefense) { - if (!(target->debuff == STATUS_FEAR - || target->debuff == STATUS_DIZZY - || target->debuff == STATUS_PARALYZE - || target->debuff == STATUS_SLEEP - || target->debuff == STATUS_FROZEN - || target->debuff == STATUS_STOP) + if (!(target->debuff == STATUS_KEY_FEAR + || target->debuff == STATUS_KEY_DIZZY + || target->debuff == STATUS_KEY_PARALYZE + || target->debuff == STATUS_KEY_SLEEP + || target->debuff == STATUS_KEY_FROZEN + || target->debuff == STATUS_KEY_STOP) && !(target->flags & ACTOR_FLAG_FLIPPED) ) { dispatchEvent = EVENT_SCARE_AWAY; wasStatusInflicted = TRUE; retVal = 0; tempBinary = TRUE; - gBattleStatus.flags1 |= (BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10 | BS_FLAGS1_8 | BS_FLAGS1_ACTORS_VISIBLE); + gBattleStatus.flags1 |= (BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10 | BS_FLAGS1_SHOW_PLAYER_DECORATIONS | BS_FLAGS1_ACTORS_VISIBLE); sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { dispatchEvent = EVENT_IMMUNE; @@ -712,17 +715,17 @@ HitResult calc_partner_damage_enemy(void) { if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { if (battleStatus->currentAttackElement & DAMAGE_TYPE_FEAR) { if (rand_int(99) < statusChanceOrDefense) { - if (!(target->debuff == STATUS_FEAR || - target->debuff == STATUS_DIZZY || - target->debuff == STATUS_PARALYZE || - target->debuff == STATUS_SLEEP || - target->debuff == STATUS_FROZEN || - target->debuff == STATUS_STOP) && !(target->flags & ACTOR_FLAG_FLIPPED)) { + if (!(target->debuff == STATUS_KEY_FEAR || + target->debuff == STATUS_KEY_DIZZY || + target->debuff == STATUS_KEY_PARALYZE || + target->debuff == STATUS_KEY_SLEEP || + target->debuff == STATUS_KEY_FROZEN || + target->debuff == STATUS_KEY_STOP) && !(target->flags & ACTOR_FLAG_FLIPPED)) { dispatchEvent = EVENT_SCARE_AWAY; wasStatusInflicted = TRUE; retVal = 0; tempBinary = TRUE; - gBattleStatus.flags1 |= (BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10 | BS_FLAGS1_8 | BS_FLAGS1_ACTORS_VISIBLE); + gBattleStatus.flags1 |= (BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10 | BS_FLAGS1_SHOW_PLAYER_DECORATIONS | BS_FLAGS1_ACTORS_VISIBLE); sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { dispatchEvent = EVENT_IMMUNE; @@ -744,14 +747,14 @@ HitResult calc_partner_damage_enemy(void) { show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); } } else if (!partImmuneToElement) { - if (battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_SMASH)) { - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); + if (battleStatus->currentAttackElement & (DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_SMASH)) { + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); } else { - func_802664DC(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); + show_primary_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); } if (!(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4)) { - func_802666E4(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); + show_damage_fx(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } } } @@ -761,10 +764,11 @@ HitResult calc_partner_damage_enemy(void) { || gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40) && !(gBattleStatus.flags1 & BS_FLAGS1_80) ) { - if ((battleStatus->lastAttackDamage > 0 && - ((sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, - state->goalPos.z), //TODO remove sfx_play from conditional - battleStatus->lastAttackDamage > 0))) || (battleStatus->currentAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS && tempBinary)) { + if (battleStatus->lastAttackDamage > 0) { + sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + } + + if (battleStatus->lastAttackDamage > 0 || (battleStatus->currentAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS && tempBinary)) { if (gBattleStatus.flags1 & BS_FLAGS1_40) { show_action_rating(ACTION_RATING_NICE, target, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { @@ -866,7 +870,7 @@ HitResult calc_partner_damage_enemy(void) { sfx_play_sound_at_position(SOUND_SMASH_GOOMNUT_TREE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } - func_80266ADC(target); + show_actor_health_bar(target); if (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) { if (retVal == 0) { @@ -878,7 +882,7 @@ HitResult calc_partner_damage_enemy(void) { } } - if (partner->staticStatus != STATUS_STATIC && (target->staticStatus == STATUS_STATIC || + if (partner->staticStatus != STATUS_KEY_STATIC && (target->staticStatus == STATUS_KEY_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT)) { sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -930,23 +934,23 @@ s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion) { if (battleStatus->lastAttackDamage > 0) { gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; - inflict_status(partner, STATUS_DAZE, battleStatus->lastAttackDamage); + inflict_status(partner, STATUS_KEY_DAZE, battleStatus->lastAttackDamage); } if (!stopMotion) { set_goal_pos_to_part(state, ACTOR_PARTNER, 0); } - show_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, + show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 1); - func_802666E4(partner, state->goalPos.x, state->goalPos.y, state->goalPos.z, + show_damage_fx(partner, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); if (battleStatus->lastAttackDamage > 0) { func_80267018(partner, 1); } - partner->flags |= ACTOR_FLAG_80000; + partner->flags |= ACTOR_FLAG_HEALTH_BAR_HIDDEN; flagCheck = (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) != 0; dispatch_event_partner(event); @@ -1008,7 +1012,7 @@ ApiStatus func_8027FC90(Evt* script, s32 isInitialCall) { battleStatus->flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; hitResult = calc_partner_damage_enemy(); - show_damage_popup(actor->state.goalPos.x, actor->state.goalPos.y, actor->state.goalPos.z, battleStatus->lastAttackDamage, + show_next_damage_popup(actor->state.goalPos.x, actor->state.goalPos.y, actor->state.goalPos.z, battleStatus->lastAttackDamage, 0); evt_set_variable(script, outVar, hitResult); @@ -1090,7 +1094,7 @@ ApiStatus PartnerDamageEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = enemy->targetPartIndex; battleStatus->statusChance = statusChance; - if (statusChance == STATUS_CHANCE_NEVER) { + if (statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } @@ -1167,7 +1171,7 @@ ApiStatus PartnerAfflictEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = statusChance; - if (statusChance == STATUS_CHANCE_NEVER) { + if (statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } @@ -1243,7 +1247,7 @@ ApiStatus PartnerPowerBounceEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = statusChance; - if (statusChance == STATUS_CHANCE_NEVER) { + if (statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } @@ -1324,7 +1328,7 @@ ApiStatus PartnerTestEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = enemy->targetPartIndex; battleStatus->statusChance = statusChance; - if (statusChance == STATUS_CHANCE_NEVER) { + if (statusChance == STATUS_KEY_NEVER) { battleStatus->statusChance = 0; } @@ -1384,6 +1388,6 @@ ApiStatus GetActionCommandResult(Evt* script, s32 isInitialCall) { /// Seems to be the same functionality as YieldTurn in 1A5830.c ApiStatus PartnerYieldTurn(Evt* script, s32 isInitialCall) { - gBattleStatus.flags1 |= BS_FLAGS1_200000; + gBattleStatus.flags1 |= BS_FLAGS1_YIELD_TURN; return ApiStatus_DONE2; } diff --git a/src/23680.c b/src/23680.c index 9b85b7e661..e0e425d8d1 100644 --- a/src/23680.c +++ b/src/23680.c @@ -25,7 +25,7 @@ void spawn_drops(Enemy* enemy) { s32 spawnCounter; s32 dropCount; s32 totalWeight; - s32 facingAngleSign; + s32 angle; s32 angleMult; s32 i, j; s32 flags; @@ -39,7 +39,7 @@ void spawn_drops(Enemy* enemy) { spawnCounter = 0; availableRenderTasks = 256 - 10 - gLastRenderTaskCount; - facingAngleSign = clamp_angle(camera->currentYaw + 90.0f); + angle = clamp_angle(camera->currentYaw + 90.0f); x = npc->pos.x; y = npc->pos.y + (npc->collisionHeight / 2); z = npc->pos.z; @@ -70,7 +70,7 @@ void spawn_drops(Enemy* enemy) { totalWeight += drops->itemDrops[3 * i + 1]; if (drops->itemDrops[3 * i + 2] > 0) { - if (get_global_flag(drops->itemDrops[3 * i + 2] + 0x714) != 0) { + if (get_global_flag(EVT_INDEX_OF_GAME_FLAG(GF_Unused_NPC_6C) + drops->itemDrops[3 * i + 2])) { continue; } } @@ -89,33 +89,31 @@ void spawn_drops(Enemy* enemy) { } if (itemToDrop != ITEM_NONE) { - make_item_entity(itemToDrop, x, y, z, ITEM_SPAWN_MODE_BATTLE_REWARD, - pickupDelay, facingAngleSign + angleMult * 360, 0); + make_item_entity(itemToDrop, x, y, z, ITEM_SPAWN_MODE_BATTLE_REWARD, pickupDelay, angle + angleMult * 360, 0); spawnCounter++; pickupDelay += 2; - facingAngleSign += 30.0; + angle += 30.0; if (spawnCounter >= 12) { angleMult++; - facingAngleSign = angleMult * 8; + angle = angleMult * 8; spawnCounter = 0; } if (drops->itemDrops[3 * i + 2] >= 0) { - set_global_flag(drops->itemDrops[3 * i + 2] + 0x715); + set_global_flag(EVT_INDEX_OF_GAME_FLAG(GF_SpawnedItemDrop_00) + drops->itemDrops[3 * i + 2]); } } } if (encounter->dropWhackaBump) { encounter->dropWhackaBump = FALSE; - make_item_entity(ITEM_WHACKAS_BUMP, x, y, z, ITEM_SPAWN_MODE_BATTLE_REWARD, - pickupDelay, facingAngleSign + angleMult * 360, 0); + make_item_entity(ITEM_WHACKAS_BUMP, x, y, z, ITEM_SPAWN_MODE_BATTLE_REWARD, pickupDelay, angle + angleMult * 360, 0); spawnCounter++; pickupDelay += 2; - facingAngleSign += 30.0; + angle += 30.0; if (spawnCounter >= 12) { angleMult++; - facingAngleSign = angleMult * 8; + angle = angleMult * 8; spawnCounter = 0; } } @@ -163,15 +161,14 @@ void spawn_drops(Enemy* enemy) { availableShadows -= dropCount; for (i = 0; i < dropCount; i++) { - make_item_entity(itemToDrop, x, y, z, ITEM_SPAWN_MODE_BATTLE_REWARD, - pickupDelay, facingAngleSign + (angleMult * 360), 0); + make_item_entity(itemToDrop, x, y, z, ITEM_SPAWN_MODE_BATTLE_REWARD, pickupDelay, angle + (angleMult * 360), 0); spawnCounter++; pickupDelay += 2; - facingAngleSign += 30.0; + angle += 30.0; if (spawnCounter >= 12) { spawnCounter = 0; angleMult++; - facingAngleSign = angleMult * 8; + angle = angleMult * 8; } } @@ -218,15 +215,14 @@ void spawn_drops(Enemy* enemy) { availableShadows -= dropCount; for (i = 0; i < dropCount; i++) { - make_item_entity(itemToDrop, x, y, z, ITEM_SPAWN_MODE_BATTLE_REWARD, - pickupDelay, facingAngleSign + (angleMult * 360), 0); + make_item_entity(itemToDrop, x, y, z, ITEM_SPAWN_MODE_BATTLE_REWARD, pickupDelay, angle + (angleMult * 360), 0); spawnCounter++; pickupDelay += 2; - facingAngleSign += 30.0; + angle += 30.0; if (spawnCounter >= 12) { spawnCounter = 0; angleMult++; - facingAngleSign = angleMult * 8; + angle = angleMult * 8; } } @@ -284,15 +280,14 @@ void spawn_drops(Enemy* enemy) { } for (i = 0; i < dropCount; i++) { - make_item_entity(itemToDrop, x, y, z, ITEM_SPAWN_MODE_BATTLE_REWARD, - pickupDelay, facingAngleSign + (angleMult * 360), 0); + make_item_entity(itemToDrop, x, y, z, ITEM_SPAWN_MODE_BATTLE_REWARD, pickupDelay, angle + (angleMult * 360), 0); spawnCounter++; pickupDelay += 2; - facingAngleSign = facingAngleSign + 30.0; + angle = angle + 30.0; if (spawnCounter >= 12) { spawnCounter = 0; angleMult++; - facingAngleSign = angleMult * 8; + angle = angleMult * 8; } } } diff --git a/src/415D90.c b/src/415D90.c index 7f1d1bf7a3..72637f07b0 100644 --- a/src/415D90.c +++ b/src/415D90.c @@ -418,7 +418,7 @@ BSS s32 D_802AD6D4; void create_battle_popup_menu(PopupMenu* popup); -s32 func_80265D44(s32 animID); +s32 get_player_anim_for_status(s32 animID); void func_802A3C98(void* data, s32 x, s32 y); void func_802A43DC(void* data, s32 x, s32 y); void func_802A4448(void* data, s32 x, s32 y); @@ -1309,17 +1309,17 @@ s32 btl_submenu_moves_update(void) { } set_window_update(WINDOW_ID_8, WINDOW_UPDATE_HIDE); if (!BattleMenu_UsingSpiritsSubmenu) { - status_menu_stop_blinking_fp(); + status_bar_stop_blinking_fp(); } else { - status_menu_stop_blinking_sp(); + status_bar_stop_blinking_sp(); } battle_menu_moveOptionActive = battle_menu_moveCursorPos; return BattleMenu_Moves_OptionIndexMap[battle_menu_moveCursorPos] + 1; case BTL_SUBMENU_MOVES_STATE_UNK_NEGATIVE_TWO: if (!BattleMenu_UsingSpiritsSubmenu) { - status_menu_stop_blinking_fp(); + status_bar_stop_blinking_fp(); } else { - status_menu_stop_blinking_sp(); + status_bar_stop_blinking_sp(); } return 255; case BTL_SUBMENU_MOVES_STATE_UNK_A: @@ -1333,9 +1333,9 @@ s32 btl_submenu_moves_update(void) { } set_window_update(WINDOW_ID_8, WINDOW_UPDATE_HIDE); if (!BattleMenu_UsingSpiritsSubmenu) { - status_menu_stop_blinking_fp(); + status_bar_stop_blinking_fp(); } else { - status_menu_stop_blinking_sp(); + status_bar_stop_blinking_sp(); } battle_menu_moveState = BTL_SUBMENU_MOVES_STATE_UNK_B; battle_menu_moveOptionActive = battle_menu_moveCursorPos; @@ -1504,18 +1504,18 @@ void func_802A3C98(void* data, s32 x, s32 y) { if (!BattleMenu_UsingSpiritsSubmenu ) { if (i == battle_menu_moveCursorPos) { if (num == 0 || BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) { - status_menu_stop_blinking_fp(); + status_bar_stop_blinking_fp(); } else { - status_menu_start_blinking_fp(); + status_bar_start_blinking_fp(); } } } else { if (i == battle_menu_moveCursorPos) { if (num == 0 || BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) { - status_menu_stop_blinking_sp(); + status_bar_stop_blinking_sp(); } else { a0 = battle_menu_moveOptionDisplayCosts[BattleMenu_Moves_OptionIndexMap[idx]]; - status_menu_start_blinking_sp_bars( + status_bar_start_blinking_sp_bars( battle_menu_moveOptionDisplayCosts[BattleMenu_Moves_OptionIndexMap[idx]] ); } @@ -1620,9 +1620,9 @@ void func_802A3C98(void* data, s32 x, s32 y) { if (battle_menu_moveState == -1) { if (!BattleMenu_UsingSpiritsSubmenu) { - status_menu_stop_blinking_fp(); + status_bar_stop_blinking_fp(); } else { - status_menu_stop_blinking_sp(); + status_bar_stop_blinking_sp(); } } break; @@ -2129,34 +2129,34 @@ s32 can_btl_state_update_switch_to_player(void) { s8 debuff = player->debuff; s32 playerCantMove = FALSE; - if (player->koStatus == STATUS_DAZE) { + if (player->koStatus == STATUS_KEY_DAZE) { playerCantMove = TRUE; } - if (debuff == STATUS_POISON) { + if (debuff == STATUS_KEY_POISON) { playerCantMove = FALSE; } - if (debuff == STATUS_SHRINK) { + if (debuff == STATUS_KEY_SHRINK) { playerCantMove = FALSE; } - if (debuff == STATUS_SLEEP) { + if (debuff == STATUS_KEY_SLEEP) { playerCantMove = TRUE; } - if (debuff == STATUS_FEAR) { + if (debuff == STATUS_KEY_FEAR) { playerCantMove = TRUE; } - if (debuff == STATUS_DIZZY) { + if (debuff == STATUS_KEY_DIZZY) { playerCantMove = TRUE; } - if (debuff == STATUS_PARALYZE) { + if (debuff == STATUS_KEY_PARALYZE) { playerCantMove = TRUE; } - if (debuff == STATUS_FROZEN) { + if (debuff == STATUS_KEY_FROZEN) { playerCantMove = TRUE; } - if (debuff == STATUS_STOP) { + if (debuff == STATUS_KEY_STOP) { playerCantMove = TRUE; } - if (player->stoneStatus == STATUS_STONE) { + if (player->stoneStatus == STATUS_KEY_STONE) { playerCantMove = TRUE; } if (battleStatus->outtaSightActive) { @@ -2181,31 +2181,31 @@ s32 func_802A58D0(void) { partnerDebuff = partner->debuff; partnerCantMove = FALSE; - if (partner->koStatus == STATUS_DAZE) { + if (partner->koStatus == STATUS_KEY_DAZE) { partnerCantMove = TRUE; } - if (partnerDebuff == STATUS_POISON) { + if (partnerDebuff == STATUS_KEY_POISON) { partnerCantMove = FALSE; } - if (partnerDebuff == STATUS_SHRINK) { + if (partnerDebuff == STATUS_KEY_SHRINK) { partnerCantMove = FALSE; } - if (partnerDebuff == STATUS_SLEEP) { + if (partnerDebuff == STATUS_KEY_SLEEP) { partnerCantMove = TRUE; } - if (partnerDebuff == STATUS_FEAR) { + if (partnerDebuff == STATUS_KEY_FEAR) { partnerCantMove = TRUE; } - if (partnerDebuff == STATUS_PARALYZE) { + if (partnerDebuff == STATUS_KEY_PARALYZE) { partnerCantMove = TRUE; } - if (partnerDebuff == STATUS_FROZEN) { + if (partnerDebuff == STATUS_KEY_FROZEN) { partnerCantMove = TRUE; } - if (partnerDebuff == STATUS_STOP) { + if (partnerDebuff == STATUS_KEY_STOP) { partnerCantMove = TRUE; } - if (partner->stoneStatus == STATUS_STONE) { + if (partner->stoneStatus == STATUS_KEY_STONE) { partnerCantMove = TRUE; } return !partnerCantMove; @@ -2445,7 +2445,7 @@ void btl_state_update_player_menu(void) { if (battleStatus->hustleTurns != 0) { set_animation(ACTOR_PLAYER, 0, ANIM_Mario1_ThinkingRun); } else { - set_animation(ACTOR_PLAYER, 0, func_80265D44(STATUS_THINKING)); + set_animation(ACTOR_PLAYER, 0, get_player_anim_for_status(STATUS_KEY_THINKING)); } submenuResult = btl_main_menu_update(); if (D_802ACC6C != 0) { @@ -2456,7 +2456,7 @@ void btl_state_update_player_menu(void) { battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_MAIN] = battle_menu_submenuIDs[BattleMenu_CurPos + BattleMenu_HomePos]; btl_main_menu_destroy(); btl_set_state(BATTLE_STATE_SWITCH_TO_PARTNER); - } else if (partnerActor != NULL && !(partnerActor->flags & BS_FLAGS1_200000) && battleStatus->hustleTurns != 1) { + } else if (partnerActor != NULL && !(partnerActor->flags & BS_FLAGS1_YIELD_TURN) && battleStatus->hustleTurns != 1) { sfx_play_sound(SOUND_MENU_ERROR); gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_MAIN_SHOW_CANT_SWAP; } @@ -4676,28 +4676,28 @@ void btl_state_update_twink_menu(void) { switch (gBattleSubState) { case BTL_SUBSTATE_TWINK_MENU_INIT: shouldSkipTurn = FALSE; - if (player->debuff == STATUS_SLEEP) { + if (player->debuff == STATUS_KEY_SLEEP) { shouldSkipTurn = TRUE; } - if (player->debuff == STATUS_FEAR) { + if (player->debuff == STATUS_KEY_FEAR) { shouldSkipTurn = TRUE; } - if (player->debuff == STATUS_DIZZY) { + if (player->debuff == STATUS_KEY_DIZZY) { shouldSkipTurn = TRUE; } - if (player->debuff == STATUS_PARALYZE) { + if (player->debuff == STATUS_KEY_PARALYZE) { shouldSkipTurn = TRUE; } - if (player->debuff == STATUS_FROZEN) { + if (player->debuff == STATUS_KEY_FROZEN) { shouldSkipTurn = TRUE; } - if (player->debuff == STATUS_STOP) { + if (player->debuff == STATUS_KEY_STOP) { shouldSkipTurn = TRUE; } - if (player->stoneStatus == STATUS_STONE) { + if (player->stoneStatus == STATUS_KEY_STONE) { shouldSkipTurn = TRUE; } - if (player->koStatus == STATUS_DAZE) { + if (player->koStatus == STATUS_KEY_DAZE) { shouldSkipTurn = TRUE; } @@ -5119,9 +5119,9 @@ void btl_state_draw_select_target(void) { target = &actor->targetData[targetIndexList[selectedTargetIndex]]; anotherActor = get_actor(target->actorID); id = D_802ACC70[0]; - targetX = target->pos.x; - targetY = target->pos.y; - targetZ = target->pos.z; + targetX = target->posA.x; + targetY = target->posA.y; + targetZ = target->posA.z; if (anotherActor->flags & ACTOR_FLAG_UPSIDE_DOWN) { xOffset = 16; @@ -5147,9 +5147,9 @@ void btl_state_draw_select_target(void) { target = &actor->targetData[targetIndexList[i]]; anotherActor = get_actor(target->actorID); id = D_802ACC70[i]; - targetX = target->pos.x; - targetY = target->pos.y; - targetZ = target->pos.z; + targetX = target->posA.x; + targetY = target->posA.y; + targetZ = target->posA.z; if (anotherActor->flags & ACTOR_FLAG_UPSIDE_DOWN) { xOffset = 16; yOffset = 2; diff --git a/src/77480.c b/src/77480.c index 8047b9a20f..a2b8a16773 100644 --- a/src/77480.c +++ b/src/77480.c @@ -665,7 +665,7 @@ void update_player(void) { check_input_open_menus(); if (!(playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS)) { - check_input_status_menu(); + check_input_status_bar(); } update_player_shadow(); diff --git a/src/7fd10_len_b40.c b/src/7fd10_len_b40.c index 42cf077415..385faf6a94 100644 --- a/src/7fd10_len_b40.c +++ b/src/7fd10_len_b40.c @@ -376,7 +376,7 @@ block_17: } } -void check_input_status_menu(void) { +void check_input_status_bar(void) { PlayerStatus* playerStatus = &gPlayerStatus; s32 pressedButtons; @@ -387,16 +387,16 @@ void check_input_status_menu(void) { pressedButtons = gGameStatusPtr->pressedButtons[0]; } - if (!is_status_menu_visible()) { + if (!is_status_bar_visible()) { if (!(playerStatus->currentButtons & (Z_TRIG | R_TRIG)) && (pressedButtons & BUTTON_C_UP) && func_800E9860()) { - open_status_menu_long(); + open_status_bar_long(); if (!is_picking_up_item()) { sfx_play_sound(SOUND_3); } } } else if (!(playerStatus->currentButtons & (Z_TRIG | R_TRIG)) && (pressedButtons & BUTTON_C_UP) && func_800E9860()) { - close_status_menu(); + close_status_bar(); if (!is_picking_up_item()) { sfx_play_sound(SOUND_4); diff --git a/src/80850_len_3060.c b/src/80850_len_3060.c index 5eac19aa46..e203676b3b 100644 --- a/src/80850_len_3060.c +++ b/src/80850_len_3060.c @@ -4,7 +4,7 @@ extern HudScript* TimesHudScript; extern HudScript* SPIncrementHudScripts[]; extern HudScript* SPStarHudScripts[]; -extern s32 StatusMenuSPIncrementOffsets[]; +extern s32 StatusBarSPIncrementOffsets[]; extern s16 D_8010CD10; extern s16 D_8010CD12; @@ -25,8 +25,8 @@ extern HudScript HES_StatusStarEmpty; extern HudScript* SlashHudScript; -void status_menu_start_blinking_coins(void); -void status_menu_stop_blinking_coins(void); +void status_bar_start_blinking_coins(void); +void status_bar_stop_blinking_coins(void); void clear_player_data(void) { PlayerData* playerData = &gPlayerData; @@ -45,7 +45,7 @@ void clear_player_data(void) { playerData->maxBP = 3; playerData->level = 1; playerData->bootsLevel = 0; - playerData->hasActionCommands = 0; + playerData->hasActionCommands = FALSE; playerData->coins = 0; playerData->fortressKeyCount = 0; playerData->starPieces = 0; @@ -297,7 +297,7 @@ void enforce_hpfp_limits(void) { } } -void initialize_status_menu(void) { +void initialize_status_bar(void) { UiStatus* uiStatus = &gUIStatus; PlayerData* playerData = &gPlayerData; s32 iconIndex; @@ -342,7 +342,7 @@ void initialize_status_menu(void) { uiStatus->unk_6C[1] = 0; uiStatus->iconIndex12 = -1; - close_status_menu(); + close_status_bar(); iconIndex = hud_element_create(&HES_StatusHP); uiStatus->hpIconIndices[0] = iconIndex; @@ -413,7 +413,7 @@ void initialize_status_menu(void) { func_800F0D5C(); } -void status_menu_draw_number(s32 iconID, s32 x, s32 y, s32 value, s32 numDigits) { +void status_bar_draw_number(s32 iconID, s32 x, s32 y, s32 value, s32 numDigits) { s8 digits[4]; s32 i; s32 x2, y2; @@ -451,7 +451,7 @@ void status_menu_draw_number(s32 iconID, s32 x, s32 y, s32 value, s32 numDigits) } } -void status_menu_draw_stat(s32 id, s32 x, s32 y, s32 currentValue, s32 maxValue) { +void status_bar_draw_stat(s32 id, s32 x, s32 y, s32 currentValue, s32 maxValue) { s8 digits[4]; s32 cond; s32 digit; @@ -507,7 +507,7 @@ void status_menu_draw_stat(s32 id, s32 x, s32 y, s32 currentValue, s32 maxValue) } } -void update_status_menu(void) { +void update_status_bar(void) { UiStatus* uiStatus = &gUIStatus; PlayerData* playerData = &gPlayerData; PlayerStatus* playerStatus = &gPlayerStatus; @@ -533,7 +533,7 @@ void update_status_menu(void) { } if (gGameStatusPtr->isBattle == 0 && playerData->coins != uiStatus->displayCoins) { - status_menu_start_blinking_coins(); + status_bar_start_blinking_coins(); } i = playerData->coins - uiStatus->displayCoins; @@ -577,7 +577,7 @@ void update_status_menu(void) { if (uiStatus->displayHP != playerData->curHP) { if (gGameStatusPtr->isBattle == 0 && playerData->curHP < uiStatus->displayHP) { - status_menu_start_blinking_hp(); + status_bar_start_blinking_hp(); } if (uiStatus->displayHP < playerData->curHP) { if (uiStatus->drawPosY >= 18) { @@ -595,7 +595,7 @@ void update_status_menu(void) { if (uiStatus->displayFP != playerData->curFP) { if (gGameStatusPtr->isBattle == 0 && playerData->curFP < uiStatus->displayFP) { - status_menu_start_blinking_fp(); + status_bar_start_blinking_fp(); } if (uiStatus->displayFP < playerData->curFP) { if (uiStatus->drawPosY >= 18) { @@ -691,7 +691,7 @@ void update_status_menu(void) { if (uiStatus->hpBlinkTimer > 0) { uiStatus->hpBlinkTimer--; if (uiStatus->hpBlinkTimer == 0) { - status_menu_stop_blinking_hp(); + status_bar_stop_blinking_hp(); } } @@ -722,13 +722,13 @@ void update_status_menu(void) { x = uiStatus->drawPosX + 48; y = uiStatus->drawPosY + 8; - status_menu_draw_stat(uiStatus->iconIndex8, x, y, uiStatus->displayHP, playerData->curMaxHP); + status_bar_draw_stat(uiStatus->iconIndex8, x, y, uiStatus->displayHP, playerData->curMaxHP); } if (uiStatus->fpBlinkTimer > 0) { uiStatus->fpBlinkTimer--; if (uiStatus->fpBlinkTimer == 0) { - status_menu_stop_blinking_fp(); + status_bar_stop_blinking_fp(); } } @@ -759,7 +759,7 @@ void update_status_menu(void) { x = uiStatus->drawPosX + 136; y = uiStatus->drawPosY + 8; - status_menu_draw_stat(uiStatus->iconIndex9, x, y, uiStatus->displayFP, playerData->curMaxFP); + status_bar_draw_stat(uiStatus->iconIndex9, x, y, uiStatus->displayFP, playerData->curMaxFP); } if (playerData->level >= 27) { @@ -793,13 +793,13 @@ void update_status_menu(void) { x = uiStatus->drawPosX + 200; y = uiStatus->drawPosY + 8; - status_menu_draw_number(uiStatus->iconIndexA, x, y, playerData->starPoints, 2); + status_bar_draw_number(uiStatus->iconIndexA, x, y, playerData->starPoints, 2); } if (uiStatus->coinsBlinkTimer > 0) { uiStatus->coinsBlinkTimer--; if (uiStatus->coinsBlinkTimer == 0) { - status_menu_stop_blinking_coins(); + status_bar_stop_blinking_coins(); } } @@ -830,7 +830,7 @@ void update_status_menu(void) { x = uiStatus->drawPosX + 247; y = uiStatus->drawPosY + 8; - status_menu_draw_number(uiStatus->iconIndexB, x, y, uiStatus->displayCoins, 3); + status_bar_draw_number(uiStatus->iconIndexB, x, y, uiStatus->displayCoins, 3); } id = uiStatus->starIconIndex; @@ -915,7 +915,7 @@ void update_status_menu(void) { i++; hud_element_set_script(id, SPIncrementHudScripts[sp50]); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[0], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[0], y - 2); hud_element_draw_next(id); s1++; @@ -925,7 +925,7 @@ void update_status_menu(void) { i++; hud_element_set_script(id, SPIncrementHudScripts[sp50]); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[1], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[1], y - 2); hud_element_draw_next(id); s1++; if (i >= limit || i >= s7 && !sp54) { @@ -933,7 +933,7 @@ void update_status_menu(void) { } i++; hud_element_set_script(id, SPIncrementHudScripts[sp50]); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[2], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[2], y - 2); hud_element_draw_next(id); s1++; if (i >= limit || i >= s7 && !sp54) { @@ -941,7 +941,7 @@ void update_status_menu(void) { } i++; hud_element_set_script(id, SPIncrementHudScripts[sp50]); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[3], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[3], y - 2); hud_element_draw_next(id); s1++; if (i >= limit || i >= s7 && !sp54) { @@ -949,7 +949,7 @@ void update_status_menu(void) { } i++; hud_element_set_script(id, SPIncrementHudScripts[sp50]); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[4], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[4], y - 2); hud_element_draw_next(id); s1++; @@ -958,7 +958,7 @@ void update_status_menu(void) { } i++; hud_element_set_script(id, SPIncrementHudScripts[sp50]); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[5], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[5], y - 2); hud_element_draw_next(id); s1++; @@ -967,7 +967,7 @@ void update_status_menu(void) { } i++; hud_element_set_script(id, SPIncrementHudScripts[sp50]); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[6], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[6], y - 2); hud_element_draw_next(id); s1++; @@ -995,7 +995,7 @@ void update_status_menu(void) { if (s1 == 0) { i++; hud_element_set_script(id, &HES_StatusSPEmptyIncrement); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[s1], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[s1], y - 2); hud_element_draw_next(id); if (i >= limit) { break; @@ -1005,7 +1005,7 @@ void update_status_menu(void) { if (s1 == 1) { i++; hud_element_set_script(id, &HES_StatusSPEmptyIncrement); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[s1], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[s1], y - 2); hud_element_draw_next(id); if (i >= limit) { break; @@ -1015,7 +1015,7 @@ void update_status_menu(void) { if (s1 == 2) { i++; hud_element_set_script(id, &HES_StatusSPEmptyIncrement); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[s1], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[s1], y - 2); hud_element_draw_next(id); if (i >= limit) { break; @@ -1025,7 +1025,7 @@ void update_status_menu(void) { if (s1 == 3) { i++; hud_element_set_script(id, &HES_StatusSPEmptyIncrement); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[s1], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[s1], y - 2); hud_element_draw_next(id); if (i >= limit) { break; @@ -1035,7 +1035,7 @@ void update_status_menu(void) { if (s1 == 4) { i++; hud_element_set_script(id, &HES_StatusSPEmptyIncrement); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[s1], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[s1], y - 2); hud_element_draw_next(id); if (i >= limit) { break; @@ -1045,7 +1045,7 @@ void update_status_menu(void) { if (s1 == 5) { i++; hud_element_set_script(id, &HES_StatusSPEmptyIncrement); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[s1], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[s1], y - 2); hud_element_draw_next(id); if (i >= limit) { break; @@ -1055,7 +1055,7 @@ void update_status_menu(void) { if (s1 == 6) { i++; hud_element_set_script(id, &HES_StatusSPEmptyIncrement); - hud_element_set_render_pos(id, x + sp50 * 20 + StatusMenuSPIncrementOffsets[s1], y - 2); + hud_element_set_render_pos(id, x + sp50 * 20 + StatusBarSPIncrementOffsets[s1], y - 2); hud_element_draw_next(id); if (i >= limit) { break; @@ -1205,11 +1205,11 @@ ApiStatus ShowCoinCounter(Evt* script, s32 isInitialCall) { } void draw_status_ui(void) { - update_status_menu(); + update_status_bar(); update_coin_counter(); } -void open_status_menu_long(void) { +void open_status_bar_long(void) { UiStatus* uiStatus = &gUIStatus; if (uiStatus->hidden) { @@ -1219,7 +1219,7 @@ void open_status_menu_long(void) { } } -void open_status_menu_short(void) { +void open_status_bar_short(void) { UiStatus* uiStatus = &gUIStatus; if (uiStatus->hidden) { @@ -1229,7 +1229,7 @@ void open_status_menu_short(void) { } } -void close_status_menu(void) { +void close_status_bar(void) { UiStatus* uiStatus = &gUIStatus; if (uiStatus->hidden != TRUE) { @@ -1283,7 +1283,7 @@ s32 func_800E9860(void) { return ret; } -void status_menu_ignore_changes(void) { +void status_bar_ignore_changes(void) { gUIStatus.ignoreChanges = TRUE; } @@ -1294,7 +1294,7 @@ void func_800E98A8(void) { uiStatus->drawPosY = 18; } -void status_menu_respond_to_changes(void) { +void status_bar_respond_to_changes(void) { gUIStatus.ignoreChanges = FALSE; } @@ -1312,11 +1312,11 @@ void func_800E9900(void) { gUIStatus.unk_45[1] = 0; } -s32 is_status_menu_visible(void) { +s32 is_status_bar_visible(void) { return !gUIStatus.hidden; } -void status_menu_start_blinking_hp(void) { +void status_bar_start_blinking_hp(void) { UiStatus* uiStatus = &gUIStatus; if (gGameStatusPtr->isBattle == 0) { @@ -1329,7 +1329,7 @@ void status_menu_start_blinking_hp(void) { } } -void status_menu_stop_blinking_hp(void) { +void status_bar_stop_blinking_hp(void) { UiStatus* uiStatus = &gUIStatus; if (uiStatus->hpBlinking != 0) { @@ -1339,7 +1339,7 @@ void status_menu_stop_blinking_hp(void) { } } -void status_menu_start_blinking_fp(void) { +void status_bar_start_blinking_fp(void) { UiStatus* uiStatus = &gUIStatus; if (gGameStatusPtr->isBattle == 0) { @@ -1352,7 +1352,7 @@ void status_menu_start_blinking_fp(void) { } } -void status_menu_stop_blinking_fp(void) { +void status_bar_stop_blinking_fp(void) { UiStatus* uiStatus = &gUIStatus; if (uiStatus->fpBlinking != 0) { @@ -1361,7 +1361,7 @@ void status_menu_stop_blinking_fp(void) { } } -void status_menu_start_blinking_coins(void) { +void status_bar_start_blinking_coins(void) { UiStatus* uiStatus = &gUIStatus; if (gGameStatusPtr->isBattle == 0) { @@ -1374,7 +1374,7 @@ void status_menu_start_blinking_coins(void) { } } -void status_menu_stop_blinking_coins(void) { +void status_bar_stop_blinking_coins(void) { UiStatus* uiStatus = &gUIStatus; if (uiStatus->coinsBlinking != 0) { @@ -1384,7 +1384,7 @@ void status_menu_stop_blinking_coins(void) { } } -void status_menu_start_blinking_sp(void) { +void status_bar_start_blinking_sp(void) { PlayerData* playerData = &gPlayerData; UiStatus* uiStatus = &gUIStatus; @@ -1395,7 +1395,7 @@ void status_menu_start_blinking_sp(void) { } } -void status_menu_stop_blinking_sp(void) { +void status_bar_stop_blinking_sp(void) { UiStatus* uiStatus = &gUIStatus; if (uiStatus->spBlinking != 0) { @@ -1404,7 +1404,7 @@ void status_menu_stop_blinking_sp(void) { } } -void status_menu_start_blinking_sp_bars(s32 numBarsToBlink) { +void status_bar_start_blinking_sp_bars(s32 numBarsToBlink) { UiStatus* uiStatus = &gUIStatus; uiStatus->spBarsToBlink = numBarsToBlink; @@ -1414,7 +1414,7 @@ void status_menu_start_blinking_sp_bars(s32 numBarsToBlink) { } } -void status_menu_start_blinking_starpoints(void) { +void status_bar_start_blinking_starpoints(void) { UiStatus* uiStatus = &gUIStatus; if (uiStatus->starpointsBlinking != 1) { @@ -1423,7 +1423,7 @@ void status_menu_start_blinking_starpoints(void) { } } -void status_menu_stop_blinking_starpoints(void) { +void status_bar_stop_blinking_starpoints(void) { UiStatus* uiStatus = &gUIStatus; if (uiStatus->starpointsBlinking != 0) { @@ -1432,7 +1432,7 @@ void status_menu_stop_blinking_starpoints(void) { } } -void decrement_status_menu_disabled(void) { +void decrement_status_bar_disabled(void) { UiStatus* uiStatus = &gUIStatus; if (uiStatus->disabled > 0) { @@ -1440,13 +1440,13 @@ void decrement_status_menu_disabled(void) { } } -void increment_status_menu_disabled(void) { +void increment_status_bar_disabled(void) { UiStatus* uiStatus = &gUIStatus; uiStatus->disabled++; } -void sync_status_menu(void) { +void sync_status_bar(void) { PlayerData* playerData = &gPlayerData; UiStatus* uiStatus = &gUIStatus; @@ -1457,7 +1457,7 @@ void sync_status_menu(void) { uiStatus->displayStarpoints = playerData->starPoints; } -void reset_status_menu(void) { +void reset_status_bar(void) { PlayerData* playerData = &gPlayerData; UiStatus* uiStatus = &gUIStatus; s32 i; diff --git a/src/8a860_len_3f30.c b/src/8a860_len_3f30.c index 87ae7f56df..dd27d705ce 100644 --- a/src/8a860_len_3f30.c +++ b/src/8a860_len_3f30.c @@ -215,9 +215,9 @@ void destroy_popup_menu(void) { gPopupMenu->popupType == POPUP_TYPE_USE_KEY ) && !gGameStatusPtr->isBattle) { if (D_8010D69A == 0) { - status_menu_respond_to_changes(); + status_bar_respond_to_changes(); } - close_status_menu(); + close_status_bar(); } gPopupState = POPUP_STATE_MINUS_4; @@ -1622,8 +1622,8 @@ void create_standard_popup_menu(PopupMenu* popup) { s32 numEntries; D_8010D69A = func_800E98D4(); - status_menu_ignore_changes(); - open_status_menu_short(); + status_bar_ignore_changes(); + open_status_bar_short(); gPopupMenu = popup; popup->result = POPUP_RESULT_CHOOSING; popup->dipMode = 0; diff --git a/src/C50A0.c b/src/C50A0.c index 6e416ce2cd..1bda91f465 100644 --- a/src/C50A0.c +++ b/src/C50A0.c @@ -40,35 +40,35 @@ extern ItemEntity* BattleItemEntities[MAX_ITEM_ENTITIES]; extern ItemEntity** gCurrentItemEntities; extern s16 isPickingUpItem; extern s16 D_801565A6; -extern s16 D_801565A8; +extern s16 D_801565A8; // some hack relating to kooper item pickups extern PopupMenu D_801565B0; -extern s32 D_801568E0; -extern s32 D_801568E4; +extern s32 ItemPickupIconID; +extern s32 ItemPickupStateDelay; extern s32 D_801568E8; extern s32 D_801568EC; -extern EffectInstance* D_801568F0; -extern MessagePrintState* D_801568F4; -extern s32 D_801568F8; +extern EffectInstance* ItemPickupGotOutline; +extern MessagePrintState* GotItemTutorialPrinter; +extern b32 GotItemTutorialClosed; void item_entity_update(ItemEntity*); void appendGfx_item_entity(void*); void draw_item_entities(void); -void draw_item_entities_UI(void); +void draw_ui_item_entities(void); s32 test_item_player_collision(ItemEntity*); void update_item_entity_collectable(ItemEntity*); -void func_8013559C(ItemEntity*); -void update_item_entity_static(ItemEntity*); -void func_801356C4(ItemEntity*); -void func_801356CC(ItemEntity*); -void func_801356D4(ItemEntity*); +void draw_ui_item_entity_collectable(ItemEntity*); +void update_item_entity_stationary(ItemEntity*); +void draw_ui_item_entity_stationary(ItemEntity*); +void update_item_entity_no_pickup(ItemEntity*); +void draw_ui_item_entity_no_pickup(ItemEntity*); void func_801363A0(ItemEntity*); -void update_item_entity_temp(ItemEntity*); +void update_item_entity_pickup(ItemEntity*); s32 draw_image_with_clipping(IMG_PTR raster, u32 width, u32 height, s32 fmt, s32 bitDepth, s16 posX, s16 posY, u16 clipX, u16 clipY, u16 clipWidth, u16 clipHeight); -void func_8013673C(ItemEntity* itemEntity, s32 posX, s32 posY); -void func_801369D0(ItemEntity* itemEntity, s32 posX, s32 posY); -void func_80136A08(ItemEntity* itemEntity, s32 posX, s32 posY); +void draw_content_pickup_item_header(ItemEntity* item, s32 posX, s32 posY); +void draw_content_cant_carry_more(ItemEntity* item, s32 posX, s32 posY); +void draw_content_pickup_item_desc(ItemEntity* item, s32 posX, s32 posY); Vtx D_8014C5A0[4] = { {{{ -12, 0, 0 }, 0, { 0x2300, 0x2300 }, { 0, 0, 0, 255 }}}, @@ -116,8 +116,8 @@ Gfx D_8014C6A0[] = { Lights1 D_8014C6C8 = gdSPDefLights1(255, 255, 255, 0, 0, 0, 0, 0, 0); -s16 D_8014C6E0[] = { 32, 40 }; -s16 D_8014C6E4[] = { 8, 4 }; +s16 PickupHeaderWindowHeight[] = { 32, 40 }; +s16 PickupMessageWindowYOffsets[] = { 8, 4 }; s32 draw_ci_image_with_clipping(IMG_PTR raster, s32 width, s32 height, s32 fmt, s32 bitDepth, PAL_PTR palette, s16 posX, s16 posY, u16 clipULx, u16 clipULy, u16 clipLRx, u16 clipRLy, u8 opacity) { @@ -605,53 +605,53 @@ s32 draw_adjustable_tiled_image(IMG_PTR raster, u32 width, u32 height, u8 fmt, u static const f32 rodata_padding[] = { 0.0f }; -void sparkle_script_init(ItemEntity* itemEntity, SparkleScript* script) { - itemEntity->sparkleReadPos = (s32*)script; - itemEntity->sparkleNextUpdate = 1; - itemEntity->sparkleSavedPos = (s32*)script; +void sparkle_script_init(ItemEntity* item, SparkleScript* script) { + item->sparkleReadPos = (s32*)script; + item->sparkleNextUpdate = 1; + item->sparkleSavedPos = (s32*)script; } -s32 sparkle_script_step(ItemEntity* itemEntity) { - s32* readPos = itemEntity->sparkleReadPos; +s32 sparkle_script_step(ItemEntity* item) { + s32* readPos = item->sparkleReadPos; switch (*readPos++) { case SPARKLE_OP_SetGfx: - itemEntity->sparkleNextUpdate = *readPos++; - itemEntity->sparkleUnk44 = *readPos++; - itemEntity->sparkleReadPos = readPos; + item->sparkleNextUpdate = *readPos++; + item->sparkleUnk44 = *readPos++; + item->sparkleReadPos = readPos; break; case SPARKLE_OP_Restart: - itemEntity->sparkleReadPos = itemEntity->sparkleSavedPos; + item->sparkleReadPos = item->sparkleSavedPos; return TRUE; case SPARKLE_OP_Jump: - itemEntity->sparkleSavedPos = readPos; - itemEntity->sparkleReadPos = readPos; + item->sparkleSavedPos = readPos; + item->sparkleReadPos = readPos; return TRUE; case SPARKLE_OP_SetCI: - itemEntity->sparkleNextUpdate = *readPos++; - itemEntity->sparkleRaster = (IMG_PTR)*readPos++; - itemEntity->sparklePalette = (PAL_PTR)*readPos++; - itemEntity->sparkleWidth = *readPos++; - itemEntity->sparkleHeight = *readPos++; - itemEntity->sparkleReadPos = readPos; + item->sparkleNextUpdate = *readPos++; + item->sparkleRaster = (IMG_PTR)*readPos++; + item->sparklePalette = (PAL_PTR)*readPos++; + item->sparkleWidth = *readPos++; + item->sparkleHeight = *readPos++; + item->sparkleReadPos = readPos; break; case SPARKLE_OP_Break: readPos++; // ignore arg - itemEntity->sparkleReadPos = readPos; + item->sparkleReadPos = readPos; case SPARKLE_OP_End: return TRUE; } return FALSE; } -void sparkle_script_update(ItemEntity* itemEntity) { - itemEntity->sparkleNextUpdate--; - if (itemEntity->sparkleNextUpdate <= 0) { - while (sparkle_script_step(itemEntity)) {} +void sparkle_script_update(ItemEntity* item) { + item->sparkleNextUpdate--; + if (item->sparkleNextUpdate <= 0) { + while (sparkle_script_step(item)) {} } } -void draw_coin_sparkles(ItemEntity* itemEntity) { +void draw_coin_sparkles(ItemEntity* item) { f32 x, y, z; f32 angle; Matrix4f sp18; @@ -666,7 +666,7 @@ void draw_coin_sparkles(ItemEntity* itemEntity) { angle = clamp_angle(180.0f - gCameras[gCurrentCamID].currentYaw); guTranslateF(sp18, x, y, z); - guTranslateF(sp58, itemEntity->position.x, itemEntity->position.y + 12.0f, itemEntity->position.z); + guTranslateF(sp58, item->position.x, item->position.y + 12.0f, item->position.z); guRotateF(sp98, angle, 0.0f, 1.0f, 0.0f); guMtxCatF(sp18, sp98, sp98); guMtxCatF(sp98, sp58, spD8); @@ -687,12 +687,12 @@ void draw_coin_sparkles(ItemEntity* itemEntity) { gDPSetCombineKey(gMainGfxPos++, G_CK_NONE); gDPSetAlphaCompare(gMainGfxPos++, G_AC_NONE); - ifxImg.raster = itemEntity->sparkleRaster; - ifxImg.palette = itemEntity->sparklePalette; - ifxImg.width = itemEntity->sparkleWidth; - ifxImg.height = itemEntity->sparkleHeight; - ifxImg.xOffset = -itemEntity->sparkleWidth / 2; - ifxImg.yOffset = itemEntity->sparkleHeight / 2; + ifxImg.raster = item->sparkleRaster; + ifxImg.palette = item->sparklePalette; + ifxImg.width = item->sparkleWidth; + ifxImg.height = item->sparkleHeight; + ifxImg.xOffset = -item->sparkleWidth / 2; + ifxImg.yOffset = item->sparkleHeight / 2; ifxImg.alpha = 255; imgfx_appendGfx_component(0, &ifxImg, 0, spD8); @@ -704,22 +704,22 @@ ItemEntity* get_item_entity(s32 itemEntityIndex) { return gCurrentItemEntities[itemEntityIndex]; } -void hide_item_entity(ItemEntity* itemEntity) { +void hide_item_entity(ItemEntity* item) { Shadow* shadow; - itemEntity->flags |= ITEM_ENTITY_FLAG_HIDDEN; - if (itemEntity->shadowIndex >= 0) { - shadow = get_shadow_by_index(itemEntity->shadowIndex); + item->flags |= ITEM_ENTITY_FLAG_HIDDEN; + if (item->shadowIndex >= 0) { + shadow = get_shadow_by_index(item->shadowIndex); shadow->flags |= ENTITY_FLAG_HIDDEN; } } -void reveal_item_entity(ItemEntity* itemEntity) { +void reveal_item_entity(ItemEntity* item) { Shadow* shadow; - itemEntity->flags &= ~ITEM_ENTITY_FLAG_HIDDEN; - if (itemEntity->shadowIndex >= 0) { - shadow = get_shadow_by_index(itemEntity->shadowIndex); + item->flags &= ~ITEM_ENTITY_FLAG_HIDDEN; + if (item->shadowIndex >= 0) { + shadow = get_shadow_by_index(item->shadowIndex); shadow->flags &= ~ENTITY_FLAG_HIDDEN; } } @@ -748,9 +748,9 @@ void clear_item_entity_data(void) { } create_worker_world(NULL, draw_item_entities); - create_worker_frontUI(NULL, draw_item_entities_UI); + create_worker_frontUI(NULL, draw_ui_item_entities); isPickingUpItem = FALSE; - D_801565A8 = 0; + D_801565A8 = FALSE; } void init_item_entity_list(void) { @@ -761,7 +761,7 @@ void init_item_entity_list(void) { } isPickingUpItem = FALSE; - D_801565A8 = 0; + D_801565A8 = FALSE; ItemEntitiesCreated = 0; ItemEntityAlternatingSpawn = 0; } @@ -867,10 +867,10 @@ void item_entity_load(ItemEntity* item) { item_entity_update(item); } -s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 facingAngleSign, s32 pickupFlagIndex) { +s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 angle, s32 pickupFlagIndex) { s32 i; s32 id; - ItemEntity* itemEntity; + ItemEntity* item; f32 hitDepth; Shadow* shadow; @@ -910,191 +910,224 @@ s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pic ASSERT(i < MAX_ITEM_ENTITIES); id = i; - gCurrentItemEntities[id] = itemEntity = heap_malloc(sizeof(*itemEntity)); + gCurrentItemEntities[id] = item = heap_malloc(sizeof(*item)); ItemEntitiesCreated++; - ASSERT(itemEntity != NULL); + ASSERT(item != NULL); - itemEntity->renderGroup = (itemID & 0xF0000) >> 16; - if (itemEntity->renderGroup == VIS_GROUP_5) { - itemEntity->renderGroup = -1; + item->renderGroup = (itemID & 0xF0000) >> 16; + if (item->renderGroup == VIS_GROUP_5) { + item->renderGroup = -1; } - itemEntity->spawnType = itemSpawnMode; - itemEntity->state = 0; - itemEntity->position.x = x; - itemEntity->position.y = y; - itemEntity->position.z = z; + item->spawnType = itemSpawnMode; + item->state = ITEM_PHYSICS_STATE_INIT; + item->position.x = x; + item->position.y = y; + item->position.z = z; itemID &= 0xFFFF; - itemEntity->flags = ITEM_ENTITY_FLAG_80 | ITEM_ENTITY_FLAG_10 | ITEM_ENTITY_FLAG_CAM2 | ITEM_ENTITY_FLAG_CAM1 | ITEM_ENTITY_FLAG_CAM0; - itemEntity->pickupMsgFlags = 0; - itemEntity->boundVar = pickupFlagIndex; - itemEntity->itemID = itemID; - itemEntity->physicsData = NULL; - itemEntity->pickupDelay = pickupDelay; - itemEntity->scale = 1.0f; - itemEntity->wsFaceAngle = facingAngleSign; - itemEntity->shadowIndex = -1; - itemEntity->nextUpdate = 1; - itemEntity->unk_34.x = -9999; - itemEntity->unk_34.y = -9999; - itemEntity->unk_34.z = -9999; + item->flags = ITEM_ENTITY_FLAG_80 | ITEM_ENTITY_FLAG_10 | ITEM_ENTITY_FLAG_CAM2 | ITEM_ENTITY_FLAG_CAM1 | ITEM_ENTITY_FLAG_CAM0; + item->pickupMsgFlags = 0; + item->boundVar = pickupFlagIndex; + item->itemID = itemID; + item->physicsData = NULL; + item->pickupDelay = pickupDelay; + item->scale = 1.0f; + item->spawnAngle = angle; + item->shadowIndex = -1; + item->nextUpdate = 1; + item->lastPos.x = -9999; + item->lastPos.y = -9999; + item->lastPos.z = -9999; D_801565A6 = 30; - itemEntity->flags |= ITEM_ENTITY_RESIZABLE; + item->flags |= ITEM_ENTITY_RESIZABLE; if (gItemTable[itemID].typeFlags & ITEM_TYPE_FLAG_ENTITY_FULLSIZE) { - itemEntity->flags |= ITEM_ENTITY_FLAG_40000; - itemEntity->flags &= ~ITEM_ENTITY_RESIZABLE; + item->flags |= ITEM_ENTITY_FLAG_40000; + item->flags &= ~ITEM_ENTITY_RESIZABLE; } if (ItemEntityAlternatingSpawn != 0) { - itemEntity->flags |= ITEM_ENTITY_FLAG_20000; + item->flags |= ITEM_ENTITY_FLAG_20000; } ItemEntityAlternatingSpawn = 1 - ItemEntityAlternatingSpawn; - switch (itemEntity->spawnType) { + switch (item->spawnType) { case ITEM_SPAWN_MODE_KEY: - itemEntity->flags |= ITEM_ENTITY_FLAG_80000000; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_RECEIPT; break; case ITEM_SPAWN_MODE_DECORATION: case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_800000; break; case ITEM_SPAWN_MODE_INVISIBLE: - itemEntity->flags |= ITEM_ENTITY_FLAG_100000; + item->flags |= ITEM_ENTITY_FLAG_100000; break; case ITEM_SPAWN_MODE_BATTLE_REWARD: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000; - itemEntity->flags |= ITEM_ENTITY_FLAG_10000; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_TOSS_LOWER; + item->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_TOSS_NEVER_VANISH: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_400 | ITEM_ENTITY_FLAG_NEVER_VANISH; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_TOUCH; + item->flags |= ITEM_ENTITY_FLAG_NEVER_VANISH; + item->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_TOSS: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_400; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_TOUCH; + item->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_800; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_800; + item->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE_NEVER_VANISH: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_800 | ITEM_ENTITY_FLAG_NEVER_VANISH; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_800; + item->flags |= ITEM_ENTITY_FLAG_NEVER_VANISH; + item->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS_NEVER_VANISH: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_NEVER_VANISH; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_NEVER_VANISH; + item->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_ITEM_BLOCK_ITEM: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_400; - itemEntity->flags |= ITEM_ENTITY_FLAG_40000000; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_TOUCH; + item->flags |= ITEM_ENTITY_FLAG_ANGLE_RELATIVE_VELOCITY; + item->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_ITEM_BLOCK_BADGE: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_400; - itemEntity->flags |= ITEM_ENTITY_FLAG_40000000 | ITEM_ENTITY_FLAG_NEVER_VANISH; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_TOUCH; + item->flags |= ITEM_ENTITY_FLAG_ANGLE_RELATIVE_VELOCITY; + item->flags |= ITEM_ENTITY_FLAG_NEVER_VANISH; + item->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_800000; break; case ITEM_SPAWN_MODE_FALL_NEVER_VANISH: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_400 | ITEM_ENTITY_FLAG_NEVER_VANISH; - itemEntity->spawnType = ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_TOUCH; + item->flags |= ITEM_ENTITY_FLAG_NEVER_VANISH; + item->spawnType = ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_FALL: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_400; - itemEntity->spawnType = ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_TOUCH; + item->spawnType = ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_FALL_SPAWN_ONCE: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_800; - itemEntity->spawnType = ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_800; + item->spawnType = ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_FIXED; - itemEntity->flags |= ITEM_ENTITY_FLAG_10000000; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_NO_GRAVITY; + item->flags |= ITEM_ENTITY_FLAG_NO_MOTION; break; case ITEM_SPAWN_MODE_FIXED_NEVER_VANISH: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_FIXED | ITEM_ENTITY_FLAG_400 | ITEM_ENTITY_FLAG_NEVER_VANISH; - itemEntity->flags |= ITEM_ENTITY_FLAG_10000000; - itemEntity->spawnType = ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_NO_GRAVITY; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_TOUCH; + item->flags |= ITEM_ENTITY_FLAG_NEVER_VANISH; + item->flags |= ITEM_ENTITY_FLAG_NO_MOTION; + item->spawnType = ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_FIXED: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_FIXED | ITEM_ENTITY_FLAG_400; - itemEntity->flags |= ITEM_ENTITY_FLAG_10000000; - itemEntity->spawnType = ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_NO_GRAVITY; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_TOUCH; + item->flags |= ITEM_ENTITY_FLAG_NO_MOTION; + item->spawnType = ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS_NEVER_VANISH: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_FIXED | ITEM_ENTITY_FLAG_NEVER_VANISH; - itemEntity->flags |= ITEM_ENTITY_FLAG_10000000; - itemEntity->spawnType = ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_NO_GRAVITY; + item->flags |= ITEM_ENTITY_FLAG_NEVER_VANISH; + item->flags |= ITEM_ENTITY_FLAG_NO_MOTION; + item->spawnType = ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS; break; case ITEM_SPAWN_MODE_TOSS_FADE1: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_1000; - itemEntity->scale = 0.8f; - itemEntity->flags |= ITEM_ENTITY_RESIZABLE; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_1000; + item->scale = 0.8f; + item->flags |= ITEM_ENTITY_RESIZABLE; break; case ITEM_SPAWN_MODE_TOSS_FADE2: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_1000; - itemEntity->flags |= ITEM_ENTITY_FLAG_10000; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_FADE1; - itemEntity->scale = 0.8f; - itemEntity->flags |= ITEM_ENTITY_RESIZABLE; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_1000; + item->flags |= ITEM_ENTITY_FLAG_TOSS_LOWER; + item->spawnType = ITEM_SPAWN_MODE_TOSS_FADE1; + item->scale = 0.8f; + item->flags |= ITEM_ENTITY_RESIZABLE; break; case ITEM_SPAWN_MODE_TOSS_FADE3: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_1000; - itemEntity->flags |= ITEM_ENTITY_FLAG_400000; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_FADE1; - itemEntity->scale = 0.8f; - itemEntity->flags |= ITEM_ENTITY_RESIZABLE; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_1000; + item->flags |= ITEM_ENTITY_FLAG_400000; + item->spawnType = ITEM_SPAWN_MODE_TOSS_FADE1; + item->scale = 0.8f; + item->flags |= ITEM_ENTITY_RESIZABLE; break; case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS_SMALL: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000; - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; - itemEntity->scale = 0.8f; - itemEntity->flags |= ITEM_ENTITY_RESIZABLE; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + item->scale = 0.8f; + item->flags |= ITEM_ENTITY_RESIZABLE; break; case ITEM_SPAWN_MODE_UNKNOWN_1B: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_8000; - itemEntity->spawnType = ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS; - itemEntity->scale = 0.8f; - itemEntity->flags |= ITEM_ENTITY_RESIZABLE; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_8000; + item->spawnType = ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS; + item->scale = 0.8f; + item->flags |= ITEM_ENTITY_RESIZABLE; break; case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS: - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_8000 | ITEM_ENTITY_FLAG_NEVER_VANISH; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_8000; + item->flags |= ITEM_ENTITY_FLAG_NEVER_VANISH; break; case ITEM_SPAWN_MODE_ITEM_BLOCK_COIN: - itemEntity->spawnType = ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS; - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_8000 | ITEM_ENTITY_FLAG_400 | ITEM_ENTITY_FLAG_NEVER_VANISH; + item->spawnType = ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_8000; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_TOUCH; + item->flags |= ITEM_ENTITY_FLAG_NEVER_VANISH; break; case ITEM_SPAWN_MODE_TOSS_HIGHER_NEVER_VANISH: - itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; - itemEntity->flags |= ITEM_ENTITY_FLAG_800000 | ITEM_ENTITY_FLAG_400 | ITEM_ENTITY_FLAG_NEVER_VANISH; - itemEntity->flags |= ITEM_ENTITY_FLAG_1000000; + item->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + item->flags |= ITEM_ENTITY_FLAG_800000; + item->flags |= ITEM_ENTITY_FLAG_SAVE_ON_TOUCH; + item->flags |= ITEM_ENTITY_FLAG_NEVER_VANISH; + item->flags |= ITEM_ENTITY_FLAG_TOSS_HIGHER; break; } - switch (itemEntity->spawnType) { + switch (item->spawnType) { case ITEM_SPAWN_MODE_KEY: case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS: - itemEntity->shadowIndex = create_shadow_type(0, itemEntity->position.x, itemEntity->position.y, itemEntity->position.z); - shadow = get_shadow_by_index(itemEntity->shadowIndex); + item->shadowIndex = create_shadow_type(0, item->position.x, item->position.y, item->position.z); + shadow = get_shadow_by_index(item->shadowIndex); - if (itemEntity->spawnType == ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS) { + if (item->spawnType == ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS) { shadow->flags |= ENTITY_FLAG_HIDDEN; } - x = itemEntity->position.x; - y = itemEntity->position.y + 12.0f; - z = itemEntity->position.z; + x = item->position.x; + y = item->position.y + 12.0f; + z = item->position.z; hitDepth = 1000.0f; npc_raycast_down_sides(COLLISION_CHANNEL_20000, &x, &y, &z, &hitDepth); shadow->position.x = x; @@ -1107,19 +1140,19 @@ s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pic break; } - if (itemEntity->pickupDelay != 0) { - hide_item_entity(itemEntity); + if (item->pickupDelay != 0) { + hide_item_entity(item); } - item_entity_load(itemEntity); + item_entity_load(item); - if (itemEntity->itemID == ITEM_COIN) { - sparkle_script_init(itemEntity, &SparkleScript_Coin); - sparkle_script_update(itemEntity); + if (item->itemID == ITEM_COIN) { + sparkle_script_init(item, &SparkleScript_Coin); + sparkle_script_update(item); } - if (itemEntity->itemID == ITEM_STAR_PIECE) { - itemEntity->flags &= ~ITEM_ENTITY_FLAG_80; + if (item->itemID == ITEM_STAR_PIECE) { + item->flags &= ~ITEM_ENTITY_FLAG_80; } return id; @@ -1164,7 +1197,7 @@ s32 make_item_entity_at_player(s32 itemID, s32 category, s32 pickupMsgFlags) { } item->pickupMsgFlags = pickupMsgFlags; item->spawnType = ITEM_SPAWN_AT_PLAYER; - item->state = 0; + item->state = ITEM_PICKUP_STATE_INIT; item->boundVar = 0; item->position.x = playerStatus->position.x; item->position.y = playerStatus->position.y; @@ -1172,14 +1205,14 @@ s32 make_item_entity_at_player(s32 itemID, s32 category, s32 pickupMsgFlags) { item->shadowIndex = -1; item->nextUpdate = 1; - item->unk_34.x = -9999; - item->unk_34.y = -9999; - item->unk_34.z = -9999; + item->lastPos.x = -9999; + item->lastPos.y = -9999; + item->lastPos.z = -9999; item->scale = 1.0f; item->itemID = itemID; item->physicsData = NULL; item->pickupDelay = 0; - item->wsFaceAngle = 0; + item->spawnAngle = 0; item->flags |= ITEM_ENTITY_RESIZABLE; if (gItemTable[itemID].typeFlags & ITEM_TYPE_FLAG_ENTITY_FULLSIZE) { @@ -1265,70 +1298,67 @@ void item_entity_update(ItemEntity* entity) { } void update_item_entities(void) { - ItemEntity* entity; - ItemEntity* entity2; + ItemEntity* item; f32 x, y, z, hitDepth; - s32 coin; s32 i; if (!(gOverrideFlags & (GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_800))) { - for (i = 0; i < 0x100; i++) { - entity = gCurrentItemEntities[i]; + for (i = 0; i < MAX_ITEM_ENTITIES; i++) { + item = gCurrentItemEntities[i]; - if (entity != NULL && entity->flags != 0) { - if (entity->itemID == ITEM_COIN) { + if (item != NULL && item->flags != 0) { + if (item->itemID == ITEM_COIN) { if (rand_int(100) > 90) { - sparkle_script_init(entity, &SparkleScript_Coin); + sparkle_script_init(item, &SparkleScript_Coin); D_80155D8C = rand_int(16) - 8; D_80155D8E = rand_int(16) - 8; D_80155D90 = 5; } - sparkle_script_update(entity); + sparkle_script_update(item); } - item_entity_update(entity); + item_entity_update(item); - switch (entity->spawnType) { + switch (item->spawnType) { case ITEM_SPAWN_MODE_KEY: - update_item_entity_static(entity); + update_item_entity_stationary(item); break; case ITEM_SPAWN_MODE_DECORATION: case ITEM_SPAWN_MODE_INVISIBLE: - func_801356CC(entity); + update_item_entity_no_pickup(item); break; case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_TOSS_FADE1: - update_item_entity_collectable(entity); + update_item_entity_collectable(item); break; case ITEM_SPAWN_AT_PLAYER: - update_item_entity_temp(entity); + update_item_entity_pickup(item); break; } - - entity = gCurrentItemEntities[i]; - if (entity != NULL) { + item = gCurrentItemEntities[i]; + if (item != NULL) { s32 xs, ys, zs; - switch (entity->spawnType) { + switch (item->spawnType) { case ITEM_SPAWN_MODE_KEY: case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS: case ITEM_SPAWN_AT_PLAYER: - xs = entity->position.x; - ys = entity->position.y; - zs = entity->position.z; + xs = item->position.x; + ys = item->position.y; + zs = item->position.z; - if (xs != entity->unk_34.x || ys != entity->unk_34.y || zs != entity->unk_34.z) { - Shadow* shadow = get_shadow_by_index(entity->shadowIndex); + if (xs != item->lastPos.x || ys != item->lastPos.y || zs != item->lastPos.z) { + Shadow* shadow = get_shadow_by_index(item->shadowIndex); - x = entity->position.x; - y = entity->position.y + 12.0f; - z = entity->position.z; + x = item->position.x; + y = item->position.y + 12.0f; + z = item->position.z; hitDepth = 1000.0f; npc_raycast_down_sides(COLLISION_CHANNEL_20000, &x, &y, &z, &hitDepth); @@ -1342,9 +1372,9 @@ void update_item_entities(void) { } break; } - entity->unk_34.x = entity->position.x; - entity->unk_34.y = entity->position.y; - entity->unk_34.z = entity->position.z; + item->lastPos.x = item->position.x; + item->lastPos.y = item->position.y; + item->lastPos.z = item->position.z; } } do {} while (0); // required to match @@ -1353,19 +1383,19 @@ void update_item_entities(void) { } void appendGfx_item_entity(void* data) { - ItemEntity* itemEntity = (ItemEntity*)data; + ItemEntity* item = (ItemEntity*)data; Mtx mtxTransform; Matrix4f mtxTranslate, mtxRotY, mtxScale; s32 alpha = 255; s32 yOffset; f32 rot; - if (itemEntity->flags & (ITEM_ENTITY_FLAG_8000000 | ITEM_ENTITY_FLAG_TRANSPARENT)) { - if (itemEntity->flags & ITEM_ENTITY_FLAG_TRANSPARENT) { + if (item->flags & (ITEM_ENTITY_FLAG_HIDING | ITEM_ENTITY_FLAG_TRANSPARENT)) { + if (item->flags & ITEM_ENTITY_FLAG_TRANSPARENT) { alpha = 255; - alpha = (itemEntity->alpha * alpha) / 255; + alpha = (item->alpha * alpha) / 255; } - if (itemEntity->flags & ITEM_ENTITY_FLAG_8000000) { + if (item->flags & ITEM_ENTITY_FLAG_HIDING) { u8 r, g, b, a; get_background_color_blend(&r, &g, &b, &a); @@ -1373,21 +1403,21 @@ void appendGfx_item_entity(void* data) { } } - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_40000)) { + if (!(item->flags & ITEM_ENTITY_FLAG_40000)) { yOffset = -2; } else { yOffset = -3; } - if (itemEntity->itemID == ITEM_COIN || itemEntity->itemID == ITEM_STAR_POINT || itemEntity->itemID == ITEM_HEART) { - itemEntity->scale = 1.0f; + if (item->itemID == ITEM_COIN || item->itemID == ITEM_STAR_POINT || item->itemID == ITEM_HEART) { + item->scale = 1.0f; } rot = clamp_angle(180.0f - gCameras[gCurrentCamID].currentYaw); - guTranslateF(mtxTranslate, itemEntity->position.x, itemEntity->position.y + yOffset, itemEntity->position.z); + guTranslateF(mtxTranslate, item->position.x, item->position.y + yOffset, item->position.z); guRotateF(mtxRotY, rot, 0.0f, 1.0f, 0.0f); - if (itemEntity->flags & ITEM_ENTITY_RESIZABLE) { - guScaleF(mtxScale, itemEntity->scale, itemEntity->scale, itemEntity->scale); + if (item->flags & ITEM_ENTITY_RESIZABLE) { + guScaleF(mtxScale, item->scale, item->scale, item->scale); guMtxCatF(mtxRotY, mtxScale, mtxRotY); } guMtxCatF(mtxRotY, mtxTranslate, mtxTranslate); @@ -1406,7 +1436,7 @@ void appendGfx_item_entity(void* data) { gSPClearGeometryMode(gMainGfxPos++, G_CULL_BOTH | G_LIGHTING); gSPDisplayList(gMainGfxPos++, D_8014C620); - if (itemEntity->flags & (ITEM_ENTITY_FLAG_8000000 | ITEM_ENTITY_FLAG_TRANSPARENT)) { + if (item->flags & (ITEM_ENTITY_FLAG_HIDING | ITEM_ENTITY_FLAG_TRANSPARENT)) { if (gSpriteShadingProfile->flags != 0) { gDPSetRenderMode(gMainGfxPos++, AA_EN | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | G_RM_PASS, AA_EN | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | @@ -1421,10 +1451,10 @@ void appendGfx_item_entity(void* data) { } } - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_40000)) { - gDPLoadTLUT_pal16(gMainGfxPos++, 0, gHudElementCacheTablePalette[itemEntity->lookupPaletteIndex].data); + if (!(item->flags & ITEM_ENTITY_FLAG_40000)) { + gDPLoadTLUT_pal16(gMainGfxPos++, 0, gHudElementCacheTablePalette[item->lookupPaletteIndex].data); if (gSpriteShadingProfile->flags != 0) { - gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 12, gHudElementCacheTableRaster[itemEntity->lookupRasterIndex].data); + gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 12, gHudElementCacheTableRaster[item->lookupRasterIndex].data); gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD); gDPLoadSync(gMainGfxPos++); @@ -1439,13 +1469,13 @@ void appendGfx_item_entity(void* data) { G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); gDPSetTileSize(gMainGfxPos++, 2, 0, 0, 0x00FC, 0); - if (itemEntity->flags & (ITEM_ENTITY_FLAG_8000000 | ITEM_ENTITY_FLAG_TRANSPARENT)) { - func_801491E4(mtxTranslate, 0, 0, 0x18, 0x18, alpha); + if (item->flags & (ITEM_ENTITY_FLAG_HIDING | ITEM_ENTITY_FLAG_TRANSPARENT)) { + func_801491E4(mtxTranslate, 0, 0, 24, 24, alpha); } else { - func_801491E4(mtxTranslate, 0, 0, 0x18, 0x18, 255); + func_801491E4(mtxTranslate, 0, 0, 24, 24, 255); } } else { - gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 12, gHudElementCacheTableRaster[itemEntity->lookupRasterIndex].data); + gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 12, gHudElementCacheTableRaster[item->lookupRasterIndex].data); gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD); gDPLoadSync(gMainGfxPos++); @@ -1457,9 +1487,9 @@ void appendGfx_item_entity(void* data) { } gSPDisplayList(gMainGfxPos++, D_8014C678); } else { - gDPLoadTLUT_pal16(gMainGfxPos++, 0, gHudElementCacheTablePalette[itemEntity->lookupPaletteIndex].data); + gDPLoadTLUT_pal16(gMainGfxPos++, 0, gHudElementCacheTablePalette[item->lookupPaletteIndex].data); if (gSpriteShadingProfile->flags != 0) { - gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 16, gHudElementCacheTableRaster[itemEntity->lookupRasterIndex].data); + gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 16, gHudElementCacheTableRaster[item->lookupRasterIndex].data); gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD); gDPLoadSync(gMainGfxPos++); @@ -1473,13 +1503,13 @@ void appendGfx_item_entity(void* data) { gDPSetTile(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0x0100, 2, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); gDPSetTileSize(gMainGfxPos++, 2, 0, 0, 0x00FC, 0); - if (itemEntity->flags & (ITEM_ENTITY_FLAG_8000000 | ITEM_ENTITY_FLAG_TRANSPARENT)) { - func_801491E4(mtxTranslate, 0, 0, 0x20, 0x20, alpha); + if (item->flags & (ITEM_ENTITY_FLAG_HIDING | ITEM_ENTITY_FLAG_TRANSPARENT)) { + func_801491E4(mtxTranslate, 0, 0, 32, 32, alpha); } else { - func_801491E4(mtxTranslate, 0, 0, 0x20, 0x20, 255); + func_801491E4(mtxTranslate, 0, 0, 32, 32, 255); } } else { - gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 16, gHudElementCacheTableRaster[itemEntity->lookupRasterIndex].data); + gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 16, gHudElementCacheTableRaster[item->lookupRasterIndex].data); gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD); gDPLoadSync(gMainGfxPos++); @@ -1494,8 +1524,8 @@ void appendGfx_item_entity(void* data) { gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW); gDPPipeSync(gMainGfxPos++); - if (itemEntity->itemID == ITEM_COIN) { - draw_coin_sparkles(itemEntity); + if (item->itemID == ITEM_COIN) { + draw_coin_sparkles(item); } } @@ -1506,22 +1536,22 @@ void draw_item_entities(void) { s32 i; for (i = 0; i < MAX_ITEM_ENTITIES; i++) { - ItemEntity* itemEntity = gCurrentItemEntities[i]; + ItemEntity* item = gCurrentItemEntities[i]; - if (itemEntity != NULL - && itemEntity->flags != 0 - && !(itemEntity->flags & ITEM_ENTITY_FLAG_HIDDEN) - && (itemEntity->flags & (1 << gCurrentCamID)) - && !(itemEntity->flags & ITEM_ENTITY_FLAG_100000) - && (itemEntity->renderGroup == -1 || ItemEntityRenderGroup == itemEntity->renderGroup)) + if (item != NULL + && item->flags != 0 + && !(item->flags & ITEM_ENTITY_FLAG_HIDDEN) + && (item->flags & (1 << gCurrentCamID)) + && !(item->flags & ITEM_ENTITY_FLAG_100000) + && (item->renderGroup == -1 || ItemEntityRenderGroup == item->renderGroup)) { - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_TRANSPARENT)) { + if (!(item->flags & ITEM_ENTITY_FLAG_TRANSPARENT)) { rtPtr->renderMode = RENDER_MODE_ALPHATEST; } else { rtPtr->renderMode = RENDER_MODE_SURFACE_XLU_LAYER1; } - rtPtr->appendGfxArg = itemEntity; + rtPtr->appendGfxArg = item; rtPtr->appendGfx = appendGfx_item_entity; rtPtr->distance = 0; @@ -1533,28 +1563,28 @@ void draw_item_entities(void) { } } -void draw_item_entities_UI(void) { +void draw_ui_item_entities(void) { if (!(gOverrideFlags & (GLOBAL_OVERRIDES_4000 | GLOBAL_OVERRIDES_8000))) { s32 i; for (i = 0; i < MAX_ITEM_ENTITIES; i++) { - ItemEntity* itemEntity = gCurrentItemEntities[i]; + ItemEntity* item = gCurrentItemEntities[i]; - if (itemEntity != NULL && itemEntity->flags != 0) { - switch (itemEntity->spawnType) { + if (item != NULL && item->flags != 0) { + switch (item->spawnType) { case ITEM_SPAWN_MODE_KEY: - func_801356C4(itemEntity); + draw_ui_item_entity_stationary(item); break; case ITEM_SPAWN_MODE_DECORATION: case ITEM_SPAWN_MODE_INVISIBLE: - func_801356D4(itemEntity); + draw_ui_item_entity_no_pickup(item); break; case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_TOSS_FADE1: - func_8013559C(itemEntity); + draw_ui_item_entity_collectable(item); break; } } @@ -1614,15 +1644,15 @@ void render_item_entities(void) { gSPDisplayList(gMainGfxPos++, D_8014C620); alpha = 255; - if (item->flags & (ITEM_ENTITY_FLAG_TRANSPARENT | ITEM_ENTITY_FLAG_8000000)) { + if (item->flags & (ITEM_ENTITY_FLAG_TRANSPARENT | ITEM_ENTITY_FLAG_HIDING)) { if (item->flags & ITEM_ENTITY_FLAG_TRANSPARENT) { alpha = item->alpha * alpha / 255; } - if (item->flags & ITEM_ENTITY_FLAG_8000000) { + if (item->flags & ITEM_ENTITY_FLAG_HIDING) { get_background_color_blend(&r1, &g1, &b1, &a1); alpha = alpha * (255 - a1) / 255; } - if (item->flags & (ITEM_ENTITY_FLAG_TRANSPARENT | ITEM_ENTITY_FLAG_8000000)) { + if (item->flags & (ITEM_ENTITY_FLAG_TRANSPARENT | ITEM_ENTITY_FLAG_HIDING)) { if (gSpriteShadingProfile->flags) { gDPSetRenderMode(gMainGfxPos++, AA_EN | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | G_RM_PASS, AA_EN | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)); @@ -1648,7 +1678,7 @@ void render_item_entities(void) { gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0x0000, G_TX_RENDERTILE, 1, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD); gDPSetTile(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0x0100, 2, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); gDPSetTileSize(gMainGfxPos++, 2, 0, 0, 0x00FC, 0); - if (item->flags & (ITEM_ENTITY_FLAG_TRANSPARENT | ITEM_ENTITY_FLAG_8000000)) { + if (item->flags & (ITEM_ENTITY_FLAG_TRANSPARENT | ITEM_ENTITY_FLAG_HIDING)) { func_801491E4(sp58, 0, 0, 24, 24, alpha); } else { func_801491E4(sp58, 0, 0, 24, 24, 255); @@ -1676,7 +1706,7 @@ void render_item_entities(void) { gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0x0000, G_TX_RENDERTILE, 1, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD); gDPSetTile(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0x0100, 2, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); gDPSetTileSize(gMainGfxPos++, 2, 0, 0, 0x00FC, 0); - if (item->flags & (ITEM_ENTITY_FLAG_TRANSPARENT | ITEM_ENTITY_FLAG_8000000)) { + if (item->flags & (ITEM_ENTITY_FLAG_TRANSPARENT | ITEM_ENTITY_FLAG_HIDING)) { func_801491E4(sp58, 0, 0, 32, 32, alpha); } else { func_801491E4(sp58, 0, 0, 32, 32, 255); @@ -1734,16 +1764,16 @@ void remove_item_entity_by_reference(ItemEntity* entity) { } void remove_item_entity_by_index(s32 index) { - ItemEntity* itemEntity = gCurrentItemEntities[index]; + ItemEntity* item = gCurrentItemEntities[index]; - switch (itemEntity->spawnType) { + switch (item->spawnType) { case ITEM_SPAWN_MODE_KEY: case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS: case ITEM_SPAWN_AT_PLAYER: - delete_shadow(itemEntity->shadowIndex); + delete_shadow(item->shadowIndex); break; } @@ -1977,29 +2007,29 @@ s32 test_item_entity_position(f32 x, f32 y, f32 z, f32 dist) { } void set_item_entity_flags(s32 index, s32 flags) { - ItemEntity* itemEntity = gCurrentItemEntities[index]; + ItemEntity* item = gCurrentItemEntities[index]; - itemEntity->flags |= flags; - if (itemEntity->flags & ITEM_ENTITY_FLAG_CANT_COLLECT) { - D_801565A8 = 1; + item->flags |= flags; + if (item->flags & ITEM_ENTITY_FLAG_CANT_COLLECT) { + D_801565A8 = TRUE; } } void clear_item_entity_flags(s32 index, s32 flags) { - ItemEntity* itemEntity = gCurrentItemEntities[index]; + ItemEntity* item = gCurrentItemEntities[index]; - itemEntity->flags &= ~flags; + item->flags &= ~flags; } void auto_collect_item_entity(s32 index) { - ItemEntity* itemEntity = gCurrentItemEntities[index]; + ItemEntity* item = gCurrentItemEntities[index]; gOverrideFlags |= GLOBAL_OVERRIDES_40; - itemEntity->flags |= ITEM_ENTITY_FLAG_AUTO_COLLECT; + item->flags |= ITEM_ENTITY_FLAG_AUTO_COLLECT; } /// @returns TRUE when "you got X" popup is on-screen -s32 is_picking_up_item(void) { - s32 ret = D_801565A8 != 0; +b32 is_picking_up_item(void) { + b32 ret = D_801565A8 != FALSE; if (isPickingUpItem) { ret = TRUE; @@ -2008,11 +2038,11 @@ s32 is_picking_up_item(void) { } void set_item_entity_position(s32 itemEntityIndex, f32 x, f32 y, f32 z) { - ItemEntity* itemEntity = gCurrentItemEntities[itemEntityIndex]; + ItemEntity* item = gCurrentItemEntities[itemEntityIndex]; - itemEntity->position.x = x; - itemEntity->position.y = y; - itemEntity->position.z = z; + item->position.x = x; + item->position.y = y; + item->position.z = z; } void set_current_item_entity_render_group(s32 group) { @@ -2033,484 +2063,502 @@ void update_item_entity_collectable(ItemEntity* item) { f32 theta, sinAngle, cosAngle; f32 temp; - if (!isPickingUpItem) { - if (item->pickupDelay != 0) { - item->pickupDelay--; - return; - } + if (isPickingUpItem) { + return; + } - if (item->spawnType == ITEM_SPAWN_MODE_TOSS_FADE1) { - camID = CAM_BATTLE; - } else { - camID = CAM_DEFAULT; - } + if (item->pickupDelay != 0) { + item->pickupDelay--; + return; + } - switch (item->state) { - case 0: - reveal_item_entity(item); - physData = heap_malloc(sizeof(*physData)); - item->physicsData = physData; - ASSERT(physData != NULL); + if (item->spawnType == ITEM_SPAWN_MODE_TOSS_FADE1) { + camID = CAM_BATTLE; + } else { + camID = CAM_DEFAULT; + } - if (item->flags & ITEM_ENTITY_FLAG_1000000) { - physData->verticalVelocity = 16.0f; - physData->gravity = 2.0f; - } else if (!(item->flags & ITEM_ENTITY_FLAG_10000)) { - physData->verticalVelocity = 12.0f; - physData->gravity = 2.0f; + switch (item->state) { + case ITEM_PHYSICS_STATE_INIT: + reveal_item_entity(item); + physData = heap_malloc(sizeof(*physData)); + item->physicsData = physData; + ASSERT(physData != NULL); + + if (item->flags & ITEM_ENTITY_FLAG_TOSS_HIGHER) { + physData->verticalVelocity = 16.0f; + physData->gravity = 2.0f; + } else if (!(item->flags & ITEM_ENTITY_FLAG_TOSS_LOWER)) { + physData->verticalVelocity = 12.0f; + physData->gravity = 2.0f; + } else { + physData->verticalVelocity = 14.0f; + physData->gravity = 2.0f; + } + + physData->collisionRadius = 24.0f; + physData->constVelocity = 24.0f; + if (item->spawnAngle < 0) { + if (IS_ITEM(item->itemID)) { + if (rand_int(10000) < 5000) { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 105.0f + rand_int(30) - 15.0f); + } else { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 105.0f + rand_int(30) - 15.0f); + } + physData->verticalVelocity += 4.0f; } else { - physData->verticalVelocity = 14.0f; - physData->gravity = 2.0f; + switch (item->itemID) { + case ITEM_HEART: + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(120) - 60.0f); + break; + case ITEM_FLOWER_POINT: + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(120) + 60.0f); + break; + case ITEM_COIN: + if (rand_int(10000) < 5000) { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(120) - 60.0f); + } else { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(120) - 60.0f); + } + break; + case ITEM_KOOPA_FORTRESS_KEY: + if (rand_int(10000) >= 5000) { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(120) - 60.0f); + } else { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(120) - 60.0f); + } + break; + case ITEM_STAR_POINT: + if (item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1) { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(120) - 60.0f); + break; + } + if (rand_int(10000) < 5000) { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(60) - 30.0f); + } else { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(60) - 30.0f); + } + break; + case ITEM_HEART_POINT: + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(120) - 60.0f); + break; + case ITEM_STAR_PIECE: + if (rand_int(10000) < 5000) { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(60) - 30.0f); + } else { + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(60) - 30.0f); + } + break; + case ITEM_HEART_PIECE: + physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(120) - 60.0f); + break; + default: + physData->moveAngle = 0.0f; + break; + } } - physData->unk_08 = 24.0f; - physData->constVelocity = 24.0f; - if (item->wsFaceAngle < 0) { - if (IS_ITEM(item->itemID)) { - if (rand_int(10000) < 5000) { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 105.0f + rand_int(30) - 15.0f); - } else { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 105.0f + rand_int(30) - 15.0f); - } - physData->verticalVelocity += 4.0f; - } else { - switch (item->itemID) { - case ITEM_HEART: - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(120) - 60.0f); - break; - case ITEM_FLOWER_POINT: - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(120) + 60.0f); - break; - case ITEM_COIN: - if (rand_int(10000) < 5000) { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(120) - 60.0f); - } else { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(120) - 60.0f); - } - break; - case ITEM_KOOPA_FORTRESS_KEY: - if (rand_int(10000) >= 5000) { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(120) - 60.0f); - } else { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(120) - 60.0f); - } - break; - case ITEM_STAR_POINT: - if (item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1) { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(120) - 60.0f); - break; - } - if (rand_int(10000) < 5000) { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(60) - 30.0f); - } else { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(60) - 30.0f); - } - break; - case ITEM_HEART_POINT: - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(120) - 60.0f); - break; - case ITEM_STAR_PIECE: - if (rand_int(10000) < 5000) { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(60) - 30.0f); - } else { - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw - 90.0f + rand_int(60) - 30.0f); - } - break; - case ITEM_HEART_PIECE: - physData->moveAngle = clamp_angle(gCameras[camID].currentYaw + 90.0f + rand_int(120) - 60.0f); - break; - default: - physData->moveAngle = 0.0f; - break; - } - } - - if (!(item->flags & ITEM_ENTITY_FLAG_1000000)) { - temp = rand_int(2000); - temp = (temp / 1000.0f) + 1.5; - theta = DEG_TO_RAD(physData->moveAngle); - sinAngle = sin_rad(theta); - cosAngle = cos_rad(theta); - physData->velx = temp * sinAngle; - physData->velz = -temp * cosAngle; - } else { - temp = rand_int(2000); - temp = (temp / 1000.0f) + 2.0; - theta = DEG_TO_RAD(physData->moveAngle); - sinAngle = sin_rad(theta); - cosAngle = cos_rad(theta); - physData->velx = temp * sinAngle; - physData->velz = -temp * cosAngle; - } + if (!(item->flags & ITEM_ENTITY_FLAG_TOSS_HIGHER)) { + temp = rand_int(2000); + temp = (temp / 1000.0f) + 1.5; + theta = DEG_TO_RAD(physData->moveAngle); + sinAngle = sin_rad(theta); + cosAngle = cos_rad(theta); + physData->velx = temp * sinAngle; + physData->velz = -temp * cosAngle; } else { - physData->moveAngle = clamp_angle(item->wsFaceAngle); - if (!(item->flags & ITEM_ENTITY_FLAG_40000000)) { - temp = ((item->wsFaceAngle / 360) * 0.6) + 1.5; - } else { - temp = 2.1f; - } + temp = rand_int(2000); + temp = (temp / 1000.0f) + 2.0; theta = DEG_TO_RAD(physData->moveAngle); sinAngle = sin_rad(theta); cosAngle = cos_rad(theta); physData->velx = temp * sinAngle; physData->velz = -temp * cosAngle; } - - if (item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1) { - physData->timeLeft = 180; - physData->unk_20 = FALSE; + } else { + physData->moveAngle = clamp_angle(item->spawnAngle); + if (!(item->flags & ITEM_ENTITY_FLAG_ANGLE_RELATIVE_VELOCITY)) { + temp = 1.5f + (0.6 * (item->spawnAngle / 360)); } else { - if (!(item->flags & ITEM_ENTITY_FLAG_400000)) { - physData->timeLeft = 17; - } else { - physData->timeLeft = 20; - } - physData->unk_20 = FALSE; - physData->verticalVelocity = 15.0f; - physData->gravity = 1.6f; + temp = 2.1f; } + theta = DEG_TO_RAD(physData->moveAngle); + sinAngle = sin_rad(theta); + cosAngle = cos_rad(theta); + physData->velx = temp * sinAngle; + physData->velz = -temp * cosAngle; + } - if (item->spawnType == ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS) { - physData->timeLeft = 60; - physData->unk_20 = FALSE; - physData->velx = 0.0f; - physData->velz = 0.0f; + if (item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1) { + physData->timeLeft = 180; + physData->useSimplePhysics = FALSE; + } else { + if (!(item->flags & ITEM_ENTITY_FLAG_400000)) { + physData->timeLeft = 17; + } else { + physData->timeLeft = 20; } + physData->useSimplePhysics = FALSE; + physData->verticalVelocity = 15.0f; + physData->gravity = 1.6f; + } - if (item->spawnType == ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS) { - physData->verticalVelocity = 0.0f; - physData->velx = 0.0f; - physData->velz = 0.0f; - physData->unk_20 = TRUE; - } + if (item->spawnType == ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS) { + physData->timeLeft = 60; + physData->useSimplePhysics = FALSE; + physData->velx = 0.0f; + physData->velz = 0.0f; + } - if (item->spawnType == ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS) { - physData->verticalVelocity = 0.0f; - physData->velx = 0.0f; - physData->velz = 0.0f; - physData->unk_20 = TRUE; - } + if (item->spawnType == ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS) { + physData->verticalVelocity = 0.0f; + physData->velx = 0.0f; + physData->velz = 0.0f; + physData->useSimplePhysics = TRUE; + } - if (item->flags & ITEM_ENTITY_FLAG_800) { - set_global_flag(item->boundVar); - } - item->state = 1; + if (item->spawnType == ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS) { + physData->verticalVelocity = 0.0f; + physData->velx = 0.0f; + physData->velz = 0.0f; + physData->useSimplePhysics = TRUE; + } + + if (item->flags & ITEM_ENTITY_FLAG_800) { + set_global_flag(item->boundVar); + } + item->state = ITEM_PHYSICS_STATE_ALIVE; + break; + + case ITEM_PHYSICS_STATE_ALIVE: + physData = item->physicsData; + + // test for pickup + if (item->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS + && item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1 + && physData->useSimplePhysics + && test_item_player_collision(item) + ) { + item->state = ITEM_PHYSICS_STATE_TOUCH; break; - case 1: - physData = item->physicsData; - if (item->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS - && item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1 - && physData->unk_20 - && test_item_player_collision(item) - ) { - item->state = 3; + } + + // check for expiration + if (!(item->flags & ITEM_ENTITY_FLAG_NEVER_VANISH) + && !(gOverrideFlags & (GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES)) + && !(item->flags & ITEM_ENTITY_FLAG_CANT_COLLECT) + ) { + physData->timeLeft--; + if (physData->timeLeft < 0) { + item->state = ITEM_PHYSICS_STATE_DEAD; break; } + } - if (!(item->flags & ITEM_ENTITY_FLAG_NEVER_VANISH) - && !(gOverrideFlags & (GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES)) - && !(item->flags & ITEM_ENTITY_FLAG_CANT_COLLECT) - ) { - physData->timeLeft--; - if (physData->timeLeft < 0) { - item->state = 2; - break; + // apply gravity + if (!(item->flags & ITEM_ENTITY_FLAG_NO_GRAVITY)) { + if (!(item->flags & ITEM_ENTITY_FLAG_CANT_COLLECT)) { + physData->verticalVelocity -= physData->gravity; + if (physData->verticalVelocity < -16.0) { + physData->verticalVelocity = -16.0f; } + item->position.y += physData->verticalVelocity; + item->position.x += physData->velx; + item->position.z += physData->velz; + } + } + + // handle auto-collection from multi-coin bricks + if (item->spawnType == ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS + && physData->verticalVelocity <= 0.0f + ) { + item->state = ITEM_PHYSICS_STATE_TOUCH; + break; + } + + // if the item has upward velocity, try moving it up + if (!(item->flags & (ITEM_ENTITY_FLAG_DONE_FALLING | ITEM_ENTITY_FLAG_NO_MOTION)) + && item->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS + && item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1 + && physData->verticalVelocity > 0.0f + ) { + temp = physData->constVelocity; + outX = item->position.x; + outY = item->position.y; + outZ = item->position.z; + outDepth = temp + physData->verticalVelocity; + + if (!physData->useSimplePhysics) { + hit = npc_raycast_up(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, &outDepth); + } else { + hit = npc_raycast_up(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, &outDepth); } - if (!(item->flags & ITEM_ENTITY_FLAG_FIXED)) { - if (!(item->flags & ITEM_ENTITY_FLAG_CANT_COLLECT)) { - physData->verticalVelocity -= physData->gravity; - if (physData->verticalVelocity < -16.0) { - physData->verticalVelocity = -16.0f; - } - item->position.y += physData->verticalVelocity; - item->position.x += physData->velx; - item->position.z += physData->velz; - } + if (hit && outDepth < temp) { + item->position.y = outY - temp; + physData->verticalVelocity = 0.0f; + } + } + + // if the item has non-zero lateral velocity, try moving it laterally + if (!(item->flags & (ITEM_ENTITY_FLAG_DONE_FALLING | ITEM_ENTITY_FLAG_NO_MOTION)) + && item->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS + && item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1 + && (physData->velx != 0.0f || physData->velz != 0.0f) + ) { + outX = item->position.x; + outY = item->position.y; + outZ = item->position.z; + + if (!physData->useSimplePhysics) { + hit = npc_test_move_complex_with_slipping(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, 0.0f, physData->moveAngle, physData->constVelocity, physData->collisionRadius); + } else { + hit = npc_test_move_simple_with_slipping(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, 0.0f, physData->moveAngle, physData->constVelocity, physData->collisionRadius); } - if (item->spawnType == ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS && - physData->verticalVelocity <= 0.0f) - { - item->state = 3; - break; + if (hit) { + // if a wall is hit, bounce back + item->position.x = outX; + item->position.y = outY; + item->position.z = outZ; + physData->moveAngle = clamp_angle(physData->moveAngle + 180.0f); + theta = DEG_TO_RAD(physData->moveAngle); + sinAngle = sin_rad(theta); + cosAngle = cos_rad(theta); + physData->velx = sinAngle * 2.0; + physData->velz = cosAngle * -2.0; } + } - if (!(item->flags & (ITEM_ENTITY_FLAG_20000000 | ITEM_ENTITY_FLAG_10000000)) && - item->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS && - item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1 && - physData->verticalVelocity > 0.0f) - { - temp = physData->constVelocity; + // if the item has downward velocity, try moving it down + if (!(item->flags & ITEM_ENTITY_FLAG_NO_MOTION) + && item->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS + && physData->verticalVelocity <= 0.0 + ) { + physData->useSimplePhysics = TRUE; + if (item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1) { outX = item->position.x; - outY = item->position.y; + outY = (item->position.y - physData->verticalVelocity) + 12.0f; outZ = item->position.z; - outDepth = temp + physData->verticalVelocity; - - if (!physData->unk_20) { - hit = npc_raycast_up(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, &outDepth); + outDepth = -physData->verticalVelocity + 12.0f; + if (!physData->useSimplePhysics) { + hit = npc_raycast_down_sides(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, &outDepth); } else { - hit = npc_raycast_up(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, &outDepth); + hit = npc_raycast_down_around(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, &outDepth, 180.0f, 20.0f); } + } else { + outX = item->position.x; + outY = (item->position.y - physData->verticalVelocity) + 12.0f; + outZ = item->position.z; + outDepth = -physData->verticalVelocity + 12.0f; + if (outY < outDepth + 0.0f) { + outY = 0.0f; + hit = TRUE; + } else { + hit = FALSE; + } + } - if (hit && outDepth < temp) { - item->position.y = outY - temp; + // handle bounce + if (hit) { + item->position.y = outY; + physData->verticalVelocity = -physData->verticalVelocity / 1.25; + if (physData->verticalVelocity < 3.0) { physData->verticalVelocity = 0.0f; - } - } - - if (!(item->flags & (ITEM_ENTITY_FLAG_20000000 | ITEM_ENTITY_FLAG_10000000)) && - item->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS && - item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1 && - (physData->velx != 0.0f || physData->velz != 0.0f)) - { - outX = item->position.x; - outY = item->position.y; - outZ = item->position.z; - - if (!physData->unk_20) { - hit = npc_test_move_complex_with_slipping(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, 0.0f, physData->moveAngle, physData->constVelocity, physData->unk_08); + physData->velx = 0.0f; + physData->velz = 0.0f; + item->flags |= ITEM_ENTITY_FLAG_DONE_FALLING; } else { - hit = npc_test_move_simple_with_slipping(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, 0.0f, physData->moveAngle, physData->constVelocity, physData->unk_08); - } - - if (hit) { - item->position.x = outX; - item->position.y = outY; - item->position.z = outZ; - physData->moveAngle = clamp_angle(physData->moveAngle + 180.0f); - theta = DEG_TO_RAD(physData->moveAngle); - sinAngle = sin_rad(theta); - cosAngle = cos_rad(theta); - physData->velx = sinAngle * 2.0; - physData->velz = cosAngle * -2.0; - } - } - - if (!(item->flags & ITEM_ENTITY_FLAG_10000000) && - item->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS && - physData->verticalVelocity <= 0.0) - { - physData->unk_20 = TRUE; - if (item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1) { - outX = item->position.x; - outY = (item->position.y - physData->verticalVelocity) + 12.0f; - outZ = item->position.z; - outDepth = -physData->verticalVelocity + 12.0f; - if (!physData->unk_20) { - hit = npc_raycast_down_sides(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, &outDepth); + if (IS_BADGE(item->itemID)) { + sfx_play_sound_at_position(SOUND_21B, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + } else if (IS_ITEM(item->itemID)) { + sfx_play_sound_at_position(SOUND_21A, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); } else { - hit = npc_raycast_down_around(COLLISION_CHANNEL_20000, &outX, &outY, &outZ, &outDepth, 180.0f, 20.0f); - } - } else { - outX = item->position.x; - outY = (item->position.y - physData->verticalVelocity) + 12.0f; - outZ = item->position.z; - outDepth = -physData->verticalVelocity + 12.0f; - if (outY < outDepth + 0.0f) { - outY = 0.0f; - hit = TRUE; - } else { - hit = FALSE; - } - } - - if (hit) { - item->position.y = outY; - physData->verticalVelocity = (-physData->verticalVelocity / 1.25); - if (physData->verticalVelocity < 3.0) { - physData->verticalVelocity = 0.0f; - physData->velx = 0.0f; - physData->velz = 0.0f; - item->flags |= ITEM_ENTITY_FLAG_20000000; - } else { - if (IS_BADGE(item->itemID)) { - sfx_play_sound_at_position(SOUND_21B, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - } else if (IS_ITEM(item->itemID)) { - sfx_play_sound_at_position(SOUND_21A, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - } else { - switch (item->itemID) { - case ITEM_HEART: - sfx_play_sound_at_position(SOUND_214, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - case ITEM_COIN: - sfx_play_sound_at_position(SOUND_212, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - case ITEM_KOOPA_FORTRESS_KEY: - sfx_play_sound_at_position(SOUND_212, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - case ITEM_HEART_PIECE: - sfx_play_sound_at_position(SOUND_214, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - case ITEM_STAR_POINT: - sfx_play_sound_at_position(SOUND_212, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - case ITEM_HEART_POINT: - sfx_play_sound_at_position(SOUND_214, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - case ITEM_STAR_PIECE: - sfx_play_sound_at_position(SOUND_219, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - case ITEM_FLOWER_POINT: - sfx_play_sound_at_position(SOUND_218, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - } + switch (item->itemID) { + case ITEM_HEART: + sfx_play_sound_at_position(SOUND_214, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; + case ITEM_COIN: + sfx_play_sound_at_position(SOUND_212, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; + case ITEM_KOOPA_FORTRESS_KEY: + sfx_play_sound_at_position(SOUND_212, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; + case ITEM_HEART_PIECE: + sfx_play_sound_at_position(SOUND_214, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; + case ITEM_STAR_POINT: + sfx_play_sound_at_position(SOUND_212, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; + case ITEM_HEART_POINT: + sfx_play_sound_at_position(SOUND_214, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; + case ITEM_STAR_PIECE: + sfx_play_sound_at_position(SOUND_219, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; + case ITEM_FLOWER_POINT: + sfx_play_sound_at_position(SOUND_218, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; } } } } + } - if (item->position.y < -2000.0f) { - item->state = 2; - } - break; + if (item->position.y < -2000.0f) { + item->state = ITEM_PHYSICS_STATE_DEAD; + } + break; + } + + if (item->state == ITEM_PHYSICS_STATE_DEAD) { + remove_item_entity_by_reference(item); + } + + if (item->state == ITEM_PHYSICS_STATE_TOUCH) { + if (item->flags & ITEM_ENTITY_FLAG_SAVE_ON_TOUCH) { + set_global_flag(item->boundVar); } - if (item->state == 2) { + fx_small_gold_sparkle(0, item->position.x, item->position.y + 16.0f, item->position.z, 1.0f, 0); + + if (IS_ITEM(item->itemID)) { + item->state = ITEM_PHYSICS_STATE_PICKUP; + } else if (IS_BADGE(item->itemID)) { + item->state = ITEM_PHYSICS_STATE_PICKUP; + } else if (item->itemID == ITEM_STAR_PIECE) { + playerData->starPiecesCollected++; + item->state = ITEM_PHYSICS_STATE_PICKUP; + } else { + if (item->spawnType == ITEM_SPAWN_MODE_TOSS_FADE1) { + item->itemID = -1; + } + + switch (item->itemID) { + case ITEM_HEART: + if (playerData->curHP < playerData->curMaxHP) { + fx_recover(0, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z, 1); + sfx_play_sound_at_position(SOUND_2056, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + } + playerData->curHP++; + if (playerData->curHP > playerData->curMaxHP) { + playerData->curHP = playerData->curMaxHP; + } + sfx_play_sound_at_position(SOUND_213, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + fx_sparkles(4, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z, 30.0f); + break; + case ITEM_FLOWER_POINT: + if (playerData->curFP < playerData->curMaxFP) { + fx_recover(1, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z, 1); + sfx_play_sound_at_position(SOUND_2056, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + } + playerData->curFP++; + if (playerData->curFP > playerData->curMaxFP) { + playerData->curFP = playerData->curMaxFP; + } + sfx_play_sound_at_position(SOUND_217, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + fx_sparkles(4, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z, 30.0f); + break; + case ITEM_COIN: + playerData->coins++; + if (playerData->coins > 999) { + playerData->coins = 999; + } + sfx_play_sound_at_position(SOUND_211, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + playerData->totalCoinsEarned++; + if (playerData->totalCoinsEarned > 99999) { + playerData->totalCoinsEarned = 99999; + } + break; + case ITEM_KOOPA_FORTRESS_KEY: + playerData->fortressKeyCount = playerData->fortressKeyCount + 1; + sfx_play_sound_at_position(SOUND_211, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; + case ITEM_STAR_POINT: + playerData->starPoints++; + if (playerData->starPoints > 100) { + playerData->starPoints = 100; + } + sfx_play_sound_at_position(SOUND_211, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; + case ITEM_HEART_POINT: + playerData->curHP = playerData->curMaxHP; + playerData->curFP = playerData->curMaxFP; + sfx_play_sound_at_position(SOUND_213, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); + break; + } + D_801565A8 = FALSE; + gOverrideFlags &= ~GLOBAL_OVERRIDES_40; remove_item_entity_by_reference(item); } + } - if (item->state == 3) { - if (item->flags & ITEM_ENTITY_FLAG_400) { - set_global_flag(item->boundVar); - } + // items in this unused state are managed by a script + // when the script is done executing, destroy these items + if (item->state == ITEM_PHYSICS_STATE_04) { + if (!does_script_exist(D_80155D80)) { + D_801565A8 = FALSE; + remove_item_entity_by_reference(item); + resume_all_group(EVT_GROUP_02); + } + } - fx_small_gold_sparkle(0, item->position.x, item->position.y + 16.0f, item->position.z, 1.0f, 0); + if (item->state == ITEM_PHYSICS_STATE_PICKUP) { + isPickingUpItem = TRUE; + item->spawnType = ITEM_SPAWN_AT_PLAYER; + item->state = ITEM_PICKUP_STATE_INIT; + D_801565A8 = FALSE; + gOverrideFlags |= GLOBAL_OVERRIDES_40; + } +} - if (IS_ITEM(item->itemID)) { - item->state = 0xA; - } else if (IS_BADGE(item->itemID)) { - item->state = 0xA; - } else if (item->itemID == ITEM_STAR_PIECE) { - playerData->starPiecesCollected++; - item->state = 0xA; +void draw_ui_item_entity_collectable(ItemEntity* item) { + if (item->state == ITEM_PHYSICS_STATE_ALIVE) { + ItemEntityPhysicsData* physicsData = item->physicsData; + s32 flag = (item->flags & ITEM_ENTITY_FLAG_20000) > 0; + + if (item->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS) { + if (item->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1) { + if (physicsData->timeLeft < 60) { + if ((item->flags & ITEM_ENTITY_FLAG_CANT_COLLECT) || ((gGameStatusPtr->frameCounter + flag) & 1)) { + item->flags &= ~ITEM_ENTITY_FLAG_HIDDEN; + } else { + item->flags |= ITEM_ENTITY_FLAG_HIDDEN; + } + } } else { - if (item->spawnType == ITEM_SPAWN_MODE_TOSS_FADE1) { - item->itemID = -1; + if (physicsData->timeLeft < 10) { + item->alpha = physicsData->timeLeft * 28; + item->flags |= ITEM_ENTITY_FLAG_TRANSPARENT; } - - switch (item->itemID) { - case ITEM_HEART: - if (playerData->curHP < playerData->curMaxHP) { - fx_recover(0, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z, 1); - sfx_play_sound_at_position(SOUND_2056, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - } - playerData->curHP++; - if (playerData->curHP > playerData->curMaxHP) { - playerData->curHP = playerData->curMaxHP; - } - sfx_play_sound_at_position(SOUND_213, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - fx_sparkles(4, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z, 30.0f); - break; - case ITEM_FLOWER_POINT: - if (playerData->curFP < playerData->curMaxFP) { - fx_recover(1, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z, 1); - sfx_play_sound_at_position(SOUND_2056, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - } - playerData->curFP++; - if (playerData->curFP > playerData->curMaxFP) { - playerData->curFP = playerData->curMaxFP; - } - sfx_play_sound_at_position(SOUND_217, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - fx_sparkles(4, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z, 30.0f); - break; - case ITEM_COIN: - playerData->coins++; - if (playerData->coins > 999) { - playerData->coins = 999; - } - sfx_play_sound_at_position(SOUND_211, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - playerData->totalCoinsEarned++; - if (playerData->totalCoinsEarned > 99999) { - playerData->totalCoinsEarned = 99999; - } - break; - case ITEM_KOOPA_FORTRESS_KEY: - playerData->fortressKeyCount = playerData->fortressKeyCount + 1; - sfx_play_sound_at_position(SOUND_211, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - case ITEM_STAR_POINT: - playerData->starPoints++; - if (playerData->starPoints > 100) { - playerData->starPoints = 100; - } - sfx_play_sound_at_position(SOUND_211, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - case ITEM_HEART_POINT: - playerData->curHP = playerData->curMaxHP; - playerData->curFP = playerData->curMaxFP; - sfx_play_sound_at_position(SOUND_213, SOUND_SPACE_MODE_0, item->position.x, item->position.y, item->position.z); - break; - } - D_801565A8 = 0; - gOverrideFlags &= ~GLOBAL_OVERRIDES_40; - remove_item_entity_by_reference(item); } } + } +} - if (item->state == 4) { - if (!does_script_exist(D_80155D80)) { - D_801565A8 = 0; - remove_item_entity_by_reference(item); - resume_all_group(EVT_GROUP_02); - } - } - - if (item->state == 0xA) { +void update_item_entity_stationary(ItemEntity* item) { + if (item->state == ITEM_PHYSICS_STATE_INIT) { + if (test_item_player_collision(item)) { + // change spawn type to initiate pickup isPickingUpItem = TRUE; item->spawnType = ITEM_SPAWN_AT_PLAYER; - item->state = 0; - D_801565A8 = 0; + item->state = ITEM_PICKUP_STATE_INIT; + D_801565A8 = FALSE; gOverrideFlags |= GLOBAL_OVERRIDES_40; } } } -void func_8013559C(ItemEntity* itemEntity) { - if (itemEntity->state == 1) { - ItemEntityPhysicsData* physicsData = itemEntity->physicsData; - s32 flag = (itemEntity->flags & ITEM_ENTITY_FLAG_20000) > 0; - - if (itemEntity->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS) { - if (itemEntity->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1) { - if (physicsData->timeLeft < 60) { - if ((itemEntity->flags & ITEM_ENTITY_FLAG_CANT_COLLECT) || ((gGameStatusPtr->frameCounter + flag) & 1)) { - itemEntity->flags &= ~ITEM_ENTITY_FLAG_HIDDEN; - } else { - itemEntity->flags |= ITEM_ENTITY_FLAG_HIDDEN; - } - } - } else { - if (physicsData->timeLeft < 10) { - itemEntity->alpha = physicsData->timeLeft * 28; - itemEntity->flags |= ITEM_ENTITY_FLAG_TRANSPARENT; - } - } - } - } +void draw_ui_item_entity_stationary(ItemEntity* item) { } -void update_item_entity_static(ItemEntity* itemEntity) { - if (itemEntity->state == 0 && test_item_player_collision(itemEntity)) { - isPickingUpItem = TRUE; - itemEntity->spawnType = ITEM_SPAWN_AT_PLAYER; - itemEntity->state = 0; - D_801565A8 = 0; - gOverrideFlags |= GLOBAL_OVERRIDES_40; - } +void update_item_entity_no_pickup(ItemEntity* item) { } -void func_801356C4(ItemEntity* itemEntity) { +void draw_ui_item_entity_no_pickup(ItemEntity* item) { } -void func_801356CC(ItemEntity* itemEntity) { -} - -void func_801356D4(ItemEntity* itemEntity) { -} - -void update_item_entity_temp(ItemEntity* itemEntity) { +void update_item_entity_pickup(ItemEntity* item) { PlayerData* playerData = &gPlayerData; PlayerStatus* playerStatus = &gPlayerStatus; PopupMenu* menu = &D_801565B0; @@ -2519,58 +2567,57 @@ void update_item_entity_temp(ItemEntity* itemEntity) { s32 msgID; s32 i; - if (itemEntity->state == 0) { + if (item->state == ITEM_PICKUP_STATE_INIT) { isPickingUpItem = TRUE; - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_2000000)) { + if (!(item->flags & ITEM_ENTITY_FLAG_2000000)) { disable_player_input(); partner_disable_input(); gOverrideFlags |= GLOBAL_OVERRIDES_40; set_time_freeze_mode(TIME_FREEZE_FULL); } - hide_item_entity(itemEntity); - itemEntity->state = 1; + hide_item_entity(item); + item->state = ITEM_PICKUP_STATE_AWAIT_VALID_STATE; } - switch (itemEntity->state) { - case 1: - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_2000000)) { + switch (item->state) { + case ITEM_PICKUP_STATE_AWAIT_VALID_STATE: + if (!(item->flags & ITEM_ENTITY_FLAG_2000000)) { + // list of action state conditions which allow item pickup + // remain in this state (via break) until one of these is TRUE s32 actionState = playerStatus->actionState; - - if (!(playerStatus->animFlags & PA_FLAG_NO_OOB_RESPAWN) && - ((playerStatus->timeInAir == 0 && - actionState != ACTION_STATE_JUMP && - actionState != ACTION_STATE_FALLING) || - !playerStatus->enableCollisionOverlapsCheck || - playerStatus->inputDisabledCount == 0) && - actionState != ACTION_STATE_LAUNCH && - actionState != ACTION_STATE_RIDE && - actionState != ACTION_STATE_IDLE && - !(actionState == ACTION_STATE_USE_SPINNING_FLOWER && playerStatus->actionSubstate == 1) - ) { + if (!( + playerStatus->animFlags & PA_FLAG_NO_OOB_RESPAWN + || ((playerStatus->timeInAir != 0 || actionState == ACTION_STATE_JUMP || actionState == ACTION_STATE_FALLING) + && playerStatus->enableCollisionOverlapsCheck + && playerStatus->inputDisabledCount != 0) + || actionState == ACTION_STATE_LAUNCH + || actionState == ACTION_STATE_RIDE + || actionState == ACTION_STATE_IDLE + || (actionState == ACTION_STATE_USE_SPINNING_FLOWER && playerStatus->actionSubstate == 1) + )) { break; } } - if (!(itemEntity->pickupMsgFlags & 1)) { - if (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) { + if (!(item->pickupMsgFlags & ITEM_PICKUP_FLAG_NO_SOUND)) { + if (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) { sfx_play_sound(SOUND_D3); - } else if (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) { + } else if (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) { sfx_play_sound(SOUND_D2); - } else if (itemEntity->itemID == ITEM_COIN) { - sfx_play_sound_at_position( - SOUND_211, 0, itemEntity->position.x, itemEntity->position.y, itemEntity->position.z - ); + } else if (item->itemID == ITEM_COIN) { + sfx_play_sound_at_position(SOUND_211, 0, item->position.x, item->position.y, item->position.z); } else { sfx_play_sound(SOUND_D1); } } - D_801568E0 = hud_element_create(gItemHudScripts[gItemTable[itemEntity->itemID].hudElemID].enabled); - hud_element_set_flags(D_801568E0, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_801568E0, -100, -100); - itemEntity->state = 2; - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_2000000)) { - if (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_CONSUMABLE) { + ItemPickupIconID = hud_element_create(gItemHudScripts[gItemTable[item->itemID].hudElemID].enabled); + hud_element_set_flags(ItemPickupIconID, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(ItemPickupIconID, -100, -100); + item->state = ITEM_PICKUP_STATE_SHOW_GOT_ITEM; + + if (!(item->flags & ITEM_ENTITY_FLAG_2000000)) { + if (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_CONSUMABLE) { for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { if (playerData->invItems[i] == ITEM_NONE) { break; @@ -2578,14 +2625,14 @@ void update_item_entity_temp(ItemEntity* itemEntity) { } if (i < ARRAY_COUNT(playerData->invItems)) { - playerData->invItems[i] = itemEntity->itemID; + playerData->invItems[i] = item->itemID; } else { - itemEntity->state = 0xA; + item->state = ITEM_PICKUP_STATE_SHOW_TOO_MANY; goto block_47; // TODO required to match } } - if (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) { + if (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) { for (i = 0; i < ARRAY_COUNT(playerData->keyItems); i++) { if (playerData->keyItems[i] == ITEM_NONE) { break; @@ -2593,14 +2640,14 @@ void update_item_entity_temp(ItemEntity* itemEntity) { } if (i < ARRAY_COUNT(playerData->keyItems)) { - playerData->keyItems[i] = itemEntity->itemID; + playerData->keyItems[i] = item->itemID; } else { - itemEntity->state = 0xA; + item->state = ITEM_PICKUP_STATE_SHOW_TOO_MANY; goto block_47; // TODO required to match } } - if (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) { + if (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) { for (i = 0; i < ARRAY_COUNT(playerData->badges); i++) { if (playerData->badges[i] == ITEM_NONE) { break; @@ -2608,120 +2655,116 @@ void update_item_entity_temp(ItemEntity* itemEntity) { } if (i < ARRAY_COUNT(playerData->badges)) { - playerData->badges[i] = itemEntity->itemID; + playerData->badges[i] = item->itemID; } else { - itemEntity->state = 0xA; + item->state = ITEM_PICKUP_STATE_SHOW_TOO_MANY; goto block_47; // TODO required to match } } - if (itemEntity->itemID == ITEM_STAR_PIECE) { + if (item->itemID == ITEM_STAR_PIECE) { playerData->starPieces++; - if (playerData->starPieces > 222) { - playerData->starPieces = 222; + if (playerData->starPieces > MAX_STAR_PIECES) { + playerData->starPieces = MAX_STAR_PIECES; } } - if (itemEntity->itemID == ITEM_LUCKY_STAR) { - playerData->hasActionCommands = 1; + if (item->itemID == ITEM_LUCKY_STAR) { + playerData->hasActionCommands = TRUE; } - if (itemEntity->itemID == ITEM_HAMMER || - itemEntity->itemID == ITEM_SUPER_HAMMER || - itemEntity->itemID == ITEM_ULTRA_HAMMER) - { - playerData->hammerLevel = itemEntity->itemID - 4; + if (item->itemID >= ITEM_HAMMER && item->itemID <= ITEM_ULTRA_HAMMER) { + playerData->hammerLevel = item->itemID - ITEM_HAMMER; } - if (itemEntity->itemID == ITEM_BOOTS || - itemEntity->itemID == ITEM_SUPER_BOOTS || - itemEntity->itemID == ITEM_ULTRA_BOOTS) - { - playerData->bootsLevel = itemEntity->itemID - 1; + if (item->itemID >= ITEM_BOOTS && item->itemID <= ITEM_ULTRA_BOOTS) { + playerData->bootsLevel = item->itemID - ITEM_BOOTS; } } block_47: // TODO required to match - if (itemEntity->flags & ITEM_ENTITY_FLAG_80000000) { - set_global_flag(itemEntity->boundVar); + if (item->flags & ITEM_ENTITY_FLAG_SAVE_ON_RECEIPT) { + set_global_flag(item->boundVar); } - if (itemEntity->state == 0xA) { - func_801363A0(itemEntity); + if (item->state == ITEM_PICKUP_STATE_SHOW_TOO_MANY) { + func_801363A0(item); set_window_update(WINDOW_ID_12, (s32) basic_window_update); set_window_update(WINDOW_ID_17, (s32) basic_window_update); set_window_update(WINDOW_ID_19, (s32) basic_window_update); } - increment_status_menu_disabled(); - D_801568E4 = 10; + increment_status_bar_disabled(); + ItemPickupStateDelay = 10; break; - case 2: - if (D_801568E4 == 9) { - if ((gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) || - (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) || - (itemEntity->itemID == ITEM_STAR_PIECE) || - (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) || - (itemEntity->flags & ITEM_ENTITY_FLAG_4000000) || - (itemEntity->pickupMsgFlags & 2)) - { - itemEntity->position.x = playerStatus->position.x; - itemEntity->position.y = playerStatus->position.y + playerStatus->colliderHeight; - itemEntity->position.z = playerStatus->position.z; + + case ITEM_PICKUP_STATE_SHOW_GOT_ITEM: + if (ItemPickupStateDelay == 9) { + if ( (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) + || (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) + || (item->itemID == ITEM_STAR_PIECE) + || (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) + || (item->flags & ITEM_ENTITY_FLAG_4000000) + || (item->pickupMsgFlags & ITEM_PICKUP_FLAG_NO_ANIMS) + ) { + item->position.x = playerStatus->position.x; + item->position.y = playerStatus->position.y + playerStatus->colliderHeight; + item->position.z = playerStatus->position.z; suggest_player_anim_always_forward(ANIM_MarioW1_Lift); } - if (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) { + if (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) { fx_got_item_outline( 1, - itemEntity->position.x, - itemEntity->position.y + 8.0f, - itemEntity->position.z, + item->position.x, + item->position.y + 8.0f, + item->position.z, 1.0f, - &D_801568F0 + &ItemPickupGotOutline ); } } - if (D_801568E4 < 9) { - if ((gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) || - (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) || - (itemEntity->itemID == ITEM_STAR_PIECE) || - (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) || - (itemEntity->flags & ITEM_ENTITY_FLAG_4000000) || - (itemEntity->pickupMsgFlags & 2)) - { + if (ItemPickupStateDelay < 9) { + if ( (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) + || (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) + || (item->itemID == ITEM_STAR_PIECE) + || (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) + || (item->flags & ITEM_ENTITY_FLAG_4000000) + || (item->pickupMsgFlags & ITEM_PICKUP_FLAG_NO_ANIMS) + ) { suggest_player_anim_always_forward(ANIM_MarioW1_Lift); } } - if (D_801568E4 == 7) { - if ((gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) || - (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) || - itemEntity->itemID == ITEM_STAR_PIECE || - (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) || - (itemEntity->flags & ITEM_ENTITY_FLAG_4000000) || - (itemEntity->pickupMsgFlags & 2)) - { - itemEntity->flags &= ~ITEM_ENTITY_FLAG_HIDDEN; + if (ItemPickupStateDelay == 7) { + if ( (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) + || (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) + || (item->itemID == ITEM_STAR_PIECE) + || (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) + || (item->flags & ITEM_ENTITY_FLAG_4000000) + || (item->pickupMsgFlags & ITEM_PICKUP_FLAG_NO_ANIMS) + ) { + item->flags &= ~ITEM_ENTITY_FLAG_HIDDEN; } } - if (D_801568E4 == 6) { - func_801363A0(itemEntity); + if (ItemPickupStateDelay == 6) { + func_801363A0(item); set_window_update(WINDOW_ID_12, (s32) basic_window_update); - if (itemEntity->itemID != ITEM_STAR_PIECE && itemEntity->itemID != ITEM_COIN) { + if (item->itemID != ITEM_STAR_PIECE && item->itemID != ITEM_COIN) { set_window_update(WINDOW_ID_19, (s32) basic_window_update); } } - if (D_801568E4 != 0) { - D_801568E4--; - return; + if (ItemPickupStateDelay != 0) { + ItemPickupStateDelay--; + break; } + // wait for input if (gGameStatusPtr->pressedButtons[0] & (BUTTON_STICK_RIGHT | BUTTON_STICK_LEFT | BUTTON_STICK_DOWN | BUTTON_STICK_UP | BUTTON_A | BUTTON_B)) { - hide_item_entity(itemEntity); + hide_item_entity(item); if (is_player_dismounted() && playerStatus->actionState != ACTION_STATE_USE_SPINNING_FLOWER && !(playerStatus->animFlags & PA_FLAG_NO_OOB_RESPAWN) @@ -2729,78 +2772,80 @@ block_47: // TODO required to match set_action_state(ACTION_STATE_IDLE); } - if (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) { - D_801568F0->data.gotItemOutline->timeLeft = 10; + if (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) { + ItemPickupGotOutline->data.gotItemOutline->timeLeft = 10; } set_window_update(WINDOW_ID_12, (s32) basic_hidden_window_update); set_window_update(WINDOW_ID_19, (s32) basic_hidden_window_update); - itemEntity->state = 3; + item->state = ITEM_PICKUP_STATE_HIDE_GOT_ITEM; } break; - case 3: - if (!(gWindows[12].flags & WINDOW_FLAG_INITIAL_ANIMATION) && - !(gWindows[19].flags & WINDOW_FLAG_INITIAL_ANIMATION)) + case ITEM_PICKUP_STATE_HIDE_GOT_ITEM: + if (!(gWindows[WINDOW_ID_12].flags & WINDOW_FLAG_INITIAL_ANIMATION) && + !(gWindows[WINDOW_ID_19].flags & WINDOW_FLAG_INITIAL_ANIMATION)) { - itemEntity->state = 4; + item->state = ITEM_PICKUP_STATE_CHECK_TUTORIALS; } break; - case 4: - if ((gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_CONSUMABLE) && + case ITEM_PICKUP_STATE_CHECK_TUTORIALS: + if ((gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_CONSUMABLE) && !evt_get_variable(NULL, GF_Tutorial_GotItem)) { evt_set_variable(NULL, GF_Tutorial_GotItem, TRUE); - itemEntity->state = 5; + item->state = ITEM_PICKUP_STATE_SHOW_TUTORIAL; break; } - if (itemEntity->itemID == ITEM_STAR_PIECE && !evt_get_variable(NULL, GF_Tutorial_GotStarPiece)) { + if (item->itemID == ITEM_STAR_PIECE && !evt_get_variable(NULL, GF_Tutorial_GotStarPiece)) { evt_set_variable(NULL, GF_Tutorial_GotStarPiece, TRUE); - itemEntity->state = 5; + item->state = ITEM_PICKUP_STATE_SHOW_TUTORIAL; break; } - itemEntity->state = 9; + item->state = ITEM_PICKUP_STATE_DONE; break; - case 5: - msgID = 0; - if (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_CONSUMABLE) { + case ITEM_PICKUP_STATE_SHOW_TUTORIAL: + msgID = MSG_NONE; + if (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_CONSUMABLE) { msgID = MSG_Menus_Tutorial_GotItem; } - if (itemEntity->itemID == ITEM_STAR_PIECE) { + if (item->itemID == ITEM_STAR_PIECE) { msgID = MSG_Menus_Tutorial_GotStarPiece; } - D_801568F4 = msg_get_printer_for_msg(msgID, &D_801568F8); - msg_printer_set_origin_pos(D_801568F4, 0, 0); - itemEntity->state = 6; + GotItemTutorialPrinter = msg_get_printer_for_msg(msgID, &GotItemTutorialClosed); + msg_printer_set_origin_pos(GotItemTutorialPrinter, 0, 0); + item->state = ITEM_PICKUP_STATE_AWAIT_TUTORIAL; break; - case 6: - if (D_801568F8 == TRUE) { + case ITEM_PICKUP_STATE_AWAIT_TUTORIAL: + if (GotItemTutorialClosed == TRUE) { isPickingUpItem = FALSE; } else { break; } - case 9: - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_2000000)) { + case ITEM_PICKUP_STATE_DONE: + if (!(item->flags & ITEM_ENTITY_FLAG_2000000)) { set_time_freeze_mode(TIME_FREEZE_NORMAL); enable_player_input(); partner_enable_input(); gOverrideFlags &= ~GLOBAL_OVERRIDES_40; } - hud_element_free(D_801568E0); - remove_item_entity_by_reference(itemEntity); + hud_element_free(ItemPickupIconID); + remove_item_entity_by_reference(item); sort_items(); - decrement_status_menu_disabled(); + decrement_status_bar_disabled(); isPickingUpItem = FALSE; break; - case 10: + case ITEM_PICKUP_STATE_SHOW_TOO_MANY: numEntries = 0; if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { - itemData = &gItemTable[itemEntity->itemID]; + // add new item to menu + itemData = &gItemTable[item->itemID]; menu->ptrIcon[numEntries] = gItemHudScripts[itemData->hudElemID].enabled; - menu->userIndex[numEntries] = itemEntity->itemID; + menu->userIndex[numEntries] = item->itemID; menu->enabled[numEntries] = TRUE; menu->nameMsg[numEntries] = itemData->nameMsg; menu->descMsg[numEntries] = itemData->shortDescMsg; numEntries++; + // add player inventory to menu for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { if (playerData->invItems[i] != 0) { itemData = &gItemTable[playerData->invItems[i]]; @@ -2818,34 +2863,34 @@ block_47: // TODO required to match create_standard_popup_menu(menu); set_window_update(WINDOW_ID_12, (s32) basic_hidden_window_update); set_window_update(WINDOW_ID_17, (s32) basic_hidden_window_update); - D_801568E4 = 0; - itemEntity->state = 0xB; + ItemPickupStateDelay = 0; + item->state = ITEM_PICKUP_STATE_HIDE_TOO_MANY; } break; - case 11: - if (!(gWindows[12].flags & WINDOW_FLAG_INITIAL_ANIMATION) && - !(gWindows[17].flags & WINDOW_FLAG_INITIAL_ANIMATION) && - !(gWindows[19].flags & WINDOW_FLAG_INITIAL_ANIMATION)) + case ITEM_PICKUP_STATE_HIDE_TOO_MANY: + if (!(gWindows[WINDOW_ID_12].flags & WINDOW_FLAG_INITIAL_ANIMATION) && + !(gWindows[WINDOW_ID_17].flags & WINDOW_FLAG_INITIAL_ANIMATION) && + !(gWindows[WINDOW_ID_19].flags & WINDOW_FLAG_INITIAL_ANIMATION)) { - itemEntity->state = 0xC; + item->state = ITEM_PICKUP_STATE_AWAIT_THROW_AWAY; } break; - case 12: - if (D_801568E4 == 0) { + case ITEM_PICKUP_STATE_AWAIT_THROW_AWAY: + if (ItemPickupStateDelay == 0) { D_801568E8 = menu->result; if (D_801568E8 == 0) { break; } hide_popup_menu(); } - D_801568E4++; - if (D_801568E4 >= 15) { + ItemPickupStateDelay++; + if (ItemPickupStateDelay >= 15) { destroy_popup_menu(); if (D_801568E8 == 255) { D_801568E8 = 1; } D_801568EC = menu->userIndex[D_801568E8 - 1]; - hud_element_set_script(D_801568E0, menu->ptrIcon[D_801568E8 - 1]); + hud_element_set_script(ItemPickupIconID, menu->ptrIcon[D_801568E8 - 1]); get_item_entity( make_item_entity_delayed( @@ -2859,232 +2904,233 @@ block_47: // TODO required to match if (D_801568E8 >= 2) { playerData->invItems[D_801568E8 - 2] = 0; sort_items(); - add_item(itemEntity->itemID); + add_item(item->itemID); } suggest_player_anim_always_forward(ANIM_MarioW1_Lift); - func_801363A0(itemEntity); + func_801363A0(item); set_window_update(WINDOW_ID_12, (s32) basic_window_update); - D_801568E4 = 50; - itemEntity->state = 0xD; + ItemPickupStateDelay = 50; + item->state = ITEM_PICKUP_STATE_SHOW_THREW_AWAY; } break; - case 13: + case ITEM_PICKUP_STATE_SHOW_THREW_AWAY: if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { set_window_update(WINDOW_ID_12, (s32) basic_hidden_window_update); - itemEntity->state = 0xE; + item->state = ITEM_PICKUP_STATE_HIDE_THREW_AWAY; } break; - case 14: - if (!(gWindows[12].flags & WINDOW_FLAG_INITIAL_ANIMATION) && - !(gWindows[17].flags & WINDOW_FLAG_INITIAL_ANIMATION) && - !(gWindows[19].flags & WINDOW_FLAG_INITIAL_ANIMATION)) + case ITEM_PICKUP_STATE_HIDE_THREW_AWAY: + if (!(gWindows[WINDOW_ID_12].flags & WINDOW_FLAG_INITIAL_ANIMATION) && + !(gWindows[WINDOW_ID_17].flags & WINDOW_FLAG_INITIAL_ANIMATION) && + !(gWindows[WINDOW_ID_19].flags & WINDOW_FLAG_INITIAL_ANIMATION)) { - itemEntity->state = 15; + item->state = ITEM_PICKUP_STATE_THROW_AWAY_DONE; } break; - case 15: + case ITEM_PICKUP_STATE_THROW_AWAY_DONE: suggest_player_anim_always_forward(ANIM_Mario1_Idle); set_time_freeze_mode(TIME_FREEZE_NORMAL); enable_player_input(); partner_enable_input(); gOverrideFlags &= ~GLOBAL_OVERRIDES_40; - hud_element_free(D_801568E0); - remove_item_entity_by_reference(itemEntity); + hud_element_free(ItemPickupIconID); + remove_item_entity_by_reference(item); sort_items(); - decrement_status_menu_disabled(); + decrement_status_bar_disabled(); isPickingUpItem = FALSE; break; } } -void func_801363A0(ItemEntity* itemEntity) { - ItemData* itemData = &gItemTable[itemEntity->itemID]; +void func_801363A0(ItemEntity* item) { + ItemData* itemData = &gItemTable[item->itemID]; s32 itemMsg; + s32 width; + s32 posX; s32 offsetY; - s32 s1; - s32 temp; - s32 s3; - s32 temp2; + s32 posY; + s32 height; s32 v1; - switch (itemEntity->state) { - case 2: - case 10: + switch (item->state) { + case ITEM_PICKUP_STATE_SHOW_GOT_ITEM: + case ITEM_PICKUP_STATE_SHOW_TOO_MANY: if (!(itemData->typeFlags & ITEM_TYPE_FLAG_BADGE)) { - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_4000000) || (itemEntity->pickupMsgFlags & 0x4)) { + if (!(item->flags & ITEM_ENTITY_FLAG_4000000) || (item->pickupMsgFlags & ITEM_PICKUP_FLAG_UNKNOWN)) { itemMsg = MSG_Menus_0058; } else { itemMsg = MSG_Menus_005A; } - if (itemEntity->pickupMsgFlags & 0x10) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_1_COIN) { itemMsg = MSG_Menus_005D; } - if (itemEntity->pickupMsgFlags & 0x20) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_3_STAR_PIECES) { itemMsg = MSG_Menus_005E; } - if (itemEntity->pickupMsgFlags & 0x40) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_UNIQUE) { itemMsg = MSG_Menus_005C; } set_message_msg(itemData->nameMsg, 0); - if (!(gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) && - itemEntity->itemID != ITEM_STAR_PIECE && - !(gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) && - !(itemEntity->pickupMsgFlags & 0x30)) { - offsetY = get_msg_width(itemMsg, 0) + 54; + if (!(gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) && + item->itemID != ITEM_STAR_PIECE && + !(gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) && + !(item->pickupMsgFlags & (ITEM_PICKUP_FLAG_1_COIN | ITEM_PICKUP_FLAG_3_STAR_PIECES))) { + width = get_msg_width(itemMsg, 0) + 54; } else { - offsetY = get_msg_width(itemMsg, 0) + 30; + width = get_msg_width(itemMsg, 0) + 30; } - s1 = 160 - offsetY / 2; - s3 = 76; + posX = 160 - width / 2; + posY = 76; } else { - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_4000000) || (itemEntity->pickupMsgFlags & 0x4)) { + if (!(item->flags & ITEM_ENTITY_FLAG_4000000) || (item->pickupMsgFlags & ITEM_PICKUP_FLAG_UNKNOWN)) { itemMsg = MSG_Menus_0059; } else { itemMsg = MSG_Menus_005B; } - if (itemEntity->pickupMsgFlags & 0x10) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_1_COIN) { itemMsg = MSG_Menus_005D; } - if (itemEntity->pickupMsgFlags & 0x20) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_3_STAR_PIECES) { itemMsg = MSG_Menus_005E; } - if (itemEntity->pickupMsgFlags & 0x40) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_UNIQUE) { itemMsg = MSG_Menus_005C; } set_message_msg(itemData->nameMsg, 0); - offsetY = get_msg_width(itemMsg, 0) + 30; - s1 = 160 - offsetY / 2; - s3 = 76; + width = get_msg_width(itemMsg, 0) + 30; + posX = 160 - width / 2; + posY = 76; } - temp2 = D_8014C6E0[get_msg_lines(itemMsg) - 1]; - if (itemEntity->state != 2) { - temp = 28; + height = PickupHeaderWindowHeight[get_msg_lines(itemMsg) - 1]; + if (item->state != ITEM_PICKUP_STATE_SHOW_GOT_ITEM) { + offsetY = 28; } else { - temp = 0; + offsetY = 0; } - if (!(gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) && - itemEntity->itemID != ITEM_STAR_PIECE && - !(gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) && - !(itemEntity->pickupMsgFlags & 0x30)) { - set_window_properties(WINDOW_ID_12, s1, s3 - 24 + temp, offsetY, - temp2, WINDOW_PRIORITY_0, func_8013673C, itemEntity, -1); - } else if (gItemTable[itemEntity->itemID].typeFlags & 1){ - set_window_properties(WINDOW_ID_12, s1, s3 - 24 + temp, offsetY, - temp2, WINDOW_PRIORITY_0, func_8013673C, itemEntity, -1); + if ( !(gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) + && !(gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) + && !(item->pickupMsgFlags & (ITEM_PICKUP_FLAG_1_COIN | ITEM_PICKUP_FLAG_3_STAR_PIECES) + && item->itemID != ITEM_STAR_PIECE) + ) { + set_window_properties(WINDOW_ID_12, posX, posY - 24 + offsetY, width, + height, WINDOW_PRIORITY_0, draw_content_pickup_item_header, item, -1); + } else if (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_WORLD_USABLE){ + set_window_properties(WINDOW_ID_12, posX, posY - 24 + offsetY, width, + height, WINDOW_PRIORITY_0, draw_content_pickup_item_header, item, -1); } else { - set_window_properties(WINDOW_ID_12, s1, s3 - 24 + temp, offsetY, - temp2, WINDOW_PRIORITY_0, func_8013673C, itemEntity, -1); + set_window_properties(WINDOW_ID_12, posX, posY - 24 + offsetY, width, + height, WINDOW_PRIORITY_0, draw_content_pickup_item_header, item, -1); } - if (itemEntity->itemID != ITEM_STAR_PIECE && itemEntity->itemID != ITEM_COIN) { - set_window_properties(WINDOW_ID_19, 20, 186, 280, 32, WINDOW_PRIORITY_0, func_80136A08, itemEntity, -1); + if (item->itemID != ITEM_STAR_PIECE && item->itemID != ITEM_COIN) { + set_window_properties(WINDOW_ID_19, 20, 186, 280, 32, WINDOW_PRIORITY_0, draw_content_pickup_item_desc, item, -1); } - if (itemEntity->state != 2) { - offsetY = get_msg_width(MSG_Menus_0060, 0) + 0x18; - s1 = 160 - offsetY / 2; - set_window_properties(WINDOW_ID_17, 160 - offsetY / 2, 36, offsetY, 40, WINDOW_PRIORITY_0, func_801369D0, itemEntity, -1); + if (item->state != ITEM_PICKUP_STATE_SHOW_GOT_ITEM) { + width = get_msg_width(MSG_Menus_0060, 0) + 24; + posX = 160 - width / 2; + set_window_properties(WINDOW_ID_17, 160 - width / 2, 36, width, 40, WINDOW_PRIORITY_0, draw_content_cant_carry_more, item, -1); } break; - case 12: + case ITEM_PICKUP_STATE_AWAIT_THROW_AWAY: set_message_msg(itemData->nameMsg, 0); - offsetY = get_msg_width(MSG_Menus_005F, 0) + 0x36; - s1 = 160 - offsetY / 2; - set_window_properties(WINDOW_ID_12, 160 - offsetY / 2, 76, offsetY, 40, WINDOW_PRIORITY_0, func_8013673C, itemEntity, -1); + width = get_msg_width(MSG_Menus_005F, 0) + 54; + posX = 160 - width / 2; + set_window_properties(WINDOW_ID_12, 160 - width / 2, 76, width, 40, WINDOW_PRIORITY_0, draw_content_pickup_item_header, item, -1); break; } } -void func_8013673C(ItemEntity* itemEntity, s32 posX, s32 posY) { - ItemData* itemData = &gItemTable[itemEntity->itemID]; +void draw_content_pickup_item_header(ItemEntity* item, s32 posX, s32 posY) { + ItemData* itemData = &gItemTable[item->itemID]; s32 itemMsg; s32 offsetY; - switch (itemEntity->state) { - case 2: - case 3: - case 10: - case 11: + switch (item->state) { + case ITEM_PICKUP_STATE_SHOW_GOT_ITEM: + case ITEM_PICKUP_STATE_HIDE_GOT_ITEM: + case ITEM_PICKUP_STATE_SHOW_TOO_MANY: + case ITEM_PICKUP_STATE_HIDE_TOO_MANY: if (!(itemData->typeFlags & ITEM_TYPE_FLAG_BADGE)) { - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_4000000) || (itemEntity->pickupMsgFlags & 0x4)) { + if (!(item->flags & ITEM_ENTITY_FLAG_4000000) || (item->pickupMsgFlags & ITEM_PICKUP_FLAG_UNKNOWN)) { itemMsg = MSG_Menus_0058; } else { itemMsg = MSG_Menus_005A; } set_message_msg(itemData->nameMsg, 0); - if (itemEntity->pickupMsgFlags & 0x10) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_1_COIN) { itemMsg = MSG_Menus_005D; } - if (itemEntity->pickupMsgFlags & 0x20) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_3_STAR_PIECES) { itemMsg = MSG_Menus_005E; } - if (itemEntity->pickupMsgFlags & 0x40) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_UNIQUE) { itemMsg = MSG_Menus_005C; } } else { - if (!(itemEntity->flags & ITEM_ENTITY_FLAG_4000000) || (itemEntity->pickupMsgFlags & 0x4)) { + if (!(item->flags & ITEM_ENTITY_FLAG_4000000) || (item->pickupMsgFlags & ITEM_PICKUP_FLAG_UNKNOWN)) { itemMsg = MSG_Menus_0059; } else { itemMsg = MSG_Menus_005B; } - if (itemEntity->pickupMsgFlags & 0x10) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_1_COIN) { itemMsg = MSG_Menus_005D; } - if (itemEntity->pickupMsgFlags & 0x20) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_3_STAR_PIECES) { itemMsg = MSG_Menus_005E; } - if (itemEntity->pickupMsgFlags & 0x40) { + if (item->pickupMsgFlags & ITEM_PICKUP_FLAG_UNIQUE) { itemMsg = MSG_Menus_005C; } set_message_msg(itemData->nameMsg, 0); } - offsetY = D_8014C6E4[get_msg_lines(itemMsg) - 1]; - - if ((gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) || - (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) || - itemEntity->itemID == ITEM_STAR_PIECE || - (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) || - (itemEntity->pickupMsgFlags & 0x30)) { + offsetY = PickupMessageWindowYOffsets[get_msg_lines(itemMsg) - 1]; + if ((gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) + || (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) + || item->itemID == ITEM_STAR_PIECE + || (gItemTable[item->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) + || (item->pickupMsgFlags & (ITEM_PICKUP_FLAG_1_COIN | ITEM_PICKUP_FLAG_3_STAR_PIECES)) + ) { draw_msg(itemMsg, posX + 15, posY + offsetY, 255, MSG_PAL_2F, 0); } else { draw_msg(itemMsg, posX + 40, posY + offsetY, 255, MSG_PAL_2F, 0); - if (!(itemEntity->pickupMsgFlags & 0x30)) { - hud_element_set_render_pos(D_801568E0, posX + 20, posY + 20); - hud_element_draw_next(D_801568E0); + if (!(item->pickupMsgFlags & (ITEM_PICKUP_FLAG_1_COIN | ITEM_PICKUP_FLAG_3_STAR_PIECES))) { + hud_element_set_render_pos(ItemPickupIconID, posX + 20, posY + 20); + hud_element_draw_next(ItemPickupIconID); } } break; - case 13: - case 14: + case ITEM_PICKUP_STATE_SHOW_THREW_AWAY: + case ITEM_PICKUP_STATE_HIDE_THREW_AWAY: set_message_msg(gItemTable[D_801568EC].nameMsg, 0); draw_msg(MSG_Menus_005F, posX + 40, posY + 4, 255, MSG_PAL_2F, 0); - hud_element_set_render_pos(D_801568E0, posX + 20, posY + 20); - hud_element_draw_next(D_801568E0); + hud_element_set_render_pos(ItemPickupIconID, posX + 20, posY + 20); + hud_element_draw_next(ItemPickupIconID); break; } } -void func_801369D0(ItemEntity* itemEntity, s32 x, s32 y) { +void draw_content_cant_carry_more(ItemEntity* item, s32 x, s32 y) { draw_msg(MSG_Menus_0060, x + 12, y + 4, 255, MSG_PAL_34, 0); } -void func_80136A08(ItemEntity* itemEntity, s32 posX, s32 posY) { - ItemData* itemData = &gItemTable[itemEntity->itemID]; +void draw_content_pickup_item_desc(ItemEntity* item, s32 posX, s32 posY) { + ItemData* itemData = &gItemTable[item->itemID]; s32 itemMsg; - switch (itemEntity->state) { - case 2: - case 3: - case 10: - case 11: + switch (item->state) { + case ITEM_PICKUP_STATE_SHOW_GOT_ITEM: + case ITEM_PICKUP_STATE_HIDE_GOT_ITEM: + case ITEM_PICKUP_STATE_SHOW_TOO_MANY: + case ITEM_PICKUP_STATE_HIDE_TOO_MANY: itemMsg = itemData->shortDescMsg; draw_msg(itemMsg, posX + 8, posY, 255, MSG_PAL_STANDARD, 0); break; diff --git a/src/actor_api.c b/src/actor_api.c index a5d12d7178..28f0ad963f 100644 --- a/src/actor_api.c +++ b/src/actor_api.c @@ -52,7 +52,7 @@ void set_goal_pos_to_part(ActorState* state, s32 actorID, s32 partID) { state->goalPos.x = actor->currentPos.x + part->partOffset.x * actor->scalingFactor; state->goalPos.y = actor->currentPos.y + part->partOffset.y * actor->scalingFactor; state->goalPos.z = actor->currentPos.z + 10.0f; - if (actor->stoneStatus == STATUS_STONE) { + if (actor->stoneStatus == STATUS_KEY_STONE) { state->goalPos.y -= actor->scalingFactor * 5.0f; } break; @@ -410,21 +410,21 @@ ApiStatus SetGoalPos(Evt* script, s32 isInitialCall) { actor = get_actor(actorID); walk = &actor->state; - if (*args == -12345678) { + if (*args == ACTOR_API_SKIP_ARG) { x = walk->goalPos.x; } else { x = evt_get_variable(script, *args); } *args++; - if (*args == -12345678) { + if (*args == ACTOR_API_SKIP_ARG) { y = walk->goalPos.y; } else { y = evt_get_variable(script, *args); } *args++; - if (*args == -12345678) { + if (*args == ACTOR_API_SKIP_ARG) { z = walk->goalPos.z; } else { z = evt_get_variable(script, *args); @@ -450,21 +450,21 @@ ApiStatus SetIdleGoal(Evt* script, s32 isInitialCall) { actor = get_actor(actorID); fly = &actor->fly; - if (*args == -12345678) { + if (*args == ACTOR_API_SKIP_ARG) { x = actor->fly.goalPos.x; } else { x = evt_get_variable(script, *args); } *args++; - if (*args == -12345678) { + if (*args == ACTOR_API_SKIP_ARG) { y = fly->goalPos.y; } else { y = evt_get_variable(script, *args); } *args++; - if (*args == -12345678) { + if (*args == ACTOR_API_SKIP_ARG) { z = fly->goalPos.z; } else { z = evt_get_variable(script, *args); @@ -1186,15 +1186,16 @@ ApiStatus AddPartDispOffset(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_8026BF48(Evt* script, s32 isInitialCall) { +ApiStatus FreezeBattleState(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus2 = &gBattleStatus; Bytecode* args = script->ptrReadPos; + b32 increaseFreeze = evt_get_variable(script, *args++); - if (evt_get_variable(script, *args++) != 0) { - battleStatus->unk_8C++; - } else if (battleStatus->unk_8C > 0) { - battleStatus2->unk_8C--; + if (increaseFreeze) { + battleStatus->stateFreezeCount++; + } else if (battleStatus->stateFreezeCount > 0) { + battleStatus2->stateFreezeCount--; } return ApiStatus_DONE2; @@ -1932,15 +1933,15 @@ ApiStatus HPBarToHome(Evt* script, s32 isInitialCall) { } actor = get_actor(actorID); - actor->healthBarPosition.x = actor->homePos.x + actor->actorBlueprint->hpBarOffset.x; - actor->healthBarPosition.y = actor->homePos.y + actor->actorBlueprint->hpBarOffset.y; - actor->healthBarPosition.z = actor->homePos.z; + actor->healthBarPos.x = actor->homePos.x + actor->actorBlueprint->healthBarOffset.x; + actor->healthBarPos.y = actor->homePos.y + actor->actorBlueprint->healthBarOffset.y; + actor->healthBarPos.z = actor->homePos.z; if (actor->flags & ACTOR_FLAG_UPSIDE_DOWN) { - actor->healthBarPosition.y = actor->homePos.y - actor->size.y - actor->actorBlueprint->hpBarOffset.y; + actor->healthBarPos.y = actor->homePos.y - actor->size.y - actor->actorBlueprint->healthBarOffset.y; } - actor->hpFraction = (actor->currentHP * 25) / actor->maxHP; + actor->healthFraction = (actor->currentHP * 25) / actor->maxHP; return ApiStatus_DONE2; } @@ -1955,15 +1956,15 @@ ApiStatus HPBarToCurrent(Evt* script, s32 isInitialCall) { } actor = get_actor(actorID); - actor->healthBarPosition.x = actor->currentPos.x + actor->actorBlueprint->hpBarOffset.x; - actor->healthBarPosition.y = actor->currentPos.y + actor->actorBlueprint->hpBarOffset.y; - actor->healthBarPosition.z = actor->currentPos.z; + actor->healthBarPos.x = actor->currentPos.x + actor->actorBlueprint->healthBarOffset.x; + actor->healthBarPos.y = actor->currentPos.y + actor->actorBlueprint->healthBarOffset.y; + actor->healthBarPos.z = actor->currentPos.z; if (actor->flags & ACTOR_FLAG_UPSIDE_DOWN) { - actor->healthBarPosition.y = actor->currentPos.y - actor->size.y - actor->actorBlueprint->hpBarOffset.y; + actor->healthBarPos.y = actor->currentPos.y - actor->size.y - actor->actorBlueprint->healthBarOffset.y; } - actor->hpFraction = (actor->currentHP * 25) / actor->maxHP; + actor->healthFraction = (actor->currentHP * 25) / actor->maxHP; return ApiStatus_DONE2; } @@ -1976,7 +1977,7 @@ ApiStatus func_8026D8EC(Evt* script, s32 isInitialCall) { actorID = script->owner1.actorID; } - func_80266AF8(get_actor(actorID)); + hide_actor_health_bar(get_actor(actorID)); return ApiStatus_DONE2; } @@ -1996,39 +1997,39 @@ ApiStatus func_8026D940(Evt* script, s32 isInitialCall) { actor = get_actor(actorID); - actor->unk_198.x = x; - actor->unk_198.y = y; - actor->healthBarPosition.x = actor->homePos.x + actor->actorBlueprint->hpBarOffset.x + actor->unk_198.x; - actor->healthBarPosition.y = actor->homePos.y + actor->actorBlueprint->hpBarOffset.y + actor->unk_198.y; - actor->healthBarPosition.z = actor->homePos.z; + actor->healthBarOffset.x = x; + actor->healthBarOffset.y = y; + actor->healthBarPos.x = actor->homePos.x + actor->actorBlueprint->healthBarOffset.x + actor->healthBarOffset.x; + actor->healthBarPos.y = actor->homePos.y + actor->actorBlueprint->healthBarOffset.y + actor->healthBarOffset.y; + actor->healthBarPos.z = actor->homePos.z; if (actor->flags & ACTOR_FLAG_UPSIDE_DOWN) { - actor->healthBarPosition.y = actor->homePos.y - actor->size.y; + actor->healthBarPos.y = actor->homePos.y - actor->size.y; } return ApiStatus_DONE2; } -ApiStatus func_8026DA94(Evt* script, s32 isInitialCall) { +ApiStatus SetActorStatusOffsets(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); Actor* actor; - s32 a, b, c, d; + s32 iconX, iconY, textX, textY; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } - a = evt_get_variable(script, *args++); - b = evt_get_variable(script, *args++); - c = evt_get_variable(script, *args++); - d = evt_get_variable(script, *args++); + iconX = evt_get_variable(script, *args++); + iconY = evt_get_variable(script, *args++); + textX = evt_get_variable(script, *args++); + textY = evt_get_variable(script, *args++); actor = get_actor(actorID); - actor->unk_194 = a; - actor->unk_195 = b; - actor->unk_196 = c; - actor->unk_197 = d; + actor->statusIconOffset.x = iconX; + actor->statusIconOffset.y = iconY; + actor->statusTextOffset.x = textX; + actor->statusTextOffset.y = textY; return ApiStatus_DONE2; } @@ -2057,65 +2058,66 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall) { break; case 1: actor2 = script->functionTempPtr[1]; - if (does_script_exist(actor2->takeTurnScriptID) == FALSE) { - enemyIDs = battleStatus->enemyIDs; - if (battleStatus->nextEnemyIndex == 0) { - numEnemies = 0; - for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { - if (battleStatus->enemyActors[i]) { - battleStatus->enemyIDs[numEnemies++] = i | 0x200; - } - } - battleStatus->numEnemyActors = numEnemies; - if (script->functionTemp[2] != 0) { - tempPriority = -1000; - } else { - tempPriority = 1000; - } - enemyIDs = battleStatus->enemyIDs; - for (i = 0; i < numEnemies - 1; i++) { - for (j = i + 1; j < numEnemies; j++) { - enemyID1 = enemyIDs[i]; - actor1 = battleStatus->enemyActors[(u8) enemyID1]; - priority1 = actor1->turnPriority; - if (actor1 == actor2) { - priority1 += tempPriority; - } - enemyID2 = enemyIDs[j]; - actor1 = battleStatus->enemyActors[(u8) enemyID2]; - priority2 = actor1->turnPriority; - if (actor1 == actor2) { - priority2 += tempPriority; - } - if (priority1 < priority2) { - enemyIDs[i] = enemyID2; - enemyIDs[j] = enemyID1; - } - } - } - } else { - numEnemies = battleStatus->numEnemyActors; - for (i = 0; i < numEnemies; i++){ - if (battleStatus->enemyActors[(u8) enemyIDs[i]] == actor2) { - enemyIDs[i] = -1; - } - } - if (script->functionTemp[2] == 0) { - for (i = numEnemies; i >= battleStatus->nextEnemyIndex; i--) { - battleStatus->enemyIDs[i] = battleStatus->enemyIDs[i - 1]; - } - battleStatus->enemyIDs[battleStatus->nextEnemyIndex - 1] = actor2->actorID; - battleStatus->numEnemyActors++; - battleStatus->nextEnemyIndex++; - } else { - battleStatus->enemyIDs[battleStatus->numEnemyActors] = actor2->actorID; - battleStatus->numEnemyActors++; + if (does_script_exist(actor2->takeTurnScriptID)) { + break; + } + + enemyIDs = battleStatus->enemyIDs; + if (battleStatus->nextEnemyIndex == 0) { + numEnemies = 0; + for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { + if (battleStatus->enemyActors[i]) { + battleStatus->enemyIDs[numEnemies++] = i | ACTOR_CLASS_ENEMY; } } - script->varTable[0] = actor2->actorID; - return ApiStatus_DONE2; + battleStatus->numEnemyActors = numEnemies; + if (script->functionTemp[2] != 0) { + tempPriority = -1000; + } else { + tempPriority = 1000; + } + enemyIDs = battleStatus->enemyIDs; + for (i = 0; i < numEnemies - 1; i++) { + for (j = i + 1; j < numEnemies; j++) { + enemyID1 = enemyIDs[i]; + actor1 = battleStatus->enemyActors[(u8) enemyID1]; + priority1 = actor1->turnPriority; + if (actor1 == actor2) { + priority1 += tempPriority; + } + enemyID2 = enemyIDs[j]; + actor1 = battleStatus->enemyActors[(u8) enemyID2]; + priority2 = actor1->turnPriority; + if (actor1 == actor2) { + priority2 += tempPriority; + } + if (priority1 < priority2) { + enemyIDs[i] = enemyID2; + enemyIDs[j] = enemyID1; + } + } + } + } else { + numEnemies = battleStatus->numEnemyActors; + for (i = 0; i < numEnemies; i++){ + if (battleStatus->enemyActors[(u8) enemyIDs[i]] == actor2) { + enemyIDs[i] = -1; + } + } + if (script->functionTemp[2] == 0) { + for (i = numEnemies; i >= battleStatus->nextEnemyIndex; i--) { + battleStatus->enemyIDs[i] = battleStatus->enemyIDs[i - 1]; + } + battleStatus->enemyIDs[battleStatus->nextEnemyIndex - 1] = actor2->actorID; + battleStatus->numEnemyActors++; + battleStatus->nextEnemyIndex++; + } else { + battleStatus->enemyIDs[battleStatus->numEnemyActors] = actor2->actorID; + battleStatus->numEnemyActors++; + } } - break; + script->varTable[0] = actor2->actorID; + return ApiStatus_DONE2; } return ApiStatus_BLOCK; } @@ -2551,70 +2553,77 @@ ApiStatus GetDistanceToGoal(Evt* script, s32 isInitialCall) { if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } - actor = get_actor(actorID); + dist = dist2D(actor->currentPos.x, actor->currentPos.z, actor->state.goalPos.x, actor->state.goalPos.z); evt_set_variable(script, outVar, dist); return ApiStatus_DONE2; } -ApiStatus func_8026EA7C(Evt* script, s32 isInitialCall) { +ApiStatus SetActorPaletteEffect(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); s32 partID = evt_get_variable(script, *args++); - s32 temp_s3 = evt_get_variable(script, *args++); + s32 palAdjustment = evt_get_variable(script, *args++); Actor* actor; ActorPart* actorPart; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } - actor = get_actor(actorID); actorPart = get_actor_part(actor, partID); - func_80266D6C(actorPart, temp_s3); + + set_part_pal_adjustment(actorPart, palAdjustment); return ApiStatus_DONE2; } -ApiStatus func_8026EB20(Evt* script, s32 isInitialCall) { +ApiStatus SetActorPaletteSwapTimes(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); - s32 temp_s3 = evt_get_variable(script, *args++); + s32 partID = evt_get_variable(script, *args++); + Actor* actor; + ActorPart* actorPart; DecorationTable* decorationTable; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } + actor = get_actor(actorID); + actorPart = get_actor_part(actor, partID); + decorationTable = actorPart->decorationTable; - decorationTable = get_actor_part(get_actor(actorID), temp_s3)->decorationTable; - decorationTable->unk_740 = evt_get_variable(script, *args++); - decorationTable->unk_742 = evt_get_variable(script, *args++); - decorationTable->unk_744 = evt_get_variable(script, *args++); - decorationTable->unk_746 = evt_get_variable(script, *args++); + decorationTable->blendPalA = evt_get_variable(script, *args++); + decorationTable->blendPalB = evt_get_variable(script, *args++); + decorationTable->palswapTimeHoldA = evt_get_variable(script, *args++); + decorationTable->palswapTimeAtoB = evt_get_variable(script, *args++); return ApiStatus_DONE2; } -ApiStatus func_8026EBF8(Evt* script, s32 isInitialCall) { +ApiStatus SetActorPaletteSwapParams(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); s32 partID = evt_get_variable(script, *args++); + Actor* actor; + ActorPart* actorPart; DecorationTable* table; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } + actor = get_actor(actorID); + actorPart = get_actor_part(actor, partID); + table = actorPart->decorationTable; - table = get_actor_part(get_actor(actorID), partID)->decorationTable; - - table->unk_740 = evt_get_variable(script, *args++); - table->unk_742 = evt_get_variable(script, *args++); - table->unk_744 = evt_get_variable(script, *args++); - table->unk_746 = evt_get_variable(script, *args++); - table->unk_748 = evt_get_variable(script, *args++); - table->unk_74A = evt_get_variable(script, *args++); - table->unk_74C = evt_get_variable(script, *args++); - table->unk_74E = evt_get_variable(script, *args++); + table->blendPalA = evt_get_variable(script, *args++); + table->blendPalB = evt_get_variable(script, *args++); + table->palswapTimeHoldA = evt_get_variable(script, *args++); + table->palswapTimeAtoB = evt_get_variable(script, *args++); + table->palswapTimeHoldB = evt_get_variable(script, *args++); + table->palswapTimeBtoA = evt_get_variable(script, *args++); + table->palswapUnused1 = evt_get_variable(script, *args++); + table->palswapUnused2 = evt_get_variable(script, *args++); return ApiStatus_DONE2; } @@ -2622,16 +2631,18 @@ ApiStatus func_8026EBF8(Evt* script, s32 isInitialCall) { ApiStatus func_8026ED20(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); - s32 temp_s0_3 = evt_get_variable(script, *args++); - s32 temp_s3 = evt_get_variable(script, *args++); + s32 partID = evt_get_variable(script, *args++); + s32 enable = evt_get_variable(script, *args++); + Actor* actor; ActorPart* actorPart; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } + actor = get_actor(actorID); + actorPart = get_actor_part(actor, partID); - actorPart = get_actor_part(get_actor(actorID), temp_s0_3); - if (temp_s3) { + if (enable) { actorPart->flags |= ACTOR_FLAG_1000000; } else { actorPart->flags &= ~ACTOR_FLAG_1000000; @@ -2645,12 +2656,16 @@ ApiStatus func_8026EDE4(Evt* script, s32 isInitialCall) { s32 actorID = evt_get_variable(script, *args++); s32 partID = evt_get_variable(script, *args++); s32 temp_s3 = evt_get_variable(script, *args++); + Actor* actor; + ActorPart* actorPart; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } + actor = get_actor(actorID); + actorPart = get_actor_part(actor, partID); - func_80266EA8(get_actor_part(get_actor(actorID), partID), temp_s3); + func_80266EA8(actorPart, temp_s3); return ApiStatus_DONE2; } @@ -2667,9 +2682,9 @@ ApiStatus AddActorDecoration(Evt* script, s32 isInitialCall) { if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } - actor = get_actor(actorID); actorPart = get_actor_part(actor, partID); + add_part_decoration(actorPart, decorationIndex, decorationType); return ApiStatus_DONE2; } @@ -2685,9 +2700,9 @@ ApiStatus RemoveActorDecoration(Evt* script, s32 isInitialCall) { if (actorID == ACTOR_SELF) { actorID = script->owner1.enemyID; } - actor = get_actor(actorID); actorPart = get_actor_part(actor, partID); + remove_part_decoration(actorPart, decorationIndex); return ApiStatus_DONE2; } @@ -2704,10 +2719,10 @@ ApiStatus ModifyActorDecoration(Evt* script, s32 isInitialCall) { if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } - actor = get_actor(actorID); actorPart = get_actor_part(actor, partID); decorationtable = actorPart->decorationTable; + decorationtable->unk_8C6[temp_s4].unk00 = evt_get_variable(script, *args++); decorationtable->unk_8C6[temp_s4].unk02 = evt_get_variable(script, *args++); decorationtable->unk_8C6[temp_s4].unk04 = evt_get_variable(script, *args++); @@ -2780,61 +2795,61 @@ ApiStatus GetStatusFlags(Evt* script, s32 isInitialCall) { actorClass = actor->actorID & ACTOR_CLASS_MASK; flags = 0; - if (debuff != STATUS_END) { - if (debuff == STATUS_STOP) { + if (debuff != 0) { + if (debuff == STATUS_KEY_STOP) { flags |= STATUS_FLAG_STOP; } - if (debuff == STATUS_FROZEN) { + if (debuff == STATUS_KEY_FROZEN) { flags |= STATUS_FLAG_FROZEN; } - if (debuff == STATUS_SLEEP) { + if (debuff == STATUS_KEY_SLEEP) { flags |= STATUS_FLAG_SLEEP; } - if (debuff == STATUS_PARALYZE) { + if (debuff == STATUS_KEY_PARALYZE) { flags |= STATUS_FLAG_PARALYZE; } - if (debuff == STATUS_DIZZY) { + if (debuff == STATUS_KEY_DIZZY) { flags |= STATUS_FLAG_DIZZY; } - if (debuff == STATUS_FEAR) { + if (debuff == STATUS_KEY_FEAR) { flags |= STATUS_FLAG_FEAR; } - if (debuff == STATUS_POISON) { + if (debuff == STATUS_KEY_POISON) { flags |= STATUS_FLAG_POISON; } - if (debuff == STATUS_SHRINK) { + if (debuff == STATUS_KEY_SHRINK) { flags |= STATUS_FLAG_SHRINK; } } switch (actor->staticStatus) { - case STATUS_END: + case 0: break; - case STATUS_STATIC: + case STATUS_KEY_STATIC: flags |= STATUS_FLAG_STATIC; break; } switch (actor->stoneStatus) { - case STATUS_END: + case 0: break; - case STATUS_STONE: + case STATUS_KEY_STONE: flags |= STATUS_FLAG_STONE; break; } switch (actor->koStatus) { - case STATUS_END: + case 0: break; - case STATUS_DAZE: + case STATUS_KEY_DAZE: flags |= STATUS_FLAG_KO; break; } switch (actor->transparentStatus) { - case STATUS_END: + case 0: break; - case STATUS_TRANSPARENT: + case STATUS_KEY_TRANSPARENT: flags |= STATUS_FLAG_TRANSPARENT; break; } @@ -2932,8 +2947,8 @@ ApiStatus RemovePartShadow(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_8026F60C(Evt* script, s32 isInitialCall) { - gBattleStatus.unk_8D = evt_get_variable(script, *script->ptrReadPos); +ApiStatus SetEndBattleFadeOutRate(Evt* script, s32 isInitialCall) { + gBattleStatus.endBattleFadeOutRate = evt_get_variable(script, *script->ptrReadPos); return ApiStatus_DONE2; } @@ -3108,7 +3123,7 @@ ApiStatus SetActorType(Evt* script, s32 isInitialCall) { actorType = evt_get_variable(script, *args++); enemy = get_actor(actorID); - if (is_actor_hp_bar_visible(enemy)) { + if (is_actor_health_bar_visible(enemy)) { load_tattle_flags(actorType); } diff --git a/src/battle/action_cmd/air_raid.c b/src/battle/action_cmd/air_raid.c index 3e7d3fc083..7bed2a36cb 100644 --- a/src/battle/action_cmd/air_raid.c +++ b/src/battle/action_cmd/air_raid.c @@ -130,12 +130,15 @@ void N(update)(void) { } if (!actionCommandStatus->isBarFilled) { - if ( // todo remove assignment from conditional - (!(battleStatus->currentButtonsDown & BUTTON_STICK_LEFT) || (actionCommandStatus->unk_5C = 1, !(battleStatus->currentButtonsDown & BUTTON_STICK_LEFT))) && - (actionCommandStatus->unk_5C != 0)) - { - actionCommandStatus->barFillLevel += (battleStatus->actionCmdDifficultyTable[actionCommandStatus->difficulty] * 850) / 100; - actionCommandStatus->unk_5C = 0; + if (battleStatus->currentButtonsDown & BUTTON_STICK_LEFT) { + actionCommandStatus->unk_5C = 1; + } + + if (!(battleStatus->currentButtonsDown & BUTTON_STICK_LEFT)) { + if (actionCommandStatus->unk_5C != 0) { + actionCommandStatus->barFillLevel += (battleStatus->actionCmdDifficultyTable[actionCommandStatus->difficulty] * 850) / 100; + actionCommandStatus->unk_5C = 0; + } } if (battleStatus->currentButtonsPressed & BUTTON_STICK_RIGHT) { diff --git a/src/battle/area/arn/actor/hyper_cleft.c b/src/battle/area/arn/actor/hyper_cleft.c index 11b75d943c..62a048e121 100644 --- a/src/battle/area/arn/actor/hyper_cleft.c +++ b/src/battle/area/arn/actor/hyper_cleft.c @@ -16,47 +16,51 @@ extern EvtScript N(nextTurn_80220D3C); extern EvtScript N(80222F1C); extern EvtScript N(80223310); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_80220B40)[] = { - ELEMENT_NORMAL, 3, - ELEMENT_FIRE, 99, + ELEMENT_NORMAL, 3, + ELEMENT_FIRE, 99, ELEMENT_END, }; s32 N(DefenseTable_80220B54)[] = { - ELEMENT_NORMAL, 1, - ELEMENT_FIRE, 99, + ELEMENT_NORMAL, 1, + ELEMENT_FIRE, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 40, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 90, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 40, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, .opacity = 255, @@ -86,21 +90,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 95, .coinReward = 2, .size = { 44, 36 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_80220C60)[] = { - STATUS_NORMAL, ANIM_Cleft_Hyper_Anim04, - STATUS_STONE, ANIM_Cleft_Hyper_Anim00, - STATUS_SLEEP, ANIM_Cleft_Hyper_Anim0C, - STATUS_POISON, ANIM_Cleft_Hyper_Anim04, - STATUS_STOP, ANIM_Cleft_Hyper_Anim00, - STATUS_STATIC, ANIM_Cleft_Hyper_Anim04, - STATUS_PARALYZE, ANIM_Cleft_Hyper_Anim00, - STATUS_DIZZY, ANIM_Cleft_Hyper_Anim0E, - STATUS_FEAR, ANIM_Cleft_Hyper_Anim0E, + STATUS_KEY_NORMAL, ANIM_Cleft_Hyper_Anim04, + STATUS_KEY_STONE, ANIM_Cleft_Hyper_Anim00, + STATUS_KEY_SLEEP, ANIM_Cleft_Hyper_Anim0C, + STATUS_KEY_POISON, ANIM_Cleft_Hyper_Anim04, + STATUS_KEY_STOP, ANIM_Cleft_Hyper_Anim00, + STATUS_KEY_STATIC, ANIM_Cleft_Hyper_Anim04, + STATUS_KEY_PARALYZE, ANIM_Cleft_Hyper_Anim00, + STATUS_KEY_DIZZY, ANIM_Cleft_Hyper_Anim0E, + STATUS_KEY_FEAR, ANIM_Cleft_Hyper_Anim0E, STATUS_END, }; @@ -144,7 +148,7 @@ EvtScript N(80220DC0) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 10) EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 6, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 45, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim04) EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) @@ -162,9 +166,9 @@ EvtScript N(80220DC0) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_END_THREAD EVT_CALL(SetActorVar, ACTOR_SELF, 0, 2) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220C60))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220C60))) EVT_CALL(EnableActorGlow, ACTOR_SELF, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -211,26 +215,26 @@ EvtScript N(80220DC0) = { EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim11) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -200, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_WAIT(15) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(SetActorPos, ACTOR_SELF, 300, 0, 0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim07) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim07) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim02) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80221CD4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4))) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -243,7 +247,7 @@ EvtScript N(80220DC0) = { EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim11) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -280,16 +284,16 @@ EvtScript N(80220DC0) = { EVT_WAIT(20) EVT_CALL(YieldTurn) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim07) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80221CD4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4))) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -350,28 +354,28 @@ EvtScript N(takeTurn_80221A58) = { }; s32 N(IdleAnimations_80221CD4)[] = { - STATUS_NORMAL, ANIM_Cleft_Hyper_Anim02, - STATUS_STONE, ANIM_Cleft_Hyper_Anim00, - STATUS_SLEEP, ANIM_Cleft_Hyper_Anim0C, - STATUS_POISON, ANIM_Cleft_Hyper_Anim02, - STATUS_STOP, ANIM_Cleft_Hyper_Anim00, - STATUS_STATIC, ANIM_Cleft_Hyper_Anim02, - STATUS_PARALYZE, ANIM_Cleft_Hyper_Anim00, - STATUS_DIZZY, ANIM_Cleft_Hyper_Anim0E, - STATUS_FEAR, ANIM_Cleft_Hyper_Anim0E, + STATUS_KEY_NORMAL, ANIM_Cleft_Hyper_Anim02, + STATUS_KEY_STONE, ANIM_Cleft_Hyper_Anim00, + STATUS_KEY_SLEEP, ANIM_Cleft_Hyper_Anim0C, + STATUS_KEY_POISON, ANIM_Cleft_Hyper_Anim02, + STATUS_KEY_STOP, ANIM_Cleft_Hyper_Anim00, + STATUS_KEY_STATIC, ANIM_Cleft_Hyper_Anim02, + STATUS_KEY_PARALYZE, ANIM_Cleft_Hyper_Anim00, + STATUS_KEY_DIZZY, ANIM_Cleft_Hyper_Anim0E, + STATUS_KEY_FEAR, ANIM_Cleft_Hyper_Anim0E, STATUS_END, }; s32 N(IdleAnimations_80221D20)[] = { - STATUS_NORMAL, ANIM_Cleft_Hyper_Anim05, - STATUS_STONE, ANIM_Cleft_Hyper_Anim01, - STATUS_SLEEP, ANIM_Cleft_Hyper_Anim0D, - STATUS_POISON, ANIM_Cleft_Hyper_Anim05, - STATUS_STOP, ANIM_Cleft_Hyper_Anim01, - STATUS_STATIC, ANIM_Cleft_Hyper_Anim05, - STATUS_PARALYZE, ANIM_Cleft_Hyper_Anim01, - STATUS_DIZZY, ANIM_Cleft_Hyper_Anim0F, - STATUS_FEAR, ANIM_Cleft_Hyper_Anim0F, + STATUS_KEY_NORMAL, ANIM_Cleft_Hyper_Anim05, + STATUS_KEY_STONE, ANIM_Cleft_Hyper_Anim01, + STATUS_KEY_SLEEP, ANIM_Cleft_Hyper_Anim0D, + STATUS_KEY_POISON, ANIM_Cleft_Hyper_Anim05, + STATUS_KEY_STOP, ANIM_Cleft_Hyper_Anim01, + STATUS_KEY_STATIC, ANIM_Cleft_Hyper_Anim05, + STATUS_KEY_PARALYZE, ANIM_Cleft_Hyper_Anim01, + STATUS_KEY_DIZZY, ANIM_Cleft_Hyper_Anim0F, + STATUS_KEY_FEAR, ANIM_Cleft_Hyper_Anim0F, STATUS_END, }; @@ -394,7 +398,7 @@ EvtScript N(idle_80221DD0) = { EvtScript N(80221DE0) = { EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim07) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0) EVT_THREAD EVT_SET(LVar0, 0) @@ -417,18 +421,18 @@ EvtScript N(80221DE0) = { EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim03) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80221D20))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_80220B54))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -7) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim03) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221D20))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_80220B54))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -7) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) EVT_CALL(N(SetSpinSmashable), 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_RETURN EVT_END }; @@ -461,7 +465,7 @@ EvtScript N(handleEvent_80222140) = { EVT_CASE_FLAG(DAMAGE_TYPE_BLAST) EVT_EXEC_WAIT(N(80221DE0)) EVT_CASE_DEFAULT - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, TRUE) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_SET_CONST(LVar0, 1) @@ -474,7 +478,7 @@ EvtScript N(handleEvent_80222140) = { EVT_SET_CONST(LVar2, -1) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_END_IF - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, FALSE) EVT_END_SWITCH EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -527,9 +531,9 @@ EvtScript N(handleEvent_80222140) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80221CD4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4))) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) @@ -546,9 +550,9 @@ EvtScript N(handleEvent_80222140) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80221CD4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4))) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Cleft_Hyper_Anim08) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) @@ -562,9 +566,9 @@ EvtScript N(handleEvent_80222140) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80221CD4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4))) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) @@ -576,8 +580,8 @@ EvtScript N(handleEvent_80222140) = { EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CASE_EQ(EVENT_SPIKE_TAUNT) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim18) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim18) EVT_END_IF EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -669,20 +673,20 @@ EvtScript N(handleEvent_80222140) = { EvtScript N(80222F1C) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim03) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim03) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim05) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim05) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_GT(LVar0, 0) EVT_SUB(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, LVar0) EVT_ELSE EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim03) EVT_THREAD EVT_WAIT(3) EVT_LOOP(5) @@ -704,12 +708,12 @@ EvtScript N(80222F1C) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim02) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80221CD4))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_80220B40))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 22) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -10) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80221CD4))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_80220B40))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 22) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -10) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) EVT_WAIT(1) EVT_CALL(N(SetSpinSmashable), 1) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) @@ -737,15 +741,15 @@ EvtScript N(80223310) = { EVT_WAIT(5) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim10) EVT_WAIT(10) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim11) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, -5) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim00) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20D1) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) @@ -760,7 +764,7 @@ EvtScript N(80223310) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_THREAD EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim11) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 100) @@ -768,29 +772,29 @@ EvtScript N(80223310) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 45) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim08) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 45) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim08) EVT_WAIT(15) EVT_WAIT(8) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim07) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim07) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim02) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim11) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -800,7 +804,7 @@ EvtScript N(80223310) = { EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -812,14 +816,14 @@ EvtScript N(80223310) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.4)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02) EVT_WAIT(5) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim07) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Hyper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Hyper_Anim02) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/arn/actor/hyper_paragoomba.c b/src/battle/area/arn/actor/hyper_paragoomba.c index 05e6f45875..352d865079 100644 --- a/src/battle/area/arn/actor/hyper_paragoomba.c +++ b/src/battle/area/arn/actor/hyper_paragoomba.c @@ -26,70 +26,77 @@ extern EvtScript N(takeTurn_8021EE34); extern EvtScript N(takeTurn_8021FE6C); extern EvtScript N(nextTurn_8021E194); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, +}; + s32 N(DefenseTable_8021B2F0)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_8021B2FC)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8021B308)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 100, - STATUS_FROZEN, 0, - STATUS_DIZZY, 80, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(StatusTable_8021B3B4)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 80, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 80, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8021B460)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, .opacity = 255, @@ -101,7 +108,7 @@ ActorPartBlueprint N(PartsTable_8021B460)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -113,7 +120,7 @@ ActorPartBlueprint N(PartsTable_8021B460)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { -16, 24 }, .opacity = 255, @@ -125,7 +132,7 @@ ActorPartBlueprint N(PartsTable_8021B460)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { -16, 24 }, .opacity = 255, @@ -142,8 +149,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_HYPER_PARAGOOMBA, .level = 12, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_8021B460)), - .partsData = N(PartsTable_8021B460), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021B564), .statusTable = N(StatusTable_8021B3B4), .escapeChance = 50, @@ -155,21 +162,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 1, .size = { 36, 26 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021B518)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Hyper_Miss, - STATUS_STONE, ANIM_Paragoomba_Hyper_Still, - STATUS_SLEEP, ANIM_Paragoomba_Hyper_Sleep, - STATUS_POISON, ANIM_Paragoomba_Hyper_Miss, - STATUS_STOP, ANIM_Paragoomba_Hyper_Still, - STATUS_STATIC, ANIM_Paragoomba_Hyper_Miss, - STATUS_PARALYZE, ANIM_Paragoomba_Hyper_Still, - STATUS_DIZZY, ANIM_Paragoomba_Hyper_Dizzy, - STATUS_FEAR, ANIM_Paragoomba_Hyper_Dizzy, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Hyper_Miss, + STATUS_KEY_STONE, ANIM_Paragoomba_Hyper_Still, + STATUS_KEY_SLEEP, ANIM_Paragoomba_Hyper_Sleep, + STATUS_KEY_POISON, ANIM_Paragoomba_Hyper_Miss, + STATUS_KEY_STOP, ANIM_Paragoomba_Hyper_Still, + STATUS_KEY_STATIC, ANIM_Paragoomba_Hyper_Miss, + STATUS_KEY_PARALYZE, ANIM_Paragoomba_Hyper_Still, + STATUS_KEY_DIZZY, ANIM_Paragoomba_Hyper_Dizzy, + STATUS_KEY_FEAR, ANIM_Paragoomba_Hyper_Dizzy, STATUS_END, }; @@ -211,7 +218,7 @@ EvtScript N(8021B678) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 10) EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 6, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 45, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Miss) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Miss) EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) @@ -220,9 +227,9 @@ EvtScript N(8021B678) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, FALSE, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021B518))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021B518))) EVT_CALL(EnableActorGlow, ACTOR_SELF, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -285,7 +292,7 @@ EvtScript N(8021B678) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_THREAD EVT_SET(LVar0, 0) EVT_LOOP(30) @@ -301,16 +308,16 @@ EvtScript N(8021B678) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(AddGoalPos, ACTOR_SELF, 30, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021C594))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021C594))) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -352,13 +359,13 @@ EvtScript N(8021B678) = { EVT_WAIT(20) EVT_CALL(YieldTurn) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Run) EVT_EXEC_WAIT(N(8021C94C)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021C594))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021C594))) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) @@ -412,38 +419,38 @@ EvtScript N(takeTurn_8021C36C) = { }; s32 N(IdleAnimations_8021C594)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Hyper_Idle, - STATUS_STONE, ANIM_Paragoomba_Hyper_Still, - STATUS_SLEEP, ANIM_Paragoomba_Hyper_Sleep, - STATUS_POISON, ANIM_Paragoomba_Hyper_Idle, - STATUS_STOP, ANIM_Paragoomba_Hyper_Still, - STATUS_STATIC, ANIM_Paragoomba_Hyper_Idle, - STATUS_PARALYZE, ANIM_Paragoomba_Hyper_Still, - STATUS_DIZZY, ANIM_Paragoomba_Hyper_Dizzy, - STATUS_FEAR, ANIM_Paragoomba_Hyper_Dizzy, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Hyper_Idle, + STATUS_KEY_STONE, ANIM_Paragoomba_Hyper_Still, + STATUS_KEY_SLEEP, ANIM_Paragoomba_Hyper_Sleep, + STATUS_KEY_POISON, ANIM_Paragoomba_Hyper_Idle, + STATUS_KEY_STOP, ANIM_Paragoomba_Hyper_Still, + STATUS_KEY_STATIC, ANIM_Paragoomba_Hyper_Idle, + STATUS_KEY_PARALYZE, ANIM_Paragoomba_Hyper_Still, + STATUS_KEY_DIZZY, ANIM_Paragoomba_Hyper_Dizzy, + STATUS_KEY_FEAR, ANIM_Paragoomba_Hyper_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021C5E0)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Hyper_Run, - STATUS_STONE, ANIM_Paragoomba_Hyper_Still, - STATUS_SLEEP, ANIM_Paragoomba_Hyper_Sleep, - STATUS_POISON, ANIM_Paragoomba_Hyper_Idle, - STATUS_STOP, ANIM_Paragoomba_Hyper_Still, - STATUS_STATIC, ANIM_Paragoomba_Hyper_Run, - STATUS_PARALYZE, ANIM_Paragoomba_Hyper_Still, - STATUS_DIZZY, ANIM_Paragoomba_Hyper_Dizzy, - STATUS_FEAR, ANIM_Paragoomba_Hyper_Dizzy, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Hyper_Run, + STATUS_KEY_STONE, ANIM_Paragoomba_Hyper_Still, + STATUS_KEY_SLEEP, ANIM_Paragoomba_Hyper_Sleep, + STATUS_KEY_POISON, ANIM_Paragoomba_Hyper_Idle, + STATUS_KEY_STOP, ANIM_Paragoomba_Hyper_Still, + STATUS_KEY_STATIC, ANIM_Paragoomba_Hyper_Run, + STATUS_KEY_PARALYZE, ANIM_Paragoomba_Hyper_Still, + STATUS_KEY_DIZZY, ANIM_Paragoomba_Hyper_Dizzy, + STATUS_KEY_FEAR, ANIM_Paragoomba_Hyper_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021C62C)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Hyper_LWingStill, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Hyper_LWingStill, STATUS_END, }; s32 N(IdleAnimations_8021C638)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Hyper_RWingStill, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Hyper_RWingStill, STATUS_END, }; @@ -462,7 +469,7 @@ EvtScript N(idle_8021C690) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -471,13 +478,13 @@ EvtScript N(idle_8021C690) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021C5E0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021C5E0))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -488,11 +495,11 @@ EvtScript N(idle_8021C690) = { EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021C594))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021C594))) EVT_LOOP(40) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -508,7 +515,7 @@ EvtScript N(8021C94C) = { EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Idle) EVT_RETURN EVT_END }; @@ -560,24 +567,24 @@ EvtScript N(handleEvent_8021C9C4) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021C594))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021C594))) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_Paragoomba_Hyper_Electrocute) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_Paragoomba_Hyper_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Dizzy) EVT_EXEC_WAIT(N(8021C94C)) EVT_CASE_EQ(EVENT_SHOCK_DEATH) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021C594))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021C594))) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_Paragoomba_Hyper_Electrocute) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) @@ -591,9 +598,9 @@ EvtScript N(handleEvent_8021C9C4) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021C594))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021C594))) EVT_END_IF EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_Paragoomba_Hyper_Idle) @@ -618,7 +625,7 @@ EvtScript N(handleEvent_8021C9C4) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Run) EVT_EXEC_WAIT(N(8021C94C)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) @@ -657,7 +664,7 @@ EvtScript N(takeTurn_8021D1DC) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -676,7 +683,7 @@ EvtScript N(takeTurn_8021D1DC) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Dive) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -687,7 +694,7 @@ EvtScript N(takeTurn_8021D1DC) = { EVT_SET(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_QUADRATIC_OUT) EVT_THREAD EVT_LOOP(4) @@ -695,23 +702,23 @@ EvtScript N(takeTurn_8021D1DC) = { EVT_WAIT(4) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Miss) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 2, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Miss) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_2, EVT_FLOAT(3.0)) EVT_WAIT(10) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(10) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 2, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0)) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Run) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(8021C94C)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -726,7 +733,7 @@ EvtScript N(takeTurn_8021D1DC) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Dive) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -734,7 +741,7 @@ EvtScript N(takeTurn_8021D1DC) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_END_SWITCH EVT_WAIT(2) @@ -746,12 +753,12 @@ EvtScript N(takeTurn_8021D1DC) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(5) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Hyper_Run) EVT_EXEC_WAIT(N(8021C94C)) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -764,21 +771,21 @@ EvtScript N(takeTurn_8021D1DC) = { #include "common/StartRumbleWithParams.inc.c" EvtScript N(8021D9F4) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, 4, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(HideHealthBar, ACTOR_SELF) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, -9, 7, -2) - EVT_CALL(SetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 4, 11, 7, -2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_3, -9, 7, -2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_4, 11, 7, -2) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_BurnStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_BurnStill) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Hurt) EVT_END_IF EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_301, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -793,7 +800,7 @@ EvtScript N(8021D9F4) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Hurt) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -804,21 +811,21 @@ EvtScript N(8021D9F4) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(10) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(GetIndexFromHome, ACTOR_SELF, LVar0) EVT_MOD(LVar0, 4) EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_8021B308))) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_HYPER_GOOMBA) @@ -831,15 +838,15 @@ EvtScript N(8021D9F4) = { }; s32 N(IdleAnimations_8021DF7C)[] = { - STATUS_NORMAL, ANIM_Goomba_Hyper_Sleep, - STATUS_STONE, ANIM_Goomba_Hyper_Still, - STATUS_SLEEP, ANIM_Goomba_Hyper_Sleep, - STATUS_POISON, ANIM_Goomba_Hyper_Sleep, - STATUS_STOP, ANIM_Goomba_Hyper_Still, - STATUS_STATIC, ANIM_Goomba_Hyper_Sleep, - STATUS_PARALYZE, ANIM_Goomba_Hyper_Still, - STATUS_DIZZY, ANIM_Goomba_Hyper_Dizzy, - STATUS_FEAR, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_STONE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_STOP, ANIM_Goomba_Hyper_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_PARALYZE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Hyper_Dizzy, STATUS_END, }; @@ -865,8 +872,8 @@ EvtScript N(8021E058) = { EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) EVT_CASE_EQ(1) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_END_SWITCH EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_CALL(SetActorVar, ACTOR_SELF, 1, LVar0) @@ -902,7 +909,7 @@ EvtScript N(8021E218) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 10) EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 6, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 45, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) @@ -916,10 +923,10 @@ EvtScript N(8021E218) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(0.5)) EVT_END_THREAD EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021DF7C))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021DF7C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(EnableActorGlow, ACTOR_SELF, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_WAIT(2) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -972,18 +979,18 @@ EvtScript N(8021E218) = { EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_WAIT(20) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(YieldTurn) EVT_CALL(SetActorPos, ACTOR_SELF, 300, 0, 0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021F05C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021F05C))) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -1028,17 +1035,17 @@ EvtScript N(8021E218) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_WAIT(10) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021F05C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021F05C))) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -1092,28 +1099,28 @@ EvtScript N(takeTurn_8021EE34) = { }; s32 N(IdleAnimations_8021F05C)[] = { - STATUS_NORMAL, ANIM_Goomba_Hyper_Idle, - STATUS_STONE, ANIM_Goomba_Hyper_Still, - STATUS_SLEEP, ANIM_Goomba_Hyper_Sleep, - STATUS_POISON, ANIM_Goomba_Hyper_Idle, - STATUS_STOP, ANIM_Goomba_Hyper_Still, - STATUS_STATIC, ANIM_Goomba_Hyper_Idle, - STATUS_PARALYZE, ANIM_Goomba_Hyper_Still, - STATUS_DIZZY, ANIM_Goomba_Hyper_Dizzy, - STATUS_FEAR, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Hyper_Idle, + STATUS_KEY_STONE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Hyper_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Hyper_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Hyper_Idle, + STATUS_KEY_PARALYZE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Hyper_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021F0A8)[] = { - STATUS_NORMAL, ANIM_Goomba_Hyper_Run, - STATUS_STONE, ANIM_Goomba_Hyper_Still, - STATUS_SLEEP, ANIM_Goomba_Hyper_Sleep, - STATUS_POISON, ANIM_Goomba_Hyper_Idle, - STATUS_STOP, ANIM_Goomba_Hyper_Still, - STATUS_STATIC, ANIM_Goomba_Hyper_Run, - STATUS_PARALYZE, ANIM_Goomba_Hyper_Still, - STATUS_DIZZY, ANIM_Goomba_Hyper_Dizzy, - STATUS_FEAR, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Hyper_Run, + STATUS_KEY_STONE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Hyper_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Hyper_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Hyper_Run, + STATUS_KEY_PARALYZE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Hyper_Dizzy, STATUS_END, }; @@ -1132,7 +1139,7 @@ EvtScript N(idle_8021F140) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -1141,14 +1148,14 @@ EvtScript N(idle_8021F140) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021F0A8))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021F0A8))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021F05C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021F05C))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -1157,14 +1164,14 @@ EvtScript N(idle_8021F140) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021F0A8))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021F0A8))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021F05C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021F05C))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -1217,9 +1224,9 @@ EvtScript N(handleEvent_8021F41C) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021F05C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021F05C))) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Goomba_Hyper_Electrocute) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) @@ -1227,23 +1234,23 @@ EvtScript N(handleEvent_8021F41C) = { EVT_SET_CONST(LVar1, ANIM_Goomba_Hyper_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(EVENT_SHOCK_DEATH) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021F05C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021F05C))) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Goomba_Hyper_Electrocute) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) @@ -1257,9 +1264,9 @@ EvtScript N(handleEvent_8021F41C) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021F05C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021F05C))) EVT_END_IF EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Goomba_Hyper_Idle) @@ -1281,12 +1288,12 @@ EvtScript N(handleEvent_8021F41C) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 1) @@ -1309,7 +1316,7 @@ EvtScript N(handleEvent_8021F41C) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -1325,18 +1332,18 @@ EvtScript N(takeTurn_8021FE6C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -1364,10 +1371,10 @@ EvtScript N(takeTurn_8021FE6C) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -1376,14 +1383,14 @@ EvtScript N(takeTurn_8021FE6C) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -1398,26 +1405,26 @@ EvtScript N(takeTurn_8021FE6C) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -1440,10 +1447,10 @@ EvtScript N(takeTurn_8021FE6C) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Tense) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Tense) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -1460,7 +1467,7 @@ EvtScript N(takeTurn_8021FE6C) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -1473,15 +1480,15 @@ EvtScript N(takeTurn_8021FE6C) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/arn/actor/hypergoomba.c b/src/battle/area/arn/actor/hypergoomba.c index a488fc9721..c69a36ce6e 100644 --- a/src/battle/area/arn/actor/hypergoomba.c +++ b/src/battle/area/arn/actor/hypergoomba.c @@ -14,40 +14,44 @@ extern EvtScript N(takeTurn_802195F0); extern EvtScript N(nextTurn_80218950); extern EvtScript N(takeTurn_8021A628); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_80218770)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8021877C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 100, - STATUS_FROZEN, 0, - STATUS_DIZZY, 80, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80218828)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, .opacity = 255, @@ -64,8 +68,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_HYPER_GOOMBA, .level = 12, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_80218828)), - .partsData = N(PartsTable_80218828), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_802188C0), .statusTable = N(StatusTable_8021877C), .escapeChance = 60, @@ -77,21 +81,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 24, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_80218874)[] = { - STATUS_NORMAL, ANIM_Goomba_Hyper_Sleep, - STATUS_STONE, ANIM_Goomba_Hyper_Still, - STATUS_SLEEP, ANIM_Goomba_Hyper_Sleep, - STATUS_POISON, ANIM_Goomba_Hyper_Sleep, - STATUS_STOP, ANIM_Goomba_Hyper_Still, - STATUS_STATIC, ANIM_Goomba_Hyper_Sleep, - STATUS_PARALYZE, ANIM_Goomba_Hyper_Still, - STATUS_DIZZY, ANIM_Goomba_Hyper_Dizzy, - STATUS_FEAR, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_STONE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_STOP, ANIM_Goomba_Hyper_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_PARALYZE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Hyper_Dizzy, STATUS_END, }; @@ -136,7 +140,7 @@ EvtScript N(802189D4) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 10) EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 6, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 45, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) @@ -150,10 +154,10 @@ EvtScript N(802189D4) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(0.5)) EVT_END_THREAD EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80218874))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80218874))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(EnableActorGlow, ACTOR_SELF, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_WAIT(2) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -206,18 +210,18 @@ EvtScript N(802189D4) = { EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_WAIT(20) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(YieldTurn) EVT_CALL(SetActorPos, ACTOR_SELF, 300, 0, 0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219818))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219818))) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -262,17 +266,17 @@ EvtScript N(802189D4) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_WAIT(10) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219818))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219818))) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -326,28 +330,28 @@ EvtScript N(takeTurn_802195F0) = { }; s32 N(IdleAnimations_80219818)[] = { - STATUS_NORMAL, ANIM_Goomba_Hyper_Idle, - STATUS_STONE, ANIM_Goomba_Hyper_Still, - STATUS_SLEEP, ANIM_Goomba_Hyper_Sleep, - STATUS_POISON, ANIM_Goomba_Hyper_Idle, - STATUS_STOP, ANIM_Goomba_Hyper_Still, - STATUS_STATIC, ANIM_Goomba_Hyper_Idle, - STATUS_PARALYZE, ANIM_Goomba_Hyper_Still, - STATUS_DIZZY, ANIM_Goomba_Hyper_Dizzy, - STATUS_FEAR, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Hyper_Idle, + STATUS_KEY_STONE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Hyper_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Hyper_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Hyper_Idle, + STATUS_KEY_PARALYZE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Hyper_Dizzy, STATUS_END, }; s32 N(IdleAnimations_80219864)[] = { - STATUS_NORMAL, ANIM_Goomba_Hyper_Run, - STATUS_STONE, ANIM_Goomba_Hyper_Still, - STATUS_SLEEP, ANIM_Goomba_Hyper_Sleep, - STATUS_POISON, ANIM_Goomba_Hyper_Idle, - STATUS_STOP, ANIM_Goomba_Hyper_Still, - STATUS_STATIC, ANIM_Goomba_Hyper_Run, - STATUS_PARALYZE, ANIM_Goomba_Hyper_Still, - STATUS_DIZZY, ANIM_Goomba_Hyper_Dizzy, - STATUS_FEAR, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Hyper_Run, + STATUS_KEY_STONE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Hyper_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Hyper_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Hyper_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Hyper_Run, + STATUS_KEY_PARALYZE, ANIM_Goomba_Hyper_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Hyper_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Hyper_Dizzy, STATUS_END, }; @@ -366,7 +370,7 @@ EvtScript N(idle_802198FC) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -375,14 +379,14 @@ EvtScript N(idle_802198FC) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219864))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219864))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219818))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219818))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -391,14 +395,14 @@ EvtScript N(idle_802198FC) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219864))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219864))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219818))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219818))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -451,9 +455,9 @@ EvtScript N(handleEvent_80219BD8) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219818))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219818))) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Goomba_Hyper_Electrocute) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) @@ -461,23 +465,23 @@ EvtScript N(handleEvent_80219BD8) = { EVT_SET_CONST(LVar1, ANIM_Goomba_Hyper_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(EVENT_SHOCK_DEATH) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219818))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219818))) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Goomba_Hyper_Electrocute) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) @@ -491,9 +495,9 @@ EvtScript N(handleEvent_80219BD8) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219818))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219818))) EVT_END_IF EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Goomba_Hyper_Idle) @@ -515,12 +519,12 @@ EvtScript N(handleEvent_80219BD8) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 1) @@ -543,7 +547,7 @@ EvtScript N(handleEvent_80219BD8) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -559,18 +563,18 @@ EvtScript N(takeTurn_8021A628) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -598,10 +602,10 @@ EvtScript N(takeTurn_8021A628) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -610,14 +614,14 @@ EvtScript N(takeTurn_8021A628) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -632,26 +636,26 @@ EvtScript N(takeTurn_8021A628) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -674,10 +678,10 @@ EvtScript N(takeTurn_8021A628) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Tense) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Tense) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -694,7 +698,7 @@ EvtScript N(takeTurn_8021A628) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -707,15 +711,15 @@ EvtScript N(takeTurn_8021A628) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hyper_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hyper_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/arn/actor/tubba_blubba.c b/src/battle/area/arn/actor/tubba_blubba.c index 71523e6530..4e30b1a634 100644 --- a/src/battle/area/arn/actor/tubba_blubba.c +++ b/src/battle/area/arn/actor/tubba_blubba.c @@ -15,54 +15,58 @@ extern EvtScript N(80226558); extern EvtScript N(80226B88); extern EvtScript N(80227878); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_80225C40)[] = { - STATUS_NORMAL, ANIM_BattleTubba_Anim01, - STATUS_STONE, ANIM_BattleTubba_Anim00, - STATUS_SLEEP, ANIM_BattleTubba_Anim18, - STATUS_POISON, ANIM_BattleTubba_Anim01, - STATUS_STOP, ANIM_BattleTubba_Anim00, - STATUS_STATIC, ANIM_BattleTubba_Anim00, - STATUS_PARALYZE, ANIM_BattleTubba_Anim00, - STATUS_PARALYZE, ANIM_BattleTubba_Anim00, - STATUS_DIZZY, ANIM_BattleTubba_Anim18, - STATUS_FEAR, ANIM_BattleTubba_Anim00, + STATUS_KEY_NORMAL, ANIM_BattleTubba_Anim01, + STATUS_KEY_STONE, ANIM_BattleTubba_Anim00, + STATUS_KEY_SLEEP, ANIM_BattleTubba_Anim18, + STATUS_KEY_POISON, ANIM_BattleTubba_Anim01, + STATUS_KEY_STOP, ANIM_BattleTubba_Anim00, + STATUS_KEY_STATIC, ANIM_BattleTubba_Anim00, + STATUS_KEY_PARALYZE, ANIM_BattleTubba_Anim00, + STATUS_KEY_PARALYZE, ANIM_BattleTubba_Anim00, + STATUS_KEY_DIZZY, ANIM_BattleTubba_Anim18, + STATUS_KEY_FEAR, ANIM_BattleTubba_Anim00, STATUS_END, }; s32 N(DefenseTable_80225C94)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80225CA0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 80, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 80, - STATUS_SHRINK, 90, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 80, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80225D4C)[] = { +ActorPartBlueprint N(ActorParts_80225D4C)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -15, 75 }, .opacity = 255, @@ -79,8 +83,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE, .level = 70, .maxHP = 10, - .partCount = ARRAY_COUNT( N(PartsTable_80225D4C)), - .partsData = N(PartsTable_80225D4C), + .partCount = ARRAY_COUNT( N(ActorParts_80225D4C)), + .partsData = N(ActorParts_80225D4C), .initScript = &N(init_80225D98), .statusTable = N(StatusTable_80225CA0), .escapeChance = 0, @@ -92,9 +96,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 110, 100 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -33, 78 }, - .statusMessageOffset = { 10, 75 }, + .statusTextOffset = { 10, 75 }, }; EvtScript N(init_80225D98) = { @@ -118,7 +122,7 @@ EvtScript N(80225E08) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_GOTO(0) EVT_END_IF - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_EQ(LVar0, ANIM_BattleTubba_Anim06) EVT_GOTO(1) EVT_END_IF @@ -155,16 +159,16 @@ EvtScript N(80225F8C) = { EvtScript N(80225FD4) = { EVT_SET(LVar1, 7012353) EVT_EXEC_WAIT(N(80225F8C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET(LVar1, 7012358) EVT_EXEC_WAIT(N(80225F8C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_SET(LVar1, 7012353) EVT_EXEC_WAIT(N(80225F8C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END @@ -269,7 +273,7 @@ EvtScript N(80226558) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_SET(LVar1, 7012358) EVT_EXEC_WAIT(N(80225F8C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) @@ -279,12 +283,12 @@ EvtScript N(80226558) = { EVT_END_IF EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim15) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35E) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim16) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim17) EVT_WAIT(3) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -307,7 +311,7 @@ EvtScript N(80226558) = { EVT_WAIT(30) EVT_SET(LVar1, 7012353) EVT_EXEC_WAIT(N(80225F8C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -340,7 +344,7 @@ EvtScript N(80226558) = { EVT_WAIT(30) EVT_SET(LVar1, 7012353) EVT_EXEC_WAIT(N(80225F8C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(YieldTurn) @@ -359,14 +363,14 @@ EvtScript N(80226B88) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_SET(LVar1, 7012358) EVT_EXEC_WAIT(N(80225F8C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 70, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0A) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0B) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_3E7, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -375,7 +379,7 @@ EvtScript N(80226B88) = { EVT_SET(LVarA, LVar0) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0C) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -387,7 +391,7 @@ EvtScript N(80226B88) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 23, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EA) EVT_PLAY_EFFECT(EFFECT_SHOCKWAVE, 0, LVar0, 0, LVar2, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0D) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) @@ -414,7 +418,7 @@ EvtScript N(80226B88) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0E) EVT_WAIT(4) EVT_EXEC_WAIT(N(80225FD4)) EVT_RETURN @@ -422,7 +426,7 @@ EvtScript N(80226B88) = { EVT_CASE_DEFAULT EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0C) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) @@ -462,7 +466,7 @@ EvtScript N(80226B88) = { EVT_LABEL(0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SHOCKWAVE, 0, LVar0, 0, LVar2, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0D) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) @@ -499,7 +503,7 @@ EvtScript N(80226B88) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0E) EVT_END_THREAD EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) @@ -522,8 +526,8 @@ EvtScript N(80226B88) = { }; EvtScript N(80227878) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim14) - EVT_CALL(ActorSpeak, MSG_CH3_00C9, ACTOR_SELF, 1, ANIM_BattleTubba_Anim14, ANIM_BattleTubba_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim14) + EVT_CALL(ActorSpeak, MSG_CH3_00C9, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim14, ANIM_BattleTubba_Anim14) EVT_SET(LVar0, 1) EVT_SET(LVar1, 7012372) EVT_EXEC_WAIT(EVS_Enemy_Death) diff --git a/src/battle/area/arn/actor/tubbas_heart.c b/src/battle/area/arn/actor/tubbas_heart.c index 86e11835b3..da205531a2 100644 --- a/src/battle/area/arn/actor/tubbas_heart.c +++ b/src/battle/area/arn/actor/tubbas_heart.c @@ -17,70 +17,75 @@ extern EvtScript N(80224B3C); extern EvtScript N(80225258); extern EvtScript N(802255D8); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations_80223BC0)[] = { - STATUS_NORMAL, ANIM_TubbasHeart_Anim01, - STATUS_STONE, ANIM_TubbasHeart_Anim00, - STATUS_SLEEP, ANIM_TubbasHeart_Anim04, - STATUS_POISON, ANIM_TubbasHeart_Anim01, - STATUS_STOP, ANIM_TubbasHeart_Anim00, - STATUS_STATIC, ANIM_TubbasHeart_Anim00, - STATUS_PARALYZE, ANIM_TubbasHeart_Anim00, - STATUS_PARALYZE, ANIM_TubbasHeart_Anim00, - STATUS_DIZZY, ANIM_TubbasHeart_Anim0D, - STATUS_DIZZY, ANIM_TubbasHeart_Anim0D, - STATUS_FEAR, ANIM_TubbasHeart_Anim0A, + STATUS_KEY_NORMAL, ANIM_TubbasHeart_Anim01, + STATUS_KEY_STONE, ANIM_TubbasHeart_Anim00, + STATUS_KEY_SLEEP, ANIM_TubbasHeart_Anim04, + STATUS_KEY_POISON, ANIM_TubbasHeart_Anim01, + STATUS_KEY_STOP, ANIM_TubbasHeart_Anim00, + STATUS_KEY_STATIC, ANIM_TubbasHeart_Anim00, + STATUS_KEY_PARALYZE, ANIM_TubbasHeart_Anim00, + STATUS_KEY_PARALYZE, ANIM_TubbasHeart_Anim00, + STATUS_KEY_DIZZY, ANIM_TubbasHeart_Anim0D, + STATUS_KEY_DIZZY, ANIM_TubbasHeart_Anim0D, + STATUS_KEY_FEAR, ANIM_TubbasHeart_Anim0A, STATUS_END, }; s32 N(IdleAnimations_80223C1C)[] = { - STATUS_NORMAL, ANIM_TubbasHeart_Anim0B, - STATUS_STONE, ANIM_TubbasHeart_Anim00, - STATUS_SLEEP, ANIM_TubbasHeart_Anim04, - STATUS_POISON, ANIM_TubbasHeart_Anim0B, - STATUS_STOP, ANIM_TubbasHeart_Anim00, - STATUS_STATIC, ANIM_TubbasHeart_Anim00, - STATUS_PARALYZE, ANIM_TubbasHeart_Anim00, - STATUS_PARALYZE, ANIM_TubbasHeart_Anim00, - STATUS_DIZZY, ANIM_TubbasHeart_Anim0D, - STATUS_DIZZY, ANIM_TubbasHeart_Anim0D, - STATUS_FEAR, ANIM_TubbasHeart_Anim0A, + STATUS_KEY_NORMAL, ANIM_TubbasHeart_Anim0B, + STATUS_KEY_STONE, ANIM_TubbasHeart_Anim00, + STATUS_KEY_SLEEP, ANIM_TubbasHeart_Anim04, + STATUS_KEY_POISON, ANIM_TubbasHeart_Anim0B, + STATUS_KEY_STOP, ANIM_TubbasHeart_Anim00, + STATUS_KEY_STATIC, ANIM_TubbasHeart_Anim00, + STATUS_KEY_PARALYZE, ANIM_TubbasHeart_Anim00, + STATUS_KEY_PARALYZE, ANIM_TubbasHeart_Anim00, + STATUS_KEY_DIZZY, ANIM_TubbasHeart_Anim0D, + STATUS_KEY_DIZZY, ANIM_TubbasHeart_Anim0D, + STATUS_KEY_FEAR, ANIM_TubbasHeart_Anim0A, STATUS_END, }; s32 N(DefenseTable_80223C78)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80223C84)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 90, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80223D30)[] = { +ActorPartBlueprint N(ActorParts_80223D30)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -92,7 +97,7 @@ ActorPartBlueprint N(PartsTable_80223D30)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_2, .posOffset = { 0, 54, 0 }, .targetOffset = { 0, -30 }, .opacity = 255, @@ -109,8 +114,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_TUBBA_HEART, .level = 0, .maxHP = 50, - .partCount = ARRAY_COUNT( N(PartsTable_80223D30)), - .partsData = N(PartsTable_80223D30), + .partCount = ARRAY_COUNT( N(ActorParts_80223D30)), + .partsData = N(ActorParts_80223D30), .initScript = &N(init_80223DA0), .statusTable = N(StatusTable_80223C84), .escapeChance = 0, @@ -122,9 +127,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 5, 0 }, + .healthBarOffset = { 5, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init_80223DA0) = { @@ -137,7 +142,7 @@ EvtScript N(init_80223DA0) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_802245C8))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80223E98))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80224038))) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, 2, ACTOR_PART_TARGET_FLAG_2, TRUE) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_TARGET_FLAG_2, TRUE) EVT_RETURN EVT_END }; @@ -224,7 +229,7 @@ EvtScript N(handleEvent_80224038) = { EVT_EXEC_WAIT(N(80223FD8)) EVT_SET_CONST(LVar0, 1) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim03) EVT_EXEC_WAIT(N(802244DC)) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) @@ -250,7 +255,7 @@ EvtScript N(handleEvent_80224038) = { EVT_CASE_EQ(EVENT_SPIKE_CONTACT) EVT_CASE_EQ(EVENT_BURN_CONTACT) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim03) EVT_EXEC_WAIT(N(802244DC)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) @@ -275,12 +280,12 @@ EvtScript N(80224414) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(40) - EVT_CALL(ActorSpeak, MSG_CH3_00C6, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim0D, ANIM_TubbasHeart_Anim0D) + EVT_CALL(ActorSpeak, MSG_CH3_00C6, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim0D, ANIM_TubbasHeart_Anim0D) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 25) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, TRUE) - EVT_CALL(func_8026F60C, 20) + EVT_CALL(SetEndBattleFadeOutRate, 20) EVT_RETURN EVT_END }; @@ -295,7 +300,7 @@ EvtScript N(802244DC) = { EVT_EXEC_WAIT(EVS_Enemy_HopToPos) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(JumpToGoal, ACTOR_SELF, 12, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim01) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END @@ -310,14 +315,14 @@ EvtScript N(takeTurn_802245C8) = { EVT_IF_NOT_FLAG(LVar0, 0x00000001) EVT_CALL(GetCurrentPartnerID, LVar0) EVT_IF_EQ(LVar0, 9) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_BITWISE_OR_CONST(LVar0, 0x3) EVT_CALL(SetActorVar, ACTOR_SELF, 2, LVar0) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(40) - EVT_CALL(ActorSpeak, MSG_CH3_00C3, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim0B, ANIM_TubbasHeart_Anim01) + EVT_CALL(ActorSpeak, MSG_CH3_00C3, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim0B, ANIM_TubbasHeart_Anim01) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_PARTNER) EVT_CALL(MoveBattleCamOver, 25) @@ -334,10 +339,10 @@ EvtScript N(takeTurn_802245C8) = { EVT_IF_EQ(LVar0, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) EVT_IF_NE(LVar0, 0) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_END_IF EVT_ELSE - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_END_IF EVT_END_IF EVT_END_IF @@ -352,13 +357,13 @@ EvtScript N(takeTurn_802245C8) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(40) - EVT_CALL(ActorSpeak, MSG_CH3_00C5, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim0B, ANIM_TubbasHeart_Anim01) + EVT_CALL(ActorSpeak, MSG_CH3_00C5, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim0B, ANIM_TubbasHeart_Anim01) EVT_END_IF EVT_EXEC_WAIT(N(80225258)) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) EVT_IF_FLAG(LVar0, 0x00000002) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_END_IF EVT_CASE_EQ(1) EVT_EXEC_WAIT(N(802255D8)) @@ -390,7 +395,7 @@ EvtScript N(80224B3C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim03) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 45) @@ -404,10 +409,10 @@ EvtScript N(80224B3C) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim01) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim16) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim15) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -434,7 +439,7 @@ EvtScript N(80224B3C) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim03) EVT_EXEC_WAIT(N(802244DC)) EVT_RETURN EVT_END_CASE_GROUP @@ -452,7 +457,7 @@ EvtScript N(80224B3C) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim01) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) @@ -475,7 +480,7 @@ EvtScript N(80224B3C) = { EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim03) EVT_EXEC_WAIT(N(802244DC)) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -490,7 +495,7 @@ EvtScript N(80225258) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim0B) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar4) EVT_IF_NOT_FLAG(LVar4, STATUS_FLAG_SHRINK) @@ -523,7 +528,7 @@ EvtScript N(80225258) = { EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 3, LVar0, LVar1, LVar2, LVar3, 0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 4, LVarF) EVT_CALL(EnableActorGlow, ACTOR_SELF, TRUE) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80223C1C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80223C1C))) EVT_RETURN EVT_END }; @@ -537,7 +542,7 @@ EvtScript N(802255D8) = { EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) @@ -549,7 +554,7 @@ EvtScript N(802255D8) = { EVT_WAIT(60) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TubbasHeart_Anim0B) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) @@ -564,7 +569,7 @@ EvtScript N(802255D8) = { EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar0) EVT_CALL(RemoveEffect, LVar0) EVT_CALL(SetActorVar, ACTOR_SELF, 4, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80223BC0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80223BC0))) EVT_END_IF EVT_CALL(PlaySound, SOUND_20F9) EVT_CALL(SetGoalToTarget, ACTOR_SELF) diff --git a/src/battle/area/arn/area.c b/src/battle/area/arn/area.c index b2764ef330..351ca1eb48 100644 --- a/src/battle/area/arn/area.c +++ b/src/battle/area/arn/area.c @@ -17,129 +17,129 @@ extern Stage N(arn_05); extern Stage N(arn_06); Formation N(Formation_00) = { - { .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 10), }; Formation N(Formation_01) = { - { .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(hypergoomba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(hypergoomba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(hypergoomba), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_C, 8), }; Formation N(Formation_03) = { - { .actor = &N(hypergoomba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(hyper_paragoomba), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_C, 8), }; Formation N(Formation_04) = { - { .actor = &N(hypergoomba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(hypergoomba), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(hyper_paragoomba), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_D, 7), }; Formation N(Formation_05) = { - { .actor = &N(hypergoomba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(hyper_paragoomba), .home = { .index = 6 }, .priority = 8 }, - { .actor = &N(hypergoomba), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_D, 7), }; Formation N(Formation_06) = { - { .actor = &N(hyper_paragoomba), .home = { .index = 5 }, .priority = 10 }, + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_B, 10), }; Formation N(Formation_07) = { - { .actor = &N(hyper_paragoomba), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(hyper_paragoomba), .home = { .index = 6 }, .priority = 9 }, + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_C, 9), }; Formation N(Formation_08) = { - { .actor = &N(hyper_paragoomba), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(hyper_paragoomba), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(hyper_paragoomba), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_C, 8), }; Formation N(Formation_09) = { - { .actor = &N(hyper_paragoomba), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(hyper_paragoomba), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(hyper_paragoomba), .home = { .index = 6 }, .priority = 8 }, - { .actor = &N(hyper_paragoomba), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(hyper_paragoomba), BTL_POS_AIR_D, 7), }; Formation N(Formation_0A) = { - { .actor = &N(hyper_cleft), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_B, 10), }; Formation N(Formation_0B) = { - { .actor = &N(hyper_cleft), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(hyper_cleft), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0C) = { - { .actor = &N(hyper_cleft), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(hyper_cleft), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(hyper_cleft), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0D) = { - { .actor = &N(hyper_cleft), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(hypergoomba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(hypergoomba), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0E) = { - { .actor = &N(hyper_cleft), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(hyper_cleft), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(hypergoomba), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(hypergoomba), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hyper_cleft), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(hypergoomba), BTL_POS_GROUND_D, 7), }; Vec3i N(vector3D_802280C0) = { 90, 20, 0 }; Formation N(Formation_0F) = { - { .actor = &N(tubbas_heart), .home = { .vec = &N(vector3D_802280C0) }, .priority = 10 }, + ACTOR_BY_POS(N(tubbas_heart), N(vector3D_802280C0), 10), }; Vec3i N(vector3D_802280E8) = { 75, 0, 10 }; Formation N(Formation_10) = { - { .actor = &N(tubba_blubba), .home = { .vec = &N(vector3D_802280E8) }, .priority = 10 }, + ACTOR_BY_POS(N(tubba_blubba), N(vector3D_802280E8), 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(arn_01), "ハイパークリボー"), - BATTLE(N(Formation_01), &N(arn_01), "ハイパークリボーx2"), - BATTLE(N(Formation_02), &N(arn_01), "ハイパークリボーx3"), - BATTLE(N(Formation_03), &N(arn_01), "ハイパークリボーx2,ハイパーパタクリボー"), - BATTLE(N(Formation_04), &N(arn_01), "ハイパークリボーx3,ハイパーパタクリボー"), - BATTLE(N(Formation_05), &N(arn_01), "ハイパークリボーx2,ハイパーパタクリボー,ハイパークリボー"), - BATTLE(N(Formation_06), &N(arn_01), "ハイパーパタクリボー"), - BATTLE(N(Formation_07), &N(arn_01), "ハイパーパタクリボーx2"), - BATTLE(N(Formation_08), &N(arn_01), "ハイパーパタクリボーx3"), - BATTLE(N(Formation_09), &N(arn_01), "ハイパーパタクリボーx4"), - BATTLE(N(Formation_0A), &N(arn_01), "ハイパーシンエモン"), - BATTLE(N(Formation_0B), &N(arn_01), "ハイパーシンエモンx2"), - BATTLE(N(Formation_0C), &N(arn_01), "ハイパーシンエモンx3"), - BATTLE(N(Formation_0D), &N(arn_01), "ハイパーシンエモン,ハイパークリボーx2"), - BATTLE(N(Formation_0E), &N(arn_01), "ハイパーシンエモンx2,ハイパークリボーx2"), - BATTLE(N(Formation_0F), &N(arn_06), "ドガボンしんぞう"), - BATTLE(N(Formation_10), &N(arn_01), "ドガボン"), + BATTLE(N(Formation_00), N(arn_01), "ハイパークリボー"), + BATTLE(N(Formation_01), N(arn_01), "ハイパークリボーx2"), + BATTLE(N(Formation_02), N(arn_01), "ハイパークリボーx3"), + BATTLE(N(Formation_03), N(arn_01), "ハイパークリボーx2,ハイパーパタクリボー"), + BATTLE(N(Formation_04), N(arn_01), "ハイパークリボーx3,ハイパーパタクリボー"), + BATTLE(N(Formation_05), N(arn_01), "ハイパークリボーx2,ハイパーパタクリボー,ハイパークリボー"), + BATTLE(N(Formation_06), N(arn_01), "ハイパーパタクリボー"), + BATTLE(N(Formation_07), N(arn_01), "ハイパーパタクリボーx2"), + BATTLE(N(Formation_08), N(arn_01), "ハイパーパタクリボーx3"), + BATTLE(N(Formation_09), N(arn_01), "ハイパーパタクリボーx4"), + BATTLE(N(Formation_0A), N(arn_01), "ハイパーシンエモン"), + BATTLE(N(Formation_0B), N(arn_01), "ハイパーシンエモンx2"), + BATTLE(N(Formation_0C), N(arn_01), "ハイパーシンエモンx3"), + BATTLE(N(Formation_0D), N(arn_01), "ハイパーシンエモン,ハイパークリボーx2"), + BATTLE(N(Formation_0E), N(arn_01), "ハイパーシンエモンx2,ハイパークリボーx2"), + BATTLE(N(Formation_0F), N(arn_06), "ドガボンしんぞう"), + BATTLE(N(Formation_10), N(arn_01), "ドガボン"), {}, }; StageList N(Stages) = { - { "arn_01", &N(arn_01) }, - { "arn_02", &N(arn_02) }, - { "arn_03", &N(arn_03) }, - { "arn_04", &N(arn_04) }, - { "arn_05", &N(arn_05) }, - { "arn_06", &N(arn_06) }, + STAGE("arn_01", N(arn_01)), + STAGE("arn_02", N(arn_02)), + STAGE("arn_03", N(arn_03)), + STAGE("arn_04", N(arn_04)), + STAGE("arn_05", N(arn_05)), + STAGE("arn_06", N(arn_06)), {}, }; diff --git a/src/battle/area/dgb/actor/tubba_blubba.c b/src/battle/area/dgb/actor/tubba_blubba.c index e5728f3673..3b8d6b99bc 100644 --- a/src/battle/area/dgb/actor/tubba_blubba.c +++ b/src/battle/area/dgb/actor/tubba_blubba.c @@ -15,55 +15,59 @@ extern EvtScript N(80218E60); extern EvtScript N(80219D88); extern EvtScript N(8021A36C); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnims)[] = { - STATUS_NORMAL, ANIM_BattleTubba_Anim02, - STATUS_STONE, ANIM_BattleTubba_Anim00, - STATUS_SLEEP, ANIM_BattleTubba_Anim00, - STATUS_POISON, ANIM_BattleTubba_Anim02, - STATUS_STOP, ANIM_BattleTubba_Anim00, - STATUS_STATIC, ANIM_BattleTubba_Anim00, - STATUS_PARALYZE, ANIM_BattleTubba_Anim00, - STATUS_PARALYZE, ANIM_BattleTubba_Anim00, - STATUS_DIZZY, ANIM_BattleTubba_Anim00, - STATUS_DIZZY, ANIM_BattleTubba_Anim00, - STATUS_FEAR, ANIM_BattleTubba_Anim00, + STATUS_KEY_NORMAL, ANIM_BattleTubba_Anim02, + STATUS_KEY_STONE, ANIM_BattleTubba_Anim00, + STATUS_KEY_SLEEP, ANIM_BattleTubba_Anim00, + STATUS_KEY_POISON, ANIM_BattleTubba_Anim02, + STATUS_KEY_STOP, ANIM_BattleTubba_Anim00, + STATUS_KEY_STATIC, ANIM_BattleTubba_Anim00, + STATUS_KEY_PARALYZE, ANIM_BattleTubba_Anim00, + STATUS_KEY_PARALYZE, ANIM_BattleTubba_Anim00, + STATUS_KEY_DIZZY, ANIM_BattleTubba_Anim00, + STATUS_KEY_DIZZY, ANIM_BattleTubba_Anim00, + STATUS_KEY_FEAR, ANIM_BattleTubba_Anim00, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 99, + ELEMENT_NORMAL, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -15, 75 }, .opacity = 255, @@ -93,9 +97,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 0, .size = { 100, 100 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -33, 78 }, - .statusMessageOffset = { 10, 75 }, + .statusTextOffset = { 10, 75 }, }; EvtScript N(EVS_Init) = { @@ -126,7 +130,7 @@ EvtScript N(80218E60) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_GOTO(0) EVT_END_IF - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_EQ(LVar0, ANIM_BattleTubba_Anim06) EVT_GOTO(1) EVT_END_IF @@ -151,7 +155,7 @@ EvtScript N(nextTurn_80218FB0) = { EVT_CASE_EQ(PHASE_PLAYER_BEGIN) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -160,19 +164,19 @@ EvtScript N(nextTurn_80218FB0) = { EVT_CALL(SetBattleCamZoom, 380) EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(ActorSpeak, MSG_CH3_0102, ACTOR_SELF, 1, ANIM_BattleTubba_Anim09, ANIM_BattleTubba_Anim02) + EVT_CALL(ActorSpeak, MSG_CH3_0102, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim09, ANIM_BattleTubba_Anim02) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim15) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim16) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_END_THREAD - EVT_CALL(EndActorSpeech, ACTOR_SELF, 1, -1, -1) + EVT_CALL(EndActorSpeech, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_END_IF EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -190,12 +194,12 @@ EvtScript N(idle_80219204) = { }; EvtScript N(80219238) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim07) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END @@ -301,10 +305,10 @@ EvtScript N(takeTurn_80219750) = { EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim07) EVT_CALL(SetGoalPos, ACTOR_SELF, 0, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim01) EVT_WAIT(30) EVT_SET(LVar0, 0) EVT_LOOP(12) @@ -320,19 +324,19 @@ EvtScript N(takeTurn_80219750) = { EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 80) EVT_PLAY_EFFECT(EFFECT_EMOTE, 2, 0, LVar0, LVar1, LVar2, 30, 315, 30, 0, 0) EVT_WAIT(40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim01) EVT_SET(LVar0, 0) EVT_LOOP(15) EVT_ADD(LVar0, 12) EVT_CALL(SetActorYaw, ACTOR_SELF, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim06) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar0, 220) @@ -342,12 +346,12 @@ EvtScript N(takeTurn_80219750) = { EVT_KILL_THREAD(LVar0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, TRUE) - EVT_CALL(func_8026F60C, 10) + EVT_CALL(SetEndBattleFadeOutRate, 10) EVT_RETURN EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -357,20 +361,20 @@ EvtScript N(takeTurn_80219750) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH3_0103, ACTOR_SELF, 1, ANIM_BattleTubba_Anim09, ANIM_BattleTubba_Anim02) + EVT_CALL(ActorSpeak, MSG_CH3_0103, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim09, ANIM_BattleTubba_Anim02) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim15) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim16) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_END_THREAD - EVT_CALL(EndActorSpeech, ACTOR_SELF, 1, -1, -1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim01) + EVT_CALL(EndActorSpeech, ACTOR_SELF, PRT_MAIN, -1, -1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim01) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_WAIT(15) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_END_IF EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 60) @@ -390,7 +394,7 @@ EvtScript N(80219D88) = { EVT_CALL(SetBattleCamZoom, 150) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim07) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_IF_NOT_FLAG(LVar5, 0x00080000) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) @@ -399,12 +403,12 @@ EvtScript N(80219D88) = { EVT_END_IF EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim15) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35E) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim16) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim17) EVT_WAIT(3) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -428,7 +432,7 @@ EvtScript N(80219D88) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_EXEC_WAIT(N(80219238)) @@ -457,7 +461,7 @@ EvtScript N(80219D88) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_IF_EQ(LVarF, HIT_RESULT_10) @@ -477,14 +481,14 @@ EvtScript N(8021A36C) = { EVT_CALL(SetBattleCamZoom, 180) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim07) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 70, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0F) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim10) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_3E7, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -493,7 +497,7 @@ EvtScript N(8021A36C) = { EVT_SET(LVarA, LVar0) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim11) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -504,7 +508,7 @@ EvtScript N(8021A36C) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 23, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim12) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) @@ -531,7 +535,7 @@ EvtScript N(8021A36C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim13) EVT_WAIT(4) EVT_EXEC_WAIT(N(80219238)) EVT_RETURN @@ -539,7 +543,7 @@ EvtScript N(8021A36C) = { EVT_CASE_DEFAULT EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim11) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) @@ -582,7 +586,7 @@ EvtScript N(8021A36C) = { EVT_LABEL(0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SHOCKWAVE, 0, LVar0, 0, LVar2, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0D) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) @@ -619,7 +623,7 @@ EvtScript N(8021A36C) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0E) EVT_END_THREAD EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) diff --git a/src/battle/area/dgb/area.c b/src/battle/area/dgb/area.c index 532d129522..b184273253 100644 --- a/src/battle/area/dgb/area.c +++ b/src/battle/area/dgb/area.c @@ -13,52 +13,52 @@ extern Stage N(dgb_04); extern Stage N(dgb_05); Formation N(Formation_00) = { - { .actor = &N(clubba), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_B, 10), }; Formation N(Formation_01) = { - { .actor = &N(clubba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(clubba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(clubba), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_C, 8), }; Formation N(Formation_03) = { - { .actor = &N(clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(clubba), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(clubba), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_D, 7), }; Vec3i N(vector3D_8021B348) = { 75, 0, 10 }; Formation N(Formation_04) = { - { .actor = &N(tubba_blubba), .home = { .vec = &N(vector3D_8021B348) }, .priority = 10 }, + ACTOR_BY_POS(N(tubba_blubba), N(vector3D_8021B348), 10), }; Formation N(Formation_05) = { - { .actor = &N(tubba_blubba), .home = { .vec = &N(vector3D_8021B348) }, .priority = 10, .var0 = 1 }, + ACTOR_BY_POS(N(tubba_blubba), N(vector3D_8021B348), 10, 1), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(dgb_01), "ガボンへい"), - BATTLE(N(Formation_01), &N(dgb_01), "ガボンへいx2"), - BATTLE(N(Formation_02), &N(dgb_01), "ガボンへいx3"), - BATTLE(N(Formation_03), &N(dgb_01), "ガボンへいx4"), - BATTLE(N(Formation_04), &N(dgb_01), "むてきドガボン"), - BATTLE(N(Formation_05), &N(dgb_01), "むてきドガボンせりふなし"), + BATTLE(N(Formation_00), N(dgb_01), "ガボンへい"), + BATTLE(N(Formation_01), N(dgb_01), "ガボンへいx2"), + BATTLE(N(Formation_02), N(dgb_01), "ガボンへいx3"), + BATTLE(N(Formation_03), N(dgb_01), "ガボンへいx4"), + BATTLE(N(Formation_04), N(dgb_01), "むてきドガボン"), + BATTLE(N(Formation_05), N(dgb_01), "むてきドガボンせりふなし"), {}, }; StageList N(Stages) = { - { "dgb_01", &N(dgb_01) }, - { "dgb_02", &N(dgb_02) }, - { "dgb_03", &N(dgb_03) }, - { "dgb_04", &N(dgb_04) }, - { "dgb_05", &N(dgb_05) }, + STAGE("dgb_01", N(dgb_01)), + STAGE("dgb_02", N(dgb_02)), + STAGE("dgb_03", N(dgb_03)), + STAGE("dgb_04", N(dgb_04)), + STAGE("dgb_05", N(dgb_05)), {}, }; diff --git a/src/battle/area/dig/actor/tubba_blubba.c b/src/battle/area/dig/actor/tubba_blubba.c index 5099c3c7b7..a4a1f97f96 100644 --- a/src/battle/area/dig/actor/tubba_blubba.c +++ b/src/battle/area/dig/actor/tubba_blubba.c @@ -14,55 +14,59 @@ extern EvtScript N(idle); extern EvtScript N(shakeCam); extern EvtScript N(attackBodyCrush); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleTubba_Anim02, - STATUS_STONE, ANIM_BattleTubba_Anim00, - STATUS_SLEEP, ANIM_BattleTubba_Anim00, - STATUS_POISON, ANIM_BattleTubba_Anim02, - STATUS_STOP, ANIM_BattleTubba_Anim00, - STATUS_STATIC, ANIM_BattleTubba_Anim00, - STATUS_PARALYZE, ANIM_BattleTubba_Anim00, - STATUS_PARALYZE, ANIM_BattleTubba_Anim00, - STATUS_DIZZY, ANIM_BattleTubba_Anim00, - STATUS_DIZZY, ANIM_BattleTubba_Anim00, - STATUS_FEAR, ANIM_BattleTubba_Anim00, + STATUS_KEY_NORMAL, ANIM_BattleTubba_Anim02, + STATUS_KEY_STONE, ANIM_BattleTubba_Anim00, + STATUS_KEY_SLEEP, ANIM_BattleTubba_Anim00, + STATUS_KEY_POISON, ANIM_BattleTubba_Anim02, + STATUS_KEY_STOP, ANIM_BattleTubba_Anim00, + STATUS_KEY_STATIC, ANIM_BattleTubba_Anim00, + STATUS_KEY_PARALYZE, ANIM_BattleTubba_Anim00, + STATUS_KEY_PARALYZE, ANIM_BattleTubba_Anim00, + STATUS_KEY_DIZZY, ANIM_BattleTubba_Anim00, + STATUS_KEY_DIZZY, ANIM_BattleTubba_Anim00, + STATUS_KEY_FEAR, ANIM_BattleTubba_Anim00, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 80, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 80, - STATUS_SHRINK, 90, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 80, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -15, 75 }, .opacity = 255, @@ -79,8 +83,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE, .level = 70, .maxHP = 10, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -92,9 +96,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 110, 100 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -33, 78 }, - .statusMessageOffset = { 10, 75 }, + .statusTextOffset = { 10, 75 }, }; EvtScript N(init) = { @@ -121,7 +125,7 @@ EvtScript N(shakeCam) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_GOTO(0) EVT_END_IF - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_EQ(LVar0, ANIM_BattleTubba_Anim06) EVT_GOTO(1) EVT_END_IF @@ -153,12 +157,12 @@ EvtScript N(handleEvent) = { }; EvtScript N(returnHome) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim07) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END @@ -172,10 +176,10 @@ EvtScript N(takeTurn) = { EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim07) EVT_CALL(SetGoalPos, ACTOR_SELF, 0, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim01) EVT_WAIT(30) EVT_SET(LVar0, 0) EVT_LOOP(12) @@ -191,19 +195,19 @@ EvtScript N(takeTurn) = { EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 80) EVT_PLAY_EFFECT(EFFECT_EMOTE, 2, 0, LVar0, LVar1, LVar2, 30, 315, 30, 0, 0) EVT_WAIT(40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim01) EVT_SET(LVar0, 0) EVT_LOOP(15) EVT_ADD(LVar0, 12) EVT_CALL(SetActorYaw, ACTOR_SELF, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim06) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar0, 220) @@ -213,26 +217,26 @@ EvtScript N(takeTurn) = { EVT_KILL_THREAD(LVar0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, TRUE) - EVT_CALL(func_8026F60C, 10) + EVT_CALL(SetEndBattleFadeOutRate, 10) EVT_RETURN EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) - EVT_CALL(ActorSpeak, MSG_CH3_0103, ACTOR_SELF, 1, ANIM_BattleTubba_Anim09, ANIM_BattleTubba_Anim02) + EVT_CALL(ActorSpeak, MSG_CH3_0103, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim09, ANIM_BattleTubba_Anim02) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim15) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim16) EVT_WAIT(15) EVT_END_THREAD - EVT_CALL(EndActorSpeech, ACTOR_SELF, 1, -1, -1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim01) + EVT_CALL(EndActorSpeech, ACTOR_SELF, PRT_MAIN, -1, -1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim01) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_WAIT(15) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_END_IF EVT_EXEC_WAIT(N(attackBodyCrush)) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -247,7 +251,7 @@ EvtScript N(attackFistDrop) = { EVT_CALL(SetBattleCamZoom, 150) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim07) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) @@ -256,11 +260,11 @@ EvtScript N(attackFistDrop) = { EVT_END_IF EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim15) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim16) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim17) EVT_WAIT(3) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -279,7 +283,7 @@ EvtScript N(attackFistDrop) = { EVT_CASE_OR_EQ(6) EVT_CASE_OR_EQ(5) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_IF_EQ(LVarA, 5) @@ -308,7 +312,7 @@ EvtScript N(attackFistDrop) = { EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(10) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim02) EVT_IF_EQ(LVarF, 10) EVT_RETURN EVT_END_IF @@ -326,14 +330,14 @@ EvtScript N(attackBodyCrush) = { EVT_CALL(SetBattleCamZoom, 180) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim07) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 70, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0F) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim10) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) @@ -341,7 +345,7 @@ EvtScript N(attackBodyCrush) = { EVT_SET(LVarA, LVar0) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim11) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -353,7 +357,7 @@ EvtScript N(attackBodyCrush) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 23, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim12) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) @@ -377,7 +381,7 @@ EvtScript N(attackBodyCrush) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim13) EVT_WAIT(4) EVT_EXEC_WAIT(N(returnHome)) EVT_RETURN @@ -385,7 +389,7 @@ EvtScript N(attackBodyCrush) = { EVT_CASE_DEFAULT EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim11) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) @@ -426,7 +430,7 @@ EvtScript N(attackBodyCrush) = { EVT_LABEL(0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SHOCKWAVE, 0, LVar0, 0, LVar2, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0D) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) @@ -459,7 +463,7 @@ EvtScript N(attackBodyCrush) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleTubba_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleTubba_Anim0E) EVT_END_THREAD EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) diff --git a/src/battle/area/dig/area.c b/src/battle/area/dig/area.c index a91404a9b1..d2a2906673 100644 --- a/src/battle/area/dig/area.c +++ b/src/battle/area/dig/area.c @@ -24,49 +24,49 @@ extern EvtScript N(dig_04_script); extern EvtScript N(dig_05_script); Formation N(Formation_00) = { - { .actor = &N(fuzzy), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(fuzzy), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(fuzzy), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(fuzzy), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_D, 7), }; Formation N(Formation_01) = { - { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 9, }, - { .actor = &N(monty_mole), .home = { .index = 3 }, .priority = 8, }, + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_C, 9), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_D, 8), }; Formation N(Formation_02) = { - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(bandit), .home = { .index = 2 }, .priority = 9, }, - { .actor = &N(pokey), .home = { .index = 3 }, .priority = 8, }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_C, 9), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_D, 8), }; Formation N(Formation_03) = { - { .actor = &N(red_shy_guy), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(red_shy_guy), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(red_shy_guy), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(red_shy_guy), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_D, 7), }; Formation N(Formation_04) = { - { .actor = &N(tubba_blubba), .home = { .index = 2 }, .priority = 10, }, + ACTOR_BY_IDX(N(tubba_blubba), BTL_POS_GROUND_C, 10), }; BattleList N(Formations) = { - BATTLE_WITH_SCRIPT(N(Formation_00), &N(dig_01), &N(dig_01_script), "ダイジェスト01"), - BATTLE_WITH_SCRIPT(N(Formation_01), &N(dig_02), &N(dig_02_script), "ダイジェスト02"), - BATTLE_WITH_SCRIPT(N(Formation_02), &N(dig_03), &N(dig_03_script), "ダイジェスト03"), - BATTLE_WITH_SCRIPT(N(Formation_03), &N(dig_04), &N(dig_04_script), "ダイジェスト04"), - BATTLE_WITH_SCRIPT(N(Formation_04), &N(dig_05), &N(dig_05_script), "ダイジェスト05"), + BATTLE_WITH_SCRIPT(N(Formation_00), N(dig_01), N(dig_01_script), "ダイジェスト01"), + BATTLE_WITH_SCRIPT(N(Formation_01), N(dig_02), N(dig_02_script), "ダイジェスト02"), + BATTLE_WITH_SCRIPT(N(Formation_02), N(dig_03), N(dig_03_script), "ダイジェスト03"), + BATTLE_WITH_SCRIPT(N(Formation_03), N(dig_04), N(dig_04_script), "ダイジェスト04"), + BATTLE_WITH_SCRIPT(N(Formation_04), N(dig_05), N(dig_05_script), "ダイジェスト05"), {}, }; StageList N(Stages) = { - { "dig_01", &N(dig_01) }, - { "dig_02", &N(dig_02) }, - { "dig_03", &N(dig_03) }, - { "dig_04", &N(dig_04) }, - { "dig_05", &N(dig_05) }, + STAGE("dig_01", N(dig_01)), + STAGE("dig_02", N(dig_02)), + STAGE("dig_03", N(dig_03)), + STAGE("dig_04", N(dig_04)), + STAGE("dig_05", N(dig_05)), {}, }; diff --git a/src/battle/area/dig/script/dig_01.c b/src/battle/area/dig/script/dig_01.c index b9f8e4b3c8..a495092821 100644 --- a/src/battle/area/dig/script/dig_01.c +++ b/src/battle/area/dig/script/dig_01.c @@ -27,7 +27,7 @@ API_CALLABLE(N(SetupDemoPlayerMove)) { EvtScript NAMESPACE = { EVT_WAIT(3) EVT_CALL(SetCamViewport, CAM_BATTLE, 29, 20, 262, 177) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_SET(LVar0, 15) EVT_CALL(N(SetDemoBattleBeginDelay)) EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) diff --git a/src/battle/area/dig/script/dig_02.c b/src/battle/area/dig/script/dig_02.c index 43e1b95f9b..092022a0f7 100644 --- a/src/battle/area/dig/script/dig_02.c +++ b/src/battle/area/dig/script/dig_02.c @@ -27,7 +27,7 @@ EvtScript NAMESPACE = { EVT_CALL(MoveBattleCamOver, 1) EVT_WAIT(3) EVT_CALL(SetCamViewport, CAM_BATTLE, 29, 20, 262, 177) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) EVT_CALL(N(SetupDemoPlayerMove)) EVT_CALL(SetBattleState, BATTLE_STATE_PLAYER_MOVE) diff --git a/src/battle/area/dig/script/dig_03.c b/src/battle/area/dig/script/dig_03.c index 1719af593f..8854022261 100644 --- a/src/battle/area/dig/script/dig_03.c +++ b/src/battle/area/dig/script/dig_03.c @@ -27,7 +27,7 @@ EvtScript NAMESPACE = { EVT_CALL(MoveBattleCamOver, 1) EVT_WAIT(3) EVT_CALL(SetCamViewport, CAM_BATTLE, 29, 20, 262, 177) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) EVT_CALL(N(SetupDemoPlayerMove)) EVT_CALL(SetBattleState, BATTLE_STATE_PARTNER_MOVE) diff --git a/src/battle/area/dig/script/dig_04.c b/src/battle/area/dig/script/dig_04.c index ee3c2e3812..a145834372 100644 --- a/src/battle/area/dig/script/dig_04.c +++ b/src/battle/area/dig/script/dig_04.c @@ -32,7 +32,7 @@ EvtScript NAMESPACE = { EVT_CALL(MoveBattleCamOver, 1) EVT_WAIT(3) EVT_CALL(SetCamViewport, CAM_BATTLE, 29, 20, 262, 177) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) EVT_CALL(N(SetupDemoPlayerMove)) EVT_CALL(SetBattleState, BATTLE_STATE_PLAYER_MOVE) diff --git a/src/battle/area/dig/script/dig_05.c b/src/battle/area/dig/script/dig_05.c index d3acfc810e..5a65d6df07 100644 --- a/src/battle/area/dig/script/dig_05.c +++ b/src/battle/area/dig/script/dig_05.c @@ -10,7 +10,7 @@ EvtScript NAMESPACE = { EVT_CALL(MoveBattleCamOver, 1) EVT_WAIT(3) EVT_CALL(SetCamViewport, CAM_BATTLE, 29, 20, 262, 177) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_SET(LVar0, 5) EVT_CALL(N(SetDemoBattleBeginDelay)) EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) diff --git a/src/battle/area/dig/stage/dig_04.c b/src/battle/area/dig/stage/dig_04.c index a9695ef54a..4282be3649 100644 --- a/src/battle/area/dig/stage/dig_04.c +++ b/src/battle/area/dig/stage/dig_04.c @@ -55,10 +55,10 @@ Vec3i N(slot_machine_pos3) = { 20, 56, -68 }; Vec3i N(slot_machine_pos4) = { 53, 56, -68 }; Formation N(Formation_SlotMachine) = { - { .actor = &N(slot_machine_start), .home = { .vec = &N(slot_machine_pos1) }, .var0 = 0 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos2) }, .var0 = 1 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos3) }, .var0 = 2 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos4) }, .var0 = 3 }, + ACTOR_BY_POS(N(slot_machine_start), N(slot_machine_pos1), 0, 0), + ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos2), 0, 1), + ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos3), 0, 2), + ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos4), 0, 3), }; #include "battle/common/actor/slot_machine.inc.c" diff --git a/src/battle/area/flo/actor/amazy_dayzee.c b/src/battle/area/flo/actor/amazy_dayzee.c index 1127ea76ee..724c3f5c9b 100644 --- a/src/battle/area/flo/actor/amazy_dayzee.c +++ b/src/battle/area/flo/actor/amazy_dayzee.c @@ -12,40 +12,44 @@ extern EvtScript N(idle); extern EvtScript N(handleEvent); extern s32 N(IdleAnimations)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 10, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 10, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 10, - STATUS_SHRINK, 10, - STATUS_STOP, 10, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 10, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 10, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 10, + STATUS_KEY_SHRINK, 10, + STATUS_KEY_STOP, 10, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 30 }, .opacity = 255, @@ -62,8 +66,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_AMAZY_DAYZEE, .level = 100, .maxHP = 20, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 90, @@ -75,21 +79,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 70, .coinReward = 5, .size = { 32, 34 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -14, 17 }, - .statusMessageOffset = { 9, 25 }, + .statusTextOffset = { 9, 25 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Dayzee_Amazy_Anim01, - STATUS_STONE, ANIM_Dayzee_Amazy_Anim00, - STATUS_SLEEP, ANIM_Dayzee_Amazy_Anim0C, - STATUS_POISON, ANIM_Dayzee_Amazy_Anim01, - STATUS_STOP, ANIM_Dayzee_Amazy_Anim00, - STATUS_STATIC, ANIM_Dayzee_Amazy_Anim01, - STATUS_PARALYZE, ANIM_Dayzee_Amazy_Anim00, - STATUS_DIZZY, ANIM_Dayzee_Amazy_Anim0B, - STATUS_FEAR, ANIM_Dayzee_Amazy_Anim0B, + STATUS_KEY_NORMAL, ANIM_Dayzee_Amazy_Anim01, + STATUS_KEY_STONE, ANIM_Dayzee_Amazy_Anim00, + STATUS_KEY_SLEEP, ANIM_Dayzee_Amazy_Anim0C, + STATUS_KEY_POISON, ANIM_Dayzee_Amazy_Anim01, + STATUS_KEY_STOP, ANIM_Dayzee_Amazy_Anim00, + STATUS_KEY_STATIC, ANIM_Dayzee_Amazy_Anim01, + STATUS_KEY_PARALYZE, ANIM_Dayzee_Amazy_Anim00, + STATUS_KEY_DIZZY, ANIM_Dayzee_Amazy_Anim0B, + STATUS_KEY_FEAR, ANIM_Dayzee_Amazy_Anim0B, STATUS_END, }; @@ -205,7 +209,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_ELSE @@ -238,10 +242,10 @@ EvtScript N(attackPainfulSong) = { EVT_SET(LocalFlag(0), 0) EVT_LABEL(0) EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Amazy_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim0E) EVT_SET(LocalFlag(0), 1) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Amazy_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim0F) EVT_SET(LocalFlag(0), 0) EVT_END_IF EVT_WAIT(1) @@ -254,10 +258,10 @@ EvtScript N(attackPainfulSong) = { EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Amazy_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim0E) EVT_SET(LocalFlag(0), 1) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Amazy_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim0F) EVT_SET(LocalFlag(0), 0) EVT_END_IF EVT_WAIT(1) @@ -265,12 +269,12 @@ EvtScript N(attackPainfulSong) = { EVT_CALL(SetGoalPos, ACTOR_SELF, -35, 0, 10) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Amazy_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim01) EVT_WAIT(10) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Amazy_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim06) EVT_WAIT(40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Amazy_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim07) EVT_END_THREAD EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_DAYZEE_SONG) @@ -284,7 +288,7 @@ EvtScript N(attackPainfulSong) = { EVT_PLAY_EFFECT(EFFECT_MUSIC_NOTE, 1, LVar3, LVar1, LVar2, 0) EVT_WAIT(10) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Amazy_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim01) EVT_WAIT(10) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -298,9 +302,9 @@ EvtScript N(attackPainfulSong) = { EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -309,7 +313,7 @@ EvtScript N(attackPainfulSong) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 15), 20, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 15), 20, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) @@ -335,7 +339,7 @@ EvtScript N(flee) = { EVT_CALL(SetBattleCamTarget, LVar0, LVar1, LVar2) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Amazy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim03) EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) @@ -345,7 +349,7 @@ EvtScript N(flee) = { EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Amazy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Amazy_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0)) EVT_ADD(LVar0, 200) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) diff --git a/src/battle/area/flo/actor/crazee_dayzee.c b/src/battle/area/flo/actor/crazee_dayzee.c index 0d29bbfc8f..e104c19770 100644 --- a/src/battle/area/flo/actor/crazee_dayzee.c +++ b/src/battle/area/flo/actor/crazee_dayzee.c @@ -12,40 +12,44 @@ extern EvtScript N(idle); extern EvtScript N(handleEvent); extern s32 N(IdleAnimations)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 95, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 30, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 30, - STATUS_SHRINK, 30, - STATUS_STOP, 30, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 95, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 30, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 30, + STATUS_KEY_SHRINK, 30, + STATUS_KEY_STOP, 30, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 30 }, .opacity = 255, @@ -62,8 +66,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_CRAZEE_DAYZEE, .level = 19, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(EVS_Init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -75,21 +79,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 2, .size = { 32, 34 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -14, 17 }, - .statusMessageOffset = { 9, 25 }, + .statusTextOffset = { 9, 25 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Dayzee_Anim01, - STATUS_STONE, ANIM_Dayzee_Anim00, - STATUS_SLEEP, ANIM_Dayzee_Anim0C, - STATUS_POISON, ANIM_Dayzee_Anim01, - STATUS_STOP, ANIM_Dayzee_Anim00, - STATUS_STATIC, ANIM_Dayzee_Anim01, - STATUS_PARALYZE, ANIM_Dayzee_Anim00, - STATUS_DIZZY, ANIM_Dayzee_Anim0B, - STATUS_FEAR, ANIM_Dayzee_Anim0B, + STATUS_KEY_NORMAL, ANIM_Dayzee_Anim01, + STATUS_KEY_STONE, ANIM_Dayzee_Anim00, + STATUS_KEY_SLEEP, ANIM_Dayzee_Anim0C, + STATUS_KEY_POISON, ANIM_Dayzee_Anim01, + STATUS_KEY_STOP, ANIM_Dayzee_Anim00, + STATUS_KEY_STATIC, ANIM_Dayzee_Anim01, + STATUS_KEY_PARALYZE, ANIM_Dayzee_Anim00, + STATUS_KEY_DIZZY, ANIM_Dayzee_Anim0B, + STATUS_KEY_FEAR, ANIM_Dayzee_Anim0B, STATUS_END, }; @@ -198,7 +202,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_ELSE @@ -231,10 +235,10 @@ EvtScript N(attackPainfulSong) = { EVT_SET(LocalFlag(0), 0) EVT_LABEL(0) EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim0E) EVT_SET(LocalFlag(0), 1) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim0F) EVT_SET(LocalFlag(0), 0) EVT_END_IF EVT_WAIT(1) @@ -247,10 +251,10 @@ EvtScript N(attackPainfulSong) = { EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim0E) EVT_SET(LocalFlag(0), 1) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim0F) EVT_SET(LocalFlag(0), 0) EVT_END_IF EVT_WAIT(1) @@ -258,12 +262,12 @@ EvtScript N(attackPainfulSong) = { EVT_CALL(SetGoalPos, ACTOR_SELF, -35, 0, 10) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim01) EVT_WAIT(10) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim06) EVT_WAIT(40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim07) EVT_END_THREAD EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_DAYZEE_SONG) @@ -277,7 +281,7 @@ EvtScript N(attackPainfulSong) = { EVT_PLAY_EFFECT(EFFECT_MUSIC_NOTE, 1, LVar3, LVar1, LVar2, 0) EVT_WAIT(10) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim01) EVT_WAIT(10) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -291,9 +295,9 @@ EvtScript N(attackPainfulSong) = { EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -302,7 +306,7 @@ EvtScript N(attackPainfulSong) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 20), 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 20), 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) @@ -328,7 +332,7 @@ EvtScript N(flee) = { EVT_CALL(SetBattleCamTarget, LVar0, LVar1, LVar2) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim03) EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) @@ -338,7 +342,7 @@ EvtScript N(flee) = { EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Dayzee_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Dayzee_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0)) EVT_ADD(LVar0, 200) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) diff --git a/src/battle/area/flo/actor/lakitu.c b/src/battle/area/flo/actor/lakitu.c index 4e864245cf..f40dfe0cf3 100644 --- a/src/battle/area/flo/actor/lakitu.c +++ b/src/battle/area/flo/actor/lakitu.c @@ -14,64 +14,70 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Lakitu_Anim01, - STATUS_STONE, ANIM_Lakitu_Anim00, - STATUS_SLEEP, ANIM_Lakitu_Anim08, - STATUS_POISON, ANIM_Lakitu_Anim01, - STATUS_STOP, ANIM_Lakitu_Anim00, - STATUS_STATIC, ANIM_Lakitu_Anim01, - STATUS_PARALYZE, ANIM_Lakitu_Anim00, - STATUS_DIZZY, ANIM_Lakitu_Anim09, - STATUS_FEAR, ANIM_Lakitu_Anim09, + STATUS_KEY_NORMAL, ANIM_Lakitu_Anim01, + STATUS_KEY_STONE, ANIM_Lakitu_Anim00, + STATUS_KEY_SLEEP, ANIM_Lakitu_Anim08, + STATUS_KEY_POISON, ANIM_Lakitu_Anim01, + STATUS_KEY_STOP, ANIM_Lakitu_Anim00, + STATUS_KEY_STATIC, ANIM_Lakitu_Anim01, + STATUS_KEY_PARALYZE, ANIM_Lakitu_Anim00, + STATUS_KEY_DIZZY, ANIM_Lakitu_Anim09, + STATUS_KEY_FEAR, ANIM_Lakitu_Anim09, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_Lakitu_Anim0B, + STATUS_KEY_NORMAL, ANIM_Lakitu_Anim0B, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_Spiny_Anim01, + STATUS_KEY_NORMAL, ANIM_Spiny_Anim01, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_MYSTERY, 0, + ELEMENT_NORMAL, 0, + ELEMENT_MYSTERY, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 35 }, .opacity = 255, @@ -83,7 +89,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -95,7 +101,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -112,8 +118,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_LAKITU, .level = 20, .maxHP = 12, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 40, @@ -125,9 +131,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 2, .size = { 32, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -11, 20 }, - .statusMessageOffset = { 10, 34 }, + .statusTextOffset = { 10, 34 }, }; EvtScript N(init) = { @@ -145,11 +151,11 @@ EvtScript N(idle) = { }; EvtScript N(returnHome) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim01) EVT_RETURN EVT_END }; @@ -264,15 +270,15 @@ EvtScript N(attackSpinyFlip) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim03) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, -20, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim01) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Lakitu_Anim0B) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim12) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim13) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -283,8 +289,8 @@ EvtScript N(attackSpinyFlip) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 12) EVT_ADD(LVar2, 0) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, -8) @@ -294,56 +300,56 @@ EvtScript N(attackSpinyFlip) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) EVT_ADD(LVar2, 2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(10) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim15) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim01) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Lakitu_Anim0C) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_20D2) - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0C) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_20D2) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_JUMP, 0, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 40) EVT_SET(LVar1, 0) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 20, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 20, TRUE) EVT_SUB(LVar0, 30) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 10, TRUE) EVT_SUB(LVar0, 20) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 5, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 5, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(20) EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(returnHome)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 20, TRUE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) @@ -352,16 +358,16 @@ EvtScript N(attackSpinyFlip) = { EVT_CASE_OR_EQ(2) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_THREAD - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 40) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 20, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 20, TRUE) EVT_SUB(LVar0, 30) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 10, TRUE) EVT_SUB(LVar0, 20) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 5, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 5, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(20) EVT_CALL(YieldTurn) @@ -377,7 +383,7 @@ EvtScript N(attackSpinyFlip) = { Vec3i N(spiny_pos) = { NPC_DISPOSE_LOCATION }; Formation N(formation_spiny) = { - { .actor = &b_area_flo_spiny, .home = { .vec = &N(spiny_pos) }, .priority = 100, .var0 = 0x00000001, }, + ACTOR_BY_POS(b_area_flo_spiny, N(spiny_pos), 100, 0x00000001), }; EvtScript N(summonSpiny) = { @@ -389,10 +395,10 @@ EvtScript N(summonSpiny) = { EVT_CALL(SummonEnemy, EVT_PTR(N(formation_spiny)), 0) EVT_CALL(CopyStatusEffects, ACTOR_SELF, LVar0) EVT_SET(LVarB, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Lakitu_Anim0B) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim12) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim13) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -403,9 +409,9 @@ EvtScript N(summonSpiny) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 12) EVT_ADD(LVar2, 0) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, -8) @@ -415,44 +421,44 @@ EvtScript N(summonSpiny) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) EVT_ADD(LVar2, 2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(10) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim15) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lakitu_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lakitu_Anim01) EVT_END_THREAD EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_20D2) - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_JUMP, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Lakitu_Anim0C) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.6)) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_20D2) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0C) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.6)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 40) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 12, TRUE) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, 0, LVar2) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 12, TRUE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, 0, LVar2) EVT_SUB(LVar0, 30) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 3, 0, 16, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_3, 0, 16, 0) EVT_SET(LVar0, 0) EVT_SET(LVar1, 0) EVT_SET(LocalFlag(0), 0) EVT_LOOP(12) EVT_ADD(LVar0, 30) - EVT_CALL(SetPartRotation, ACTOR_SELF, 3, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_3, 0, 0, LVar0) EVT_ADD(LVar1, 1) EVT_IF_GE(LVar1, 6) EVT_IF_EQ(LocalFlag(0), 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_SET(LocalFlag(0), 0) EVT_ELSE - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_SET(LocalFlag(0), 1) EVT_END_IF EVT_END_IF @@ -460,18 +466,18 @@ EvtScript N(summonSpiny) = { EVT_END_LOOP EVT_END_THREAD EVT_THREAD - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(1.3)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, 0, LVar2, 12, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(1.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_3, LVar0, 0, LVar2, 12, TRUE) EVT_END_THREAD EVT_WAIT(1) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.3)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 12, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 12, TRUE) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar0, 0, LVar2, 0, 0) - EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, LVarB, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(SetAnimation, LVarB, 1, ANIM_Spiny_Anim01) EVT_WAIT(20) EVT_CALL(SetAnimation, LVarB, 1, ANIM_Spiny_Anim04) @@ -551,7 +557,7 @@ EvtScript N(calcSummonChance) = { EVT_SWITCH(LVar2) EVT_CASE_EQ(ACTOR_TYPE_LAKITU) EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, LVar0, 0, LVar3) EVT_IF_LT(LVar3, 3) EVT_ADD(LVar9, 1) diff --git a/src/battle/area/flo/actor/ruff_puff.c b/src/battle/area/flo/actor/ruff_puff.c index 8bfb571827..fad6880947 100644 --- a/src/battle/area/flo/actor/ruff_puff.c +++ b/src/battle/area/flo/actor/ruff_puff.c @@ -10,53 +10,57 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_TuffPuff_Idle, - STATUS_STONE, ANIM_TuffPuff_Still, - STATUS_SLEEP, ANIM_TuffPuff_Sleep, - STATUS_POISON, ANIM_TuffPuff_Idle, - STATUS_STOP, ANIM_TuffPuff_Still, - STATUS_STATIC, ANIM_TuffPuff_Idle, - STATUS_PARALYZE, ANIM_TuffPuff_Still, - STATUS_DIZZY, ANIM_TuffPuff_Dizzy, + STATUS_KEY_NORMAL, ANIM_TuffPuff_Idle, + STATUS_KEY_STONE, ANIM_TuffPuff_Still, + STATUS_KEY_SLEEP, ANIM_TuffPuff_Sleep, + STATUS_KEY_POISON, ANIM_TuffPuff_Idle, + STATUS_KEY_STOP, ANIM_TuffPuff_Still, + STATUS_KEY_STATIC, ANIM_TuffPuff_Idle, + STATUS_KEY_PARALYZE, ANIM_TuffPuff_Still, + STATUS_KEY_DIZZY, ANIM_TuffPuff_Dizzy, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_MYSTERY, 0, + ELEMENT_NORMAL, 0, + ELEMENT_MYSTERY, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 90, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 70, - STATUS_PARALYZE, 40, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 90, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 70, + STATUS_KEY_PARALYZE, 40, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 26 }, .opacity = 255, @@ -73,8 +77,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_RUFF_PUFF, .level = 19, .maxHP = 10, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(EVS_Init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -86,9 +90,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 2, .size = { 32, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(EVS_Init) = { @@ -119,7 +123,7 @@ EvtScript N(idle) = { EvtScript N(returnHome) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TuffPuff_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TuffPuff_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_SIN_OUT) @@ -236,14 +240,14 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TuffPuff_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TuffPuff_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TuffPuff_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TuffPuff_Idle) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TuffPuff_Grin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TuffPuff_Grin) EVT_WAIT(5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -289,9 +293,9 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) diff --git a/src/battle/area/flo/area.c b/src/battle/area/flo/area.c index bee1e4b2a2..7fd89c45b6 100644 --- a/src/battle/area/flo/area.c +++ b/src/battle/area/flo/area.c @@ -28,270 +28,270 @@ extern Stage N(flo_05); extern Stage N(flo_06); Formation N(Formation_00) = { - { .actor = &N(lakitu), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(lakitu), .home = { .index = 6 }, .priority = 9, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 9), }; Formation N(Formation_01) = { - { .actor = &N(lakitu), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(lakitu), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(lakitu), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 8), }; Formation N(Formation_02) = { - { .actor = &N(lakitu), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(ruff_puff), .home = { .index = 6 }, .priority = 9, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_C, 9), }; Formation N(Formation_03) = { - { .actor = &N(lakitu), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(bzzap), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), }; Formation N(Formation_04) = { - { .actor = &N(lakitu), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(bzzap), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(lakitu), .home = { .index = 6 }, .priority = 8, }, - { .actor = &N(bzzap), .home = { .index = 7 }, .priority = 7, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_D, 7), }; Formation N(Formation_05) = { - { .actor = &N(lakitu), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(crazee_dayzee), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_C, 9), }; Formation N(Formation_06) = { - { .actor = &N(lakitu), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(spiny), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 9), }; Formation N(Formation_07) = { - { .actor = &N(lakitu), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(lakitu), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(spiny), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(spiny), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_D, 7), }; Formation N(Formation_08) = { - { .actor = &N(lakitu), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(lakitu), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(lakitu), .home = { .index = 6 }, .priority = 8, }, - { .actor = &N(spiny), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_D, 7), }; Formation N(Formation_09) = { - { .actor = &N(lakitu), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(lakitu), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(white_magikoopa), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(white_magikoopa), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0A) = { - { .actor = &N(lakitu), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(lakitu), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(red_magikoopa), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(red_magikoopa), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0B) = { - { .actor = &N(lakitu), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(lakitu), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(lakitu), .home = { .index = 6 }, .priority = 8, }, - { .actor = &N(yellow_magikoopa), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(yellow_magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0C) = { - { .actor = &N(spiny), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(spiny), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0D) = { - { .actor = &N(spiny), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(spiny), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(spiny), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0E) = { - { .actor = &N(spiny), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(crazee_dayzee), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_0F) = { - { .actor = &N(crazee_dayzee), .home = { .index = 1 }, .priority = 10, }, + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 10), }; Formation N(Formation_10) = { - { .actor = &N(crazee_dayzee), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(crazee_dayzee), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_C, 9), }; Formation N(Formation_11) = { - { .actor = &N(crazee_dayzee), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(crazee_dayzee), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(crazee_dayzee), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_C, 8), }; Formation N(Formation_12) = { - { .actor = &N(crazee_dayzee), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(crazee_dayzee), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(crazee_dayzee), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(crazee_dayzee), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_D, 7), }; Formation N(Formation_13) = { - { .actor = &N(crazee_dayzee), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 9, }, + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 9), }; Formation N(Formation_14) = { - { .actor = &N(crazee_dayzee), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(bzzap), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), }; Formation N(Formation_15) = { - { .actor = &N(crazee_dayzee), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(crazee_dayzee), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), }; Formation N(Formation_16) = { - { .actor = &N(crazee_dayzee), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(crazee_dayzee), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(amazy_dayzee), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_C, 8), }; Formation N(Formation_17) = { - { .actor = &N(bzzap), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 9, }, + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 9), }; Formation N(Formation_18) = { - { .actor = &N(bzzap), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(bzzap), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), }; Formation N(Formation_19) = { - { .actor = &N(bzzap), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(bzzap), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(green_magikoopa_flying), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(green_magikoopa_flying), BTL_POS_AIR_C, 8), }; Formation N(Formation_1A) = { - { .actor = &N(bzzap), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(ruff_puff), .home = { .index = 6 }, .priority = 9, }, + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_C, 9), }; Formation N(Formation_1B) = { - { .actor = &N(bzzap), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(ruff_puff), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), }; Formation N(Formation_1C) = { - { .actor = &N(amazy_dayzee), .home = { .index = 1 }, .priority = 10, }, + ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_B, 10), }; Formation N(Formation_1D) = { - { .actor = &N(amazy_dayzee), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(bzzap), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), }; Formation N(Formation_1E) = { - { .actor = &N(amazy_dayzee), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(amazy_dayzee), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(amazy_dayzee), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(amazy_dayzee), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(amazy_dayzee), BTL_POS_GROUND_D, 7), }; Formation N(Formation_1F) = { - { .actor = &N(ruff_puff), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(ruff_puff), .home = { .index = 6 }, .priority = 9, }, + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_C, 9), }; Formation N(Formation_20) = { - { .actor = &N(ruff_puff), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(ruff_puff), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(ruff_puff), .home = { .index = 6 }, .priority = 8, }, - { .actor = &N(ruff_puff), .home = { .index = 7 }, .priority = 7, }, + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_D, 7), }; Formation N(Formation_21) = { - { .actor = &N(ruff_puff), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(lakitu), .home = { .index = 6 }, .priority = 9, }, + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(lakitu), BTL_POS_AIR_C, 9), }; Formation N(Formation_22) = { - { .actor = &N(ruff_puff), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(ruff_puff), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), }; Formation N(Formation_23) = { - { .actor = &N(ruff_puff), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(ruff_puff), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(crazee_dayzee), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(crazee_dayzee), BTL_POS_GROUND_C, 8), }; Formation N(Formation_24) = { - { .actor = &N(ruff_puff), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(ruff_puff), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(yellow_magikoopa_flying), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(ruff_puff), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(yellow_magikoopa_flying), BTL_POS_AIR_C, 8), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(flo_01), "ジュゲムx2"), - BATTLE(N(Formation_01), &N(flo_01), "ジュゲムx3"), - BATTLE(N(Formation_02), &N(flo_01), "ジュゲム,クモクモーン"), - BATTLE(N(Formation_03), &N(flo_01), "ジュゲム,ハッチーx2"), - BATTLE(N(Formation_04), &N(flo_01), "ジュゲム,ハッチー,ジュゲム,ハッチー"), - BATTLE(N(Formation_05), &N(flo_01), "ジュゲム,パンジー"), - BATTLE(N(Formation_06), &N(flo_01), "ジュゲム,トゲゾー"), - BATTLE(N(Formation_07), &N(flo_01), "ジュゲムx2,トゲゾーx2"), - BATTLE(N(Formation_08), &N(flo_01), "ジュゲムx3,トゲゾー"), - BATTLE(N(Formation_09), &N(flo_01), "ジュゲムx2,ホワイトカメック"), - BATTLE(N(Formation_0A), &N(flo_01), "ジュゲムx2,レッドカメック"), - BATTLE(N(Formation_0B), &N(flo_01), "ジュゲムx3,イエローカメック"), - BATTLE(N(Formation_0C), &N(flo_01), "トゲゾーx2"), - BATTLE(N(Formation_0D), &N(flo_01), "トゲゾーx3"), - BATTLE(N(Formation_0E), &N(flo_01), "トゲゾー,パンジーさん,かいふくヘイホー"), - BATTLE(N(Formation_0F), &N(flo_01), "パンジーさん"), - BATTLE(N(Formation_10), &N(flo_01), "パンジーさんx2"), - BATTLE(N(Formation_11), &N(flo_01), "パンジーさんx3"), - BATTLE(N(Formation_12), &N(flo_01), "パンジーさんx4"), - BATTLE(N(Formation_13), &N(flo_01), "パンジーさん,ハッチー"), - BATTLE(N(Formation_14), &N(flo_01), "パンジーさん,ハッチーx2"), - BATTLE(N(Formation_15), &N(flo_01), "パンジーさんx2,ハッチー"), - BATTLE(N(Formation_16), &N(flo_01), "パンジーさんx2,きらめくパンジーさん"), - BATTLE(N(Formation_17), &N(flo_01), "ハッチーx2"), - BATTLE(N(Formation_18), &N(flo_01), "ハッチーx3"), - BATTLE(N(Formation_19), &N(flo_01), "ハッチーx2,グリーンカメック(そら)"), - BATTLE(N(Formation_1A), &N(flo_01), "ハッチー,クモクモーン"), - BATTLE(N(Formation_1B), &N(flo_01), "ハッチー,クモクモーン,ハッチー"), - BATTLE(N(Formation_1C), &N(flo_01), "きらめくパンジーさん"), - BATTLE(N(Formation_1D), &N(flo_01), "きらめくパンジーさん,ハッチーx2"), - BATTLE(N(Formation_1E), &N(flo_01), "きらめくパンジーさんx4"), - BATTLE(N(Formation_1F), &N(flo_01), "クモクモーンx2"), - BATTLE(N(Formation_20), &N(flo_01), "クモクモーンx4"), - BATTLE(N(Formation_21), &N(flo_01), "クモクモーン,ジュゲム"), - BATTLE(N(Formation_22), &N(flo_01), "クモクモーンx2,ハッチー"), - BATTLE(N(Formation_23), &N(flo_01), "クモクモーンx2,パンジー"), - BATTLE(N(Formation_24), &N(flo_01), "クモクモーンx2,イエローカメック(そら)"), + BATTLE(N(Formation_00), N(flo_01), "ジュゲムx2"), + BATTLE(N(Formation_01), N(flo_01), "ジュゲムx3"), + BATTLE(N(Formation_02), N(flo_01), "ジュゲム,クモクモーン"), + BATTLE(N(Formation_03), N(flo_01), "ジュゲム,ハッチーx2"), + BATTLE(N(Formation_04), N(flo_01), "ジュゲム,ハッチー,ジュゲム,ハッチー"), + BATTLE(N(Formation_05), N(flo_01), "ジュゲム,パンジー"), + BATTLE(N(Formation_06), N(flo_01), "ジュゲム,トゲゾー"), + BATTLE(N(Formation_07), N(flo_01), "ジュゲムx2,トゲゾーx2"), + BATTLE(N(Formation_08), N(flo_01), "ジュゲムx3,トゲゾー"), + BATTLE(N(Formation_09), N(flo_01), "ジュゲムx2,ホワイトカメック"), + BATTLE(N(Formation_0A), N(flo_01), "ジュゲムx2,レッドカメック"), + BATTLE(N(Formation_0B), N(flo_01), "ジュゲムx3,イエローカメック"), + BATTLE(N(Formation_0C), N(flo_01), "トゲゾーx2"), + BATTLE(N(Formation_0D), N(flo_01), "トゲゾーx3"), + BATTLE(N(Formation_0E), N(flo_01), "トゲゾー,パンジーさん,かいふくヘイホー"), + BATTLE(N(Formation_0F), N(flo_01), "パンジーさん"), + BATTLE(N(Formation_10), N(flo_01), "パンジーさんx2"), + BATTLE(N(Formation_11), N(flo_01), "パンジーさんx3"), + BATTLE(N(Formation_12), N(flo_01), "パンジーさんx4"), + BATTLE(N(Formation_13), N(flo_01), "パンジーさん,ハッチー"), + BATTLE(N(Formation_14), N(flo_01), "パンジーさん,ハッチーx2"), + BATTLE(N(Formation_15), N(flo_01), "パンジーさんx2,ハッチー"), + BATTLE(N(Formation_16), N(flo_01), "パンジーさんx2,きらめくパンジーさん"), + BATTLE(N(Formation_17), N(flo_01), "ハッチーx2"), + BATTLE(N(Formation_18), N(flo_01), "ハッチーx3"), + BATTLE(N(Formation_19), N(flo_01), "ハッチーx2,グリーンカメック(そら)"), + BATTLE(N(Formation_1A), N(flo_01), "ハッチー,クモクモーン"), + BATTLE(N(Formation_1B), N(flo_01), "ハッチー,クモクモーン,ハッチー"), + BATTLE(N(Formation_1C), N(flo_01), "きらめくパンジーさん"), + BATTLE(N(Formation_1D), N(flo_01), "きらめくパンジーさん,ハッチーx2"), + BATTLE(N(Formation_1E), N(flo_01), "きらめくパンジーさんx4"), + BATTLE(N(Formation_1F), N(flo_01), "クモクモーンx2"), + BATTLE(N(Formation_20), N(flo_01), "クモクモーンx4"), + BATTLE(N(Formation_21), N(flo_01), "クモクモーン,ジュゲム"), + BATTLE(N(Formation_22), N(flo_01), "クモクモーンx2,ハッチー"), + BATTLE(N(Formation_23), N(flo_01), "クモクモーンx2,パンジー"), + BATTLE(N(Formation_24), N(flo_01), "クモクモーンx2,イエローカメック(そら)"), {}, }; StageList N(Stages) = { - { "flo_01", &N(flo_01) }, - { "flo_01b", &N(flo_01b) }, - { "flo_01c", &N(flo_01c) }, - { "flo_02", &N(flo_02) }, - { "flo_02b", &N(flo_02b) }, - { "flo_02c", &N(flo_02c) }, - { "flo_03", &N(flo_03) }, - { "flo_04", &N(flo_04) }, - { "flo_05", &N(flo_05) }, - { "flo_06", &N(flo_06) }, + STAGE("flo_01", N(flo_01)), + STAGE("flo_01b", N(flo_01b)), + STAGE("flo_01c", N(flo_01c)), + STAGE("flo_02", N(flo_02)), + STAGE("flo_02b", N(flo_02b)), + STAGE("flo_02c", N(flo_02c)), + STAGE("flo_03", N(flo_03)), + STAGE("flo_04", N(flo_04)), + STAGE("flo_05", N(flo_05)), + STAGE("flo_06", N(flo_06)), {}, }; diff --git a/src/battle/area/flo2/actor/huff_n_puff.c b/src/battle/area/flo2/actor/huff_n_puff.c index f3a9d00a67..749d408dcb 100644 --- a/src/battle/area/flo2/actor/huff_n_puff.c +++ b/src/battle/area/flo2/actor/huff_n_puff.c @@ -9,6 +9,13 @@ #define NAMESPACE b_area_flo2_huff_n_puff +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, +}; + enum N(ActorVars) { N(VAR_FLAGS) = 0, N(VAR_TURN_NUMBER) = 1, @@ -65,9 +72,9 @@ API_CALLABLE(SetHealthBarPos) { Bytecode* args = script->ptrReadPos; Actor* actor = get_actor(ACTOR_ENEMY0); - actor->healthBarPosition.x = actor->homePos.x + evt_get_variable(script, *args++); - actor->healthBarPosition.y = actor->homePos.y + evt_get_variable(script, *args++); - actor->healthBarPosition.z = actor->homePos.z; + actor->healthBarPos.x = actor->homePos.x + evt_get_variable(script, *args++); + actor->healthBarPos.y = actor->homePos.y + evt_get_variable(script, *args++); + actor->healthBarPos.z = actor->homePos.z; return ApiStatus_DONE2; } @@ -244,108 +251,108 @@ API_CALLABLE(N(UpdateLerp)) { s32 N(TuffPuffActorIds)[32] = { }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_HuffNPuff_Anim01, - STATUS_STONE, ANIM_HuffNPuff_Anim01, - STATUS_SLEEP, ANIM_HuffNPuff_Anim01, - STATUS_POISON, ANIM_HuffNPuff_Anim01, - STATUS_STOP, ANIM_HuffNPuff_Anim01, - STATUS_STATIC, ANIM_HuffNPuff_Anim01, - STATUS_PARALYZE, ANIM_HuffNPuff_Anim01, - STATUS_PARALYZE, ANIM_HuffNPuff_Anim01, - STATUS_DIZZY, ANIM_HuffNPuff_Anim01, - STATUS_DIZZY, ANIM_HuffNPuff_Anim01, - STATUS_FEAR, ANIM_HuffNPuff_Anim01, + STATUS_KEY_NORMAL, ANIM_HuffNPuff_Anim01, + STATUS_KEY_STONE, ANIM_HuffNPuff_Anim01, + STATUS_KEY_SLEEP, ANIM_HuffNPuff_Anim01, + STATUS_KEY_POISON, ANIM_HuffNPuff_Anim01, + STATUS_KEY_STOP, ANIM_HuffNPuff_Anim01, + STATUS_KEY_STATIC, ANIM_HuffNPuff_Anim01, + STATUS_KEY_PARALYZE, ANIM_HuffNPuff_Anim01, + STATUS_KEY_PARALYZE, ANIM_HuffNPuff_Anim01, + STATUS_KEY_DIZZY, ANIM_HuffNPuff_Anim01, + STATUS_KEY_DIZZY, ANIM_HuffNPuff_Anim01, + STATUS_KEY_FEAR, ANIM_HuffNPuff_Anim01, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_HuffNPuff_Anim02, - STATUS_STONE, ANIM_HuffNPuff_Anim02, - STATUS_SLEEP, ANIM_HuffNPuff_Anim02, - STATUS_POISON, ANIM_HuffNPuff_Anim02, - STATUS_STOP, ANIM_HuffNPuff_Anim02, - STATUS_STATIC, ANIM_HuffNPuff_Anim02, - STATUS_PARALYZE, ANIM_HuffNPuff_Anim02, - STATUS_PARALYZE, ANIM_HuffNPuff_Anim02, - STATUS_DIZZY, ANIM_HuffNPuff_Anim02, - STATUS_DIZZY, ANIM_HuffNPuff_Anim02, - STATUS_FEAR, ANIM_HuffNPuff_Anim02, + STATUS_KEY_NORMAL, ANIM_HuffNPuff_Anim02, + STATUS_KEY_STONE, ANIM_HuffNPuff_Anim02, + STATUS_KEY_SLEEP, ANIM_HuffNPuff_Anim02, + STATUS_KEY_POISON, ANIM_HuffNPuff_Anim02, + STATUS_KEY_STOP, ANIM_HuffNPuff_Anim02, + STATUS_KEY_STATIC, ANIM_HuffNPuff_Anim02, + STATUS_KEY_PARALYZE, ANIM_HuffNPuff_Anim02, + STATUS_KEY_PARALYZE, ANIM_HuffNPuff_Anim02, + STATUS_KEY_DIZZY, ANIM_HuffNPuff_Anim02, + STATUS_KEY_DIZZY, ANIM_HuffNPuff_Anim02, + STATUS_KEY_FEAR, ANIM_HuffNPuff_Anim02, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_HuffNPuff_Anim03, - STATUS_STONE, ANIM_HuffNPuff_Anim03, - STATUS_SLEEP, ANIM_HuffNPuff_Anim03, - STATUS_POISON, ANIM_HuffNPuff_Anim03, - STATUS_STOP, ANIM_HuffNPuff_Anim03, - STATUS_STATIC, ANIM_HuffNPuff_Anim03, - STATUS_PARALYZE, ANIM_HuffNPuff_Anim03, - STATUS_PARALYZE, ANIM_HuffNPuff_Anim03, - STATUS_DIZZY, ANIM_HuffNPuff_Anim03, - STATUS_DIZZY, ANIM_HuffNPuff_Anim03, - STATUS_FEAR, ANIM_HuffNPuff_Anim03, + STATUS_KEY_NORMAL, ANIM_HuffNPuff_Anim03, + STATUS_KEY_STONE, ANIM_HuffNPuff_Anim03, + STATUS_KEY_SLEEP, ANIM_HuffNPuff_Anim03, + STATUS_KEY_POISON, ANIM_HuffNPuff_Anim03, + STATUS_KEY_STOP, ANIM_HuffNPuff_Anim03, + STATUS_KEY_STATIC, ANIM_HuffNPuff_Anim03, + STATUS_KEY_PARALYZE, ANIM_HuffNPuff_Anim03, + STATUS_KEY_PARALYZE, ANIM_HuffNPuff_Anim03, + STATUS_KEY_DIZZY, ANIM_HuffNPuff_Anim03, + STATUS_KEY_DIZZY, ANIM_HuffNPuff_Anim03, + STATUS_KEY_FEAR, ANIM_HuffNPuff_Anim03, STATUS_END, }; s32 N(IdleAnimations_charged1)[] = { - STATUS_NORMAL, ANIM_HuffNPuff_Anim11, + STATUS_KEY_NORMAL, ANIM_HuffNPuff_Anim11, STATUS_END, }; s32 N(IdleAnimations_charged2)[] = { - STATUS_NORMAL, ANIM_HuffNPuff_Anim12, + STATUS_KEY_NORMAL, ANIM_HuffNPuff_Anim12, STATUS_END, }; s32 N(IdleAnimations_charged3)[] = { - STATUS_NORMAL, ANIM_HuffNPuff_Anim13, + STATUS_KEY_NORMAL, ANIM_HuffNPuff_Anim13, STATUS_END, }; s32 N(IdleAnimations4)[] = { - STATUS_NORMAL, ANIM_RuffPuff_Anim02, + STATUS_KEY_NORMAL, ANIM_RuffPuff_Anim02, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 99, - ELEMENT_MYSTERY, 0, - ELEMENT_JUMP, 0, - ELEMENT_SMASH, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 99, + ELEMENT_MYSTERY, 0, + ELEMENT_JUMP, 0, + ELEMENT_SMASH, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_8 | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 40 }, .opacity = 255, @@ -357,7 +364,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -369,7 +376,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -381,7 +388,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -398,8 +405,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_HUFF_N_PUFF, .level = 80, .maxHP = 60, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(EVS_Init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -411,9 +418,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 70, .coinReward = 0, .size = { 125, 95 }, - .hpBarOffset = { -17, -31 }, + .healthBarOffset = { -17, -31 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(EVS_Init) = { @@ -446,14 +453,14 @@ EvtScript N(UpdateSize) = { EVT_MUL(LVar1, 40) EVT_DIV(LVar0, 100) EVT_DIV(LVar1, 100) - EVT_CALL(SetTargetOffset, ACTOR_ENEMY0, 1, LVar0, LVar1) + EVT_CALL(SetTargetOffset, ACTOR_ENEMY0, PRT_MAIN, LVar0, LVar1) EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_SCALE_X), LVar0) EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_SCALE_Y), LVar1) EVT_MUL(LVar0, -15) EVT_MUL(LVar1, -50) EVT_DIV(LVar0, 100) EVT_DIV(LVar1, 100) - EVT_CALL(SetProjectileTargetOffset, ACTOR_ENEMY0, 1, LVar0, LVar1) + EVT_CALL(SetProjectileTargetOffset, ACTOR_ENEMY0, PRT_MAIN, LVar0, LVar1) EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_SCALE_X), LVar0) EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_SCALE_Y), LVar1) EVT_MUL(LVar0, -17) @@ -541,11 +548,11 @@ EvtScript N(idle) = { Vec3i N(tuff_puff_pos) = { NPC_DISPOSE_LOCATION }; Formation N(formation_tuff_puff_small) = { - { .actor = &b_area_flo2_tuff_puff, .home = { .vec = &N(tuff_puff_pos) }, .priority = 0, }, + ACTOR_BY_POS(b_area_flo2_tuff_puff, N(tuff_puff_pos), 0), }; Formation N(formation_tuff_puff_large) = { - { .actor = &b_area_flo2_tuff_puff, .home = { .vec = &N(tuff_puff_pos) }, .priority = 0, .var0 = 1, }, + ACTOR_BY_POS(b_area_flo2_tuff_puff, N(tuff_puff_pos), 0, 1), }; EvtScript N(spawnTuffPuff) = { @@ -805,8 +812,8 @@ EvtScript N(OnDeath) = { EVT_CALL(StopSound, SOUND_35C) EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim08) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim09) EVT_SET(LVar0, 1) EVT_SET(LVar1, ANIM_HuffNPuff_Anim07) EVT_EXEC_WAIT(EVS_Enemy_Death) @@ -830,9 +837,9 @@ EvtScript N(OnBurn) = { EVT_SET_CONST(LVar3, ANIM_HuffNPuff_Anim24) EVT_SET_CONST(LVar4, ANIM_HuffNPuff_Anim25) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, LVar3) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, LVar4) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, LVar3) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, LVar4) EVT_WAIT(20) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TURN_NUMBER), LVar0) EVT_SWITCH(LVar0) @@ -848,9 +855,9 @@ EvtScript N(OnBurn) = { EVT_SET_CONST(LVar3, ANIM_HuffNPuff_Anim27) EVT_SET_CONST(LVar4, ANIM_HuffNPuff_Anim28) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, LVar3) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, LVar4) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, LVar3) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, LVar4) EVT_WAIT(10) EVT_RETURN EVT_END @@ -907,8 +914,8 @@ EvtScript N(OnBurnDeath) = { EVT_CALL(StopSound, SOUND_35C) EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim27) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim28) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim27) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim28) EVT_SET(LVar0, 1) EVT_SET(LVar1, ANIM_HuffNPuff_Anim26) EVT_EXEC_WAIT(EVS_Enemy_Death) @@ -1086,11 +1093,11 @@ EvtScript N(Speak1) = { EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim2D) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim2E) - EVT_CALL(ActorSpeak, MSG_CH6_00D0, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim2C, ANIM_HuffNPuff_Anim01) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim2D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim2E) + EVT_CALL(ActorSpeak, MSG_CH6_00D0, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim2C, ANIM_HuffNPuff_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim03) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_RETURN @@ -1106,11 +1113,11 @@ EvtScript N(Speak2) = { EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim2D) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim2E) - EVT_CALL(ActorSpeak, MSG_CH6_00D1, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim2C, ANIM_HuffNPuff_Anim01) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim2D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim2E) + EVT_CALL(ActorSpeak, MSG_CH6_00D1, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim2C, ANIM_HuffNPuff_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim03) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TUFF_PUFF_BIT_ARRAY), LVar0) EVT_IF_FLAG(LVar0, 0x00000010) @@ -1204,11 +1211,11 @@ EvtScript N(Speak3) = { EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim18) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim19) - EVT_CALL(ActorSpeak, MSG_CH6_00D3, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim17, ANIM_HuffNPuff_Anim17) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim19) + EVT_CALL(ActorSpeak, MSG_CH6_00D3, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim17, ANIM_HuffNPuff_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim03) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TUFF_PUFF_BIT_ARRAY), LVar0) EVT_IF_FLAG(LVar0, 0x00000010) @@ -1301,11 +1308,11 @@ EvtScript N(Speak4) = { EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim24) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim25) - EVT_CALL(ActorSpeak, MSG_CH6_00D5, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim23, ANIM_HuffNPuff_Anim23) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim24) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim25) + EVT_CALL(ActorSpeak, MSG_CH6_00D5, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim23, ANIM_HuffNPuff_Anim23) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim03) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TUFF_PUFF_BIT_ARRAY), LVar0) EVT_IF_FLAG(LVar0, 0x00000010) @@ -1371,11 +1378,11 @@ EvtScript N(Speak4) = { EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim24) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim25) - EVT_CALL(ActorSpeak, MSG_CH6_00D7, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim23, ANIM_HuffNPuff_Anim23) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim24) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim25) + EVT_CALL(ActorSpeak, MSG_CH6_00D7, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim23, ANIM_HuffNPuff_Anim23) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim03) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_RETURN @@ -1523,9 +1530,9 @@ EvtScript N(attackBodySlam) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_01) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim0B) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim0C) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim0D) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar5, LVar6, LVar7) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar5, LVar3, LVar7) @@ -1537,9 +1544,9 @@ EvtScript N(attackBodySlam) = { EVT_IF_EQ(LVar0, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim04) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim05) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim06) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(AddGoalPos, ACTOR_SELF, -80, 0, 0) EVT_CALL(JumpToGoal, ACTOR_SELF, 25, FALSE, FALSE, FALSE) @@ -1559,9 +1566,9 @@ EvtScript N(attackBodySlam) = { EVT_CALL(AddGoalPos, ACTOR_SELF, -20, 0, 0) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim01) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim03) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 80, -20, EASING_SIN_OUT) @@ -1569,9 +1576,9 @@ EvtScript N(attackBodySlam) = { EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim0B) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim0C) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim0D) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, LVar3, 5) @@ -1620,9 +1627,9 @@ EvtScript N(attackBodySlam) = { EVT_CALL(AddGoalPos, ACTOR_SELF, 30, 0, 0) EVT_CALL(JumpWithBounce, ACTOR_SELF, 20, EVT_FLOAT(4.0)) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim01) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 40, -20, EASING_SIN_OUT) EVT_END_CASE_GROUP @@ -1648,9 +1655,9 @@ EvtScript N(inhaleOne) = { EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_RuffPuff_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_RuffPuff_Anim12) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_RuffPuff_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_RuffPuff_Anim13) EVT_END_IF EVT_END_THREAD EVT_WAIT(15) @@ -1659,7 +1666,7 @@ EvtScript N(inhaleOne) = { EVT_CALL(MakeLerp, 255, 0, 10, EASING_LINEAR) EVT_LABEL(10) EVT_CALL(UpdateLerp) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 1) EVT_GOTO(10) @@ -1776,9 +1783,9 @@ EvtScript N(normalAction) = { EVT_END_IF EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3B0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim1A) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim1B) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim1A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim1C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, -13) EVT_ADD(LVar1, 0) @@ -1860,9 +1867,9 @@ EvtScript N(normalAction) = { EVT_CALL(RemoveEffect, LVar8) EVT_CALL(StopSound, SOUND_3B0) EVT_CALL(StopSound, SOUND_BIG_POWER_UP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim17) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim18) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim19) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim19) EVT_THREAD EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) @@ -1890,9 +1897,9 @@ EvtScript N(normalAction) = { EvtScript N(attackWindBreath) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim1A) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim1B) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim1A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim1C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SCALE_X), LVar3) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SCALE_Y), LVar4) @@ -1947,13 +1954,13 @@ EvtScript N(attackWindBreath) = { EVT_CALL(MoveBattleCamOver, 180) EVT_WAIT(90) EVT_CALL(StopSound, SOUND_3B0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim1D) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim1D) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim1E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim1D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim1D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim1E) EVT_WAIT(60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim20) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim21) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim22) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim21) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim22) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35D) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) @@ -2024,9 +2031,9 @@ EvtScript N(attackWindBreath) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim04) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim05) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim06) EVT_WAIT(20) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -2194,9 +2201,9 @@ EvtScript N(attackWindBreath) = { EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim01) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim03) EVT_WAIT(20) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -2216,13 +2223,13 @@ EvtScript N(electricCharge) = { EVT_CALL(SetBattleCamZoom, 400) EVT_CALL(SetBattleCamOffsetZ, 5) EVT_CALL(MoveBattleCamOver, 60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim11) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim12) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim13) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_charged1))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_charged2))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 3, EVT_PTR(N(IdleAnimations_charged3))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ELECTRIFIED, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim13) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_charged1))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_charged2))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_3, EVT_PTR(N(IdleAnimations_charged3))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ELECTRIFIED, TRUE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35C) EVT_CALL(N(StartRumbleWithParams), 70, 120) EVT_THREAD @@ -2272,13 +2279,13 @@ EvtScript N(attackGroundLightning) = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_EFFECT_SNAKING_STATIC), LVar0) EVT_CALL(RemoveEffect, LVar0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 3, EVT_PTR(N(IdleAnimations3))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim0E) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim0F) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim10) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ELECTRIFIED, FALSE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_3, EVT_PTR(N(IdleAnimations3))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim10) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ELECTRIFIED, FALSE) EVT_THREAD EVT_WAIT(20) EVT_CALL(MakeLerp, 200, 0, 30, EASING_LINEAR) @@ -2320,9 +2327,9 @@ EvtScript N(attackGroundLightning) = { EVT_IF_EQ(LVar0, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim04) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim05) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim06) EVT_WAIT(20) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -2360,13 +2367,13 @@ EvtScript N(electicCharge_copy) = { EVT_CALL(SetBattleCamZoom, 400) EVT_CALL(SetBattleCamOffsetZ, 5) EVT_CALL(MoveBattleCamOver, 60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim11) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim12) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim13) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_charged1))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_charged2))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 3, EVT_PTR(N(IdleAnimations_charged3))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ELECTRIFIED, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim13) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_charged1))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_charged2))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_3, EVT_PTR(N(IdleAnimations_charged3))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ELECTRIFIED, TRUE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35C) EVT_CALL(N(StartRumbleWithParams), 70, 120) EVT_THREAD @@ -2436,13 +2443,13 @@ EvtScript N(attackDirectLightning) = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_EFFECT_SNAKING_STATIC), LVar0) EVT_CALL(RemoveEffect, LVar0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 3, EVT_PTR(N(IdleAnimations3))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim0E) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim0F) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim10) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ELECTRIFIED, FALSE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_3, EVT_PTR(N(IdleAnimations3))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim10) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ELECTRIFIED, FALSE) EVT_THREAD EVT_WAIT(20) EVT_CALL(MakeLerp, 200, 0, 30, EASING_LINEAR) @@ -2466,9 +2473,9 @@ EvtScript N(attackDirectLightning) = { EVT_SUB(LVarD, 100) EVT_PLAY_EFFECT(EFFECT_LIGHTNING_BOLT, 0, LVarA, LVarB, LVarC, LVarD, 0, LVarF, EVT_FLOAT(1.5), 20, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim04) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim05) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim06) EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetGoalToHome, ACTOR_SELF) @@ -2516,9 +2523,9 @@ EvtScript N(attackDirectLightning) = { EVT_PLAY_EFFECT(EFFECT_LIGHTNING_BOLT, 0, LVar9, LVar1, LVar2, LVar3, LVar4, LVar5, EVT_FLOAT(1.2), 10, 0) EVT_END_THREAD EVT_WAIT(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim04) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim05) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim06) EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetGoalToHome, ACTOR_SELF) @@ -2575,9 +2582,9 @@ EvtScript N(attackDirectLightning) = { EVT_CASE_OR_EQ(2) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim01) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 40, -20, EASING_SIN_OUT) EVT_END_CASE_GROUP @@ -2599,13 +2606,13 @@ EvtScript N(attackGroundSlam) = { EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3B3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim1A) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim1B) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim1A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim1C) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim1D) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim1E) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim1D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim1E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim1F) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B6) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SCALE_X), LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SCALE_Y), LVar1) @@ -3598,9 +3605,9 @@ EvtScript N(attackGroundSlam) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HuffNPuff_Anim04) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_HuffNPuff_Anim05) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_HuffNPuff_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HuffNPuff_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_HuffNPuff_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_HuffNPuff_Anim06) EVT_WAIT(20) EVT_SET(LVarA, 0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TUFF_PUFF_BIT_ARRAY), LVar0) diff --git a/src/battle/area/flo2/actor/monty_mole_boss.c b/src/battle/area/flo2/actor/monty_mole_boss.c index 76b3444aab..929ab1b87c 100644 --- a/src/battle/area/flo2/actor/monty_mole_boss.c +++ b/src/battle/area/flo2/actor/monty_mole_boss.c @@ -13,42 +13,48 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SMASH, 0, - ELEMENT_THROW, -3, + ELEMENT_NORMAL, 0, + ELEMENT_SMASH, 0, + ELEMENT_THROW, -3, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 80, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 10, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 80, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 10, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 16 }, .opacity = 255, @@ -60,7 +66,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, -15 }, .targetOffset = { 0, 16 }, .opacity = 255, @@ -72,7 +78,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -89,8 +95,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_MONTY_MOLE_BOSS, .level = 19, .maxHP = 12, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -102,43 +108,43 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 34, 18 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_MontyMole_Dark_Anim01, - STATUS_STONE, ANIM_MontyMole_Dark_Anim00, - STATUS_SLEEP, ANIM_MontyMole_Dark_Anim14, - STATUS_POISON, ANIM_MontyMole_Dark_Anim01, - STATUS_STOP, ANIM_MontyMole_Dark_Anim00, - STATUS_STATIC, ANIM_MontyMole_Dark_Anim01, - STATUS_PARALYZE, ANIM_MontyMole_Dark_Anim00, - STATUS_DIZZY, ANIM_MontyMole_Dark_Anim14, - STATUS_FEAR, ANIM_MontyMole_Dark_Anim14, + STATUS_KEY_NORMAL, ANIM_MontyMole_Dark_Anim01, + STATUS_KEY_STONE, ANIM_MontyMole_Dark_Anim00, + STATUS_KEY_SLEEP, ANIM_MontyMole_Dark_Anim14, + STATUS_KEY_POISON, ANIM_MontyMole_Dark_Anim01, + STATUS_KEY_STOP, ANIM_MontyMole_Dark_Anim00, + STATUS_KEY_STATIC, ANIM_MontyMole_Dark_Anim01, + STATUS_KEY_PARALYZE, ANIM_MontyMole_Dark_Anim00, + STATUS_KEY_DIZZY, ANIM_MontyMole_Dark_Anim14, + STATUS_KEY_FEAR, ANIM_MontyMole_Dark_Anim14, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_MontyMole_Dark_Anim0F, + STATUS_KEY_NORMAL, ANIM_MontyMole_Dark_Anim0F, STATUS_END, }; s32 N(IdleAnimations_hole)[] = { - STATUS_NORMAL, ANIM_MontyMole_Dark_Anim12, + STATUS_KEY_NORMAL, ANIM_MontyMole_Dark_Anim12, STATUS_END, }; s32 N(IdleAnimations_unused)[] = { - STATUS_NORMAL, ANIM_MontyMole_Dark_Anim06, + STATUS_KEY_NORMAL, ANIM_MontyMole_Dark_Anim06, STATUS_END, }; -ActorPartBlueprint N(parts_hole)[] = { +ActorPartBlueprint N(ActorParts_hole)[] = { { .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -153,19 +159,19 @@ ActorPartBlueprint N(parts_hole)[] = { EvtScript N(init_hole) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF EVT_RETURN EVT_END }; ActorBlueprint N(hole) = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, + .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, .type = ACTOR_TYPE_MONTY_HOLE, .level = 9, .maxHP = 5, - .partCount = ARRAY_COUNT(N(parts_hole)), - .partsData = N(parts_hole), + .partCount = ARRAY_COUNT(N(ActorParts_hole)), + .partsData = N(ActorParts_hole), .initScript = &N(init_hole), .statusTable = NULL, .escapeChance = 80, @@ -177,19 +183,19 @@ ActorBlueprint N(hole) = { .powerBounceChance = 90, .coinReward = 2, .size = { 32, 18 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; Vec3i N(hole_pos) = { NPC_DISPOSE_LOCATION }; Formation N(formation_hole_1) = { - { .actor = &N(hole), .home = { .vec = &N(hole_pos) }, .priority = 0, }, + ACTOR_BY_POS(N(hole), N(hole_pos), 0), }; Formation N(formation_hole_2) = { - { .actor = &N(hole), .home = { .vec = &N(hole_pos) }, .priority = 0, .var0 = 1, }, + ACTOR_BY_POS(N(hole), N(hole_pos), 0, 1), }; EvtScript N(onDeath) = { @@ -231,12 +237,12 @@ EvtScript N(handleEvent) = { EVT_IF_FLAG(LVarE, DAMAGE_TYPE_SMASH) EVT_CHILD_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim07) EVT_END_CHILD_THREAD EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim06) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim08) EVT_WAIT(10) EVT_ELSE EVT_SET_CONST(LVar0, 1) @@ -264,14 +270,14 @@ EvtScript N(handleEvent) = { EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SMASH) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim11) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim11) EVT_WAIT(80) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim10) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim10) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim14) EVT_WAIT(20) EVT_ELSE EVT_SET_CONST(LVar0, 1) @@ -283,7 +289,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim05) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim06) EVT_WAIT(10) EVT_EXEC_WAIT(N(onDeath)) EVT_SET_CONST(LVar0, 1) @@ -291,21 +297,21 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim06) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim07) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim08) EVT_WAIT(8) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim06) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim07) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim08) EVT_WAIT(15) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_DMG_APPLY, TRUE) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_hole))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_hole))) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) EVT_SET_CONST(LVar0, 1) @@ -314,29 +320,29 @@ EvtScript N(handleEvent) = { EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_EXEC_WAIT(N(onDeath)) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -5, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim19) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim19) EVT_ELSE EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -9, 0) EVT_ELSE EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -23, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim09) EVT_END_IF EVT_WAIT(1000) EVT_RETURN EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim11) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim11) EVT_WAIT(40) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim10) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim10) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim14) EVT_WAIT(20) EVT_CASE_EQ(EVENT_UP_AND_AWAY) EVT_EXEC_WAIT(N(onDeath)) @@ -363,21 +369,21 @@ EvtScript N(takeTurn) = { EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) EVT_END_CHILD_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Dark_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Dark_Anim04) EVT_WAIT(37) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 3, SOUND_MOLE_THROW) - EVT_CALL(SetPartSounds, ACTOR_SELF, 3, ACTOR_SOUND_FLY, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_3, SOUND_MOLE_THROW) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_3, ACTOR_SOUND_FLY, 0, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -388,11 +394,11 @@ EvtScript N(takeTurn) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 100) EVT_SET(LVar1, -5) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(12.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MontyMole_Dark_Anim0F) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 30, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(12.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MontyMole_Dark_Anim0F) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, 30, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF @@ -405,10 +411,10 @@ EvtScript N(takeTurn) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(12.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MontyMole_Dark_Anim0F) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 20, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(12.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MontyMole_Dark_Anim0F) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, 20, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) @@ -417,13 +423,13 @@ EvtScript N(takeTurn) = { EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) EVT_SET(LVar1, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 25, EASING_LINEAR) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(4.0)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, 25, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(4.0)) EVT_SUB(LVar0, 20) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 21, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, 21, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/flo2/actor/spike.c b/src/battle/area/flo2/actor/spike.c index f503defb25..fd27b6f34c 100644 --- a/src/battle/area/flo2/actor/spike.c +++ b/src/battle/area/flo2/actor/spike.c @@ -11,58 +11,63 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleLakilester_Idle, - STATUS_STONE, ANIM_BattleLakilester_Still, - STATUS_SLEEP, ANIM_BattleLakilester_Block, - STATUS_POISON, ANIM_BattleLakilester_Idle, - STATUS_STOP, ANIM_BattleLakilester_Still, - STATUS_STATIC, ANIM_BattleLakilester_Idle, - STATUS_PARALYZE, ANIM_BattleLakilester_Still, - STATUS_DIZZY, ANIM_BattleLakilester_Injured, - STATUS_FEAR, ANIM_BattleLakilester_Idle, + STATUS_KEY_NORMAL, ANIM_BattleLakilester_Idle, + STATUS_KEY_STONE, ANIM_BattleLakilester_Still, + STATUS_KEY_SLEEP, ANIM_BattleLakilester_Block, + STATUS_KEY_POISON, ANIM_BattleLakilester_Idle, + STATUS_KEY_STOP, ANIM_BattleLakilester_Still, + STATUS_KEY_STATIC, ANIM_BattleLakilester_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleLakilester_Still, + STATUS_KEY_DIZZY, ANIM_BattleLakilester_Injured, + STATUS_KEY_FEAR, ANIM_BattleLakilester_Idle, STATUS_END, }; s32 N(IdleAnimations_spiny)[] = { - STATUS_NORMAL, ANIM_BattleLakilester_Spiny, + STATUS_KEY_NORMAL, ANIM_BattleLakilester_Spiny, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 40, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 40, - STATUS_SHRINK, 50, - STATUS_STOP, 50, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 40, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 40, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 50, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 35 }, .opacity = 255, @@ -74,7 +79,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -91,8 +96,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SPIKE, .level = 40, .maxHP = 50, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -104,9 +109,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 32, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -14, 20 }, - .statusMessageOffset = { 6, 32 }, + .statusTextOffset = { 6, 32 }, }; EvtScript N(init) = { @@ -123,11 +128,11 @@ EvtScript N(idle) = { }; EvtScript N(returnHome) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Idle) EVT_RETURN EVT_END }; @@ -241,29 +246,29 @@ EvtScript N(attack) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, 20, 30, LVar2) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Idle) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) EVT_ADD(LVar0, -1) EVT_ADD(LVar1, 4) EVT_ADD(LVar2, 2) - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE EVT_ADD(LVar0, -3) EVT_ADD(LVar1, 10) EVT_ADD(LVar2, 5) - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_BattleLakilester_Spiny) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_LiftSpiny) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_BattleLakilester_Spiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_LiftSpiny) EVT_LOOP(4) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) @@ -271,7 +276,7 @@ EvtScript N(attack) = { EVT_ELSE EVT_ADD(LVar1, 6) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -292,43 +297,43 @@ EvtScript N(attack) = { EVT_THREAD EVT_LOOP(15) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, 1, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, 1, 0, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, -1, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -1, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -1, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, 0, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, 0, 0, 0) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_HoldSpiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_HoldSpiny) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_StrainHoldSpiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_StrainHoldSpiny) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_ThrowSpiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_ThrowSpiny) EVT_WAIT(3) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_2C6) - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_2C6) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_JUMP, 0, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_BattleLakilester_SpinySpin) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.5)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_BattleLakilester_SpinySpin) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.5)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RandInt, 100, LVar3) EVT_SUB(LVar3, 50) EVT_ADD(LVar0, LVar3) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 20, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 20, TRUE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_THREAD EVT_ADD(LVar0, -50) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 15, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 15, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -336,26 +341,26 @@ EvtScript N(attack) = { EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(returnHome)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_BattleLakilester_SpinySpin) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.5)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_BattleLakilester_SpinySpin) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(1.5)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 20, TRUE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_THREAD EVT_ADD(LVar0, -50) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 15, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 15, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) diff --git a/src/battle/area/flo2/actor/tuff_puff.c b/src/battle/area/flo2/actor/tuff_puff.c index 957452dc3d..05d0d79b57 100644 --- a/src/battle/area/flo2/actor/tuff_puff.c +++ b/src/battle/area/flo2/actor/tuff_puff.c @@ -6,6 +6,17 @@ #define NAMESPACE b_area_flo2_tuff_puff +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(nextTurn); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + enum N(actorVars) { N(VAR_IS_BIG) = 0, N(VAR_INDEX) = 1, @@ -14,80 +25,74 @@ enum N(actorVars) { N(VAR_SCALE_Y) = 4, }; -extern EvtScript N(init); -extern EvtScript N(takeTurn); -extern EvtScript N(idle); -extern EvtScript N(handleEvent); -extern EvtScript N(nextTurn); - s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_RuffPuff_Anim02, - STATUS_STONE, ANIM_RuffPuff_Anim00, - STATUS_SLEEP, ANIM_RuffPuff_Anim02, - STATUS_POISON, ANIM_RuffPuff_Anim02, - STATUS_STOP, ANIM_RuffPuff_Anim00, - STATUS_STATIC, ANIM_RuffPuff_Anim02, - STATUS_PARALYZE, ANIM_RuffPuff_Anim02, - STATUS_PARALYZE, ANIM_RuffPuff_Anim00, - STATUS_DIZZY, ANIM_RuffPuff_Anim02, - STATUS_DIZZY, ANIM_RuffPuff_Anim02, - STATUS_FEAR, ANIM_RuffPuff_Anim02, + STATUS_KEY_NORMAL, ANIM_RuffPuff_Anim02, + STATUS_KEY_STONE, ANIM_RuffPuff_Anim00, + STATUS_KEY_SLEEP, ANIM_RuffPuff_Anim02, + STATUS_KEY_POISON, ANIM_RuffPuff_Anim02, + STATUS_KEY_STOP, ANIM_RuffPuff_Anim00, + STATUS_KEY_STATIC, ANIM_RuffPuff_Anim02, + STATUS_KEY_PARALYZE, ANIM_RuffPuff_Anim02, + STATUS_KEY_PARALYZE, ANIM_RuffPuff_Anim00, + STATUS_KEY_DIZZY, ANIM_RuffPuff_Anim02, + STATUS_KEY_DIZZY, ANIM_RuffPuff_Anim02, + STATUS_KEY_FEAR, ANIM_RuffPuff_Anim02, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_RuffPuff_Anim03, - STATUS_STONE, ANIM_RuffPuff_Anim01, - STATUS_SLEEP, ANIM_RuffPuff_Anim03, - STATUS_POISON, ANIM_RuffPuff_Anim03, - STATUS_STOP, ANIM_RuffPuff_Anim01, - STATUS_STATIC, ANIM_RuffPuff_Anim03, - STATUS_PARALYZE, ANIM_RuffPuff_Anim03, - STATUS_PARALYZE, ANIM_RuffPuff_Anim01, - STATUS_DIZZY, ANIM_RuffPuff_Anim03, - STATUS_DIZZY, ANIM_RuffPuff_Anim03, - STATUS_FEAR, ANIM_RuffPuff_Anim03, + STATUS_KEY_NORMAL, ANIM_RuffPuff_Anim03, + STATUS_KEY_STONE, ANIM_RuffPuff_Anim01, + STATUS_KEY_SLEEP, ANIM_RuffPuff_Anim03, + STATUS_KEY_POISON, ANIM_RuffPuff_Anim03, + STATUS_KEY_STOP, ANIM_RuffPuff_Anim01, + STATUS_KEY_STATIC, ANIM_RuffPuff_Anim03, + STATUS_KEY_PARALYZE, ANIM_RuffPuff_Anim03, + STATUS_KEY_PARALYZE, ANIM_RuffPuff_Anim01, + STATUS_KEY_DIZZY, ANIM_RuffPuff_Anim03, + STATUS_KEY_DIZZY, ANIM_RuffPuff_Anim03, + STATUS_KEY_FEAR, ANIM_RuffPuff_Anim03, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 99, - ELEMENT_MYSTERY, 0, - ELEMENT_JUMP, 0, - ELEMENT_SMASH, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 99, + ELEMENT_MYSTERY, 0, + ELEMENT_JUMP, 0, + ELEMENT_SMASH, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -99,7 +104,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_2, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -50 }, .opacity = 255, @@ -116,8 +121,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_TUFF_PUFF, .level = 0, .maxHP = 1, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -129,9 +134,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 0, .size = { 24, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 0 }, - .statusMessageOffset = { 10, 10 }, + .statusTextOffset = { 10, 10 }, }; EvtScript N(init) = { @@ -141,22 +146,22 @@ EvtScript N(init) = { EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn))) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, -1, -9) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -1, 9) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -1, -41) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_2, -1, -9) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -1, 9) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, -1, -41) EVT_CALL(SetActorSize, ACTOR_SELF, 20, 25) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_RuffPuff_Anim02) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_RuffPuff_Anim02) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_IS_BIG), 0) EVT_ELSE - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -8, -13) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, -8, -13) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 1, 14) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, 1, -36) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -8, -13) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_2, -8, -13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 1, 14) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, 1, -36) EVT_CALL(SetActorSize, ACTOR_SELF, 28, 35) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_RuffPuff_Anim03) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_RuffPuff_Anim03) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_IS_BIG), 1) EVT_END_IF EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_2), 0) diff --git a/src/battle/area/flo2/area.c b/src/battle/area/flo2/area.c index 66595051c9..589e12cac8 100644 --- a/src/battle/area/flo2/area.c +++ b/src/battle/area/flo2/area.c @@ -21,55 +21,55 @@ extern Stage N(flo_06); Vec3i N(huff_n_puff_pos) = { 80, 80, 0 }; Formation N(Formation_01) = { - { .actor = &N(huff_n_puff), .home = { .vec = &N(huff_n_puff_pos) }, .priority = 10, }, + ACTOR_BY_POS(N(huff_n_puff), N(huff_n_puff_pos), 10), }; Formation N(Formation_02) = { - { .actor = &N(monty_mole_boss), .home = { .index = 1 }, .priority = 10, }, + ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_B, 10), }; Formation N(Formation_03) = { - { .actor = &N(monty_mole_boss), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(monty_mole_boss), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_C, 9), }; Formation N(Formation_04) = { - { .actor = &N(monty_mole_boss), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(monty_mole_boss), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(monty_mole_boss), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_C, 8), }; Formation N(Formation_05) = { - { .actor = &N(monty_mole_boss), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(monty_mole_boss), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(monty_mole_boss), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(monty_mole_boss), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(monty_mole_boss), BTL_POS_GROUND_D, 7), }; Formation N(Formation_06) = { - { .actor = &N(spike), .home = { .index = 5 }, .priority = 10, }, + ACTOR_BY_IDX(N(spike), BTL_POS_AIR_B, 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_01), &N(flo_04), "オズモーン"), - BATTLE(N(Formation_02), &N(flo_01), "フラワーチョロプー"), - BATTLE(N(Formation_03), &N(flo_01), "フラワーチョロプーx2"), - BATTLE(N(Formation_04), &N(flo_01), "フラワーチョロプーx3"), - BATTLE(N(Formation_05), &N(flo_01), "フラワーチョロプーx4"), - BATTLE(N(Formation_06), &N(flo_01), "ジョナサン?"), + BATTLE(N(Formation_01), N(flo_04), "オズモーン"), + BATTLE(N(Formation_02), N(flo_01), "フラワーチョロプー"), + BATTLE(N(Formation_03), N(flo_01), "フラワーチョロプーx2"), + BATTLE(N(Formation_04), N(flo_01), "フラワーチョロプーx3"), + BATTLE(N(Formation_05), N(flo_01), "フラワーチョロプーx4"), + BATTLE(N(Formation_06), N(flo_01), "ジョナサン?"), {}, }; StageList N(Stages) = { - { "flo_01", &N(flo_01) }, - { "flo_01b", &N(flo_01b) }, - { "flo_01c", &N(flo_01c) }, - { "flo_02", &N(flo_02) }, - { "flo_02b", &N(flo_02b) }, - { "flo_02c", &N(flo_02c) }, - { "flo_03", &N(flo_03) }, - { "flo_04", &N(flo_04) }, - { "flo_05", &N(flo_05) }, - { "flo_06", &N(flo_06) }, + STAGE("flo_01", N(flo_01)), + STAGE("flo_01b", N(flo_01b)), + STAGE("flo_01c", N(flo_01c)), + STAGE("flo_02", N(flo_02)), + STAGE("flo_02b", N(flo_02b)), + STAGE("flo_02c", N(flo_02c)), + STAGE("flo_03", N(flo_03)), + STAGE("flo_04", N(flo_04)), + STAGE("flo_05", N(flo_05)), + STAGE("flo_06", N(flo_06)), {}, }; diff --git a/src/battle/area/hos/actor/goombario_tutor.c b/src/battle/area/hos/actor/goombario_tutor.c index b511423c04..d9f13a6db4 100644 --- a/src/battle/area/hos/actor/goombario_tutor.c +++ b/src/battle/area/hos/actor/goombario_tutor.c @@ -8,53 +8,57 @@ #define NAMESPACE b_area_hos_goombario_tutor +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_80219010)[] = { - STATUS_NORMAL, ANIM_BattleGoombario_Idle, - STATUS_STONE, ANIM_BattleGoombario_Still, - STATUS_SLEEP, ANIM_BattleGoombario_Still, - STATUS_POISON, ANIM_BattleGoombario_Idle, - STATUS_STOP, ANIM_BattleGoombario_Still, - STATUS_STATIC, ANIM_BattleGoombario_Still, - STATUS_PARALYZE, ANIM_BattleGoombario_Still, - STATUS_DIZZY, ANIM_BattleGoombario_Still, - STATUS_DIZZY, ANIM_BattleGoombario_Still, + STATUS_KEY_NORMAL, ANIM_BattleGoombario_Idle, + STATUS_KEY_STONE, ANIM_BattleGoombario_Still, + STATUS_KEY_SLEEP, ANIM_BattleGoombario_Still, + STATUS_KEY_POISON, ANIM_BattleGoombario_Idle, + STATUS_KEY_STOP, ANIM_BattleGoombario_Still, + STATUS_KEY_STATIC, ANIM_BattleGoombario_Still, + STATUS_KEY_PARALYZE, ANIM_BattleGoombario_Still, + STATUS_KEY_DIZZY, ANIM_BattleGoombario_Still, + STATUS_KEY_DIZZY, ANIM_BattleGoombario_Still, STATUS_END, }; s32 N(DefenseTable_8021905C)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80219068)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80219114)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -4, 24 }, .opacity = 255, @@ -69,12 +73,12 @@ ActorPartBlueprint N(PartsTable_80219114)[] = { extern EvtScript N(init_80219160); ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_HIDE_HP_BAR, + .flags = ACTOR_FLAG_NO_HEALTH_BAR, .type = ACTOR_TYPE_GOOMBARIO_TUTOR1, .level = 99, .maxHP = 99, - .partCount = ARRAY_COUNT( N(PartsTable_80219114)), - .partsData = N(PartsTable_80219114), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_80219160), .statusTable = N(StatusTable_80219068), .escapeChance = 0, @@ -86,9 +90,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 0, .size = { 24, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; extern EvtScript N(takeTurn_80219444); @@ -114,7 +118,7 @@ EvtScript N(idle_802191D0) = { EvtScript N(handleEvent_802191E0) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(10) @@ -123,31 +127,31 @@ EvtScript N(handleEvent_802191E0) = { EVT_CALL(RandInt, 2, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(ActorSpeak, MSG_HOS_002D, ACTOR_SELF, 1, 0x0009000A, 0x00090002) + EVT_CALL(ActorSpeak, MSG_HOS_002D, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_HurtStill, ANIM_BattleGoombario_Walk) EVT_CASE_EQ(1) - EVT_CALL(ActorSpeak, MSG_HOS_002E, ACTOR_SELF, 1, 0x0009000A, 0x00090002) + EVT_CALL(ActorSpeak, MSG_HOS_002E, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_HurtStill, ANIM_BattleGoombario_Walk) EVT_CASE_EQ(2) EVT_END_SWITCH EVT_END_IF EVT_END_SWITCH - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(9) EVT_CASE_OR_EQ(10) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleGoombario_HurtStill) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(23) EVT_CASE_OR_EQ(25) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleGoombario_Idle) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_END_CASE_GROUP EVT_CASE_EQ(48) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleGoombario_HurtStill) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_WAIT(1000) @@ -166,18 +170,18 @@ EvtScript N(takeTurn_80219444) = { EVT_CALL(SetBattleCamZoom, 400) EVT_CALL(SetBattleCamOffsetZ, 40) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_66) EVT_CALL(SetBattleCamZoom, 400) EVT_CALL(SetBattleCamOffsetZ, 40) @@ -198,7 +202,7 @@ EvtScript N(takeTurn_80219444) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_END_THREAD EVT_THREAD EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP) @@ -209,7 +213,7 @@ EvtScript N(takeTurn_80219444) = { EVT_END_THREAD EVT_CALL(PlaySound, SOUND_JUMP_3E2) EVT_CALL(JumpToGoal, ACTOR_SELF, 22, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -243,7 +247,7 @@ EvtScript N(takeTurn_80219444) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -258,16 +262,16 @@ EvtScript N(takeTurn_80219444) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_SUB(LVar0, 10) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_WAIT(8) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -285,7 +289,7 @@ API_CALLABLE(func_80218000_47F0B0) { EvtScript N(80219C74) = { EVT_CALL(SetBattleFlagBits, BS_FLAGS1_TUTORIAL_BATTLE, TRUE) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) EVT_WAIT(15) EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE) diff --git a/src/battle/area/hos/actor/magikoopa.c b/src/battle/area/hos/actor/magikoopa.c index 1fac8c9391..4ee70e4894 100644 --- a/src/battle/area/hos/actor/magikoopa.c +++ b/src/battle/area/hos/actor/magikoopa.c @@ -6,72 +6,78 @@ #define NAMESPACE b_area_hos_magikoopa +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_flying)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(StatusTable_flying)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; extern s32 N(IdleAnimations)[]; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -86,10 +92,10 @@ ActorPartBlueprint N(parts)[] = { extern s32 N(IdleAnimations_flying)[]; extern s32 N(IdleAnimations_broomstick)[]; -ActorPartBlueprint N(parts_flying)[] = { +ActorPartBlueprint N(ActorParts_flying)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -101,7 +107,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, @@ -113,7 +119,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -132,8 +138,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_MAGIKOOPA_BOSS, .level = 32, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021E100), .statusTable = N(StatusTable), .escapeChance = 0, @@ -145,9 +151,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 0, .size = { 36, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; extern EvtScript N(init_8021E2C0); @@ -157,8 +163,8 @@ ActorBlueprint N(flying) = { .type = ACTOR_TYPE_FLYING_MAGIKOOPA_BOSS, .level = 32, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts_flying)), - .partsData = N(parts_flying), + .partCount = ARRAY_COUNT(N(ActorParts_flying)), + .partsData = N(ActorParts_flying), .initScript = &N(init_8021E2C0), .statusTable = N(StatusTable_flying), .escapeChance = 0, @@ -170,39 +176,39 @@ ActorBlueprint N(flying) = { .powerBounceChance = 100, .coinReward = 0, .size = { 48, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Magikoopa_Anim01, - STATUS_STONE, ANIM_Magikoopa_Anim00, - STATUS_SLEEP, ANIM_Magikoopa_Anim08, - STATUS_POISON, ANIM_Magikoopa_Anim01, - STATUS_STOP, ANIM_Magikoopa_Anim00, - STATUS_STATIC, ANIM_Magikoopa_Anim01, - STATUS_PARALYZE, ANIM_Magikoopa_Anim00, - STATUS_DIZZY, ANIM_Magikoopa_Anim07, - STATUS_FEAR, ANIM_Magikoopa_Anim07, + STATUS_KEY_NORMAL, ANIM_Magikoopa_Anim01, + STATUS_KEY_STONE, ANIM_Magikoopa_Anim00, + STATUS_KEY_SLEEP, ANIM_Magikoopa_Anim08, + STATUS_KEY_POISON, ANIM_Magikoopa_Anim01, + STATUS_KEY_STOP, ANIM_Magikoopa_Anim00, + STATUS_KEY_STATIC, ANIM_Magikoopa_Anim01, + STATUS_KEY_PARALYZE, ANIM_Magikoopa_Anim00, + STATUS_KEY_DIZZY, ANIM_Magikoopa_Anim07, + STATUS_KEY_FEAR, ANIM_Magikoopa_Anim07, STATUS_END, }; s32 N(IdleAnimations_flying)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Anim01, - STATUS_STONE, ANIM_FlyingMagikoopa_Anim00, - STATUS_SLEEP, ANIM_FlyingMagikoopa_Anim08, - STATUS_POISON, ANIM_FlyingMagikoopa_Anim01, - STATUS_STOP, ANIM_FlyingMagikoopa_Anim00, - STATUS_STATIC, ANIM_FlyingMagikoopa_Anim01, - STATUS_PARALYZE, ANIM_FlyingMagikoopa_Anim00, - STATUS_DIZZY, ANIM_FlyingMagikoopa_Anim07, - STATUS_FEAR, ANIM_FlyingMagikoopa_Anim07, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Anim01, + STATUS_KEY_STONE, ANIM_FlyingMagikoopa_Anim00, + STATUS_KEY_SLEEP, ANIM_FlyingMagikoopa_Anim08, + STATUS_KEY_POISON, ANIM_FlyingMagikoopa_Anim01, + STATUS_KEY_STOP, ANIM_FlyingMagikoopa_Anim00, + STATUS_KEY_STATIC, ANIM_FlyingMagikoopa_Anim01, + STATUS_KEY_PARALYZE, ANIM_FlyingMagikoopa_Anim00, + STATUS_KEY_DIZZY, ANIM_FlyingMagikoopa_Anim07, + STATUS_KEY_FEAR, ANIM_FlyingMagikoopa_Anim07, STATUS_END, }; s32 N(IdleAnimations_broomstick)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Anim0A, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Anim0A, STATUS_END, }; @@ -239,7 +245,7 @@ EvtScript N(8021D784) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" #include "common/StartRumbleWithParams.inc.c" @@ -248,30 +254,30 @@ extern EvtScript N(handleEvent_8021E6D8); EvtScript N(8021D890) = { EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim04) EVT_GOTO(0) EVT_END_IF EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_POW) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim04) EVT_GOTO(0) EVT_END_IF EVT_RETURN EVT_LABEL(0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 1) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -284,7 +290,7 @@ EvtScript N(8021D890) = { EVT_END_THREAD EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, 15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -295,18 +301,18 @@ EvtScript N(8021D890) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021E6D8))) EVT_CALL(SetActorType, ACTOR_SELF, 149) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 32) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 32) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TYPE_CHANGED, TRUE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) @@ -324,7 +330,7 @@ EvtScript N(8021D890) = { EvtScript N(runAway) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, 57) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) @@ -349,7 +355,7 @@ EvtScript N(runAway) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_EXEC_WAIT(EVS_ForceNextTarget) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END @@ -428,7 +434,7 @@ EvtScript N(8021E46C) = { EVT_END_IF EVT_CALL(SetActorVar, ACTOR_SELF, 10, 0) EVT_CALL(GetLastElement, LVarA) - EVT_IF_FLAG(LVarA, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS) + EVT_IF_FLAG(LVarA, DAMAGE_TYPE_MULTIPLE_POPUPS) EVT_LABEL(0) EVT_CALL(GetBattleFlags, LVarA) EVT_IF_FLAG(LVarA, BS_FLAGS1_100) @@ -440,9 +446,9 @@ EvtScript N(8021E46C) = { EVT_CALL(SetActorVar, ACTOR_SELF, 9, -1) EVT_CALL(GetActorFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, ACTOR_FLAG_FLYING) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_ELSE - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_END_IF EVT_CALL(GetActorPos, LVar0, LVar1, LVar2, LVar3) EVT_CALL(RemoveActor, LVar0) @@ -460,7 +466,7 @@ EvtScript N(8021E46C) = { EvtScript N(handleEvent_8021E6D8) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(9) @@ -540,13 +546,13 @@ EvtScript N(handleEvent_8021E6D8) = { EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(57) EVT_EXEC_WAIT(N(8021E46C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_EXEC_WAIT(N(runAway)) EVT_RETURN EVT_CASE_EQ(58) @@ -556,11 +562,11 @@ EvtScript N(handleEvent_8021E6D8) = { EVT_CASE_EQ(22) EVT_EXEC_WAIT(N(8021E46C)) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, 0, 2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, 0, 2, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, -4, 5, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, -4, 5, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 1) @@ -587,7 +593,7 @@ EvtScript N(handleEvent_8021E6D8) = { EvtScript N(handleEvent_8021EDF0) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 2, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_2, 255) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(9) @@ -677,11 +683,11 @@ EvtScript N(handleEvent_8021EDF0) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(53) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(49) EVT_SET_CONST(LVar0, 2) @@ -689,13 +695,13 @@ EvtScript N(handleEvent_8021EDF0) = { EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(57) EVT_EXEC_WAIT(N(8021E46C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_EXEC_WAIT(N(runAway)) EVT_RETURN EVT_CASE_EQ(58) @@ -705,11 +711,11 @@ EvtScript N(handleEvent_8021EDF0) = { EVT_CASE_EQ(22) EVT_EXEC_WAIT(N(8021E46C)) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -3, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -3, 0, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -15, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -15, 0, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 2) @@ -746,9 +752,9 @@ EvtScript N(healOne) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -785,9 +791,9 @@ EvtScript N(healOne) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -798,9 +804,9 @@ EvtScript N(healOne) = { EVT_CALL(PlaySoundAtActor, LVarB, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, LVarB, 0, FALSE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -826,9 +832,9 @@ EvtScript N(healAll) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -865,9 +871,9 @@ EvtScript N(healAll) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) @@ -891,9 +897,9 @@ EvtScript N(healAll) = { EVT_CALL(PlaySoundAtActor, LVar0, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, LVar0, 0, TRUE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) @@ -947,7 +953,7 @@ EvtScript N(shapeSpell) = { EVT_ADD(LVar1, 33) EVT_PLAY_EFFECT(EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) @@ -966,7 +972,7 @@ EvtScript N(shapeSpell) = { EVT_ADD(LVar1, 36) EVT_PLAY_EFFECT(EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) @@ -991,12 +997,12 @@ EvtScript N(shapeSpell) = { EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(SetAnimation, LVarA, 1, ANIM_Magikoopa_Anim03) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim03) EVT_ELSE EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(SetAnimation, LVarA, 1, ANIM_FlyingMagikoopa_Anim03) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim03) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1059,12 +1065,12 @@ EvtScript N(shapeSpell) = { EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(SetAnimation, LVarA, 1, ANIM_Magikoopa_Anim03) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim03) EVT_ELSE EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(SetAnimation, LVarA, 1, ANIM_FlyingMagikoopa_Anim03) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim03) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1205,69 +1211,69 @@ EvtScript N(init_80221478) = { }; s32 N(DefenseTable_802214B4)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_802214C0)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_802214CC)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(StatusTable_80221578)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80221624)[] = { +ActorPartBlueprint N(ActorParts_80221624)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -1279,10 +1285,10 @@ ActorPartBlueprint N(PartsTable_80221624)[] = { }, }; -ActorPartBlueprint N(PartsTable_80221648)[] = { +ActorPartBlueprint N(ActorParts_80221648)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, @@ -1299,8 +1305,8 @@ ActorBlueprint N(clone) = { .type = ACTOR_TYPE_MAGICLONE, .level = 26, .maxHP = 11, - .partCount = ARRAY_COUNT( N(PartsTable_80221624)), - .partsData = N(PartsTable_80221624), + .partCount = ARRAY_COUNT( N(ActorParts_80221624)), + .partsData = N(ActorParts_80221624), .initScript = &N(init_8022143C), .statusTable = N(StatusTable_802214CC), .escapeChance = 40, @@ -1312,9 +1318,9 @@ ActorBlueprint N(clone) = { .powerBounceChance = 75, .coinReward = 0, .size = { 36, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 32 }, + .statusTextOffset = { 10, 32 }, }; ActorBlueprint N(flying_clone) = { @@ -1322,8 +1328,8 @@ ActorBlueprint N(flying_clone) = { .type = ACTOR_TYPE_FLYING_MAGICLONE, .level = 26, .maxHP = 11, - .partCount = ARRAY_COUNT( N(PartsTable_80221648)), - .partsData = N(PartsTable_80221648), + .partCount = ARRAY_COUNT( N(ActorParts_80221648)), + .partsData = N(ActorParts_80221648), .initScript = &N(init_80221478), .statusTable = N(StatusTable_80221578), .escapeChance = 40, @@ -1335,19 +1341,19 @@ ActorBlueprint N(flying_clone) = { .powerBounceChance = 75, .coinReward = 2, .size = { 48, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -25, 20 }, - .statusMessageOffset = { 1, 34 }, + .statusTextOffset = { 1, 34 }, }; Vec3i N(vector3D_802216BC) = { 0, -1000, 0 }; Formation N(specialFormation_802216C8) = { - { .actor = &N(clone), .home = { .vec = &N(vector3D_802216BC) }}, + ACTOR_BY_POS(N(clone), N(vector3D_802216BC), 0), }; Formation N(specialFormation_802216E4) = { - { .actor = &N(flying_clone), .home = { .vec = &N(vector3D_802216BC) }}, + ACTOR_BY_POS(N(flying_clone), N(vector3D_802216BC), 0), }; EvtScript N(makeCopy) = { @@ -1381,12 +1387,12 @@ EvtScript N(makeCopy) = { EVT_WAIT(25) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST3) EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_CALL(SetAnimation, LVarA, 1, ANIM_Magikoopa_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 23) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_CALL(SetAnimation, LVarA, 1, ANIM_FlyingMagikoopa_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 23) @@ -1428,15 +1434,15 @@ EvtScript N(makeCopy) = { EVT_CALL(ForceHomePos, LVar9, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, LVar9) EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_ELSE - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_END_IF EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_CALL(SetAnimation, LVar9, 1, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_CALL(SetAnimation, LVar9, 1, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -1496,9 +1502,9 @@ EvtScript N(boostAttack) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -1535,9 +1541,9 @@ EvtScript N(boostAttack) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -1545,9 +1551,9 @@ EvtScript N(boostAttack) = { EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DD) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(BoostAttack, LVar8, 0) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1608,9 +1614,9 @@ EvtScript N(boostDefense) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -1647,9 +1653,9 @@ EvtScript N(boostDefense) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -1657,9 +1663,9 @@ EvtScript N(boostDefense) = { EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DD) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(BoostDefense, LVar8, 0) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1720,9 +1726,9 @@ EvtScript N(electrify) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2F0) @@ -1759,9 +1765,9 @@ EvtScript N(electrify) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -1774,9 +1780,9 @@ EvtScript N(electrify) = { EVT_END_LOOP EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(ElectrifyActor, LVar8, 0) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1837,9 +1843,9 @@ EvtScript N(vanish) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -1876,9 +1882,9 @@ EvtScript N(vanish) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -1886,9 +1892,9 @@ EvtScript N(vanish) = { EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DB) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(VanishActor, LVar8, 0) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/area/hos/area.c b/src/battle/area/hos/area.c index 21624e3234..f1fd27a30d 100644 --- a/src/battle/area/hos/area.c +++ b/src/battle/area/hos/area.c @@ -12,35 +12,35 @@ extern Stage N(hos_01); extern Stage N(hos_02); Formation N(Formation_00) = { - { .actor = &N(goombario_tutor), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(goombario_tutor), BTL_POS_GROUND_B, 10), }; Formation N(Formation_01) = { - { .actor = &N(ember), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(ember), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(ember), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(ember), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(ember), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_C, 8), }; Formation N(Formation_03) = { - { .actor = &N(magikoopa_flying), .home = { .index = 5 }, .priority = 10 }, + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_B, 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(hos_02), "クリオ(ACヘルプ)"), - BATTLE(N(Formation_01), &N(hos_01), "エルモスx2"), - BATTLE(N(Formation_02), &N(hos_01), "エルモスx3"), - BATTLE(N(Formation_03), &N(hos_02), "カメック(ACヘルプご)"), + BATTLE(N(Formation_00), N(hos_02), "クリオ(ACヘルプ)"), + BATTLE(N(Formation_01), N(hos_01), "エルモスx2"), + BATTLE(N(Formation_02), N(hos_01), "エルモスx3"), + BATTLE(N(Formation_03), N(hos_02), "カメック(ACヘルプご)"), {}, }; StageList N(Stages) = { - { "hos_00", &N(hos_00) }, - { "hos_01", &N(hos_01) }, - { "hos_02", &N(hos_02) }, + STAGE("hos_00", N(hos_00)), + STAGE("hos_01", N(hos_01)), + STAGE("hos_02", N(hos_02)), {}, }; diff --git a/src/battle/area/isk_part_1/actor/pokey_mummy.c b/src/battle/area/isk_part_1/actor/pokey_mummy.c index f2de8a3fba..2923a639ac 100644 --- a/src/battle/area/isk_part_1/actor/pokey_mummy.c +++ b/src/battle/area/isk_part_1/actor/pokey_mummy.c @@ -8,7 +8,7 @@ extern s32 N(IdleAnimations_80218DC8)[]; extern s32 N(IdleAnimations_80218EB8)[]; -extern EvtScript N(init_80218EC4); +extern EvtScript N(EVS_Init); extern EvtScript N(takeTurn_80219D88); extern EvtScript N(idle_80219040); extern EvtScript N(handleEvent_80219050); @@ -19,40 +19,49 @@ extern EvtScript N(8021B1B4); extern EvtScript N(8021BDE4); extern EvtScript N(8021C2BC); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, +}; + s32 N(DefenseTable_80218C10)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80218C1C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 90, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80218CC8)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -64,7 +73,7 @@ ActorPartBlueprint N(PartsTable_80218CC8)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 72 }, .opacity = 255, @@ -76,7 +85,7 @@ ActorPartBlueprint N(PartsTable_80218CC8)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 54 }, .opacity = 255, @@ -88,7 +97,7 @@ ActorPartBlueprint N(PartsTable_80218CC8)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 36 }, .opacity = 255, @@ -100,7 +109,7 @@ ActorPartBlueprint N(PartsTable_80218CC8)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, .opacity = 255, @@ -112,7 +121,7 @@ ActorPartBlueprint N(PartsTable_80218CC8)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -129,9 +138,9 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_POKEY_MUMMY, .level = 10, .maxHP = 4, - .partCount = ARRAY_COUNT( N(PartsTable_80218CC8)), - .partsData = N(PartsTable_80218CC8), - .initScript = &N(init_80218EC4), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), + .initScript = &N(EVS_Init), .statusTable = N(StatusTable_80218C1C), .escapeChance = 60, .airLiftChance = 90, @@ -142,63 +151,63 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 95, .coinReward = 1, .size = { 24, 80 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 75 }, - .statusMessageOffset = { 10, 65 }, + .statusTextOffset = { 10, 65 }, }; s32 N(IdleAnimations_80218DC8)[] = { - STATUS_NORMAL, ANIM_Pokey_Mummy_Anim04, - STATUS_STONE, ANIM_Pokey_Mummy_Anim00, - STATUS_SLEEP, ANIM_Pokey_Mummy_Anim25, - STATUS_STOP, ANIM_Pokey_Mummy_Anim00, - STATUS_PARALYZE, ANIM_Pokey_Mummy_Anim00, - STATUS_DIZZY, ANIM_Pokey_Mummy_Anim21, - STATUS_FEAR, ANIM_Pokey_Mummy_Anim21, + STATUS_KEY_NORMAL, ANIM_Pokey_Mummy_Anim04, + STATUS_KEY_STONE, ANIM_Pokey_Mummy_Anim00, + STATUS_KEY_SLEEP, ANIM_Pokey_Mummy_Anim25, + STATUS_KEY_STOP, ANIM_Pokey_Mummy_Anim00, + STATUS_KEY_PARALYZE, ANIM_Pokey_Mummy_Anim00, + STATUS_KEY_DIZZY, ANIM_Pokey_Mummy_Anim21, + STATUS_KEY_FEAR, ANIM_Pokey_Mummy_Anim21, STATUS_END, }; s32 N(IdleAnimations_80218E04)[] = { - STATUS_NORMAL, ANIM_Pokey_Mummy_Anim05, - STATUS_STONE, ANIM_Pokey_Mummy_Anim01, - STATUS_SLEEP, ANIM_Pokey_Mummy_Anim26, - STATUS_STOP, ANIM_Pokey_Mummy_Anim01, - STATUS_PARALYZE, ANIM_Pokey_Mummy_Anim01, - STATUS_DIZZY, ANIM_Pokey_Mummy_Anim22, - STATUS_FEAR, ANIM_Pokey_Mummy_Anim22, + STATUS_KEY_NORMAL, ANIM_Pokey_Mummy_Anim05, + STATUS_KEY_STONE, ANIM_Pokey_Mummy_Anim01, + STATUS_KEY_SLEEP, ANIM_Pokey_Mummy_Anim26, + STATUS_KEY_STOP, ANIM_Pokey_Mummy_Anim01, + STATUS_KEY_PARALYZE, ANIM_Pokey_Mummy_Anim01, + STATUS_KEY_DIZZY, ANIM_Pokey_Mummy_Anim22, + STATUS_KEY_FEAR, ANIM_Pokey_Mummy_Anim22, STATUS_END, }; s32 N(IdleAnimations_80218E40)[] = { - STATUS_NORMAL, ANIM_Pokey_Mummy_Anim06, - STATUS_STONE, ANIM_Pokey_Mummy_Anim02, - STATUS_SLEEP, ANIM_Pokey_Mummy_Anim27, - STATUS_STOP, ANIM_Pokey_Mummy_Anim02, - STATUS_PARALYZE, ANIM_Pokey_Mummy_Anim02, - STATUS_DIZZY, ANIM_Pokey_Mummy_Anim23, - STATUS_FEAR, ANIM_Pokey_Mummy_Anim23, + STATUS_KEY_NORMAL, ANIM_Pokey_Mummy_Anim06, + STATUS_KEY_STONE, ANIM_Pokey_Mummy_Anim02, + STATUS_KEY_SLEEP, ANIM_Pokey_Mummy_Anim27, + STATUS_KEY_STOP, ANIM_Pokey_Mummy_Anim02, + STATUS_KEY_PARALYZE, ANIM_Pokey_Mummy_Anim02, + STATUS_KEY_DIZZY, ANIM_Pokey_Mummy_Anim23, + STATUS_KEY_FEAR, ANIM_Pokey_Mummy_Anim23, STATUS_END, }; s32 N(IdleAnimations_80218E7C)[] = { - STATUS_NORMAL, ANIM_Pokey_Mummy_Anim07, - STATUS_STONE, ANIM_Pokey_Mummy_Anim03, - STATUS_SLEEP, ANIM_Pokey_Mummy_Anim28, - STATUS_STOP, ANIM_Pokey_Mummy_Anim03, - STATUS_PARALYZE, ANIM_Pokey_Mummy_Anim03, - STATUS_DIZZY, ANIM_Pokey_Mummy_Anim24, - STATUS_FEAR, ANIM_Pokey_Mummy_Anim24, + STATUS_KEY_NORMAL, ANIM_Pokey_Mummy_Anim07, + STATUS_KEY_STONE, ANIM_Pokey_Mummy_Anim03, + STATUS_KEY_SLEEP, ANIM_Pokey_Mummy_Anim28, + STATUS_KEY_STOP, ANIM_Pokey_Mummy_Anim03, + STATUS_KEY_PARALYZE, ANIM_Pokey_Mummy_Anim03, + STATUS_KEY_DIZZY, ANIM_Pokey_Mummy_Anim24, + STATUS_KEY_FEAR, ANIM_Pokey_Mummy_Anim24, STATUS_END, }; s32 N(IdleAnimations_80218EB8)[] = { - STATUS_NORMAL, ANIM_Pokey_Mummy_Anim16, + STATUS_KEY_NORMAL, ANIM_Pokey_Mummy_Anim16, STATUS_END, }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" -EvtScript N(init_80218EC4) = { +EvtScript N(EVS_Init) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80219D88))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80219040))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80219050))) @@ -382,7 +391,7 @@ EvtScript N(handleEvent_80219050) = { EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) @@ -406,7 +415,7 @@ EvtScript N(handleEvent_80219050) = { EVT_CASE_EQ(EVENT_SPIKE_TAUNT) EVT_CALL(GetBattleFlags, LVar0) EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING) - EVT_CALL(AfflictActor, ACTOR_PLAYER, STATUS_POISON, 3) + EVT_CALL(AfflictActor, ACTOR_PLAYER, STATUS_KEY_POISON, 3) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_SWITCH(LVar0) @@ -429,7 +438,7 @@ EvtScript N(handleEvent_80219050) = { EVT_END_SWITCH EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar2) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar6) @@ -469,19 +478,19 @@ EvtScript N(takeTurn_80219D88) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 1) EVT_END_IF - EVT_CALL(SetPartSounds, ACTOR_SELF, 6, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_6, ACTOR_SOUND_JUMP, 0, 0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) EVT_END_IF EVT_CHILD_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(2.2)) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Mummy_Anim16) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(2.2)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Pokey_Mummy_Anim16) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) EVT_SWITCH(LVarA) @@ -490,34 +499,34 @@ EvtScript N(takeTurn_80219D88) = { EVT_ADD(LVar1, 38) EVT_ELSE EVT_ADD(LVar1, 15) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(1.2)) EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 15, TRUE) EVT_CASE_EQ(1) EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) EVT_ADD(LVar1, 20) EVT_ELSE EVT_ADD(LVar1, 8) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(1.2)) EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 15, TRUE) EVT_CASE_EQ(2) EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) EVT_ADD(LVar1, 8) EVT_ELSE EVT_ADD(LVar1, 3) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(1.2)) EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 15, TRUE) EVT_CASE_EQ(3) EVT_END_SWITCH EVT_END_CHILD_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_342) EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_WAIT(12) EVT_CALL(GetActorVar, ACTOR_SELF, 5, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2CE) EVT_WAIT(3) @@ -538,42 +547,42 @@ EvtScript N(takeTurn_80219D88) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 80) EVT_SUB(LVar1, 5) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(20.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Mummy_Anim16) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(20.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Pokey_Mummy_Anim16) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(20.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Mummy_Anim16) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, TRUE) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 40), 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(20.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Pokey_Mummy_Anim16) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 40), 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) EVT_SET(LVar1, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 25, EASING_LINEAR) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(4.0)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 25, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(4.0)) EVT_SUB(LVar0, 24) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 21, EASING_LINEAR) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 21, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(3.0)) EVT_SUB(LVar0, 20) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 20, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 20, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -596,18 +605,18 @@ EvtScript N(8021A6C8) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Mummy_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Mummy_Anim0B) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Mummy_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Mummy_Anim07) EVT_WAIT(4) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(4) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Mummy_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Mummy_Anim0B) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 2, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -655,15 +664,15 @@ EvtScript N(8021A6C8) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Mummy_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Mummy_Anim0B) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Mummy_Anim07) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Mummy_Anim07) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH @@ -680,8 +689,8 @@ EvtScript N(8021A6C8) = { EVT_END_CHILD_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 18, FALSE, TRUE, FALSE) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), 2, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Mummy_Anim07) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 100), 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Mummy_Anim07) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -702,14 +711,14 @@ EvtScript N(8021A6C8) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_SUB(LVar0, 10) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Mummy_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Mummy_Anim07) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Mummy_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Mummy_Anim0B) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Mummy_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Mummy_Anim07) EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -753,15 +762,15 @@ EvtScript N(8021B1B4) = { EVT_CALL(SetActorVar, ACTOR_SELF, 5, 0x00310113) EVT_CALL(SetActorVar, ACTOR_SELF, 6, 0x0031011A) EVT_CALL(SetActorVar, ACTOR_SELF, 7, 0x0031011B) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80218E04))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80218E04))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_CALL(SetActorSize, ACTOR_SELF, 62, EVT_IGNORE_ARG) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 62, EVT_IGNORE_ARG) - EVT_CALL(N(UnkBattleFunc1), -15, 55, 10, 45) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 62, EVT_IGNORE_ARG) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 55, 10, 45) EVT_CASE_EQ(1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0x00310106) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0x0031010A) @@ -770,30 +779,30 @@ EvtScript N(8021B1B4) = { EVT_CALL(SetActorVar, ACTOR_SELF, 5, 0x00310115) EVT_CALL(SetActorVar, ACTOR_SELF, 6, 0x0031011C) EVT_CALL(SetActorVar, ACTOR_SELF, 7, 0x0031011D) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80218E40))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80218E40))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 2) EVT_CALL(SetActorSize, ACTOR_SELF, 44, EVT_IGNORE_ARG) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 44, EVT_IGNORE_ARG) - EVT_CALL(N(UnkBattleFunc1), -15, 35, 10, 25) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 44, EVT_IGNORE_ARG) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 35, 10, 25) EVT_CASE_EQ(2) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0x00310107) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0x0031010B) EVT_CALL(SetActorVar, ACTOR_SELF, 3, 0x0031010F) EVT_CALL(SetActorVar, ACTOR_SELF, 6, 0x0031011E) EVT_CALL(SetActorVar, ACTOR_SELF, 7, 0x0031011F) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80218E7C))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80218E7C))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 3) EVT_CALL(SetActorSize, ACTOR_SELF, 26, EVT_IGNORE_ARG) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 26, EVT_IGNORE_ARG) - EVT_CALL(N(UnkBattleFunc1), -15, 15, 10, 5) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 26, EVT_IGNORE_ARG) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 15, 10, 5) EVT_END_SWITCH EVT_RETURN EVT_END @@ -844,13 +853,13 @@ EvtScript N(8021B6AC) = { EvtScript N(8021B998) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) EVT_END_IF EVT_EXEC_WAIT(N(8021B1B4)) EVT_SET_CONST(LVar0, 1) @@ -885,9 +894,9 @@ EvtScript N(8021B998) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(7.0)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(7.0)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, TRUE) EVT_CHILD_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD @@ -897,11 +906,11 @@ EvtScript N(8021B998) = { EVT_GOTO(1) EVT_LABEL(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, 296, 0, 0, 0, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(6.0)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, 296, 0, 0, 0, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_RETURN EVT_END }; @@ -909,9 +918,9 @@ EvtScript N(8021B998) = { EvtScript N(8021BDE4) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) EVT_END_IF EVT_EXEC_WAIT(N(8021B1B4)) EVT_SET_CONST(LVar0, 1) @@ -919,7 +928,7 @@ EvtScript N(8021BDE4) = { EVT_SWITCH(LVar1) EVT_CASE_OR_EQ(EVENT_BURN_HIT) EVT_CASE_OR_EQ(EVENT_BURN_DEATH) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Pokey_Anim20) EVT_CALL(GetActorVar, ACTOR_SELF, 6, LVar1) EVT_END_CASE_GROUP EVT_CASE_DEFAULT @@ -933,23 +942,23 @@ EvtScript N(8021BDE4) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) EVT_IF_NE(LVarA, 3) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(6.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) EVT_SET(LVar1, 0) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 10, 18, EASING_LINEAR) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 10, 18, EASING_LINEAR) EVT_ADD(LVar0, 20) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 8, 10, EASING_LINEAR) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 8, 10, EASING_LINEAR) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_ELSE EVT_WAIT(30) EVT_END_IF @@ -957,7 +966,7 @@ EvtScript N(8021BDE4) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_BURN_HIT) EVT_CALL(GetActorVar, ACTOR_SELF, 7, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4) EVT_DIV(LVar3, 2) @@ -967,7 +976,7 @@ EvtScript N(8021BDE4) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, LVar3, 10, 0) EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_CALL(GetActorVar, ACTOR_SELF, 7, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_WAIT(10) EVT_CASE_DEFAULT EVT_END_SWITCH @@ -997,7 +1006,7 @@ EvtScript N(8021C2BC) = { EVT_CALL(SetGoalPos, ACTOR_SELF, 200, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_WAIT(8) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN diff --git a/src/battle/area/isk_part_1/actor/stone_chomp.c b/src/battle/area/isk_part_1/actor/stone_chomp.c index c673954d51..249f5f1dc7 100644 --- a/src/battle/area/isk_part_1/actor/stone_chomp.c +++ b/src/battle/area/isk_part_1/actor/stone_chomp.c @@ -5,209 +5,230 @@ #define NAMESPACE b_area_isk_part_1_stone_chomp -extern EvtScript N(init_80221ABC); -extern EvtScript N(takeTurn_80222ED0); -extern EvtScript N(idle_80221D00); -extern EvtScript N(handleEvent_80222364); -extern EvtScript N(8022181C); -extern EvtScript N(80222324); +extern EvtScript N(EVS_Init); +extern EvtScript N(EVS_TakeTurn); +extern EvtScript N(EVS_Idle); +extern EvtScript N(EVS_HandleEvent); +extern EvtScript N(EVS_Chomp_HopToPos); +extern EvtScript N(EVS_UpdateChain); -s32 N(IdleAnimations_80221450)[] = { - STATUS_NORMAL, ANIM_StoneChomp_Anim01, - STATUS_STONE, ANIM_StoneChomp_Anim00, - STATUS_SLEEP, ANIM_StoneChomp_Anim0A, - STATUS_POISON, ANIM_StoneChomp_Anim01, - STATUS_STOP, ANIM_StoneChomp_Anim00, - STATUS_STATIC, ANIM_StoneChomp_Anim01, - STATUS_DIZZY, ANIM_StoneChomp_Anim0B, +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_TARGET = 2, + PRT_CHAIN_1 = 3, + PRT_CHAIN_2 = 4, + PRT_CHAIN_3 = 5, + PRT_CHAIN_4 = 6, + PRT_CHAIN_5 = 7, + PRT_CHAIN_6 = 8, + PRT_CHAIN_7 = 9, + PRT_CHAIN_8 = 10, +}; + +enum N(ActorVars) { + AVAR_EnableChainSounds = 8, +}; + +enum N(ActorParams) { + DMG_CHOMP_BITE = 3, +}; + +s32 N(BasicAnims)[] = { + STATUS_KEY_NORMAL, ANIM_StoneChomp_Idle, + STATUS_KEY_STONE, ANIM_StoneChomp_Still, + STATUS_KEY_SLEEP, ANIM_StoneChomp_Sleep, + STATUS_KEY_POISON, ANIM_StoneChomp_Idle, + STATUS_KEY_STOP, ANIM_StoneChomp_Still, + STATUS_KEY_STATIC, ANIM_StoneChomp_Idle, + STATUS_KEY_DIZZY, ANIM_StoneChomp_Dizzy, STATUS_END, }; -s32 N(IdleAnimations_8022148C)[] = { - STATUS_NORMAL, ANIM_StoneChomp_Anim03, - STATUS_POISON, ANIM_StoneChomp_Anim03, - STATUS_STOP, ANIM_StoneChomp_Anim00, - STATUS_STONE, ANIM_StoneChomp_Anim00, - STATUS_SLEEP, ANIM_StoneChomp_Anim0A, - STATUS_STATIC, ANIM_StoneChomp_Anim03, - STATUS_DIZZY, ANIM_StoneChomp_Anim0B, +s32 N(QuickBiteAnims)[] = { + STATUS_KEY_NORMAL, ANIM_StoneChomp_QuickBite, + STATUS_KEY_POISON, ANIM_StoneChomp_QuickBite, + STATUS_KEY_STOP, ANIM_StoneChomp_Still, + STATUS_KEY_STONE, ANIM_StoneChomp_Still, + STATUS_KEY_SLEEP, ANIM_StoneChomp_Sleep, + STATUS_KEY_STATIC, ANIM_StoneChomp_QuickBite, + STATUS_KEY_DIZZY, ANIM_StoneChomp_Dizzy, STATUS_END, }; -s32 N(IdleAnimations_802214C8)[] = { - STATUS_NORMAL, ANIM_StoneChomp_Anim04, - STATUS_POISON, ANIM_StoneChomp_Anim04, - STATUS_STOP, ANIM_StoneChomp_Anim00, - STATUS_STONE, ANIM_StoneChomp_Anim00, - STATUS_SLEEP, ANIM_StoneChomp_Anim0A, - STATUS_STATIC, ANIM_StoneChomp_Anim04, - STATUS_DIZZY, ANIM_StoneChomp_Anim0B, +s32 N(BiteAnims)[] = { + STATUS_KEY_NORMAL, ANIM_StoneChomp_Bite, + STATUS_KEY_POISON, ANIM_StoneChomp_Bite, + STATUS_KEY_STOP, ANIM_StoneChomp_Still, + STATUS_KEY_STONE, ANIM_StoneChomp_Still, + STATUS_KEY_SLEEP, ANIM_StoneChomp_Sleep, + STATUS_KEY_STATIC, ANIM_StoneChomp_Bite, + STATUS_KEY_DIZZY, ANIM_StoneChomp_Dizzy, STATUS_END, }; -s32 N(IdleAnimations_80221504)[] = { - STATUS_NORMAL, ANIM_StoneChomp_Anim05, - STATUS_POISON, ANIM_StoneChomp_Anim05, - STATUS_STOP, ANIM_StoneChomp_Anim00, - STATUS_STONE, ANIM_StoneChomp_Anim00, - STATUS_SLEEP, ANIM_StoneChomp_Anim0A, - STATUS_STATIC, ANIM_StoneChomp_Anim05, - STATUS_DIZZY, ANIM_StoneChomp_Anim0B, +s32 N(SlowBiteAnims)[] = { + STATUS_KEY_NORMAL, ANIM_StoneChomp_SlowBite, + STATUS_KEY_POISON, ANIM_StoneChomp_SlowBite, + STATUS_KEY_STOP, ANIM_StoneChomp_Still, + STATUS_KEY_STONE, ANIM_StoneChomp_Still, + STATUS_KEY_SLEEP, ANIM_StoneChomp_Sleep, + STATUS_KEY_STATIC, ANIM_StoneChomp_SlowBite, + STATUS_KEY_DIZZY, ANIM_StoneChomp_Dizzy, STATUS_END, }; -s32 N(IdleAnimations_80221540)[] = { - STATUS_NORMAL, ANIM_StoneChomp_Anim02, +s32 N(ChainAnims)[] = { + STATUS_KEY_NORMAL, ANIM_StoneChomp_Chain, STATUS_END, }; -s32 N(DefenseTable_8022154C)[] = { - ELEMENT_NORMAL, 1, +s32 N(DefenseTable)[] = { + ELEMENT_NORMAL, 1, ELEMENT_END, }; -s32 N(StatusTable_80221558)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 75, - STATUS_STOP, 75, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, +s32 N(StatusTable)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 75, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80221604)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80221450), - .defenseTable = N(DefenseTable_8022154C), + .idleAnimations = N(BasicAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_TARGET, .posOffset = { 0, 0, 0 }, .targetOffset = { -13, 40 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80221450), - .defenseTable = N(DefenseTable_8022154C), + .idleAnimations = N(BasicAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -14 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_CHAIN_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80221540), - .defenseTable = N(DefenseTable_8022154C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_CHAIN_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80221540), - .defenseTable = N(DefenseTable_8022154C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_CHAIN_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80221540), - .defenseTable = N(DefenseTable_8022154C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_CHAIN_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80221540), - .defenseTable = N(DefenseTable_8022154C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 7, + .index = PRT_CHAIN_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80221540), - .defenseTable = N(DefenseTable_8022154C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 8, + .index = PRT_CHAIN_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80221540), - .defenseTable = N(DefenseTable_8022154C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 9, + .index = PRT_CHAIN_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80221540), - .defenseTable = N(DefenseTable_8022154C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 10, + .index = PRT_CHAIN_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80221540), - .defenseTable = N(DefenseTable_8022154C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, @@ -219,10 +240,10 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_STONE_CHOMP, .level = 14, .maxHP = 4, - .partCount = ARRAY_COUNT( N(PartsTable_80221604)), - .partsData = N(PartsTable_80221604), - .initScript = &N(init_80221ABC), - .statusTable = N(StatusTable_80221558), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), + .initScript = &N(EVS_Init), + .statusTable = N(StatusTable), .escapeChance = 0, .airLiftChance = 25, .hurricaneChance = 25, @@ -232,321 +253,220 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 5, .size = { 56, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; -#include "common/ChompChainInit.inc.c" +#define CHOMP_CHAIN_FIRST_PART_IDX PRT_CHAIN_1 +#define CHOMP_CHAIN_LAST_PART_IDX PRT_CHAIN_8 +#define CHOMP_CHAIN_AVAR_SOUNDS AVAR_EnableChainSounds +#include "common/battle/ChompChainSupport.inc.c" -#include "common/ChompChainUpdateHelperFunc.inc.c" - -#include "common/ChompChainUpdateHelperFunc2.inc.c" - -API_CALLABLE(b_area_isk_part_1_ChompChainUpdate) { - f32 sp18; - Actor* actor; - ActorPart* part; - ChompChainAnimationState* animState; - f32 dist; - f32 angle; - f32 ax, ay; - s32 three; - s32 i; - - actor = get_actor(script->owner1.actorID); - if (actor == NULL) { - return ApiStatus_BLOCK; - } - - three = 3; - - animState = actor->state.functionTempPtr[0]; - if (actor->debuff == STATUS_SHRINK) { - ax = actor->currentPos.x + 6.0; - ay = actor->currentPos.y + 2.5; - } else { - ax = actor->currentPos.x + 12.0; - ay = actor->currentPos.y + 5.0; - } - - for (i = 0; i < 8; i++, animState++) { - if (actor->debuff == STATUS_SHRINK) { - animState->scale.x = 3.5f; - animState->scale.z = 3.5f; - animState->scale.y = 3.5f; - } else { - animState->scale.x = 7.0f; - animState->scale.z = 7.0f; - animState->scale.y = 7.0f; - } - - animState->unk_18 -= animState->unk_14; - if (animState->unk_18 < 2.0f * -animState->unk_14) { - animState->unk_18 = 2.0f * -animState->unk_14; - if (actor->state.varTable[8] != 0 && i == 0) { - sfx_play_sound_at_position(SOUND_2063, SOUND_SPACE_MODE_0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z); - } - } - animState->currentPos.y += animState->unk_18; - if (actor->debuff == STATUS_SHRINK) { - if (animState->currentPos.y < 2.5) { - animState->unk_18 = 0.0f; - animState->currentPos.y = 2.5f; - } - } else { - if (animState->currentPos.y < 5.0) { - animState->unk_18 = 0.0f; - animState->currentPos.y = 5.0f; - } - } - - dist = dist2D(ax, ay, animState->currentPos.x, animState->currentPos.y); - angle = atan2(ax, ay, animState->currentPos.x, animState->currentPos.y); - - if (animState->scale.z <= dist) { - b_area_isk_part_1_stone_chomp_ChompChainUpdateHelperFunc2(&sp18, dist - animState->scale.z, angle); - animState->unk_18 += sp18 * 0.5; - } - - if (animState->scale.y <= dist) { - f32 t; - - if (animState->scale.x <= dist) { - t = dist - animState->scale.x; - } else { - animState->unk_1C += animState->unk_20; - t = animState->unk_1C; - } - b_area_isk_part_1_stone_chomp_ChompChainUpdateHelperFunc(animState, t, angle); - } else { - animState->unk_1C -= animState->unk_20 * 0.2; - if (animState->unk_1C < 0.0) { - animState->unk_1C = 0.0f; - } - b_area_isk_part_1_stone_chomp_ChompChainUpdateHelperFunc(animState, animState->unk_1C, angle); - } - - if (animState->unk_1C > 4.0) { - animState->unk_1C = 4.0f; - } - part = get_actor_part(actor, three + i); - part->absolutePosition.x = animState->currentPos.x; - part->absolutePosition.y = animState->currentPos.y; - part->absolutePosition.z = animState->currentPos.z; - - if (actor->debuff == STATUS_SHRINK) { - part->scale.x = 0.5f; - part->scale.y = 0.5f; - part->scale.z = 1.0f; - } else { - part->scale.x = 1.0f; - part->scale.y = 1.0f; - part->scale.z = 1.0f; - } - ay = animState->currentPos.y; - ax = animState->currentPos.x; - } - return ApiStatus_DONE2; -} - -EvtScript N(80221794) = { +// Custom version of EVS_Enemy_HopHome +// (in) LVar0: part idx +// (in) LVar1: hopping animID +EvtScript N(EVS_Chomp_HopHome) = { EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_EXEC_WAIT(N(8022181C)) + EVT_EXEC_WAIT(N(EVS_Chomp_HopToPos)) EVT_RETURN EVT_END }; -EvtScript N(8022181C) = { +// Custom version of EVS_Enemy_HopToPos +// (in) LVar0: target posX +// (in) LVar1: target posY +// (in) LVar2: target posZ +EvtScript N(EVS_Chomp_HopToPos) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_LABEL(0) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) - EVT_IF_EQ(LVar3, LVar0) - EVT_GOTO(10) - EVT_END_IF - EVT_IF_LT(LVar3, LVar0) - EVT_SET(LVar4, LVar0) - EVT_SUB(LVar4, LVar3) - EVT_IF_LT(LVar4, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_IF_EQ(LVar3, LVar0) + EVT_GOTO(10) + EVT_END_IF + EVT_IF_LT(LVar3, LVar0) + EVT_SET(LVar4, LVar0) + EVT_SUB(LVar4, LVar3) + EVT_IF_LT(LVar4, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) + EVT_ELSE + EVT_SET(LVar4, LVar3) + EVT_ADD(LVar3, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 0, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) + EVT_END_IF EVT_ELSE EVT_SET(LVar4, LVar3) - EVT_ADD(LVar3, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 0, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) + EVT_SUB(LVar4, LVar0) + EVT_IF_LT(LVar4, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) + EVT_ELSE + EVT_SUB(LVar3, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 0, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) + EVT_END_IF EVT_END_IF - EVT_ELSE - EVT_SET(LVar4, LVar3) - EVT_SUB(LVar4, LVar0) - EVT_IF_LT(LVar4, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) - EVT_ELSE - EVT_SUB(LVar3, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 0, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) - EVT_END_IF - EVT_END_IF - EVT_GOTO(0) + EVT_GOTO(0) EVT_LABEL(10) EVT_RETURN EVT_END }; -EvtScript N(init_80221ABC) = { - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80222ED0))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80221D00))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80222364))) +EvtScript N(EVS_Init) = { + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, FALSE) + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(EVS_TakeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(EVS_Idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_SET(LVar0, 3) - EVT_LOOP(8) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) + EVT_SET(LVar0, PRT_CHAIN_1) + EVT_LOOP(1 + (PRT_CHAIN_8 - PRT_CHAIN_1)) EVT_CALL(SetPartSize, ACTOR_SELF, LVar0, 16, 16) EVT_ADD(LVar0, 1) EVT_END_LOOP EVT_CALL(N(ChompChainInit)) - EVT_EXEC(N(80222324)) + EVT_EXEC(N(EVS_UpdateChain)) EVT_RETURN EVT_END }; -EvtScript N(80221BC4) = { +EvtScript N(EVS_UpdateTargetPartPos) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 0, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_TARGET, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_TARGET, 0, 0) EVT_ELSE EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -13, 40) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 0, -14) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_TARGET, -13, 40) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_TARGET, 0, -14) EVT_END_IF EVT_RETURN EVT_END }; -EvtScript N(idle_80221D00) = { +EvtScript N(EVS_Idle) = { EVT_LABEL(0) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80221BC4)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80221504))) - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 10) - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 11, 1) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80221BC4)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 6, 1) - EVT_CALL(RandInt, 10, LVar0) - EVT_ADD(LVar0, 1) - EVT_WAIT(LVar0) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80221BC4)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802214C8))) - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 15, 1) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80221BC4)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80221504))) - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 20) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 12, 1) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80221BC4)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 10) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 9, 1) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80221BC4)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022148C))) - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 6, 1) - EVT_CALL(RandInt, 10, LVar0) - EVT_ADD(LVar0, 10) - EVT_WAIT(LVar0) - EVT_GOTO(0) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(SlowBiteAnims))) + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 10) + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 11, 1) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 6, 1) + EVT_CALL(RandInt, 10, LVar0) + EVT_ADD(LVar0, 1) + EVT_WAIT(LVar0) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(BiteAnims))) + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 15, 1) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(SlowBiteAnims))) + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 20) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 12, 1) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 10) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 9, 1) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(QuickBiteAnims))) + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 6, 1) + EVT_CALL(RandInt, 10, LVar0) + EVT_ADD(LVar0, 10) + EVT_WAIT(LVar0) + EVT_GOTO(0) EVT_RETURN EVT_END }; -EvtScript N(80222324) = { +EvtScript N(EVS_UpdateChain) = { EVT_LABEL(0) - EVT_WAIT(1) - EVT_CALL(b_area_isk_part_1_ChompChainUpdate) - EVT_GOTO(0) - EVT_RETURN + EVT_WAIT(1) + EVT_CALL(N(ChompChainUpdate)) + EVT_GOTO(0) + EVT_RETURN EVT_END }; -EvtScript N(handleEvent_80222364) = { +EvtScript N(EVS_HandleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) @@ -555,52 +475,52 @@ EvtScript N(handleEvent_80222364) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 4, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 7, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 8, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 9, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 10, ANIM_StoneChomp_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_1, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_2, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_3, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_4, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_5, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_6, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_7, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_8, ANIM_StoneChomp_BurnChain) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim07) - EVT_SET_CONST(LVar2, ANIM_StoneChomp_Anim08) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_BurnHurt) + EVT_SET_CONST(LVar2, ANIM_StoneChomp_BurnStill) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 4, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 7, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 8, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 9, ANIM_StoneChomp_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 10, ANIM_StoneChomp_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_1, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_2, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_3, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_4, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_5, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_6, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_7, ANIM_StoneChomp_BurnChain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_CHAIN_8, ANIM_StoneChomp_BurnChain) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim07) - EVT_SET_CONST(LVar2, ANIM_StoneChomp_Anim08) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_BurnHurt) + EVT_SET_CONST(LVar2, ANIM_StoneChomp_BurnStill) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim08) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_BurnStill) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -619,8 +539,8 @@ EvtScript N(handleEvent_80222364) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim05) - EVT_EXEC_WAIT(N(80221794)) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_SlowBite) + EVT_EXEC_WAIT(N(EVS_Chomp_HopHome)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) @@ -629,53 +549,53 @@ EvtScript N(handleEvent_80222364) = { EVT_END_THREAD EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, FALSE) EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim01) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Idle) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_SHOCK_DEATH) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, FALSE) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_DEATH) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_WAIT(10) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim01) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Idle) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim01) - EVT_SET_CONST(LVar2, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Idle) + EVT_SET_CONST(LVar2, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_ScareAway) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) @@ -688,21 +608,21 @@ EvtScript N(handleEvent_80222364) = { EVT_CALL(SetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_END_IF EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim06) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_BlowAway) EVT_RETURN EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_StoneChomp_Anim01) + EVT_SET_CONST(LVar1, ANIM_StoneChomp_Idle) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CASE_EQ(EVENT_UP_AND_AWAY) EVT_WAIT(1000) EVT_CASE_DEFAULT @@ -722,9 +642,9 @@ EvtScript N(handleEvent_80222364) = { EVT_END }; -EvtScript N(takeTurn_80222ED0) = { +EvtScript N(EVS_TakeTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, TRUE) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) @@ -737,7 +657,7 @@ EvtScript N(takeTurn_80222ED0) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_StoneChomp_SlowBite) EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_10F) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -745,7 +665,7 @@ EvtScript N(takeTurn_80222ED0) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_StoneChomp_Idle) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) @@ -767,27 +687,27 @@ EvtScript N(takeTurn_80222ED0) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_StoneChomp_Bite) EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim04) - EVT_EXEC_WAIT(N(8022181C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_StoneChomp_Bite) + EVT_EXEC_WAIT(N(EVS_Chomp_HopToPos)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_StoneChomp_Idle) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_StoneChomp_Idle) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -801,14 +721,14 @@ EvtScript N(takeTurn_80222ED0) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, DMG_CHOMP_BITE, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_StoneChomp_Bite) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -827,21 +747,21 @@ EvtScript N(takeTurn_80222ED0) = { EVT_SUB(LVar0, 10) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3F9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_StoneChomp_Idle) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim04) - EVT_EXEC_WAIT(N(8022181C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_StoneChomp_Bite) + EVT_EXEC_WAIT(N(EVS_Chomp_HopToPos)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_StoneChomp_Idle) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, FALSE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) diff --git a/src/battle/area/isk_part_1/area.c b/src/battle/area/isk_part_1/area.c index 778cd96d93..1b7b9e8346 100644 --- a/src/battle/area/isk_part_1/area.c +++ b/src/battle/area/isk_part_1/area.c @@ -23,124 +23,117 @@ extern Stage N(isk_07); extern Stage N(isk_08); Vec3i N(vector3D_80224070) = { 15, 133, -25 }; - Vec3i N(vector3D_8022407C) = { 55, 133, -25 }; - Vec3i N(vector3D_80224088) = { 95, 133, -25 }; - Vec3i N(vector3D_80224094) = { 135, 133, -25 }; Vec3i N(vector3D_802240A0) = { 15, 112, -25 }; - Vec3i N(vector3D_802240AC) = { 55, 112, -25 }; - Vec3i N(vector3D_802240B8) = { 95, 112, -25 }; - Vec3i N(vector3D_802240C4) = { 135, 112, -25 }; Formation N(Formation_00) = { - { .actor = &N(pokey_mummy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(pokey_mummy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(pokey_mummy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(pokey_mummy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_01) = { - { .actor = &N(pokey_mummy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pokey_mummy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(pokey_mummy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(pokey_mummy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pokey_mummy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(pokey_mummy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_02) = { - { .actor = &N(pokey_mummy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(swooper), .home = { .vec = &N(vector3D_80224088) }, .priority = 8 }, + ACTOR_BY_IDX(N(pokey_mummy), BTL_POS_GROUND_B, 9), + ACTOR_BY_POS(N(swooper), N(vector3D_80224088), 8), }; Formation N(Formation_03) = { - { .actor = &N(pokey_mummy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pokey_mummy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(swooper), .home = { .vec = &N(vector3D_80224088) }, .priority = 8 }, + ACTOR_BY_IDX(N(pokey_mummy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pokey_mummy), BTL_POS_GROUND_B, 9), + ACTOR_BY_POS(N(swooper), N(vector3D_80224088), 8), }; Vec3i N(vector3D_802241E8) = { 80, 133, -25 }; - Vec3i N(vector3D_802241F4) = { 115, 133, -25 }; Formation N(Formation_04) = { - { .actor = &N(pokey_mummy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pokey_mummy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(swooper), .home = { .vec = &N(vector3D_802241E8) }, .priority = 8 }, - { .actor = &N(swooper), .home = { .vec = &N(vector3D_802241F4) }, .priority = 7 }, + ACTOR_BY_IDX(N(pokey_mummy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pokey_mummy), BTL_POS_GROUND_B, 9), + ACTOR_BY_POS(N(swooper), N(vector3D_802241E8), 8), + ACTOR_BY_POS(N(swooper), N(vector3D_802241F4), 7), }; Formation N(Formation_05) = { - { .actor = &N(swooper), .home = { .vec = &N(vector3D_8022407C) }, .priority = 10 }, - { .actor = &N(swooper), .home = { .vec = &N(vector3D_80224088) }, .priority = 9 }, + ACTOR_BY_POS(N(swooper), N(vector3D_8022407C), 10), + ACTOR_BY_POS(N(swooper), N(vector3D_80224088), 9), }; Formation N(Formation_06) = { - { .actor = &N(swooper), .home = { .vec = &N(vector3D_80224070) }, .priority = 10 }, - { .actor = &N(swooper), .home = { .vec = &N(vector3D_8022407C) }, .priority = 9 }, - { .actor = &N(swooper), .home = { .vec = &N(vector3D_80224088) }, .priority = 8 }, + ACTOR_BY_POS(N(swooper), N(vector3D_80224070), 10), + ACTOR_BY_POS(N(swooper), N(vector3D_8022407C), 9), + ACTOR_BY_POS(N(swooper), N(vector3D_80224088), 8), }; Formation N(Formation_07) = { - { .actor = &N(stone_chomp), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(stone_chomp), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(stone_chomp), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(stone_chomp), BTL_POS_GROUND_C, 9), }; Formation N(Formation_08) = { - { .actor = &N(stone_chomp), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(stone_chomp), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(stone_chomp), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(stone_chomp), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(stone_chomp), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(stone_chomp), BTL_POS_GROUND_C, 8), }; Formation N(Formation_09) = { - { .actor = &N(buzzy_beetle), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(buzzy_beetle), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0A) = { - { .actor = &N(buzzy_beetle), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(buzzy_beetle), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(buzzy_beetle), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(buzzy_beetle), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0B) = { - { .actor = &N(buzzy_beetle), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240AC) }, .priority = 9, .var0 = 1 }, - { .actor = &N(swooper), .home = { .vec = &N(vector3D_802240B8) }, .priority = 8 }, + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_A, 10), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240AC), 9, 1), + ACTOR_BY_POS(N(swooper), N(vector3D_802240B8), 8), }; Formation N(Formation_0C) = { - { .actor = &N(buzzy_beetle), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(swooper), .home = { .vec = &N(vector3D_802240B8) }, .priority = 9 }, + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_B, 10), + ACTOR_BY_POS(N(swooper), N(vector3D_802240B8), 9), }; Formation N(Formation_0D) = { - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240AC) }, .priority = 10, .var0 = 1 }, - { .actor = &N(buzzy_beetle), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240AC), 10, 1), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0E) = { - { .actor = &N(buzzy_beetle), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240B8) }, .priority = 9, .var0 = 1 }, + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_B, 10), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240B8), 9, 1), }; Formation N(Formation_0F) = { - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240AC) }, .priority = 10, .var0 = 1 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240B8) }, .priority = 9, .var0 = 1 }, + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240AC), 10, 1), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240B8), 9, 1), }; Formation N(Formation_10) = { - { .actor = &N(buzzy_beetle), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240AC) }, .priority = 9, .var0 = 1 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240B8) }, .priority = 8, .var0 = 1 }, + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_A, 10), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240AC), 9, 1), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240B8), 8, 1), }; Formation N(Formation_11) = { - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240A0) }, .priority = 10, .var0 = 1 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240AC) }, .priority = 9, .var0 = 1 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240B8) }, .priority = 8, .var0 = 1 }, + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240A0), 10, 1), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240AC), 9, 1), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240B8), 8, 1), }; Vec3i N(vector3D_8022460C) = { 0, 112, -25 }; @@ -152,39 +145,39 @@ Vec3i N(vector3D_80224624) = { 80, 112, -25 }; Vec3i N(vector3D_80224630) = { 120, 112, -25 }; Formation N(Formation_12) = { - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_8022460C) }, .priority = 10, .var0 = 1 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_80224618) }, .priority = 9, .var0 = 1 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_80224624) }, .priority = 8, .var0 = 1 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_80224630) }, .priority = 7, .var0 = 1 }, + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_8022460C), 10, 1), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_80224618), 9, 1), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_80224624), 8, 1), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_80224630), 7, 1), }; Formation N(Formation_13) = { - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240A0) }, .priority = 10, .var0 = 1 }, - { .actor = &N(buzzy_beetle), .home = { .vec = &N(vector3D_802240AC) }, .priority = 9, .var0 = 1 }, - { .actor = &N(swooper), .home = { .vec = &N(vector3D_802240B8) }, .priority = 8 }, + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240A0), 10, 1), + ACTOR_BY_POS(N(buzzy_beetle), N(vector3D_802240AC), 9, 1), + ACTOR_BY_POS(N(swooper), N(vector3D_802240B8), 8), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(isk_02b), "サンボマミーx2"), - BATTLE(N(Formation_01), &N(isk_02b), "サンボマミーx3"), - BATTLE(N(Formation_02), &N(isk_04), "サンボマミー,バサバサ"), - BATTLE(N(Formation_03), &N(isk_04), "サンボマミーx2,バサバサ"), - BATTLE(N(Formation_04), &N(isk_04), "サンボマミーx2,バサバサx2"), - BATTLE(N(Formation_05), &N(isk_04), "バサバサx2"), - BATTLE(N(Formation_06), &N(isk_04), "バサバサx3"), - BATTLE(N(Formation_07), &N(isk_02b), "ストーンワンワンx2"), - BATTLE(N(Formation_08), &N(isk_02b), "ストーンワンワンx3"), - BATTLE(N(Formation_09), &N(isk_02b), "メットx2"), - BATTLE(N(Formation_0A), &N(isk_02b), "メットx4"), - BATTLE(N(Formation_0B), &N(isk_05), "メット,メット(てんじょう),バサバサ"), - BATTLE(N(Formation_0C), &N(isk_05), "メット,バサバサ"), - BATTLE(N(Formation_0D), &N(isk_05), "メット(てんじょう),メット"), - BATTLE(N(Formation_0E), &N(isk_05), "メット,メット(てんじょう)"), - BATTLE(N(Formation_0F), &N(isk_05), "メット(てんじょう)x2"), - BATTLE(N(Formation_10), &N(isk_05), "メット,メット(てんじょう)x2"), - BATTLE(N(Formation_11), &N(isk_05), "メット(てんじょう)x3"), - BATTLE(N(Formation_12), &N(isk_05), "メット(てんじょう)x4"), - BATTLE(N(Formation_13), &N(isk_05), "メット(てんじょう)x2,バサバサ"), + BATTLE(N(Formation_00), N(isk_02b), "サンボマミーx2"), + BATTLE(N(Formation_01), N(isk_02b), "サンボマミーx3"), + BATTLE(N(Formation_02), N(isk_04), "サンボマミー,バサバサ"), + BATTLE(N(Formation_03), N(isk_04), "サンボマミーx2,バサバサ"), + BATTLE(N(Formation_04), N(isk_04), "サンボマミーx2,バサバサx2"), + BATTLE(N(Formation_05), N(isk_04), "バサバサx2"), + BATTLE(N(Formation_06), N(isk_04), "バサバサx3"), + BATTLE(N(Formation_07), N(isk_02b), "ストーンワンワンx2"), + BATTLE(N(Formation_08), N(isk_02b), "ストーンワンワンx3"), + BATTLE(N(Formation_09), N(isk_02b), "メットx2"), + BATTLE(N(Formation_0A), N(isk_02b), "メットx4"), + BATTLE(N(Formation_0B), N(isk_05), "メット,メット(てんじょう),バサバサ"), + BATTLE(N(Formation_0C), N(isk_05), "メット,バサバサ"), + BATTLE(N(Formation_0D), N(isk_05), "メット(てんじょう),メット"), + BATTLE(N(Formation_0E), N(isk_05), "メット,メット(てんじょう)"), + BATTLE(N(Formation_0F), N(isk_05), "メット(てんじょう)x2"), + BATTLE(N(Formation_10), N(isk_05), "メット,メット(てんじょう)x2"), + BATTLE(N(Formation_11), N(isk_05), "メット(てんじょう)x3"), + BATTLE(N(Formation_12), N(isk_05), "メット(てんじょう)x4"), + BATTLE(N(Formation_13), N(isk_05), "メット(てんじょう)x2,バサバサ"), {}, }; @@ -192,14 +185,14 @@ StageList N(Stages) = { { "isk_00", &N(isk_00) }, { "isk_01", &N(isk_01) }, { "isk_02", &N(isk_02) }, - { "isk_02b", &N(isk_02b) }, - { "isk_02c", &N(isk_02c) }, + STAGE("isk_02b", N(isk_02b)), + STAGE("isk_02c", N(isk_02c)), { "isk_03", &N(isk_03) }, - { "isk_03b", &N(isk_03b) }, + STAGE("isk_03b", N(isk_03b)), { "isk_04", &N(isk_04) }, { "isk_05", &N(isk_05) }, { "isk_06", &N(isk_06) }, - { "isk_06b", &N(isk_06b) }, + STAGE("isk_06b", N(isk_06b)), { "isk_07", &N(isk_07) }, { "isk_08", &N(isk_08) }, {}, diff --git a/src/battle/area/isk_part_2/actor/chain_chomp.c b/src/battle/area/isk_part_2/actor/chain_chomp.c index 802ce541ad..9494fa4bcf 100644 --- a/src/battle/area/isk_part_2/actor/chain_chomp.c +++ b/src/battle/area/isk_part_2/actor/chain_chomp.c @@ -6,219 +6,242 @@ #define NAMESPACE b_area_isk_part_2_chain_chomp -extern EvtScript N(init_80218EC4); -extern EvtScript N(takeTurn_8021A7C4); -extern EvtScript N(idle_80219108); -extern EvtScript N(handleEvent_802197C4); -extern EvtScript N(8021972C); -extern EvtScript N(8021A200); -extern EvtScript N(8021B41C); -extern EvtScript N(8021B50C); +extern EvtScript N(EVS_Init); +extern EvtScript N(EVS_TakeTurn); +extern EvtScript N(EVS_Idle); +extern EvtScript N(EVS_HandleEvent); +extern EvtScript N(EVS_UpdateChain); +extern EvtScript N(EVS_Chomp_SpinSmashHit); +extern EvtScript N(EVS_Chomp_HopHome); +extern EvtScript N(EVS_Chomp_HopToPos); -s32 N(IdleAnimations_80218B40)[] = { - STATUS_NORMAL, ANIM_ChainChomp_Anim01, - STATUS_STONE, ANIM_ChainChomp_Anim00, - STATUS_SLEEP, ANIM_ChainChomp_Anim07, - STATUS_POISON, ANIM_ChainChomp_Anim01, - STATUS_STOP, ANIM_ChainChomp_Anim00, - STATUS_STATIC, ANIM_ChainChomp_Anim00, - STATUS_PARALYZE, ANIM_ChainChomp_Anim00, - STATUS_DIZZY, ANIM_ChainChomp_Anim08, +enum N(ActorVars) { + AVAR_EnableChainSounds = 8, + AVAR_BOSS_Stunned = 8, // actor var for Tutankoopa + AVAR_BOSS_NextSummonTime = 12, // actor var for Tutankoopa to signal chomp has died +}; + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_TARGET = 2, + PRT_CHAIN_1 = 3, + PRT_CHAIN_2 = 4, + PRT_CHAIN_3 = 5, + PRT_CHAIN_4 = 6, + PRT_CHAIN_5 = 7, + PRT_CHAIN_6 = 8, + PRT_CHAIN_7 = 9, + PRT_CHAIN_8 = 10, +}; + +enum N(ActorParams) { + DMG_CHOMP_BITE = 3, +}; + +s32 N(BasicAnims)[] = { + STATUS_KEY_NORMAL, ANIM_ChainChomp_Idle, + STATUS_KEY_STONE, ANIM_ChainChomp_Still, + STATUS_KEY_SLEEP, ANIM_ChainChomp_Sleep, + STATUS_KEY_POISON, ANIM_ChainChomp_Idle, + STATUS_KEY_STOP, ANIM_ChainChomp_Still, + STATUS_KEY_STATIC, ANIM_ChainChomp_Still, + STATUS_KEY_PARALYZE, ANIM_ChainChomp_Still, + STATUS_KEY_DIZZY, ANIM_ChainChomp_Dizzy, STATUS_END, }; -s32 N(IdleAnimations_80218B84)[] = { - STATUS_NORMAL, ANIM_ChainChomp_Anim03, - STATUS_POISON, ANIM_ChainChomp_Anim03, - STATUS_STOP, ANIM_ChainChomp_Anim00, - STATUS_STONE, ANIM_ChainChomp_Anim00, - STATUS_SLEEP, ANIM_ChainChomp_Anim07, - STATUS_STATIC, ANIM_ChainChomp_Anim00, - STATUS_PARALYZE, ANIM_ChainChomp_Anim00, - STATUS_DIZZY, ANIM_ChainChomp_Anim08, +s32 N(QuickBiteAnims)[] = { + STATUS_KEY_NORMAL, ANIM_ChainChomp_QuickBite, + STATUS_KEY_POISON, ANIM_ChainChomp_QuickBite, + STATUS_KEY_STOP, ANIM_ChainChomp_Still, + STATUS_KEY_STONE, ANIM_ChainChomp_Still, + STATUS_KEY_SLEEP, ANIM_ChainChomp_Sleep, + STATUS_KEY_STATIC, ANIM_ChainChomp_Still, + STATUS_KEY_PARALYZE, ANIM_ChainChomp_Still, + STATUS_KEY_DIZZY, ANIM_ChainChomp_Dizzy, STATUS_END, }; -s32 N(IdleAnimations_80218BC8)[] = { - STATUS_NORMAL, ANIM_ChainChomp_Anim04, - STATUS_POISON, ANIM_ChainChomp_Anim04, - STATUS_STOP, ANIM_ChainChomp_Anim00, - STATUS_STONE, ANIM_ChainChomp_Anim00, - STATUS_SLEEP, ANIM_ChainChomp_Anim07, - STATUS_STATIC, ANIM_ChainChomp_Anim00, - STATUS_PARALYZE, ANIM_ChainChomp_Anim00, - STATUS_DIZZY, ANIM_ChainChomp_Anim08, +s32 N(BiteAnims)[] = { + STATUS_KEY_NORMAL, ANIM_ChainChomp_Bite, + STATUS_KEY_POISON, ANIM_ChainChomp_Bite, + STATUS_KEY_STOP, ANIM_ChainChomp_Still, + STATUS_KEY_STONE, ANIM_ChainChomp_Still, + STATUS_KEY_SLEEP, ANIM_ChainChomp_Sleep, + STATUS_KEY_STATIC, ANIM_ChainChomp_Still, + STATUS_KEY_PARALYZE, ANIM_ChainChomp_Still, + STATUS_KEY_DIZZY, ANIM_ChainChomp_Dizzy, STATUS_END, }; -s32 N(IdleAnimations_80218C0C)[] = { - STATUS_NORMAL, ANIM_ChainChomp_Anim05, - STATUS_POISON, ANIM_ChainChomp_Anim05, - STATUS_STOP, ANIM_ChainChomp_Anim00, - STATUS_STONE, ANIM_ChainChomp_Anim00, - STATUS_SLEEP, ANIM_ChainChomp_Anim07, - STATUS_STATIC, ANIM_ChainChomp_Anim00, - STATUS_PARALYZE, ANIM_ChainChomp_Anim00, - STATUS_DIZZY, ANIM_ChainChomp_Anim08, +s32 N(SlowBiteAnims)[] = { + STATUS_KEY_NORMAL, ANIM_ChainChomp_SlowBite, + STATUS_KEY_POISON, ANIM_ChainChomp_SlowBite, + STATUS_KEY_STOP, ANIM_ChainChomp_Still, + STATUS_KEY_STONE, ANIM_ChainChomp_Still, + STATUS_KEY_SLEEP, ANIM_ChainChomp_Sleep, + STATUS_KEY_STATIC, ANIM_ChainChomp_Still, + STATUS_KEY_PARALYZE, ANIM_ChainChomp_Still, + STATUS_KEY_DIZZY, ANIM_ChainChomp_Dizzy, STATUS_END, }; -s32 N(IdleAnimations_80218C50)[] = { - STATUS_NORMAL, ANIM_ChainChomp_Anim02, +s32 N(ChainAnims)[] = { + STATUS_KEY_NORMAL, ANIM_ChainChomp_Chain, STATUS_END, }; -s32 N(DefenseTable_80218C5C)[] = { - ELEMENT_NORMAL, 3, - ELEMENT_SHOCK, 3, - ELEMENT_FIRE, 99, - ELEMENT_ICE, 99, - ELEMENT_MAGIC, 99, +s32 N(DefenseTable)[] = { + ELEMENT_NORMAL, 3, + ELEMENT_SHOCK, 3, + ELEMENT_FIRE, 99, + ELEMENT_ICE, 99, + ELEMENT_MAGIC, 99, ELEMENT_END, }; -s32 N(StatusTable_80218C88)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 75, - STATUS_STOP, 75, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, +s32 N(StatusTable)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 75, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80218D34)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80218B40), - .defenseTable = N(DefenseTable_80218C5C), + .idleAnimations = N(BasicAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_TARGET, .posOffset = { 0, 0, 0 }, .targetOffset = { -13, 40 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80218B40), - .defenseTable = N(DefenseTable_80218C5C), + .idleAnimations = N(BasicAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -16 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_CHAIN_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80218C50), - .defenseTable = N(DefenseTable_80218C5C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_CHAIN_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80218C50), - .defenseTable = N(DefenseTable_80218C5C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_CHAIN_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80218C50), - .defenseTable = N(DefenseTable_80218C5C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_CHAIN_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80218C50), - .defenseTable = N(DefenseTable_80218C5C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 7, + .index = PRT_CHAIN_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80218C50), - .defenseTable = N(DefenseTable_80218C5C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 8, + .index = PRT_CHAIN_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80218C50), - .defenseTable = N(DefenseTable_80218C5C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 9, + .index = PRT_CHAIN_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80218C50), - .defenseTable = N(DefenseTable_80218C5C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 10, + .index = PRT_CHAIN_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80218C50), - .defenseTable = N(DefenseTable_80218C5C), + .idleAnimations = N(ChainAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, @@ -230,10 +253,10 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_CHOMP, .level = 14, .maxHP = 4, - .partCount = ARRAY_COUNT( N(PartsTable_80218D34)), - .partsData = N(PartsTable_80218D34), - .initScript = &N(init_80218EC4), - .statusTable = N(StatusTable_80218C88), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), + .initScript = &N(EVS_Init), + .statusTable = N(StatusTable), .escapeChance = 0, .airLiftChance = 0, .hurricaneChance = 0, @@ -243,130 +266,16 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 95, .coinReward = 0, .size = { 56, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; -#include "common/ChompChainInit.inc.c" - -#include "common/ChompChainUpdateHelperFunc.inc.c" - -#include "common/ChompChainUpdateHelperFunc2.inc.c" - -API_CALLABLE(b_area_isk_part_2_chain_chomp_ChompChainUpdate) { - Bytecode* args = script->ptrReadPos; - f32 sp18; - Actor* actor; - ActorPart* part; - ChompChainAnimationState* animState; - f32 dist; - f32 angle; - f32 ax, ay; - s32 three; - s32 something; - s32 i; - - actor = get_actor(script->owner1.actorID); - if (actor == NULL) { - return ApiStatus_BLOCK; - } - - something = evt_get_variable(script, *args++); - - three = 3; - - animState = actor->state.functionTempPtr[0]; - if (actor->debuff == STATUS_SHRINK) { - ax = actor->currentPos.x + 6.0; - ay = actor->currentPos.y + 2.5; - } else { - ax = actor->currentPos.x + 12.0; - ay = actor->currentPos.y + 5.0; - } - - for (i = 0; i < 8; i++, animState++) { - if (actor->debuff == STATUS_SHRINK) { - animState->scale.x = 3.5f; - animState->scale.z = 3.5f; - animState->scale.y = 3.5f; - } else { - animState->scale.x = 7.0f; - animState->scale.z = 7.0f; - animState->scale.y = 7.0f; - } - - animState->unk_18 -= animState->unk_14; - if (animState->unk_18 < 2.0f * -animState->unk_14) { - animState->unk_18 = 2.0f * -animState->unk_14; - if (actor->state.varTable[8] != 0 && i == 0) { - sfx_play_sound_at_position(SOUND_2063, SOUND_SPACE_MODE_0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z); - } - } - animState->currentPos.y += animState->unk_18; - if (actor->debuff == STATUS_SHRINK) { - if (animState->currentPos.y < 2.5) { - animState->currentPos.y = 2.5f; - animState->unk_18 = 0.0f; - } - } else { - if (animState->currentPos.y < 5.0) { - animState->currentPos.y = 5.0f; - animState->unk_18 = 0.0f; - } - } - - dist = dist2D(ax, ay, animState->currentPos.x, animState->currentPos.y); - angle = atan2(ax, ay, animState->currentPos.x, animState->currentPos.y); - - if (animState->scale.z <= dist) { - b_area_isk_part_2_chain_chomp_ChompChainUpdateHelperFunc2(&sp18, dist - animState->scale.z, angle); - animState->unk_18 += sp18 * 0.5; - } - - if (animState->scale.y <= dist) { - f32 t; - - if (animState->scale.x <= dist) { - t = dist; - t = t - animState->scale.x; - } else { - animState->unk_1C += animState->unk_20; - t = animState->unk_1C; - } - b_area_isk_part_2_chain_chomp_ChompChainUpdateHelperFunc(animState, t, angle); - } else { - animState->unk_1C -= animState->unk_20 * 0.2; - if (animState->unk_1C < 0.0) { - animState->unk_1C = 0.0f; - } - b_area_isk_part_2_chain_chomp_ChompChainUpdateHelperFunc(animState, animState->unk_1C, angle); - } - - if (animState->unk_1C > 4.0) { - animState->unk_1C = 4.0f; - } - animState->currentPos.z = something; - part = get_actor_part(actor, three + i); - part->absolutePosition.x = animState->currentPos.x; - part->absolutePosition.y = animState->currentPos.y; - part->absolutePosition.z = animState->currentPos.z; - - if (actor->debuff == STATUS_SHRINK) { - part->scale.x = 0.5f; - part->scale.y = 0.5f; - part->scale.z = 1.0f; - } else { - part->scale.x = 1.0f; - part->scale.y = 1.0f; - part->scale.z = 1.0f; - } - ay = animState->currentPos.y; - ax = animState->currentPos.x; - } - - return ApiStatus_DONE2; -} +#define CHOMP_CHAIN_FIRST_PART_IDX PRT_CHAIN_1 +#define CHOMP_CHAIN_LAST_PART_IDX PRT_CHAIN_8 +#define CHOMP_CHAIN_AVAR_SOUNDS AVAR_EnableChainSounds +#define CHOMP_CHAIN_UPDATE_Z TRUE +#include "common/battle/ChompChainSupport.inc.c" API_CALLABLE(func_8021866C_4EFB0C) { Bytecode* args = script->ptrReadPos; @@ -376,156 +285,156 @@ API_CALLABLE(func_8021866C_4EFB0C) { return ApiStatus_DONE2; } -EvtScript N(init_80218EC4) = { - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021A7C4))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80219108))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_802197C4))) +EvtScript N(EVS_Init) = { + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, FALSE) + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(EVS_TakeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(EVS_Idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_SET(LVar0, 3) - EVT_LOOP(8) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) + EVT_SET(LVar0, PRT_CHAIN_1) + EVT_LOOP(1 + (PRT_CHAIN_8 - PRT_CHAIN_1)) EVT_CALL(SetPartSize, ACTOR_SELF, LVar0, 16, 16) EVT_ADD(LVar0, 1) EVT_END_LOOP EVT_CALL(N(ChompChainInit)) - EVT_EXEC(N(8021972C)) + EVT_EXEC(N(EVS_UpdateChain)) EVT_RETURN EVT_END }; -EvtScript N(80218FCC) = { +EvtScript N(EVS_UpdateTargetPartPos) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 0, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_TARGET, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_TARGET, 0, 0) EVT_ELSE EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -13, 40) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 0, -14) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_TARGET, -13, 40) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_TARGET, 0, -14) EVT_END_IF EVT_RETURN EVT_END }; -EvtScript N(idle_80219108) = { +EvtScript N(EVS_Idle) = { EVT_LABEL(0) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80218FCC)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80218C0C))) - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 10) - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 11, 1) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80218FCC)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 6, 1) - EVT_CALL(RandInt, 10, LVar0) - EVT_ADD(LVar0, 1) - EVT_WAIT(LVar0) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80218FCC)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80218BC8))) - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 15, 1) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80218FCC)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80218C0C))) - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 20) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 12, 1) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80218FCC)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_SUB(LVar0, 10) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 9, 1) - EVT_LOOP(0) - EVT_EXEC_WAIT(N(80218FCC)) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80218B84))) - EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) - EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 6, 1) - EVT_CALL(RandInt, 10, LVar0) - EVT_ADD(LVar0, 10) - EVT_WAIT(LVar0) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(8021972C) = { - EVT_LABEL(0) - EVT_WAIT(1) - EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar0) - EVT_IF_EQ(LVar0, TRUE) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(N(ChompChainUpdate), LVar2) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(SlowBiteAnims))) + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 10) + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 11, 1) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 6, 1) + EVT_CALL(RandInt, 10, LVar0) + EVT_ADD(LVar0, 1) + EVT_WAIT(LVar0) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(BiteAnims))) + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 15, 1) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(SlowBiteAnims))) + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 20) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 12, 1) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 10) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 9, 1) + EVT_LOOP(0) + EVT_EXEC_WAIT(N(EVS_UpdateTargetPartPos)) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(QuickBiteAnims))) + EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) + EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) + EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(IdleJumpToGoal, ACTOR_SELF, 6, 1) + EVT_CALL(RandInt, 10, LVar0) + EVT_ADD(LVar0, 10) + EVT_WAIT(LVar0) EVT_GOTO(0) - EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_UpdateChain) = { + EVT_LABEL(0) + EVT_WAIT(1) + EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar0) + EVT_IF_EQ(LVar0, TRUE) + EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(N(ChompChainUpdate), LVar2) + EVT_GOTO(0) + EVT_END_IF EVT_LABEL(1) EVT_RETURN EVT_END }; -EvtScript N(handleEvent_802197C4) = { +EvtScript N(EVS_HandleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) @@ -533,43 +442,43 @@ EvtScript N(handleEvent_802197C4) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_HIT_COMBO) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CASE_EQ(EVENT_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE) EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_SET_CONST(LVar2, -1) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_SET_CONST(LVar2, -1) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_WAIT(10) - EVT_CALL(SetActorVar, ACTOR_ENEMY0, 12, 2) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, AVAR_BOSS_NextSummonTime, 2) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) - EVT_EXEC_WAIT(N(8021A200)) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) + EVT_EXEC_WAIT(N(EVS_Chomp_SpinSmashHit)) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -587,9 +496,9 @@ EvtScript N(handleEvent_802197C4) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim05) - EVT_EXEC_WAIT(N(8021B41C)) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_SlowBite) + EVT_EXEC_WAIT(N(EVS_Chomp_HopHome)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) @@ -598,11 +507,11 @@ EvtScript N(handleEvent_802197C4) = { EVT_END_THREAD EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, FALSE) EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) @@ -614,61 +523,61 @@ EvtScript N(handleEvent_802197C4) = { EVT_END_IF EVT_CALL(SetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_END_IF - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_BlowAway) EVT_RETURN EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim01) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Idle) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim01) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Idle) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_SHOCK_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, FALSE) EVT_WAIT(10) - EVT_CALL(SetActorVar, ACTOR_ENEMY0, 12, 2) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, AVAR_BOSS_NextSummonTime, 2) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_WAIT(10) - EVT_CALL(SetActorVar, ACTOR_ENEMY0, 12, 2) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, AVAR_BOSS_NextSummonTime, 2) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) - EVT_EXEC_WAIT(N(8021A200)) - EVT_CALL(SetActorVar, ACTOR_ENEMY0, 12, 2) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) + EVT_EXEC_WAIT(N(EVS_Chomp_SpinSmashHit)) + EVT_CALL(SetActorVar, ACTOR_ENEMY0, AVAR_BOSS_NextSummonTime, 2) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim01) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Idle) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_DEFAULT EVT_END_SWITCH @@ -687,17 +596,17 @@ EvtScript N(handleEvent_802197C4) = { EVT_END }; -EvtScript N(8021A200) = { +EvtScript N(EVS_Chomp_SpinSmashHit) = { EVT_CALL(ActorExists, ACTOR_ENEMY0, LVar0) EVT_IF_EQ(LVar0, FALSE) EVT_GOTO(1) EVT_END_IF - EVT_CALL(GetActorVar, ACTOR_ENEMY0, 8, LVar0) + EVT_CALL(GetActorVar, ACTOR_ENEMY0, AVAR_BOSS_Stunned, LVar0) EVT_IF_EQ(LVar0, 0) EVT_GOTO(1) EVT_END_IF EVT_LABEL(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_Hurt) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_ENEMY0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -736,7 +645,7 @@ EvtScript N(8021A200) = { EVT_WAIT(15) EVT_GOTO(10) EVT_LABEL(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_Hurt) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.1)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -763,15 +672,15 @@ EvtScript N(8021A200) = { EVT_WAIT(15) EVT_LABEL(10) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim01) - EVT_EXEC_WAIT(N(8021B41C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim01) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Idle) + EVT_EXEC_WAIT(N(EVS_Chomp_HopHome)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Idle) EVT_RETURN EVT_END }; -EvtScript N(takeTurn_8021A7C4) = { - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) +EvtScript N(EVS_TakeTurn) = { + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, TRUE) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) @@ -791,7 +700,7 @@ EvtScript N(takeTurn_8021A7C4) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) EVT_END_IF EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_SlowBite) EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_10F) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -800,7 +709,7 @@ EvtScript N(takeTurn_8021A7C4) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(PlaySound, SOUND_10F) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_Idle) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) @@ -837,7 +746,7 @@ EvtScript N(takeTurn_8021A7C4) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) EVT_END_IF EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_Bite) EVT_WAIT(20) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -845,20 +754,20 @@ EvtScript N(takeTurn_8021A7C4) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim01) - EVT_EXEC_WAIT(N(8021B41C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim01) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Idle) + EVT_EXEC_WAIT(N(EVS_Chomp_HopHome)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_Idle) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_Idle) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -873,13 +782,13 @@ EvtScript N(takeTurn_8021A7C4) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_WAIT(2) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, 0, DMG_CHOMP_BITE, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_DEFAULT EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_Bite) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -922,21 +831,21 @@ EvtScript N(takeTurn_8021A7C4) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) EVT_END_IF EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_Idle) EVT_WAIT(8) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_IF_EQ(LVarF, HIT_RESULT_10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) EVT_RETURN EVT_END_IF EVT_CALL(YieldTurn) EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim01) - EVT_EXEC_WAIT(N(8021B41C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim01) + EVT_SET_CONST(LVar1, ANIM_ChainChomp_Idle) + EVT_EXEC_WAIT(N(EVS_Chomp_HopHome)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_Idle) EVT_END_SWITCH - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_EnableChainSounds, FALSE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -944,22 +853,29 @@ EvtScript N(takeTurn_8021A7C4) = { EVT_END }; -EvtScript N(8021B41C) = { +// Custom version of EVS_Enemy_HopHome +// (in) LVar0: part idx +// (in) LVar1: hopping animID +EvtScript N(EVS_Chomp_HopHome) = { EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ChainChomp_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ChainChomp_Bite) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_EXEC_WAIT(N(8021B50C)) + EVT_EXEC_WAIT(N(EVS_Chomp_HopToPos)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_TARGET, LVar0, LVar1, LVar2) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END }; -EvtScript N(8021B50C) = { +// Custom version of EVS_Enemy_HopToPos +// (in) LVar0: target posX +// (in) LVar1: target posY +// (in) LVar2: target posZ +EvtScript N(EVS_Chomp_HopToPos) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_IF_LT(LVar3, LVar0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) @@ -967,63 +883,63 @@ EvtScript N(8021B50C) = { EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_IF EVT_LABEL(0) - EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) - EVT_IF_EQ(LVar3, LVar0) - EVT_GOTO(10) - EVT_END_IF - EVT_IF_LT(LVar3, LVar0) - EVT_SET(LVar4, LVar0) - EVT_SUB(LVar4, LVar3) - EVT_IF_LT(LVar4, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) - EVT_THREAD - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) - EVT_END_IF - EVT_END_THREAD + EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) + EVT_IF_EQ(LVar3, LVar0) + EVT_GOTO(10) + EVT_END_IF + EVT_IF_LT(LVar3, LVar0) + EVT_SET(LVar4, LVar0) + EVT_SUB(LVar4, LVar3) + EVT_IF_LT(LVar4, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) + EVT_THREAD + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) + EVT_END_IF + EVT_END_THREAD + EVT_ELSE + EVT_SET(LVar4, LVar3) + EVT_ADD(LVar3, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) + EVT_THREAD + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) + EVT_END_IF + EVT_END_THREAD + EVT_END_IF EVT_ELSE EVT_SET(LVar4, LVar3) - EVT_ADD(LVar3, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) - EVT_THREAD - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) - EVT_END_IF - EVT_END_THREAD + EVT_SUB(LVar4, LVar0) + EVT_IF_LT(LVar4, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) + EVT_THREAD + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) + EVT_END_IF + EVT_END_THREAD + EVT_ELSE + EVT_SUB(LVar3, 30) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar1, LVar2) + EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) + EVT_THREAD + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) + EVT_END_IF + EVT_END_THREAD + EVT_END_IF EVT_END_IF - EVT_ELSE - EVT_SET(LVar4, LVar3) - EVT_SUB(LVar4, LVar0) - EVT_IF_LT(LVar4, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) - EVT_THREAD - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) - EVT_END_IF - EVT_END_THREAD - EVT_ELSE - EVT_SUB(LVar3, 30) - EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar1, LVar2) - EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2062) - EVT_THREAD - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) - EVT_END_IF - EVT_END_THREAD - EVT_END_IF - EVT_END_IF - EVT_GOTO(0) + EVT_GOTO(0) EVT_LABEL(10) EVT_RETURN EVT_END diff --git a/src/battle/area/isk_part_2/actor/tutankoopa.c b/src/battle/area/isk_part_2/actor/tutankoopa.c index 659a10b3a1..711c5d34e6 100644 --- a/src/battle/area/isk_part_2/actor/tutankoopa.c +++ b/src/battle/area/isk_part_2/actor/tutankoopa.c @@ -9,126 +9,166 @@ #define NAMESPACE b_area_isk_part_2_tutankoopa extern ActorBlueprint b_area_isk_part_2_chain_chomp; -extern EvtScript N(init_8021BC1C); -extern EvtScript N(takeTurn_8021CCD4); -extern EvtScript N(idle_8021BE28); -extern EvtScript N(handleEvent_8021BFD0); -extern EvtScript N(nextTurn_8021F9C4); -extern EvtScript N(8021C748); -extern EvtScript N(8021C974); -extern EvtScript N(8021D04C); -extern EvtScript N(8021D81C); -extern EvtScript N(8021DDE8); -extern EvtScript N(8021E008); -extern EvtScript N(8021E9C8); -extern EvtScript N(8021F42C); -extern EvtScript N(8021F5E8); -extern EvtScript N(8021F80C); -extern EvtScript N(8021FA54); +extern EvtScript N(EVS_Init); +extern EvtScript N(EVS_TakeTurn); +extern EvtScript N(EVS_Idle); +extern EvtScript N(EVS_HandleEvent); +extern EvtScript N(EVS_HandlePhase); +extern EvtScript N(EVS_Tutankoopa_SpinSmashHit); +extern EvtScript N(EVS_TemporaryKnockout); +extern EvtScript N(EVS_Attack_ThrowShell); +extern EvtScript N(EVS_Attack_DropDebris); +extern EvtScript N(EVS_DropDebris_Self); +extern EvtScript N(EVS_DropDebris_Players); +extern EvtScript N(EVS_Move_SummonChomp); +extern EvtScript N(EVS_SummonedChompHop); +extern EvtScript N(EVS_LevitateToHomePos); +extern EvtScript N(EVS_GetBackUp); +extern EvtScript N(EVS_Tutankoopa_Death); -s32 N(IdleAnimations_8021B960)[] = { - STATUS_NORMAL, ANIM_Tutankoopa_Anim01, - STATUS_STONE, ANIM_Tutankoopa_Anim00, - STATUS_SLEEP, ANIM_Tutankoopa_Anim0C, - STATUS_POISON, ANIM_Tutankoopa_Anim01, - STATUS_STOP, ANIM_Tutankoopa_Anim00, - STATUS_STATIC, ANIM_Tutankoopa_Anim00, - STATUS_PARALYZE, ANIM_Tutankoopa_Anim00, - STATUS_PARALYZE, ANIM_Tutankoopa_Anim00, - STATUS_DIZZY, ANIM_Tutankoopa_Anim0A, +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_TARGET = 2, + PRT_SHELL_1 = 3, + PRT_SHELL_2 = 4, + PRT_SHELL_3 = 5, + PRT_DEBRIS_1 = 6, + PRT_DEBRIS_2 = 7, + PRT_DEBRIS_3 = 8, +}; + +enum N(ActorVars) { + AVAR_NextAttack = 0, + AVAL_TRY_TOSS_NEXT = 0, + AVAL_DROP_DEBRIS_NEXT = 1, + + AVAR_StunState = 1, + AVAL_NOT_STUNNED = 0, + AVAL_STUNNED = 2, + + AVAR_ShellsLeft = 2, + AVAR_HasSummoned = 3, // FALSE until a chomp has been summoned + AVAR_Dialogue_Recover = 4, + AVAR_GateOpenAmount = 5, + AVAR_DebrisDropState = 6, + AVAR_07 = 7, + AVAR_Stunned = 8, // overlapping usage with AVAR_StunState? + AVAR_10 = 10, + AVAR_UsedSpikeTaunt = 11, // unused dialogue toggle for spiky-taunting + AVAR_NextSummonTime = 12, // set by chomp actor when it dies + AVAR_HittingSelf = 13, // signal to HandleEvent to treat hit as self-inflicted +}; + +enum N(ActorParams) { + DMG_DROP_DEBRIS_SELF = 2, + DMG_DROP_DEBRIS_PLAYER = 2, + DMG_DROP_DEBRIS_PARTNER = 2, + DMG_THROW_SHELL = 3, +}; + +s32 N(TutankoopaAnims)[] = { + STATUS_KEY_NORMAL, ANIM_Tutankoopa_Idle, + STATUS_KEY_STONE, ANIM_Tutankoopa_Still, + STATUS_KEY_SLEEP, ANIM_Tutankoopa_Sleep, + STATUS_KEY_POISON, ANIM_Tutankoopa_Idle, + STATUS_KEY_STOP, ANIM_Tutankoopa_Still, + STATUS_KEY_STATIC, ANIM_Tutankoopa_Still, + STATUS_KEY_PARALYZE, ANIM_Tutankoopa_Still, + STATUS_KEY_PARALYZE, ANIM_Tutankoopa_Still, + STATUS_KEY_DIZZY, ANIM_Tutankoopa_Dizzy, STATUS_END, }; -s32 N(IdleAnimations_8021B9AC)[] = { - STATUS_NORMAL, ANIM_Tutankoopa_Anim0A, - STATUS_STONE, ANIM_Tutankoopa_Anim07, - STATUS_SLEEP, ANIM_Tutankoopa_Anim0D, - STATUS_POISON, ANIM_Tutankoopa_Anim0A, - STATUS_STOP, ANIM_Tutankoopa_Anim07, - STATUS_STATIC, ANIM_Tutankoopa_Anim0A, - STATUS_PARALYZE, ANIM_Tutankoopa_Anim0A, - STATUS_PARALYZE, ANIM_Tutankoopa_Anim0A, - STATUS_DIZZY, ANIM_Tutankoopa_Anim0A, +s32 N(TutankoopaFallenAnims)[] = { + STATUS_KEY_NORMAL, ANIM_Tutankoopa_Dizzy, + STATUS_KEY_STONE, ANIM_Tutankoopa_Fall, + STATUS_KEY_SLEEP, ANIM_Tutankoopa_SleepGround, + STATUS_KEY_POISON, ANIM_Tutankoopa_Dizzy, + STATUS_KEY_STOP, ANIM_Tutankoopa_Fall, + STATUS_KEY_STATIC, ANIM_Tutankoopa_Dizzy, + STATUS_KEY_PARALYZE, ANIM_Tutankoopa_Dizzy, + STATUS_KEY_PARALYZE, ANIM_Tutankoopa_Dizzy, + STATUS_KEY_DIZZY, ANIM_Tutankoopa_Dizzy, STATUS_END, }; -s32 N(IdleAnimations_8021B9F8)[] = { - STATUS_NORMAL, ANIM_BuzzyBeetle_Anim06, +s32 N(BeetleShellAnims)[] = { + STATUS_KEY_NORMAL, ANIM_BuzzyBeetle_Anim06, STATUS_END, }; -s32 N(IdleAnimations_8021BA04)[] = { - STATUS_NORMAL, ANIM_Tutankoopa_Anim16, +s32 N(RockAnimsA)[] = { + STATUS_KEY_NORMAL, ANIM_Tutankoopa_RockStill, STATUS_END, }; -s32 N(IdleAnimations_8021BA10)[] = { - STATUS_NORMAL, ANIM_Tutankoopa_Anim16, +s32 N(RockAnimsB)[] = { + STATUS_KEY_NORMAL, ANIM_Tutankoopa_RockStill, STATUS_END, }; -s32 N(DefenseTable_8021BA1C)[] = { - ELEMENT_NORMAL, 0, +s32 N(DefenseTable)[] = { + ELEMENT_NORMAL, 0, ELEMENT_END, }; -s32 N(StatusTable_8021BA28)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 20, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 30, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 30, - STATUS_SHRINK, 60, - STATUS_STOP, 40, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, +s32 N(StatusTable)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 20, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 30, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 30, + STATUS_KEY_SHRINK, 60, + STATUS_KEY_STOP, 40, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8021BAD4)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 40 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_8021B960), - .defenseTable = N(DefenseTable_8021BA1C), + .idleAnimations = N(TutankoopaAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_TARGET, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 39 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_8021B960), - .defenseTable = N(DefenseTable_8021BA1C), + .idleAnimations = N(TutankoopaAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { -5, -15 }, }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_40000000, - .index = 3, + .index = PRT_SHELL_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_8021B9F8), + .idleAnimations = N(BeetleShellAnims), .defenseTable = NULL, .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, @@ -136,11 +176,11 @@ ActorPartBlueprint N(PartsTable_8021BAD4)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_40000000, - .index = 4, + .index = PRT_SHELL_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_8021B9F8), + .idleAnimations = N(BeetleShellAnims), .defenseTable = NULL, .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, @@ -148,11 +188,11 @@ ActorPartBlueprint N(PartsTable_8021BAD4)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_40000000, - .index = 5, + .index = PRT_SHELL_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_8021B9F8), + .idleAnimations = N(BeetleShellAnims), .defenseTable = NULL, .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, @@ -160,11 +200,11 @@ ActorPartBlueprint N(PartsTable_8021BAD4)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_DEBRIS_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_8021BA04), + .idleAnimations = N(RockAnimsA), .defenseTable = NULL, .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, @@ -172,11 +212,11 @@ ActorPartBlueprint N(PartsTable_8021BAD4)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 7, + .index = PRT_DEBRIS_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_8021BA04), + .idleAnimations = N(RockAnimsA), .defenseTable = NULL, .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, @@ -184,11 +224,11 @@ ActorPartBlueprint N(PartsTable_8021BAD4)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 8, + .index = PRT_DEBRIS_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_8021BA10), + .idleAnimations = N(RockAnimsB), .defenseTable = NULL, .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, @@ -201,10 +241,10 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_TUTANKOOPA, .level = 55, .maxHP = 30, - .partCount = ARRAY_COUNT( N(PartsTable_8021BAD4)), - .partsData = N(PartsTable_8021BAD4), - .initScript = &N(init_8021BC1C), - .statusTable = N(StatusTable_8021BA28), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), + .initScript = &N(EVS_Init), + .statusTable = N(StatusTable), .escapeChance = 0, .airLiftChance = 0, .hurricaneChance = 0, @@ -214,79 +254,79 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 70, .coinReward = 0, .size = { 56, 45 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 35 }, - .statusMessageOffset = { 10, 35 }, + .statusTextOffset = { 10, 35 }, }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" -API_CALLABLE(func_8021875C_4EFBFC) { +API_CALLABLE(SpawnFallingRock) { Bytecode* args = script->ptrReadPos; - s32 var1 = evt_get_variable(script, *args++); - s32 var2 = evt_get_variable(script, *args++); - s32 var3 = evt_get_variable(script, *args++); - EffectInstance* effect = fx_floating_rock(2, var1, 150.0f, var3, var2, -0.5f, -0.9f, 0.5f, 60); + s32 posX = evt_get_variable(script, *args++); + s32 floorY = evt_get_variable(script, *args++); + s32 posZ = evt_get_variable(script, *args++); + EffectInstance* effect = fx_floating_rock(2, posX, 150.0f, posZ, floorY, -0.5f, -0.9f, 0.5f, 60); - effect->data.floatingRock->unk_30.x = 0; - effect->data.floatingRock->unk_30.z = 0; - effect->data.floatingRock->unk_30.y = 0; + effect->data.floatingRock->rotVel.x = 0; + effect->data.floatingRock->rotVel.z = 0; + effect->data.floatingRock->rotVel.y = 0; return ApiStatus_DONE2; } -EvtScript N(init_8021BC1C) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021CCD4))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8021BE28))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021BFD0))) - EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn_8021F9C4))) +EvtScript N(EVS_Init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(EVS_TakeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(EVS_Idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) + EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(EVS_HandlePhase))) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(ForceHomePos, ACTOR_SELF, 97, 70, 15) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, 70, 70, 3) - EVT_CALL(SetPartPos, ACTOR_SELF, 4, 80, 70, -7) - EVT_CALL(SetPartPos, ACTOR_SELF, 5, 60, 70, -7) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 3, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 4, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 2, 3) - EVT_CALL(SetActorVar, ACTOR_SELF, 6, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 7, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 10, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 11, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 12, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 13, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_SHELL_1, 70, 70, 3) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_SHELL_2, 80, 70, -7) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_SHELL_3, 60, 70, -7) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Stunned, FALSE) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextAttack, AVAL_TRY_TOSS_NEXT) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_StunState, AVAL_NOT_STUNNED) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HasSummoned, FALSE) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Dialogue_Recover, FALSE) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_ShellsLeft, 3) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_DebrisDropState, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_07, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_10, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_UsedSpikeTaunt, FALSE) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextSummonTime, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HittingSelf, FALSE) EVT_RETURN EVT_END }; -EvtScript N(idle_8021BE28) = { +EvtScript N(EVS_Idle) = { EVT_LABEL(0) - EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_DIZZY) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -10, 22) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 2, -8) - EVT_CALL(N(UnkBattleFunc1), -25, 15, 0, 20) - EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, 0, 39) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, -5, -15) - EVT_CALL(N(UnkBattleFunc1), -17, 23, 11, 32) - EVT_END_IF - EVT_CASE_EQ(1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -10, 22) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 2, -8) - EVT_CALL(N(UnkBattleFunc1), -25, 15, 0, 20) - EVT_END_SWITCH - EVT_WAIT(1) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Stunned, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_DIZZY) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_TARGET, -10, 22) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_TARGET, 2, -8) + EVT_CALL(N(SetAbsoluteStatusOffsets), -25, 15, 0, 20) + EVT_ELSE + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_TARGET, 0, 39) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_TARGET, -5, -15) + EVT_CALL(N(SetAbsoluteStatusOffsets), -17, 23, 11, 32) + EVT_END_IF + EVT_CASE_EQ(1) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_TARGET, -10, 22) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_TARGET, 2, -8) + EVT_CALL(N(SetAbsoluteStatusOffsets), -25, 15, 0, 20) + EVT_END_SWITCH + EVT_WAIT(1) EVT_GOTO(0) EVT_RETURN EVT_END }; -EvtScript N(handleEvent_8021BFD0) = { +EvtScript N(EVS_HandleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) @@ -294,118 +334,119 @@ EvtScript N(handleEvent_8021BFD0) = { EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_HIT_COMBO) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CASE_EQ(EVENT_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(GetActorVar, ACTOR_SELF, 13, LVar2) - EVT_IF_NE(LVar2, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 13, 0) - EVT_EXEC_WAIT(N(8021C974)) + // if damage is from "debris drop" backfiring, fall down and become stunned + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_HittingSelf, LVar2) + EVT_IF_TRUE(LVar2) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HittingSelf, FALSE) + EVT_EXEC_WAIT(N(EVS_TemporaryKnockout)) EVT_END_IF EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE) EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_SET(LVar0, 1) - EVT_SET(LVar1, 6815762) - EVT_SET(LVar2, 6815763) + EVT_SET(LVar0, PRT_MAIN) + EVT_SET(LVar1, ANIM_Tutankoopa_BurnHurt) + EVT_SET(LVar2, ANIM_Tutankoopa_BurnStill) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_SET(LVar0, 1) - EVT_SET(LVar1, 6815762) - EVT_SET(LVar2, 6815763) + EVT_SET(LVar0, PRT_MAIN) + EVT_SET(LVar1, ANIM_Tutankoopa_BurnHurt) + EVT_SET(LVar2, ANIM_Tutankoopa_BurnStill) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_WAIT(10) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim13) - EVT_EXEC_WAIT(N(8021FA54)) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_BurnStill) + EVT_EXEC_WAIT(N(EVS_Tutankoopa_Death)) EVT_RETURN EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_EXEC_WAIT(N(8021C748)) + EVT_EXEC_WAIT(N(EVS_Tutankoopa_SpinSmashHit)) EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim0E) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Glare) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim02) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Run) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar1) - EVT_IF_EQ(LVar1, 1) - EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar1) - EVT_IF_NE(LVar1, 0) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim0A) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Stunned, LVar1) + EVT_IF_EQ(LVar1, TRUE) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_StunState, LVar1) + EVT_IF_NE(LVar1, AVAL_NOT_STUNNED) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Dizzy) EVT_ELSE - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim01) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Idle) EVT_END_IF EVT_ELSE - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim01) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Idle) EVT_END_IF EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_SPIKE_TAUNT) - EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar1) - EVT_IF_EQ(LVar1, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_StunState, LVar1) + EVT_IF_EQ(LVar1, AVAL_NOT_STUNNED) EVT_IF_FLAG(LVarE, DAMAGE_TYPE_JUMP) - EVT_CALL(GetActorVar, ACTOR_SELF, 11, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 11, 1) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_UsedSpikeTaunt, LVar0) + EVT_IF_EQ(LVar0, FALSE) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_UsedSpikeTaunt, TRUE) EVT_WAIT(60) EVT_END_IF EVT_END_IF EVT_END_IF EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH) EVT_CASE_OR_EQ(EVENT_DEATH) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim06) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Hurt) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_WAIT(10) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim06) - EVT_EXEC_WAIT(N(8021FA54)) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Hurt) + EVT_EXEC_WAIT(N(EVS_Tutankoopa_Death)) EVT_RETURN EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_EXEC_WAIT(N(8021C748)) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim06) - EVT_EXEC_WAIT(N(8021FA54)) + EVT_EXEC_WAIT(N(EVS_Tutankoopa_SpinSmashHit)) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Hurt) + EVT_EXEC_WAIT(N(EVS_Tutankoopa_Death)) EVT_RETURN EVT_CASE_EQ(EVENT_SPIKE_CONTACT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Hurt) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Idle) EVT_CASE_EQ(EVENT_BURN_CONTACT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Hurt) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Idle) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim01) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Idle) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) - EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Anim01) + EVT_SET_CONST(LVar0, PRT_MAIN) + EVT_SET_CONST(LVar1, ANIM_Tutankoopa_Idle) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_DEFAULT EVT_END_SWITCH @@ -415,8 +456,8 @@ EvtScript N(handleEvent_8021BFD0) = { EVT_END }; -EvtScript N(8021C748) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim06) +EvtScript N(EVS_Tutankoopa_SpinSmashHit) = { + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Hurt) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.1)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -428,29 +469,29 @@ EvtScript N(8021C748) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, 130, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Fall) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Levitate) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Idle) EVT_RETURN EVT_END }; -EvtScript N(8021C974) = { - EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) - EVT_IF_EQ(LVar0, 1) +EvtScript N(EVS_TemporaryKnockout) = { + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Stunned, LVar0) + EVT_IF_EQ(LVar0, TRUE) EVT_RETURN EVT_END_IF - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Hurt) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.9)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) @@ -459,27 +500,27 @@ EvtScript N(8021C974) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) EVT_THREAD - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(0.7), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(0.7), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_THREAD EVT_CALL(StartRumble, 1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Fall) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 40) EVT_PLAY_EFFECT(EFFECT_STARS_ORBITING, 0, LVar0, LVar1, LVar2, 20, 4, LVarF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Dizzy) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E5) EVT_WAIT(30) EVT_CALL(RemoveEffect, LVarF) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetActorVar, ACTOR_SELF, 7, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021B9AC))) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Stunned, TRUE) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_07, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_StunState, AVAL_STUNNED) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(TutankoopaFallenAnims))) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) @@ -487,60 +528,64 @@ EvtScript N(8021C974) = { EVT_END }; -EvtScript N(takeTurn_8021CCD4) = { +EvtScript N(EVS_TakeTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_LABEL(0) - EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Stunned, LVar0) EVT_IF_EQ(LVar0, FALSE) - EVT_CALL(GetActorVar, ACTOR_SELF, 12, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_EXEC_WAIT(N(8021E9C8)) - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_ELSE - EVT_SUB(LVar0, 1) - EVT_CALL(SetActorVar, ACTOR_SELF, 12, LVar0) - EVT_END_IF - EVT_END_IF - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_END_IF - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) - EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) + EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar0) + EVT_IF_EQ(LVar0, FALSE) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_NextSummonTime, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_EXEC_WAIT(N(8021D81C)) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_EXEC_WAIT(N(EVS_Move_SummonChomp)) + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN EVT_ELSE - EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_EXEC_WAIT(N(8021D04C)) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_ELSE - EVT_EXEC_WAIT(N(8021D81C)) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_END_IF + EVT_SUB(LVar0, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextSummonTime, LVar0) EVT_END_IF - EVT_CASE_DEFAULT - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_EXEC_WAIT(N(8021D81C)) - EVT_END_SWITCH - EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) - EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_RETURN - EVT_ELSE - EVT_CALL(SetActorVar, ACTOR_SELF, 7, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) - EVT_EXEC_WAIT(N(8021F80C)) - EVT_EXEC_WAIT(N(8021F5E8)) - EVT_GOTO(0) - EVT_END_IF + EVT_END_IF + // override to only use "drop debris" while shrunk + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextAttack, AVAL_DROP_DEBRIS_NEXT) + EVT_END_IF + // select next attack, alternating between "throw shell" and "drop debris" when possible + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_NextAttack, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(AVAL_TRY_TOSS_NEXT) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_ShellsLeft, LVar0) + EVT_IF_EQ(LVar0, 0) + // always use "drop debris" after all shells are gone + EVT_EXEC_WAIT(N(EVS_Attack_DropDebris)) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextAttack, AVAL_DROP_DEBRIS_NEXT) + EVT_ELSE + // throw a shell if not shrunk + EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) + EVT_EXEC_WAIT(N(EVS_Attack_ThrowShell)) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextAttack, AVAL_DROP_DEBRIS_NEXT) + EVT_ELSE + EVT_EXEC_WAIT(N(EVS_Attack_DropDebris)) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextAttack, AVAL_TRY_TOSS_NEXT) + EVT_END_IF + EVT_END_IF + EVT_CASE_DEFAULT + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextAttack, AVAL_TRY_TOSS_NEXT) + EVT_EXEC_WAIT(N(EVS_Attack_DropDebris)) + EVT_END_SWITCH + EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) + EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) + EVT_RETURN + EVT_ELSE + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_07, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_StunState, AVAL_NOT_STUNNED) + EVT_EXEC_WAIT(N(EVS_GetBackUp)) + EVT_EXEC_WAIT(N(EVS_LevitateToHomePos)) + EVT_GOTO(0) + EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -548,34 +593,36 @@ EvtScript N(takeTurn_8021CCD4) = { EVT_END }; -EvtScript N(8021D04C) = { +EvtScript N(EVS_Attack_ThrowShell) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_ShellsLeft, LVar0) + // get actor part for the Nth remaining shell EVT_SWITCH(LVar0) EVT_CASE_EQ(1) - EVT_SET(LVar9, 5) + EVT_SET(LVar9, PRT_SHELL_3) EVT_CASE_EQ(2) - EVT_SET(LVar9, 4) + EVT_SET(LVar9, PRT_SHELL_2) EVT_CASE_EQ(3) - EVT_SET(LVar9, 3) + EVT_SET(LVar9, PRT_SHELL_1) EVT_CASE_DEFAULT EVT_RETURN EVT_END_SWITCH EVT_SUB(LVar0, 1) - EVT_CALL(SetActorVar, ACTOR_SELF, 2, LVar0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_ShellsLeft, LVar0) + // begin the attack EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_15) EVT_CALL(SetBattleCamZoom, 320) EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(BattleCamTargetActorPart, ACTOR_SELF, LVar9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Run) EVT_CALL(GetPartOffset, ACTOR_SELF, LVar9, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) EVT_SUB(LVar2, 3) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Idle) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Lift) EVT_WAIT(7) EVT_CALL(GetPartOffset, ACTOR_SELF, LVar9, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -590,7 +637,7 @@ EvtScript N(8021D04C) = { EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Toss) EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, LVar9, EVT_FLOAT(14.0)) EVT_CALL(SetPartJumpGravity, ACTOR_SELF, LVar9, EVT_FLOAT(0.2)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -610,12 +657,12 @@ EvtScript N(8021D04C) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Idle) EVT_RETURN EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Toss) EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, LVar9, EVT_FLOAT(14.0)) EVT_CALL(SetPartJumpGravity, ACTOR_SELF, LVar9, EVT_FLOAT(0.2)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -623,7 +670,7 @@ EvtScript N(8021D04C) = { EVT_CALL(SetPartJumpGravity, ACTOR_SELF, LVar9, EVT_FLOAT(0.2)) EVT_CALL(FlyPartTo, ACTOR_SELF, LVar9, LVar0, LVar1, LVar2, 0, 30, EASING_LINEAR) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar8, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar8, DAMAGE_TYPE_NO_CONTACT, 0, 0, DMG_THROW_SHELL, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) @@ -642,14 +689,14 @@ EvtScript N(8021D04C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Idle) EVT_RETURN EVT_END }; -EvtScript N(8021D81C) = { +EvtScript N(EVS_Attack_DropDebris) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_15) EVT_CALL(SetBattleCamZoom, 350) EVT_CALL(SetBattleCamOffsetZ, 0) @@ -657,18 +704,19 @@ EvtScript N(8021D81C) = { EVT_CALL(MoveBattleCamOver, 40) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetActorVar, ACTOR_SELF, 6, LVar0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_DebrisDropState, LVar0) EVT_IF_EQ(LVar0, 0) + // first use only EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH2_00E5, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim03, ANIM_Tutankoopa_Anim03) + EVT_CALL(ActorSpeak, MSG_CH2_00E5, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Shout, ANIM_Tutankoopa_Shout) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Shout) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_PLAY_EFFECT(EFFECT_HIEROGLYPHS, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 45, 0) @@ -679,13 +727,13 @@ EvtScript N(8021D81C) = { EVT_PLAY_EFFECT(EFFECT_CHOMP_DROP, 0, 0, 60, 0, EVT_FLOAT(0.2), 0, EVT_FLOAT(1.4), 255, EVT_FLOAT(0.1), 150, 0) EVT_WAIT(15) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP | STATUS_FLAG_TRANSPARENT) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED | STATUS_FLAG_TRANSPARENT) EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Flail) EVT_WAIT(49) EVT_CALL(PlaySound, SOUND_20E9) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Toss) EVT_WAIT(8) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Crouch) EVT_WAIT(5) @@ -707,68 +755,71 @@ EvtScript N(8021D81C) = { EVT_WAIT(20) EVT_CALL(PlaySound, SOUND_20E8) EVT_END_IF - EVT_CALL(GetActorVar, ACTOR_SELF, 6, LVar0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_DebrisDropState, LVar0) EVT_SWITCH(LVar0) + // first use: target player EVT_CASE_EQ(0) - EVT_CALL(SetActorVar, ACTOR_SELF, 6, 1) - EVT_EXEC_WAIT(N(8021E008)) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_DebrisDropState, 1) + EVT_EXEC_WAIT(N(EVS_DropDebris_Players)) + // second use: target self if damage is survivable EVT_CASE_EQ(1) EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) - EVT_CALL(SetActorVar, ACTOR_SELF, 6, 2) - EVT_IF_GT(LVar0, 2) - EVT_EXEC_WAIT(N(8021DDE8)) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_DebrisDropState, 2) + EVT_IF_GT(LVar0, DMG_DROP_DEBRIS_SELF) + EVT_EXEC_WAIT(N(EVS_DropDebris_Self)) EVT_ELSE - EVT_EXEC_WAIT(N(8021E008)) + EVT_EXEC_WAIT(N(EVS_DropDebris_Players)) EVT_END_IF + // subsequent use: 50% chance to target player or target self while damage is survivable EVT_CASE_DEFAULT EVT_CALL(RandInt, 2, LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) - EVT_IF_GT(LVar0, 2) - EVT_EXEC_WAIT(N(8021DDE8)) + EVT_IF_GT(LVar0, DMG_DROP_DEBRIS_SELF) + EVT_EXEC_WAIT(N(EVS_DropDebris_Self)) EVT_ELSE - EVT_EXEC_WAIT(N(8021E008)) + EVT_EXEC_WAIT(N(EVS_DropDebris_Players)) EVT_END_IF EVT_ELSE - EVT_EXEC_WAIT(N(8021E008)) + EVT_EXEC_WAIT(N(EVS_DropDebris_Players)) EVT_END_IF EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(8021DDE8) = { +EvtScript N(EVS_DropDebris_Self) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_ENEMY0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar3, 170) - EVT_CALL(SetPartPos, ACTOR_SELF, 8, LVar0, LVar3, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 8, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 8, ANIM_Tutankoopa_Anim16) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_DEBRIS_3, LVar0, LVar3, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_DEBRIS_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_DEBRIS_3, ANIM_Tutankoopa_RockStill) EVT_CALL(PlaySound, SOUND_20EB) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 8, EVT_FLOAT(8.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 8, EVT_FLOAT(0.3)) - EVT_CALL(FallPartTo, ACTOR_SELF, 8, LVar0, LVar1, LVar2, 20) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_DEBRIS_3, EVT_FLOAT(8.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_DEBRIS_3, EVT_FLOAT(0.3)) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_DEBRIS_3, LVar0, LVar1, LVar2, 20) EVT_THREAD EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 8, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_DEBRIS_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 8, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_DEBRIS_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_ThumbsUp) EVT_END_IF - EVT_CALL(SetActorVar, ACTOR_SELF, 13, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HittingSelf, TRUE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, DMG_DROP_DEBRIS_SELF, BS_FLAGS1_SP_EVT_ACTIVE) EVT_RETURN EVT_END }; -EvtScript N(8021E008) = { +EvtScript N(EVS_DropDebris_Players) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) @@ -781,7 +832,7 @@ EvtScript N(8021E008) = { EVT_CALL(RandInt, 90, LVar1) EVT_SUB(LVar0, 40) EVT_CALL(PlaySound, SOUND_20EB) - EVT_CALL(func_8021875C_4EFBFC, LVar0, 0, LVar1) + EVT_CALL(SpawnFallingRock, LVar0, 0, LVar1) EVT_CALL(RandInt, 5, LVar0) EVT_ADD(LVar0, 5) EVT_WAIT(LVar0) @@ -793,7 +844,7 @@ EvtScript N(8021E008) = { EVT_CASE_EQ(HIT_RESULT_MISS) EVT_RETURN EVT_CASE_DEFAULT - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_THREAD EVT_CALL(PlaySound, SOUND_20EB) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) @@ -802,13 +853,13 @@ EvtScript N(8021E008) = { EVT_SUB(LVar0, 5) EVT_SET(LVar1, 0) EVT_SET(LVar3, 170) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar3, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Tutankoopa_Anim16) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(8.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.3)) - EVT_CALL(FallPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Tutankoopa_Anim17) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_DEBRIS_1, LVar0, LVar3, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_DEBRIS_1, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_DEBRIS_1, ANIM_Tutankoopa_RockStill) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_DEBRIS_1, EVT_FLOAT(8.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_DEBRIS_1, EVT_FLOAT(0.3)) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_DEBRIS_1, LVar0, LVar1, LVar2, 20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_DEBRIS_1, ANIM_Tutankoopa_RockShatter) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF @@ -820,20 +871,20 @@ EvtScript N(8021E008) = { EVT_SUB(LVar4, 5) EVT_ADD(LVar5, 5) EVT_SET(LVar7, 170) - EVT_CALL(SetPartPos, ACTOR_SELF, 7, LVar4, LVar7, LVar6) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 7, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 7, ANIM_Tutankoopa_Anim16) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_DEBRIS_2, LVar4, LVar7, LVar6) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_DEBRIS_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_DEBRIS_2, ANIM_Tutankoopa_RockStill) EVT_CALL(PlaySound, SOUND_20EB) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 7, EVT_FLOAT(8.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 7, EVT_FLOAT(0.3)) - EVT_CALL(FallPartTo, ACTOR_SELF, 7, LVar4, LVar5, LVar6, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Tutankoopa_Anim17) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_DEBRIS_2, EVT_FLOAT(8.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_DEBRIS_2, EVT_FLOAT(0.3)) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_DEBRIS_2, LVar4, LVar5, LVar6, 20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_DEBRIS_1, ANIM_Tutankoopa_RockShatter) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, DMG_DROP_DEBRIS_PARTNER, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 7, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_DEBRIS_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FreezeBattleState, FALSE) EVT_RETURN EVT_END_SWITCH EVT_RETURN @@ -846,13 +897,13 @@ EvtScript N(8021E008) = { EVT_CALL(RandInt, 90, LVar1) EVT_SUB(LVar0, 40) EVT_CALL(PlaySound, SOUND_20EB) - EVT_CALL(func_8021875C_4EFBFC, LVar0, 0, LVar1) + EVT_CALL(SpawnFallingRock, LVar0, 0, LVar1) EVT_CALL(RandInt, 5, LVar0) EVT_ADD(LVar0, 5) EVT_WAIT(LVar0) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_THREAD EVT_WAIT(25) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) @@ -861,19 +912,19 @@ EvtScript N(8021E008) = { EVT_SUB(LVar4, 5) EVT_ADD(LVar5, 5) EVT_SET(LVar7, 170) - EVT_CALL(SetPartPos, ACTOR_SELF, 7, LVar4, LVar7, LVar6) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 7, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 7, ANIM_Tutankoopa_Anim16) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_DEBRIS_2, LVar4, LVar7, LVar6) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_DEBRIS_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_DEBRIS_2, ANIM_Tutankoopa_RockStill) EVT_CALL(PlaySound, SOUND_20EB) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 7, EVT_FLOAT(8.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 7, EVT_FLOAT(0.3)) - EVT_CALL(FallPartTo, ACTOR_SELF, 7, LVar4, LVar5, LVar6, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Tutankoopa_Anim17) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_DEBRIS_2, EVT_FLOAT(8.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_DEBRIS_2, EVT_FLOAT(0.3)) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_DEBRIS_2, LVar4, LVar5, LVar6, 20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_DEBRIS_1, ANIM_Tutankoopa_RockShatter) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, DMG_DROP_DEBRIS_PARTNER, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 7, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_DEBRIS_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(PlaySound, SOUND_20EB) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) @@ -882,18 +933,18 @@ EvtScript N(8021E008) = { EVT_SUB(LVar0, 5) EVT_ADD(LVar1, 5) EVT_SET(LVar3, 170) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar3, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Tutankoopa_Anim16) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(8.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.3)) - EVT_CALL(FallPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Tutankoopa_Anim17) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_DEBRIS_1, LVar0, LVar3, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_DEBRIS_1, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_DEBRIS_1, ANIM_Tutankoopa_RockStill) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_DEBRIS_1, EVT_FLOAT(8.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_DEBRIS_1, EVT_FLOAT(0.3)) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_DEBRIS_1, LVar0, LVar1, LVar2, 20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_DEBRIS_1, ANIM_Tutankoopa_RockShatter) EVT_WAIT(2) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, DMG_DROP_DEBRIS_PLAYER, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(19) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_DEBRIS_1, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_IF_EQ(LVar0, HIT_RESULT_10) EVT_RETURN EVT_END_IF @@ -901,32 +952,32 @@ EvtScript N(8021E008) = { EVT_END }; -Vec3i N(vector3D_8021E9A0) = { 190, 0, 0 }; +Vec3i N(SummonedChompPos) = { 190, 0, 0 }; -Formation N(specialFormation_8021E9AC) = { - { .actor = &b_area_isk_part_2_chain_chomp, .home = { .vec = &N(vector3D_8021E9A0) }, .priority = 100 }, +Formation N(SummonedChomp) = { + ACTOR_BY_POS(b_area_isk_part_2_chain_chomp, N(SummonedChompPos), 100), }; -EvtScript N(8021E9C8) = { +EvtScript N(EVS_Move_SummonChomp) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) - EVT_IF_EQ(LVar0, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_HasSummoned, LVar0) + EVT_IF_FALSE(LVar0) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim03) - EVT_CALL(ActorSpeak, MSG_CH2_00E6, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim03, ANIM_Tutankoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Shout) + EVT_CALL(ActorSpeak, MSG_CH2_00E6, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Shout, ANIM_Tutankoopa_Shout) EVT_ELSE EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim03) - EVT_CALL(ActorSpeak, MSG_CH2_00E7, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim03, ANIM_Tutankoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Shout) + EVT_CALL(ActorSpeak, MSG_CH2_00E7, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Shout, ANIM_Tutankoopa_Shout) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim01) - EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Idle) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Stunned, LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) @@ -940,30 +991,33 @@ EvtScript N(8021E9C8) = { EVT_CALL(SetBattleCamOffsetZ, 35) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(SetActorVar, ACTOR_SELF, 5, 0) + // open the gate + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, 0) EVT_THREAD + // rumble while gate is opening EVT_LABEL(0) - EVT_CALL(StartRumble, 1) - EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) - EVT_WAIT(1) - EVT_CALL(GetActorVar, ACTOR_SELF, 5, LVar0) - EVT_IF_LT(LVar0, 60) - EVT_GOTO(0) - EVT_END_IF + EVT_CALL(StartRumble, 1) + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) + EVT_WAIT(1) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, LVar0) + EVT_IF_LT(LVar0, 60) + EVT_GOTO(0) + EVT_END_IF EVT_END_THREAD EVT_CALL(PlaySound, SOUND_26B) EVT_LABEL(10) - EVT_CALL(GetActorVar, ACTOR_SELF, 5, LVarD) - EVT_CALL(TranslateModel, 31, 0, LVarD, 0) - EVT_ADD(LVarD, 1) - EVT_CALL(SetActorVar, ACTOR_SELF, 5, LVarD) - EVT_WAIT(1) - EVT_IF_LT(LVarD, 60) - EVT_GOTO(10) - EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, LVarD) + EVT_CALL(TranslateModel, 31, 0, LVarD, 0) + EVT_ADD(LVarD, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, LVarD) + EVT_WAIT(1) + EVT_IF_LT(LVarD, 60) + EVT_GOTO(10) + EVT_END_IF EVT_CALL(StopSound, SOUND_26B) EVT_WAIT(10) - EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_8021E9AC)), 0) + // create the chomp and have him exit the gate + EVT_CALL(SummonEnemy, EVT_PTR(N(SummonedChomp)), 0) EVT_SET(LVarB, LVar0) EVT_SET(LVar0, 165) EVT_SET(LVar1, 0) @@ -972,7 +1026,7 @@ EvtScript N(8021E9C8) = { EVT_CALL(SetActorDispOffset, LVarB, 0, 0, 0) EVT_CALL(UseIdleAnimation, LVarB, FALSE) EVT_CALL(EnableIdleScript, LVarB, 0) - EVT_CALL(SetAnimation, LVarB, 1, ANIM_ChainChomp_Anim05) + EVT_CALL(SetAnimation, LVarB, 1, ANIM_ChainChomp_SlowBite) EVT_CALL(SetActorSpeed, LVarB, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, LVarB, EVT_FLOAT(0.8)) EVT_SET(LVar0, 90) @@ -980,9 +1034,9 @@ EvtScript N(8021E9C8) = { EVT_SET(LVar2, -30) EVT_SET(LVar3, 8) EVT_SET(LVar4, 30) - EVT_EXEC_WAIT(N(8021F42C)) - EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar5) - EVT_IF_EQ(LVar5, 0) + EVT_EXEC_WAIT(N(EVS_SummonedChompHop)) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_HasSummoned, LVar5) + EVT_IF_FALSE(LVar5) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(SetBattleCamZoom, 160) EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2) @@ -1025,45 +1079,47 @@ EvtScript N(8021E9C8) = { EVT_SET(LVar2, 20) EVT_SET(LVar3, 8) EVT_SET(LVar4, 20) - EVT_EXEC_WAIT(N(8021F42C)) + EVT_EXEC_WAIT(N(EVS_SummonedChompHop)) EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, LVarB, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, LVarB, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, LVarB, 2, LVar0, LVar1, LVar2) // references partID from chain_chomp EVT_CALL(HPBarToHome, LVarB) EVT_CALL(SetActorSpeed, LVarB, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, LVarB, EVT_FLOAT(0.8)) EVT_CALL(EnableIdleScript, LVarB, 1) EVT_CALL(UseIdleAnimation, LVarB, TRUE) - EVT_CALL(SetActorVar, ACTOR_SELF, 5, 60) + // close the gate + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, 60) EVT_THREAD + // rumble while gate is opening EVT_LABEL(40) - EVT_CALL(StartRumble, 1) - EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) - EVT_WAIT(1) - EVT_CALL(GetActorVar, ACTOR_SELF, 5, LVar0) - EVT_IF_NE(LVar0, 0) - EVT_GOTO(40) - EVT_END_IF - EVT_END_THREAD + EVT_CALL(StartRumble, 1) + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) + EVT_WAIT(1) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_GOTO(40) + EVT_END_IF + EVT_END_THREAD EVT_CALL(PlaySound, SOUND_26B) EVT_LABEL(50) - EVT_CALL(GetActorVar, ACTOR_SELF, 5, LVarD) - EVT_CALL(TranslateModel, 31, 0, LVarD, 0) - EVT_SUB(LVarD, 1) - EVT_CALL(SetActorVar, ACTOR_SELF, 5, LVarD) - EVT_WAIT(1) - EVT_IF_GT(LVarD, 0) - EVT_GOTO(50) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, LVarD) + EVT_CALL(TranslateModel, 31, 0, LVarD, 0) + EVT_SUB(LVarD, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, LVarD) + EVT_WAIT(1) + EVT_IF_GT(LVarD, 0) + EVT_GOTO(50) EVT_END_IF EVT_CALL(StopSound, SOUND_26B) EVT_CALL(PlaySound, SOUND_26C) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(0.5)) - EVT_CALL(SetActorVar, ACTOR_SELF, 3, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HasSummoned, TRUE) EVT_RETURN EVT_END }; -EvtScript N(8021F42C) = { +EvtScript N(EVS_SummonedChompHop) = { EVT_LABEL(20) EVT_CALL(GetActorPos, LVarB, LVar5, LVar6, LVar7) EVT_IF_EQ(LVar5, LVar0) @@ -1093,12 +1149,12 @@ EvtScript N(8021F42C) = { EVT_END }; -EvtScript N(8021F5E8) = { - EVT_CALL(SetActorVar, ACTOR_SELF, 7, 0) +EvtScript N(EVS_LevitateToHomePos) = { + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_07, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Levitate) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_PLAY_EFFECT(EFFECT_HIEROGLYPHS, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 45, 0) @@ -1115,7 +1171,7 @@ EvtScript N(8021F5E8) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3B4) EVT_END_THREAD EVT_WAIT(5) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Stunned, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) @@ -1123,8 +1179,8 @@ EvtScript N(8021F5E8) = { EVT_END }; -EvtScript N(8021F80C) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim08) +EvtScript N(EVS_GetBackUp) = { + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Levitate) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1134,46 +1190,47 @@ EvtScript N(8021F80C) = { EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3B4) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim01) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021B960))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Idle) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(TutankoopaAnims))) EVT_WAIT(10) - EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar0) - EVT_IF_EQ(LVar0, 0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Dialogue_Recover, LVar0) + EVT_IF_FALSE(LVar0) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH2_00E4, ACTOR_SELF, 1, ANIM_Tutankoopa_Anim0B, ANIM_Tutankoopa_Anim01) - EVT_CALL(SetActorVar, ACTOR_SELF, 4, 1) + EVT_CALL(ActorSpeak, MSG_CH2_00E4, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Talk, ANIM_Tutankoopa_Idle) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Dialogue_Recover, TRUE) EVT_END_IF EVT_RETURN EVT_END }; -EvtScript N(nextTurn_8021F9C4) = { +EvtScript N(EVS_HandlePhase) = { EVT_CALL(GetBattlePhase, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(PHASE_PLAYER_BEGIN) - EVT_CALL(GetActorVar, ACTOR_SELF, 10, LVar0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_10, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetActorVar, ACTOR_SELF, 10, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_10, 1) EVT_END_SWITCH EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(8021FA54) = { +// kills the summoned chomp before dying +EvtScript N(EVS_Tutankoopa_Death) = { EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar2) EVT_IF_NE(LVar2, FALSE) EVT_CALL(GetActorHP, ACTOR_ENEMY1, LVar2) EVT_IF_NE(LVar2, 0) EVT_THREAD - EVT_CALL(func_8027D32C, ACTOR_ENEMY1) + EVT_CALL(HideHealthBar, ACTOR_ENEMY1) EVT_CALL(EnableIdleScript, ACTOR_ENEMY1, 0) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY1, FALSE) - EVT_CALL(SetAnimation, ACTOR_ENEMY1, 1, ANIM_ChainChomp_Anim06) + EVT_CALL(SetAnimation, ACTOR_ENEMY1, PRT_MAIN, ANIM_ChainChomp_Hurt) EVT_WAIT(10) EVT_SET(LVar2, 0) EVT_LOOP(24) @@ -1198,11 +1255,11 @@ EvtScript N(8021FA54) = { EVT_END_IF EVT_EXEC_WAIT(EVS_Enemy_DeathWithoutRemove) EVT_LABEL(0) - EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar0) - EVT_IF_NE(LVar0, FALSE) - EVT_WAIT(1) - EVT_GOTO(0) - EVT_END_IF + EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar0) + EVT_IF_NE(LVar0, FALSE) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_IF EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END diff --git a/src/battle/area/isk_part_2/area.c b/src/battle/area/isk_part_2/area.c index 7b6c06a9e8..be691857fc 100644 --- a/src/battle/area/isk_part_2/area.c +++ b/src/battle/area/isk_part_2/area.c @@ -18,29 +18,29 @@ extern Stage N(isk_06); extern Stage N(isk_06b); extern Stage N(isk_07); -Vec3i N(vector3D_80220420) = { 97, 70, 17 }; +Vec3i N(BossPos) = { 97, 70, 17 }; Formation N(Formation_00) = { - { .actor = &N(tutankoopa), .home = { .vec = &N(vector3D_80220420) }, .priority = 10 }, + ACTOR_BY_POS(N(tutankoopa), N(BossPos), 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(isk_01), "カーメン ワンワン"), + BATTLE(N(Formation_00), N(isk_01), "カーメン ワンワン"), {}, }; StageList N(Stages) = { - { "isk_00", &N(isk_00) }, - { "isk_01", &N(isk_01) }, - { "isk_02", &N(isk_02) }, - { "isk_02b", &N(isk_02b) }, - { "isk_02c", &N(isk_02c) }, - { "isk_03", &N(isk_03) }, - { "isk_03b", &N(isk_03b) }, - { "isk_04", &N(isk_04) }, - { "isk_05", &N(isk_05) }, - { "isk_06", &N(isk_06) }, - { "isk_06b", &N(isk_06b) }, - { "isk_07", &N(isk_07) }, + STAGE("isk_00", N(isk_00)), + STAGE("isk_01", N(isk_01)), + STAGE("isk_02", N(isk_02)), + STAGE("isk_02b", N(isk_02b)), + STAGE("isk_02c", N(isk_02c)), + STAGE("isk_03", N(isk_03)), + STAGE("isk_03b", N(isk_03b)), + STAGE("isk_04", N(isk_04)), + STAGE("isk_05", N(isk_05)), + STAGE("isk_06", N(isk_06)), + STAGE("isk_06b", N(isk_06b)), + STAGE("isk_07", N(isk_07)), {}, }; diff --git a/src/battle/area/iwa/actor/buzzar.c b/src/battle/area/iwa/actor/buzzar.c index 2f0fe00566..cb2c354888 100644 --- a/src/battle/area/iwa/actor/buzzar.c +++ b/src/battle/area/iwa/actor/buzzar.c @@ -12,7 +12,7 @@ extern EvtScript N(EVS_Init); extern EvtScript N(EVS_TakeTurn); extern EvtScript N(EVS_Idle); extern EvtScript N(EVS_HandleEvent); -extern EvtScript N(EVS_NextTurn); +extern EvtScript N(EVS_HandlePhase); extern EvtScript N(EVS_Attack_WindBlast); extern EvtScript N(EVS_Attack_FeatherFling); extern EvtScript N(EVS_Attack_GrappleDrop); @@ -23,58 +23,65 @@ extern EvtScript N(EVS_FlyToHome_Impl); extern EvtScript N(EVS_FlyToHome_GrappleFail_Impl); extern EvtScript N(8021FC34); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, +}; s32 N(IdleAnimations_8021B600)[] = { - STATUS_NORMAL, ANIM_Buzzar_Anim01, - STATUS_STONE, ANIM_Buzzar_Anim00, - STATUS_SLEEP, ANIM_Buzzar_Anim19, - STATUS_STOP, ANIM_Buzzar_Anim00, - STATUS_STATIC, ANIM_Buzzar_Anim0C, - STATUS_PARALYZE, ANIM_Buzzar_Anim0C, - STATUS_DIZZY, ANIM_Buzzar_Anim0C, - STATUS_SHRINK, ANIM_Buzzar_Anim01, + STATUS_KEY_NORMAL, ANIM_Buzzar_Anim01, + STATUS_KEY_STONE, ANIM_Buzzar_Anim00, + STATUS_KEY_SLEEP, ANIM_Buzzar_Anim19, + STATUS_KEY_STOP, ANIM_Buzzar_Anim00, + STATUS_KEY_STATIC, ANIM_Buzzar_Anim0C, + STATUS_KEY_PARALYZE, ANIM_Buzzar_Anim0C, + STATUS_KEY_DIZZY, ANIM_Buzzar_Anim0C, + STATUS_KEY_SHRINK, ANIM_Buzzar_Anim01, STATUS_END, }; s32 N(IdleAnimations_8021B644)[] = { - STATUS_NORMAL, ANIM_Buzzar_Anim14, + STATUS_KEY_NORMAL, ANIM_Buzzar_Anim14, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 70, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 70, - STATUS_SHRINK, 75, - STATUS_STOP, 70, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 70, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 70, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 70, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -20, 60 }, .opacity = 255, @@ -86,7 +93,7 @@ ActorPartBlueprint N(PartsTable)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 31, 0 }, .targetOffset = { -14, 20 }, .opacity = 255, @@ -98,7 +105,7 @@ ActorPartBlueprint N(PartsTable)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -110,7 +117,7 @@ ActorPartBlueprint N(PartsTable)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -122,7 +129,7 @@ ActorPartBlueprint N(PartsTable)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -139,8 +146,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BUZZAR, .level = 35, .maxHP = 40, - .partCount = ARRAY_COUNT( N(PartsTable)), - .partsData = N(PartsTable), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(EVS_Init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -152,9 +159,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 78, 74 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -35, 65 }, - .statusMessageOffset = { 1, 58 }, + .statusTextOffset = { 1, 58 }, }; EvtScript N(EVS_Init) = { @@ -165,7 +172,7 @@ EvtScript N(EVS_Init) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(EVS_TakeTurn))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(EVS_Idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) - EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(EVS_NextTurn))) + EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(EVS_HandlePhase))) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 40) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -175,7 +182,7 @@ EvtScript N(EVS_Init) = { EVT_END }; -EvtScript N(EVS_NextTurn) = { +EvtScript N(EVS_HandlePhase) = { EVT_RETURN EVT_RETURN EVT_END @@ -302,7 +309,7 @@ EvtScript N(EVS_Attack_WindBlast) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 70, LVar2) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim02) @@ -318,7 +325,7 @@ EvtScript N(EVS_Attack_WindBlast) = { EVT_END_LOOP EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_COS_IN_OUT) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_NO_CONTACT, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarA) @@ -329,9 +336,9 @@ EvtScript N(EVS_Attack_WindBlast) = { EVT_CASE_EQ(HIT_RESULT_MISS) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim11) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim13) EVT_WAIT(6) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -350,7 +357,7 @@ EvtScript N(EVS_Attack_WindBlast) = { EVT_END_LOOP EVT_END_THREAD EVT_WAIT(60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF @@ -365,9 +372,9 @@ EvtScript N(EVS_Attack_WindBlast) = { EVT_CALL(action_command_whirlwind_init, 1) EVT_CALL(SetupMashMeter, 3, 40, 70, 100, 0, 0) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim11) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim13) EVT_WAIT(6) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F0) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) @@ -413,9 +420,9 @@ EvtScript N(EVS_Attack_WindBlast) = { EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_UNBLOCKABLE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_UNBLOCKABLE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_WAIT(25) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) @@ -430,9 +437,9 @@ EvtScript N(EVS_Attack_WindBlast) = { EVT_CALL(action_command_whirlwind_init, 1) EVT_CALL(SetupMashMeter, 3, 40, 70, 100, 0, 0) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim11) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim13) EVT_WAIT(6) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F0) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) @@ -486,26 +493,26 @@ EvtScript N(EVS_Attack_WindBlast) = { EVT_CALL(SetActorYaw, ACTOR_PARTNER, 0) EVT_END_THREAD EVT_END_IF - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_WAIT(90) EVT_CALL(GetActionResult, LVar1) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_UNBLOCKABLE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_UNBLOCKABLE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(ActorExists, ACTOR_PARTNER, LVar0) EVT_IF_EQ(LVar0, TRUE) EVT_WAIT(3) EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_UNBLOCKABLE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_UNBLOCKABLE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_WAIT(25) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_EXEC_WAIT(N(EVS_FlyToHome)) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_RETURN EVT_END }; @@ -523,7 +530,7 @@ EvtScript N(EVS_Attack_FeatherFling) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 90, 35, 0) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim02) @@ -539,21 +546,21 @@ EvtScript N(EVS_Attack_FeatherFling) = { EVT_END_LOOP EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -15, EASING_COS_IN_OUT) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, -30) EVT_ADD(LVar1, 25) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, -30) EVT_ADD(LVar1, 35) - EVT_CALL(SetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, -20) EVT_ADD(LVar1, 25) - EVT_CALL(SetPartPos, ACTOR_SELF, 5, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim0E) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim0E) EVT_WAIT(15) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 24) @@ -561,32 +568,32 @@ EvtScript N(EVS_Attack_FeatherFling) = { EVT_PLAY_EFFECT(EFFECT_SHINY_FLARE, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.6), 0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F3) EVT_WAIT(10) - EVT_CALL(SetPartSounds, ACTOR_SELF, 3, ACTOR_SOUND_FLY, 0, 0) - EVT_CALL(SetPartSounds, ACTOR_SELF, 4, ACTOR_SOUND_FLY, 0, 0) - EVT_CALL(SetPartSounds, ACTOR_SELF, 5, ACTOR_SOUND_FLY, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_3, ACTOR_SOUND_FLY, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_4, ACTOR_SOUND_FLY, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_5, ACTOR_SOUND_FLY, 0, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_THREAD EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim10) - EVT_CALL(SetPartRotation, ACTOR_SELF, 3, 0, 0, -45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 4, 0, 0, -45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, 0, 0, -45) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim10) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_3, 0, 0, -45) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_4, 0, 0, -45) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_5, 0, 0, -45) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_Buzzar_Anim14) - EVT_CALL(SetAnimation, ACTOR_SELF, 4, ANIM_Buzzar_Anim14) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_Buzzar_Anim14) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 4, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 4, EVT_FLOAT(0.1)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 5, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 5, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_Buzzar_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_4, ANIM_Buzzar_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_Buzzar_Anim14) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(0.1)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_4, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_4, EVT_FLOAT(0.1)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_5, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_5, EVT_FLOAT(0.1)) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F4) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 2, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -599,30 +606,30 @@ EvtScript N(EVS_Attack_FeatherFling) = { EVT_CALL(RandInt, 10, LVar3) EVT_SUB(LVar3, 30) EVT_ADD(LVar0, LVar3) - EVT_CALL(FlyPartTo, ACTOR_SELF, 4, LVar0, 5, LVar2, 9, 0, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 4, ANIM_Buzzar_Anim15) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_4, LVar0, 5, LVar2, 9, 0, EASING_LINEAR) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_4, ANIM_Buzzar_Anim15) EVT_END_THREAD EVT_THREAD EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RandInt, 10, LVar3) EVT_SUB(LVar3, 40) EVT_ADD(LVar0, LVar3) - EVT_CALL(FlyPartTo, ACTOR_SELF, 5, LVar0, 5, LVar2, 9, 0, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_Buzzar_Anim15) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_5, LVar0, 5, LVar2, 9, 0, EASING_LINEAR) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_Buzzar_Anim15) EVT_END_THREAD EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 30) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, 5, LVar2, 9, 0, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_Buzzar_Anim15) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, 5, LVar2, 9, 0, EASING_LINEAR) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_Buzzar_Anim15) EVT_THREAD EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_Buzzar_Anim14) - EVT_CALL(SetAnimation, ACTOR_SELF, 4, ANIM_Buzzar_Anim14) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_Buzzar_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_Buzzar_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_4, ANIM_Buzzar_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_Buzzar_Anim14) EVT_WAIT(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(10) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_0, BTL_CAM_MODEX_1, FALSE) @@ -644,67 +651,67 @@ EvtScript N(EVS_Attack_FeatherFling) = { EVT_CALL(RandInt, 10, LVar3) EVT_SUB(LVar3, 10) EVT_ADD(LVar1, LVar3) - EVT_CALL(FlyPartTo, ACTOR_SELF, 4, LVar0, LVar1, LVar2, 6, 0, EASING_LINEAR) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2, 6, 0, EASING_LINEAR) EVT_END_THREAD EVT_THREAD EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RandInt, 10, LVar3) EVT_ADD(LVar3, 10) EVT_ADD(LVar1, LVar3) - EVT_CALL(FlyPartTo, ACTOR_SELF, 5, LVar0, LVar1, LVar2, 6, 0, EASING_LINEAR) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2, 6, 0, EASING_LINEAR) EVT_END_THREAD EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 6, 0, EASING_LINEAR) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 6, 0, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_DEFAULT EVT_THREAD - EVT_CALL(SetPartRotation, ACTOR_SELF, 4, 0, 45, 90) - EVT_CALL(GetPartOffset, ACTOR_SELF, 4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_4, 0, 45, 90) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 40) EVT_SET(LVar1, 2) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 4, EVT_FLOAT(1.5)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 4, LVar0, LVar1, LVar2, 10, TRUE) - EVT_CALL(SetPartRotation, ACTOR_SELF, 4, 0, 80, 90) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_4, EVT_FLOAT(1.5)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2, 10, TRUE) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_4, 0, 80, 90) EVT_WAIT(8) EVT_LOOP(15) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_THREAD - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, 0, 45, -90) - EVT_CALL(GetPartOffset, ACTOR_SELF, 5, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_5, 0, 45, -90) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) EVT_SET(LVar1, 4) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 5, EVT_FLOAT(1.5)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 5, LVar0, LVar1, LVar2, 10, TRUE) - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, 0, 90, -90) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_5, EVT_FLOAT(1.5)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2, 10, TRUE) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_5, 0, 90, -90) EVT_WAIT(8) EVT_LOOP(15) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_THREAD - EVT_CALL(SetPartRotation, ACTOR_SELF, 3, 0, 45, -90) - EVT_CALL(GetPartOffset, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_3, 0, 45, -90) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_SET(LVar1, 4) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(1.5)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 10, TRUE) - EVT_CALL(SetPartRotation, ACTOR_SELF, 3, 0, 90, -90) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(1.5)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 10, TRUE) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_3, 0, 90, -90) EVT_WAIT(8) EVT_LOOP(15) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -719,7 +726,7 @@ EvtScript N(EVS_Attack_FeatherFling) = { }; EvtScript N(EVS_LiftMario) = { - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim02) @@ -772,7 +779,7 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 45, 55, 0) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim02) @@ -788,7 +795,7 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_END_LOOP EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_COS_IN_OUT) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 4, BS_FLAGS1_10) EVT_SWITCH(LVarA) @@ -810,9 +817,9 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -45, -20, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim18) EVT_CALL(FlyToGoal, ACTOR_SELF, 12, -12, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -839,13 +846,13 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -15, -10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim18) EVT_CALL(FlyToGoal, ACTOR_SELF, 8, -5, EASING_LINEAR) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim02) @@ -863,7 +870,7 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_END_SWITCH EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY_INCREMENT, -14, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_LINEAR) EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -897,13 +904,13 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -15, -10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim18) EVT_CALL(FlyToGoal, ACTOR_SELF, 8, -5, EASING_LINEAR) EVT_IF_EQ(LVarA, HIT_RESULT_HIT_STATIC) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim16) EVT_CALL(N(StartRumbleWithParams), 180, 20) EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Flail) @@ -920,7 +927,7 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_CALL(action_command_whirlwind_init) EVT_CALL(SetupMashMeter, 1, 30, 0, 0, 0, 0) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim17) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_66) EVT_CALL(SetBattleCamZoom, 240) EVT_CALL(SetBattleCamOffsetZ, -10) @@ -933,7 +940,7 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_WAIT(62) EVT_CALL(GetActionSuccessCopy, LVar0) EVT_IF_GT(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_WAIT(2) EVT_KILL_THREAD(LVarA) EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_Mario1_Jump, ANIM_Mario1_Jump, ANIM_Mario1_Land) @@ -978,7 +985,7 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim02) @@ -996,7 +1003,7 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_END_SWITCH EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY_INCREMENT, -14, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1022,7 +1029,7 @@ EvtScript N(EVS_Attack_ClawSwipe) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 60, 15, 0) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim02) @@ -1038,7 +1045,7 @@ EvtScript N(EVS_Attack_ClawSwipe) = { EVT_END_LOOP EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -15, EASING_COS_IN_OUT) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 3, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -1057,9 +1064,9 @@ EvtScript N(EVS_Attack_ClawSwipe) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -45, -20, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim18) EVT_CALL(FlyToGoal, ACTOR_SELF, 12, -12, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -1083,7 +1090,7 @@ EvtScript N(EVS_Attack_ClawSwipe) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -5, -10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim18) EVT_CALL(FlyToGoal, ACTOR_SELF, 8, 0, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) @@ -1091,7 +1098,7 @@ EvtScript N(EVS_Attack_ClawSwipe) = { EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim02) @@ -1112,7 +1119,7 @@ EvtScript N(EVS_Attack_ClawSwipe) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_LINEAR) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1139,7 +1146,7 @@ EvtScript N(EVS_FlyToHome_GrappleFail) = { }; EvtScript N(EVS_FlyToHome_Impl) = { - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim02) @@ -1160,20 +1167,20 @@ EvtScript N(EVS_FlyToHome_Impl) = { EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY_INCREMENT, -20, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_RETURN EVT_END }; EvtScript N(EVS_FlyToHome_GrappleFail_Impl) = { - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim02) @@ -1194,13 +1201,13 @@ EvtScript N(EVS_FlyToHome_GrappleFail_Impl) = { EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY_INCREMENT, -20, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 45, EASING_LINEAR) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Buzzar_Anim01) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_RETURN EVT_END diff --git a/src/battle/area/iwa/actor/cleft.c b/src/battle/area/iwa/actor/cleft.c index ca7d34d617..4169c9b8a1 100644 --- a/src/battle/area/iwa/actor/cleft.c +++ b/src/battle/area/iwa/actor/cleft.c @@ -12,48 +12,52 @@ extern EvtScript N(idle_80218934); extern EvtScript N(takeTurn_8021A3EC); extern EvtScript N(handleEvent_80218C3C); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_80218710)[] = { - ELEMENT_NORMAL, 2, - ELEMENT_FIRE, 99, - ELEMENT_MAGIC, 0, + ELEMENT_NORMAL, 2, + ELEMENT_FIRE, 99, + ELEMENT_MAGIC, 0, ELEMENT_END, }; s32 N(DefenseTable_8021872C)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_FIRE, 99, + ELEMENT_NORMAL, 0, + ELEMENT_FIRE, 99, ELEMENT_END, }; s32 N(StatusTable_80218740)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 40, - STATUS_POISON, 50, - STATUS_FROZEN, 100, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 40, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_802187EC)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, .opacity = 255, @@ -70,8 +74,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_CLEFT, .level = 10, .maxHP = 2, - .partCount = ARRAY_COUNT( N(PartsTable_802187EC)), - .partsData = N(PartsTable_802187EC), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_802188D0), .statusTable = N(StatusTable_80218740), .escapeChance = 80, @@ -83,34 +87,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 95, .coinReward = 2, .size = { 44, 36 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_80218838)[] = { - STATUS_NORMAL, ANIM_Cleft_Anim02, - STATUS_STONE, ANIM_Cleft_Anim00, - STATUS_SLEEP, ANIM_Cleft_Anim0C, - STATUS_POISON, ANIM_Cleft_Anim02, - STATUS_STOP, ANIM_Cleft_Anim00, - STATUS_STATIC, ANIM_Cleft_Anim02, - STATUS_PARALYZE, ANIM_Cleft_Anim00, - STATUS_DIZZY, ANIM_Cleft_Anim0E, - STATUS_FEAR, ANIM_Cleft_Anim0E, + STATUS_KEY_NORMAL, ANIM_Cleft_Anim02, + STATUS_KEY_STONE, ANIM_Cleft_Anim00, + STATUS_KEY_SLEEP, ANIM_Cleft_Anim0C, + STATUS_KEY_POISON, ANIM_Cleft_Anim02, + STATUS_KEY_STOP, ANIM_Cleft_Anim00, + STATUS_KEY_STATIC, ANIM_Cleft_Anim02, + STATUS_KEY_PARALYZE, ANIM_Cleft_Anim00, + STATUS_KEY_DIZZY, ANIM_Cleft_Anim0E, + STATUS_KEY_FEAR, ANIM_Cleft_Anim0E, STATUS_END, }; s32 N(IdleAnimations_80218884)[] = { - STATUS_NORMAL, ANIM_Cleft_Anim05, - STATUS_STONE, ANIM_Cleft_Anim01, - STATUS_SLEEP, ANIM_Cleft_Anim0D, - STATUS_POISON, ANIM_Cleft_Anim05, - STATUS_STOP, ANIM_Cleft_Anim01, - STATUS_STATIC, ANIM_Cleft_Anim05, - STATUS_PARALYZE, ANIM_Cleft_Anim01, - STATUS_DIZZY, ANIM_Cleft_Anim0F, - STATUS_FEAR, ANIM_Cleft_Anim0F, + STATUS_KEY_NORMAL, ANIM_Cleft_Anim05, + STATUS_KEY_STONE, ANIM_Cleft_Anim01, + STATUS_KEY_SLEEP, ANIM_Cleft_Anim0D, + STATUS_KEY_POISON, ANIM_Cleft_Anim05, + STATUS_KEY_STOP, ANIM_Cleft_Anim01, + STATUS_KEY_STATIC, ANIM_Cleft_Anim05, + STATUS_KEY_PARALYZE, ANIM_Cleft_Anim01, + STATUS_KEY_DIZZY, ANIM_Cleft_Anim0F, + STATUS_KEY_FEAR, ANIM_Cleft_Anim0F, STATUS_END, }; @@ -135,7 +139,7 @@ EvtScript N(idle_80218934) = { EvtScript N(80218944) = { EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim07) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0) EVT_THREAD EVT_SET(LVar0, 0) @@ -158,12 +162,12 @@ EvtScript N(80218944) = { EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim03) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80218884))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8021872C))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -7) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim03) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80218884))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8021872C))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -7) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) EVT_CALL(N(SetSpinSmashable), 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) EVT_RETURN @@ -198,7 +202,7 @@ EvtScript N(handleEvent_80218C3C) = { EVT_CASE_FLAG(DAMAGE_TYPE_BLAST) EVT_EXEC_WAIT(N(80218944)) EVT_CASE_DEFAULT - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, TRUE) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_SET_CONST(LVar0, 1) @@ -211,7 +215,7 @@ EvtScript N(handleEvent_80218C3C) = { EVT_SET_CONST(LVar2, -1) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_END_IF - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, FALSE) EVT_END_SWITCH EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -284,8 +288,8 @@ EvtScript N(handleEvent_80218C3C) = { EVT_CASE_EQ(EVENT_STAR_BEAM) EVT_CASE_EQ(EVENT_SPIKE_TAUNT) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim18) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim18) EVT_END_IF EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -377,20 +381,20 @@ EvtScript N(handleEvent_80218C3C) = { EvtScript N(802197AC) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim03) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim03) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim05) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim05) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_GT(LVar0, 0) EVT_SUB(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, LVar0) EVT_ELSE EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim03) EVT_THREAD EVT_WAIT(3) EVT_LOOP(5) @@ -412,12 +416,12 @@ EvtScript N(802197AC) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim02) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80218838))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_80218710))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 22) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -10) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim02) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80218838))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_80218710))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 22) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -10) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) EVT_WAIT(1) EVT_CALL(N(SetSpinSmashable), 1) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) @@ -445,15 +449,15 @@ EvtScript N(80219BA0) = { EVT_WAIT(5) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim10) EVT_WAIT(10) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim11) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, -5) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim00) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20D1) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) @@ -468,7 +472,7 @@ EvtScript N(80219BA0) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_THREAD EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim11) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 100) @@ -476,29 +480,29 @@ EvtScript N(80219BA0) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 45) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim08) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 45) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim08) EVT_WAIT(15) EVT_WAIT(8) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim07) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim07) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim02) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim02) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim11) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -508,7 +512,7 @@ EvtScript N(80219BA0) = { EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim02) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -520,14 +524,14 @@ EvtScript N(80219BA0) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.4)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim02) EVT_WAIT(5) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim07) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Cleft_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Cleft_Anim02) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/iwa/area.c b/src/battle/area/iwa/area.c index e37b260a50..98c64deca7 100644 --- a/src/battle/area/iwa/area.c +++ b/src/battle/area/iwa/area.c @@ -13,103 +13,103 @@ extern Stage N(iwa_01b); extern Stage N(iwa_02); Formation N(Formation_00) = { - { .actor = &N(cleft), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_B, 10), }; Formation N(Formation_01) = { - { .actor = &N(cleft), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(cleft), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(cleft), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(cleft), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(cleft), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_C, 8), }; Formation N(Formation_03) = { - { .actor = &N(cleft), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_C, 9), }; Formation N(Formation_04) = { - { .actor = &N(cleft), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_C, 8), }; Formation N(Formation_05) = { - { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_B, 10), }; Formation N(Formation_06) = { - { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_C, 9), }; Formation N(Formation_07) = { - { .actor = &N(monty_mole), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_C, 8), }; Formation N(Formation_08) = { - { .actor = &N(monty_mole), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(monty_mole), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_D, 7), }; Formation N(Formation_09) = { - { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(cleft), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0A) = { - { .actor = &N(monty_mole), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(cleft), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0B) = { - { .actor = &N(monty_mole), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(cleft), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(monty_mole), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_C, 8), }; Vec3i N(vector3D_8021853C) = { 90, 70, 0, }; Formation N(Formation_0C) = { - { .actor = &N(buzzar), .home = { .vec = &N(vector3D_8021853C) }, .priority = 10 }, + ACTOR_BY_POS(N(buzzar), N(vector3D_8021853C), 10), }; Formation N(Formation_0D) = { - { .actor = &N(cleft), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(monty_mole), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(whacka), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(cleft), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(monty_mole), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(whacka), BTL_POS_GROUND_C, 8), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(iwa_01), "シンエモン"), - BATTLE(N(Formation_01), &N(iwa_01), "シンエモンx2"), - BATTLE(N(Formation_02), &N(iwa_01), "シンエモンx3"), - BATTLE(N(Formation_03), &N(iwa_01), "シンエモン,チョロプー"), - BATTLE(N(Formation_04), &N(iwa_01), "シンエモン,チョロプーx2"), - BATTLE(N(Formation_05), &N(iwa_01), "チョロプー"), - BATTLE(N(Formation_06), &N(iwa_01), "チョロプーx2"), - BATTLE(N(Formation_07), &N(iwa_01), "チョロプーx3"), - BATTLE(N(Formation_08), &N(iwa_01), "チョロプーx4"), - BATTLE(N(Formation_09), &N(iwa_01), "チョロプー,シンエモン"), - BATTLE(N(Formation_0A), &N(iwa_01), "チョロプーx2,シンエモン"), - BATTLE(N(Formation_0B), &N(iwa_01), "チョロプー,シンエモン,チョロプー"), - BATTLE(N(Formation_0C), &N(iwa_02), "ゲーハー"), - BATTLE(N(Formation_0D), &N(iwa_02), "コブロン"), + BATTLE(N(Formation_00), N(iwa_01), "シンエモン"), + BATTLE(N(Formation_01), N(iwa_01), "シンエモンx2"), + BATTLE(N(Formation_02), N(iwa_01), "シンエモンx3"), + BATTLE(N(Formation_03), N(iwa_01), "シンエモン,チョロプー"), + BATTLE(N(Formation_04), N(iwa_01), "シンエモン,チョロプーx2"), + BATTLE(N(Formation_05), N(iwa_01), "チョロプー"), + BATTLE(N(Formation_06), N(iwa_01), "チョロプーx2"), + BATTLE(N(Formation_07), N(iwa_01), "チョロプーx3"), + BATTLE(N(Formation_08), N(iwa_01), "チョロプーx4"), + BATTLE(N(Formation_09), N(iwa_01), "チョロプー,シンエモン"), + BATTLE(N(Formation_0A), N(iwa_01), "チョロプーx2,シンエモン"), + BATTLE(N(Formation_0B), N(iwa_01), "チョロプー,シンエモン,チョロプー"), + BATTLE(N(Formation_0C), N(iwa_02), "ゲーハー"), + BATTLE(N(Formation_0D), N(iwa_02), "コブロン"), {}, }; StageList N(Stages) = { { "iwa_01", &N(iwa_01) }, - { "iwa_01b", &N(iwa_01b) }, + STAGE("iwa_01b", N(iwa_01b)), { "iwa_02", &N(iwa_02) }, {}, }; diff --git a/src/battle/area/iwa/stage/iwa_01.c b/src/battle/area/iwa/stage/iwa_01.c index 3d4817417e..854fa93d74 100644 --- a/src/battle/area/iwa/stage/iwa_01.c +++ b/src/battle/area/iwa/stage/iwa_01.c @@ -44,7 +44,7 @@ Stage NAMESPACE = { Vec3i N(WhackaPos) = { 116, 0, -30 }; Formation N(WhackaFormation) = { - { .actor = &N(whacka), .home = { .vec = &N(WhackaPos) }}, + ACTOR_BY_POS(N(whacka), N(WhackaPos), 0), }; #define NAMESPACE b_area_iwa_iwa_01_whacka diff --git a/src/battle/area/iwa/stage/iwa_02.c b/src/battle/area/iwa/stage/iwa_02.c index 9ef02a50bc..fb21551f58 100644 --- a/src/battle/area/iwa/stage/iwa_02.c +++ b/src/battle/area/iwa/stage/iwa_02.c @@ -36,10 +36,10 @@ Stage NAMESPACE = { .foregroundModelList = N(ForegroundModels), }; -Vec3i N(WHACKAPOS) = { 0, 0, 0 }; +Vec3i N(OriginPos) = { 0, 0, 0 }; Formation N(WhackaFormation) = { - { .actor = &N(whacka), .home = { .vec = &N(WHACKAPOS) }}, + ACTOR_BY_POS(N(whacka), N(OriginPos), 0), }; #define NAMESPACE b_area_iwa_iwa_02_whacka diff --git a/src/battle/area/jan/actor/hurt_plant.c b/src/battle/area/jan/actor/hurt_plant.c index 744b6f9c7d..b1ad3232a2 100644 --- a/src/battle/area/jan/actor/hurt_plant.c +++ b/src/battle/area/jan/actor/hurt_plant.c @@ -10,54 +10,58 @@ extern EvtScript N(takeTurn_8021E33C); extern EvtScript N(idle_8021DAE4); extern EvtScript N(handleEvent_8021DCF4); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_8021D940)[] = { - STATUS_NORMAL, ANIM_HurtPlant_Anim02, - STATUS_STONE, ANIM_HurtPlant_Anim00, - STATUS_SLEEP, ANIM_HurtPlant_Anim0C, - STATUS_POISON, ANIM_HurtPlant_Anim02, - STATUS_STOP, ANIM_HurtPlant_Anim00, - STATUS_STATIC, ANIM_HurtPlant_Anim02, - STATUS_PARALYZE, ANIM_HurtPlant_Anim00, - STATUS_DIZZY, ANIM_HurtPlant_Anim09, - STATUS_FEAR, ANIM_HurtPlant_Anim09, + STATUS_KEY_NORMAL, ANIM_HurtPlant_Anim02, + STATUS_KEY_STONE, ANIM_HurtPlant_Anim00, + STATUS_KEY_SLEEP, ANIM_HurtPlant_Anim0C, + STATUS_KEY_POISON, ANIM_HurtPlant_Anim02, + STATUS_KEY_STOP, ANIM_HurtPlant_Anim00, + STATUS_KEY_STATIC, ANIM_HurtPlant_Anim02, + STATUS_KEY_PARALYZE, ANIM_HurtPlant_Anim00, + STATUS_KEY_DIZZY, ANIM_HurtPlant_Anim09, + STATUS_KEY_FEAR, ANIM_HurtPlant_Anim09, STATUS_END, }; s32 N(DefenseTable_8021D98C)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_FIRE, 0, + ELEMENT_NORMAL, 0, + ELEMENT_FIRE, 0, ELEMENT_END, }; s32 N(StatusTable_8021D9A0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 95, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 95, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8021DA4C)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 24 }, .opacity = 255, @@ -74,8 +78,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_HURT_PLANT, .level = 16, .maxHP = 8, - .partCount = ARRAY_COUNT( N(PartsTable_8021DA4C)), - .partsData = N(PartsTable_8021DA4C), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021DA98), .statusTable = N(StatusTable_8021D9A0), .escapeChance = 70, @@ -87,9 +91,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 95, .coinReward = 1, .size = { 40, 35 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -18, 23 }, - .statusMessageOffset = { 1, 20 }, + .statusTextOffset = { 1, 20 }, }; EvtScript N(init_8021DA98) = { @@ -100,20 +104,20 @@ EvtScript N(init_8021DA98) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_8021DAE4) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_FLAG(STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -6, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -2, -5) - EVT_CALL(N(UnkBattleFunc1), -20, 8, 0, 14) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -6, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -2, -5) + EVT_CALL(N(SetAbsoluteStatusOffsets), -20, 8, 0, 14) EVT_CASE_DEFAULT - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -10, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -8, -5) - EVT_CALL(N(UnkBattleFunc1), -18, 23, 1, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -10, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -8, -5) + EVT_CALL(N(SetAbsoluteStatusOffsets), -18, 23, 1, 20) EVT_END_SWITCH EVT_WAIT(1) EVT_GOTO(0) @@ -124,13 +128,13 @@ EvtScript N(idle_8021DAE4) = { EvtScript N(8021DBFC) = { EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim04) EVT_WAIT(10) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim03) EVT_WAIT(10) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) EVT_RETURN @@ -144,7 +148,7 @@ EvtScript N(handleEvent_8021DCF4) = { EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim0D) EVT_WAIT(3) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_HurtPlant_Anim0E) @@ -165,13 +169,13 @@ EvtScript N(handleEvent_8021DCF4) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim0D) EVT_WAIT(3) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_HurtPlant_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim0D) EVT_WAIT(3) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_HurtPlant_Anim0E) @@ -181,7 +185,7 @@ EvtScript N(handleEvent_8021DCF4) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim0D) EVT_WAIT(3) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_HurtPlant_Anim0E) @@ -189,7 +193,7 @@ EvtScript N(handleEvent_8021DCF4) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_EXEC_WAIT(N(8021DBFC)) EVT_CASE_EQ(EVENT_SHOCK_DEATH) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim0D) EVT_WAIT(3) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_HurtPlant_Anim0E) @@ -206,7 +210,7 @@ EvtScript N(handleEvent_8021DCF4) = { EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim0D) EVT_WAIT(3) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_HurtPlant_Anim0E) @@ -221,16 +225,16 @@ EvtScript N(handleEvent_8021DCF4) = { EVT_SET_CONST(LVar1, ANIM_HurtPlant_Anim02) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim0D) EVT_WAIT(3) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_HurtPlant_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim04) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_WAIT(20) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN @@ -257,7 +261,7 @@ EvtScript N(takeTurn_8021E33C) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim04) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) @@ -272,7 +276,7 @@ EvtScript N(takeTurn_8021E33C) = { EVT_GOTO(123) EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim04) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_WAIT(8) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) @@ -297,19 +301,19 @@ EvtScript N(takeTurn_8021E33C) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim03) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim05) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2C4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim06) EVT_WAIT(6) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim07) EVT_WAIT(5) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -329,13 +333,13 @@ EvtScript N(takeTurn_8021E33C) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_POISON) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_ELSE - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 100), 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HurtPlant_Anim07) EVT_WAIT(5) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(8021DBFC)) diff --git a/src/battle/area/jan/actor/jungle_fuzzy.c b/src/battle/area/jan/actor/jungle_fuzzy.c index b81627af78..9e161b7ee9 100644 --- a/src/battle/area/jan/actor/jungle_fuzzy.c +++ b/src/battle/area/jan/actor/jungle_fuzzy.c @@ -14,41 +14,45 @@ extern EvtScript N(idle_8021EB8C); extern EvtScript N(handleEvent_8021EB9C); extern Formation N(specialFormation_8022180C); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_8021E9D0)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_FIRE, 0, + ELEMENT_NORMAL, 0, + ELEMENT_FIRE, 0, ELEMENT_END, }; s32 N(StatusTable_8021E9E4)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 95, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 70, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 95, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 70, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8021EA90)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -65,8 +69,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_JUNGLE_FUZZY, .level = 16, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_8021EA90)), - .partsData = N(PartsTable_8021EA90), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021EB28), .statusTable = N(StatusTable_8021E9E4), .escapeChance = 30, @@ -78,21 +82,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 33, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021EADC)[] = { - STATUS_NORMAL, ANIM_Fuzzy_Jungle_Idle, - STATUS_STONE, ANIM_Fuzzy_Jungle_Still, - STATUS_SLEEP, ANIM_Fuzzy_Jungle_Sleep, - STATUS_POISON, ANIM_Fuzzy_Jungle_Idle, - STATUS_STOP, ANIM_Fuzzy_Jungle_Still, - STATUS_STATIC, ANIM_Fuzzy_Jungle_Idle, - STATUS_PARALYZE, ANIM_Fuzzy_Jungle_Still, - STATUS_DIZZY, ANIM_Fuzzy_Jungle_Stunned, - STATUS_FEAR, ANIM_Fuzzy_Jungle_Stunned, + STATUS_KEY_NORMAL, ANIM_Fuzzy_Jungle_Idle, + STATUS_KEY_STONE, ANIM_Fuzzy_Jungle_Still, + STATUS_KEY_SLEEP, ANIM_Fuzzy_Jungle_Sleep, + STATUS_KEY_POISON, ANIM_Fuzzy_Jungle_Idle, + STATUS_KEY_STOP, ANIM_Fuzzy_Jungle_Still, + STATUS_KEY_STATIC, ANIM_Fuzzy_Jungle_Idle, + STATUS_KEY_PARALYZE, ANIM_Fuzzy_Jungle_Still, + STATUS_KEY_DIZZY, ANIM_Fuzzy_Jungle_Stunned, + STATUS_KEY_FEAR, ANIM_Fuzzy_Jungle_Stunned, STATUS_END, }; @@ -257,9 +261,9 @@ EvtScript N(divide) = { EVT_END_LOOP EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2070) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Anim0D) EVT_WAIT(130) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Walk) EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_8022180C)), 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(SetActorPos, LVar0, LVar1, LVar2, LVar3) @@ -267,7 +271,7 @@ EvtScript N(divide) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Walk) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.4)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) @@ -312,7 +316,7 @@ EvtScript N(leechAttack) = { EVT_GOTO(100) EVT_END_IF EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 50) @@ -320,10 +324,10 @@ EvtScript N(leechAttack) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Idle) EVT_LABEL(100) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Anim04) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 9, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) @@ -339,11 +343,11 @@ EvtScript N(leechAttack) = { EVT_SET(LVar1, 0) EVT_SUB(LVar2, 5) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Jump) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 11, FALSE, TRUE, FALSE) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Anim09) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) @@ -364,14 +368,14 @@ EvtScript N(leechAttack) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Run) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -388,7 +392,7 @@ EvtScript N(leechAttack) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -3, -12, -15) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Jump) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) @@ -399,9 +403,9 @@ EvtScript N(leechAttack) = { EVT_WAIT(10) EVT_LOOP(2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Bite) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Bite) EVT_WAIT(21) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Still) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 330) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, -3, -2, 0) @@ -422,7 +426,7 @@ EvtScript N(leechAttack) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Jump) EVT_WAIT(30) EVT_END_LOOP EVT_ELSE @@ -439,7 +443,7 @@ EvtScript N(leechAttack) = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_MarioB1_Leeching) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Bite) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Bite) EVT_SET(LocalFlag(0), 0) EVT_LOOP(21) EVT_CALL(GetActionSuccessCopy, LVar1) @@ -453,7 +457,7 @@ EvtScript N(leechAttack) = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) EVT_BREAK_LOOP EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Still) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 330) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, -3, -2, 0) @@ -584,7 +588,7 @@ EvtScript N(leechAttack) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Jump) EVT_CALL(GetPlayerHP, LVar1) EVT_IF_EQ(LVar1, 0) EVT_CALL(func_80269470) @@ -607,10 +611,10 @@ EvtScript N(leechAttack) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Jump) EVT_END_IF EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Idle) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_THREAD EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.6), EVT_FLOAT(0.6), EVT_FLOAT(1.0)) @@ -667,13 +671,13 @@ EvtScript N(leechAttack) = { EVT_WAIT(5) EVT_CALL(YieldTurn) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jungle_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jungle_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -761,7 +765,7 @@ EvtScript N(80221468) = { EVT_CASE_OR_EQ(ACTOR_TYPE_FOREST_FUZZY) EVT_CASE_OR_EQ(ACTOR_TYPE_JUNGLE_FUZZY) EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, LVar0, 0, LVar3) EVT_IF_NE(LVar3, 2) EVT_ADD(LVar9, 1) @@ -770,7 +774,7 @@ EvtScript N(80221468) = { EVT_END_CASE_GROUP EVT_CASE_EQ(ACTOR_TYPE_SPEAR_GUY) EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, LVar0, 1, LVar3) EVT_IF_LT(LVar3, 2) EVT_ADD(LVar9, 1) @@ -830,5 +834,5 @@ EvtScript N(takeTurn_80221628) = { Vec3i N(vector3D_80221800) = { NPC_DISPOSE_LOCATION }; Formation N(specialFormation_8022180C) = { - { .actor = &NAMESPACE, .home = { .vec = &N(vector3D_80221800) } }, + ACTOR_BY_POS(NAMESPACE, N(vector3D_80221800), 0), }; diff --git a/src/battle/area/jan/actor/m_bush.c b/src/battle/area/jan/actor/m_bush.c index b36234c3b2..53896fdb97 100644 --- a/src/battle/area/jan/actor/m_bush.c +++ b/src/battle/area/jan/actor/m_bush.c @@ -10,54 +10,58 @@ extern EvtScript N(takeTurn_80221F78); extern EvtScript N(idle_802219D4); extern EvtScript N(handleEvent_80221A74); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_80221830)[] = { - STATUS_NORMAL, ANIM_MBush_Anim02, - STATUS_STONE, ANIM_MBush_Anim01, - STATUS_SLEEP, ANIM_MBush_Anim08, - STATUS_POISON, ANIM_MBush_Anim02, - STATUS_STOP, ANIM_MBush_Anim01, - STATUS_STATIC, ANIM_MBush_Anim02, - STATUS_PARALYZE, ANIM_MBush_Anim01, - STATUS_DIZZY, ANIM_MBush_Anim09, - STATUS_FEAR, ANIM_MBush_Anim09, + STATUS_KEY_NORMAL, ANIM_MBush_Anim02, + STATUS_KEY_STONE, ANIM_MBush_Anim01, + STATUS_KEY_SLEEP, ANIM_MBush_Anim08, + STATUS_KEY_POISON, ANIM_MBush_Anim02, + STATUS_KEY_STOP, ANIM_MBush_Anim01, + STATUS_KEY_STATIC, ANIM_MBush_Anim02, + STATUS_KEY_PARALYZE, ANIM_MBush_Anim01, + STATUS_KEY_DIZZY, ANIM_MBush_Anim09, + STATUS_KEY_FEAR, ANIM_MBush_Anim09, STATUS_END, }; s32 N(DefenseTable_8022187C)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_FIRE, 0, + ELEMENT_NORMAL, 0, + ELEMENT_FIRE, 0, ELEMENT_END, }; s32 N(StatusTable_80221890)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 95, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 95, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022193C)[] = { +ActorPartBlueprint N(ActorParts_8022193C)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 22 }, .opacity = 255, @@ -74,8 +78,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_M_BUSH, .level = 16, .maxHP = 8, - .partCount = ARRAY_COUNT( N(PartsTable_8022193C)), - .partsData = N(PartsTable_8022193C), + .partCount = ARRAY_COUNT( N(ActorParts_8022193C)), + .partsData = N(ActorParts_8022193C), .initScript = &N(init_80221988), .statusTable = N(StatusTable_80221890), .escapeChance = 70, @@ -87,9 +91,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 1, .size = { 32, 30 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init_80221988) = { @@ -107,10 +111,10 @@ EvtScript N(idle_802219D4) = { EvtScript N(802219E4) = { EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MBush_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MBush_Anim05) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MBush_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MBush_Anim02) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END @@ -220,7 +224,7 @@ EvtScript N(takeTurn_80221F78) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MBush_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MBush_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 50) @@ -234,7 +238,7 @@ EvtScript N(takeTurn_80221F78) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MBush_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MBush_Anim06) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -250,27 +254,27 @@ EvtScript N(takeTurn_80221F78) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MBush_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MBush_Anim02) EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(802219E4)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MBush_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MBush_Anim06) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 2, 25), 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 2, 25), 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -281,7 +285,7 @@ EvtScript N(takeTurn_80221F78) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MBush_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MBush_Anim02) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) diff --git a/src/battle/area/jan/actor/spear_guy.c b/src/battle/area/jan/actor/spear_guy.c index df6920d881..bad571f958 100644 --- a/src/battle/area/jan/actor/spear_guy.c +++ b/src/battle/area/jan/actor/spear_guy.c @@ -20,108 +20,115 @@ extern EvtScript N(8021BF8C); extern Formation N(specialFormation_8021A8C0); extern Formation N(specialFormation_8021A8DC); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, +}; + s32 N(IdleAnimations_802185C0)[] = { - STATUS_NORMAL, ANIM_SpearGuy_Anim04, - STATUS_STONE, ANIM_SpearGuy_Anim02, - STATUS_SLEEP, ANIM_SpearGuy_Anim0D, - STATUS_POISON, ANIM_SpearGuy_Anim0F, - STATUS_STOP, ANIM_SpearGuy_Anim02, - STATUS_STATIC, ANIM_SpearGuy_Anim04, - STATUS_PARALYZE, ANIM_SpearGuy_Anim02, - STATUS_DIZZY, ANIM_SpearGuy_Anim0F, - STATUS_FEAR, ANIM_SpearGuy_Anim0F, + STATUS_KEY_NORMAL, ANIM_SpearGuy_Anim04, + STATUS_KEY_STONE, ANIM_SpearGuy_Anim02, + STATUS_KEY_SLEEP, ANIM_SpearGuy_Anim0D, + STATUS_KEY_POISON, ANIM_SpearGuy_Anim0F, + STATUS_KEY_STOP, ANIM_SpearGuy_Anim02, + STATUS_KEY_STATIC, ANIM_SpearGuy_Anim04, + STATUS_KEY_PARALYZE, ANIM_SpearGuy_Anim02, + STATUS_KEY_DIZZY, ANIM_SpearGuy_Anim0F, + STATUS_KEY_FEAR, ANIM_SpearGuy_Anim0F, STATUS_END, }; s32 N(IdleAnimations_8021860C)[] = { - STATUS_NORMAL, ANIM_SpearGuy_Anim03, - STATUS_STONE, ANIM_SpearGuy_Anim0D, - STATUS_SLEEP, ANIM_SpearGuy_Anim0D, - STATUS_POISON, ANIM_SpearGuy_Anim0F, - STATUS_STOP, ANIM_SpearGuy_Anim01, - STATUS_STATIC, ANIM_SpearGuy_Anim03, - STATUS_PARALYZE, ANIM_SpearGuy_Anim01, - STATUS_DIZZY, ANIM_SpearGuy_Anim0F, - STATUS_FEAR, ANIM_SpearGuy_Anim0F, + STATUS_KEY_NORMAL, ANIM_SpearGuy_Anim03, + STATUS_KEY_STONE, ANIM_SpearGuy_Anim0D, + STATUS_KEY_SLEEP, ANIM_SpearGuy_Anim0D, + STATUS_KEY_POISON, ANIM_SpearGuy_Anim0F, + STATUS_KEY_STOP, ANIM_SpearGuy_Anim01, + STATUS_KEY_STATIC, ANIM_SpearGuy_Anim03, + STATUS_KEY_PARALYZE, ANIM_SpearGuy_Anim01, + STATUS_KEY_DIZZY, ANIM_SpearGuy_Anim0F, + STATUS_KEY_FEAR, ANIM_SpearGuy_Anim0F, STATUS_END, }; s32 N(IdleAnimations_80218658)[] = { - STATUS_NORMAL, ANIM_SpearGuy_Anim14, + STATUS_KEY_NORMAL, ANIM_SpearGuy_Anim14, STATUS_END, }; s32 N(IdleAnimations_80218664)[] = { - STATUS_NORMAL, ANIM_SpearGuy_Anim19, + STATUS_KEY_NORMAL, ANIM_SpearGuy_Anim19, STATUS_END, }; s32 N(DefenseTable_80218670)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_FIRE, 0, + ELEMENT_NORMAL, 0, + ELEMENT_FIRE, 0, ELEMENT_END, }; s32 N(DefenseTable_80218684)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable_80218698)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(StatusTable_80218744)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_802187F0)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, .opacity = 255, @@ -133,7 +140,7 @@ ActorPartBlueprint N(PartsTable_802187F0)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -145,7 +152,7 @@ ActorPartBlueprint N(PartsTable_802187F0)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -157,7 +164,7 @@ ActorPartBlueprint N(PartsTable_802187F0)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -174,8 +181,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SPEAR_GUY, .level = 16, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_802187F0)), - .partsData = N(PartsTable_802187F0), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_80218980), .statusTable = N(StatusTable_80218698), .escapeChance = 50, @@ -187,9 +194,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 2, .size = { 24, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(setSpearStance) = { @@ -197,12 +204,12 @@ EvtScript N(setSpearStance) = { EVT_CASE_EQ(2) EVT_CASE_EQ(0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_802185C0))) - EVT_CALL(SetPartEventFlags, ACTOR_SELF, 2, 0x00010000) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_802185C0))) + EVT_CALL(SetPartEventFlags, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_SPIKY_FRONT) EVT_CASE_EQ(1) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021860C))) - EVT_CALL(SetPartEventFlags, ACTOR_SELF, 2, 16) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021860C))) + EVT_CALL(SetPartEventFlags, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_SPIKY_TOP) EVT_END_SWITCH EVT_RETURN EVT_END @@ -213,11 +220,11 @@ EvtScript N(init_80218980) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_EXEC_WAIT(N(setSpearStance)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim04) EVT_CASE_EQ(1) EVT_EXEC_WAIT(N(setSpearStance)) - EVT_CALL(SetPartEventFlags, ACTOR_SELF, 2, 16) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim03) + EVT_CALL(SetPartEventFlags, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_SPIKY_TOP) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim03) EVT_END_SWITCH EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021BCB4))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80218E3C))) @@ -228,9 +235,9 @@ EvtScript N(init_80218980) = { EVT_CASE_EQ(2) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(6) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_SPIKY_FRONT, FALSE) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021860C))) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim03) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_SPIKY_FRONT, FALSE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021860C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim03) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_RETURN @@ -264,18 +271,18 @@ EvtScript N(idle_80218BE0) = { EVT_CASE_EQ(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FEAR | STATUS_FLAG_DIZZY) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021860C))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_SPIKY_FRONT, FALSE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021860C))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_SPIKY_FRONT, FALSE) EVT_ELSE - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_802185C0))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_SPIKY_FRONT, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_802185C0))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_SPIKY_FRONT, TRUE) EVT_END_IF EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021860C))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_SPIKY_FRONT, FALSE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021860C))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_SPIKY_FRONT, FALSE) EVT_END_SWITCH EVT_WAIT(1) EVT_GOTO(0) @@ -291,9 +298,9 @@ EvtScript N(80218D7C) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim04) EVT_CASE_EQ(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim03) EVT_END_SWITCH EVT_RETURN EVT_END @@ -514,7 +521,7 @@ EvtScript N(spearStab) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim06) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -528,9 +535,9 @@ EvtScript N(spearStab) = { EVT_ADD(LVar2, 1) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim04) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim1A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim1A) EVT_WAIT(15) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -538,7 +545,7 @@ EvtScript N(spearStab) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_309) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim1B) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 30) @@ -554,9 +561,9 @@ EvtScript N(spearStab) = { EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(80218D7C)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -564,7 +571,7 @@ EvtScript N(spearStab) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_309) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim1B) EVT_WAIT(5) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -591,7 +598,7 @@ EvtScript N(summonBackup) = { EVT_CALL(MoveBattleCamOver, 15) EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_01) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_THREAD EVT_WAIT(5) @@ -602,10 +609,10 @@ EvtScript N(summonBackup) = { EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 10) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim05) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim10) EVT_WAIT(25) EVT_THREAD EVT_WAIT(5) @@ -616,22 +623,22 @@ EvtScript N(summonBackup) = { EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim05) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim10) EVT_WAIT(30) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 10) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim05) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 15) EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, LVar0, LVar1, LVar2, 30, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim0E) EVT_WAIT(20) EVT_CALL(GetOriginalActorType, ACTOR_SELF, LVar0) EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_4 | TARGET_FLAG_8000) @@ -726,11 +733,11 @@ EvtScript N(summonBackup) = { Vec3i N(vector3D_8021A8B4) = { NPC_DISPOSE_LOCATION }; Formation N(specialFormation_8021A8C0) = { - { .actor = &NAMESPACE, .home = { .vec = &N(vector3D_8021A8B4) }, .priority = 100, .var0 = 0 }, + ACTOR_BY_POS(NAMESPACE, N(vector3D_8021A8B4), 100, 0), }; Formation N(specialFormation_8021A8DC) = { - { .actor = &NAMESPACE, .home = { .vec = &N(vector3D_8021A8B4) }, .priority = 100, .var0 = 1 }, + ACTOR_BY_POS(NAMESPACE, N(vector3D_8021A8B4), 100, 1), }; EvtScript N(becomeShyGuy) = { @@ -738,42 +745,42 @@ EvtScript N(becomeShyGuy) = { EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim13) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim18) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 10) EVT_ADD(LVar1, 15) EVT_SUB(LVar2, 1) - EVT_CALL(SetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 4, EVT_FLOAT(0.5)) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_4, EVT_FLOAT(0.5)) EVT_ADD(LVar0, 50) EVT_SUB(LVar2, 30) EVT_THREAD EVT_LOOP(15) - EVT_CALL(SetPartRotation, ACTOR_SELF, 4, 0, 0, 10) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_4, 0, 0, 10) EVT_WAIT(1) - EVT_CALL(SetPartRotation, ACTOR_SELF, 4, 0, 0, -10) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_4, 0, 0, -10) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) EVT_THREAD EVT_LOOP(10) - EVT_CALL(GetPartOffset, ACTOR_SELF, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SPARKLES, 3, LVar0, LVar1, LVar2, 5, 0) EVT_WAIT(3) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 4, SOUND_2FC) - EVT_CALL(SetPartSounds, ACTOR_SELF, 4, ACTOR_SOUND_JUMP, 0, 0) - EVT_CALL(JumpPartTo, ACTOR_SELF, 4, LVar0, 0, LVar2, 30, TRUE) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_4, SOUND_2FC) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_4, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_4, LVar0, 0, LVar2, 30, TRUE) EVT_WAIT(5) - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET) EVT_EXEC_WAIT(N(8021BF8C)) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_SHY_GUY) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TYPE_CHANGED, TRUE) @@ -789,13 +796,13 @@ EvtScript N(spearThrow) = { EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim06) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 200) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim15) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_SUB(LVar0, 100) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -807,21 +814,21 @@ EvtScript N(spearThrow) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_CALL(SetPartScale, ACTOR_SELF, 4, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_4, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 4, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_4, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim11) EVT_WAIT(5) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim17) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) @@ -830,39 +837,39 @@ EvtScript N(spearThrow) = { EVT_SUB(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim12) EVT_END_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, 20, LVar2) - EVT_CALL(SetPartRotation, ACTOR_SELF, 3, 0, 0, -30) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, 20, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_3, 0, 0, -30) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_THREAD EVT_CALL(MakeLerp, -30, 45, 20, EASING_LINEAR) EVT_LABEL(0) EVT_CALL(UpdateLerp) - EVT_CALL(SetPartRotation, ACTOR_SELF, 3, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_3, 0, 0, LVar0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 1) EVT_GOTO(0) EVT_END_IF EVT_END_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 3, SOUND_30A) - EVT_CALL(SetPartSounds, ACTOR_SELF, 3, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_3, SOUND_30A) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_3, ACTOR_SOUND_JUMP, 0, 0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) EVT_SET(LVar1, 10) EVT_ADD(LVar2, 2) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.7)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(0.7)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 20, TRUE) EVT_WAIT(10) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_WAIT(10) EVT_EXEC_WAIT(N(becomeShyGuy)) EVT_CALL(YieldTurn) @@ -871,10 +878,10 @@ EvtScript N(spearThrow) = { EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim11) EVT_WAIT(5) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim17) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) @@ -883,34 +890,34 @@ EvtScript N(spearThrow) = { EVT_SUB(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpearGuy_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpearGuy_Anim12) EVT_END_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, 20, LVar2) - EVT_CALL(SetPartRotation, ACTOR_SELF, 3, 0, 0, -30) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, 20, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_3, 0, 0, -30) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_THREAD EVT_CALL(MakeLerp, -30, 45, 20, EASING_LINEAR) EVT_LABEL(0) EVT_CALL(UpdateLerp) - EVT_CALL(SetPartRotation, ACTOR_SELF, 3, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_3, 0, 0, LVar0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 1) EVT_GOTO(0) EVT_END_IF EVT_END_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 3, SOUND_30A) - EVT_CALL(SetPartSounds, ACTOR_SELF, 3, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_3, SOUND_30A) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_3, ACTOR_SOUND_JUMP, 0, 0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 2) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.7)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(0.7)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 20, TRUE) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(3) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(20) EVT_EXEC_WAIT(N(becomeShyGuy)) EVT_SWITCH(LVar0) @@ -976,7 +983,7 @@ EvtScript N(8021B96C) = { EVT_SWITCH(LVar2) EVT_CASE_EQ(ACTOR_TYPE_JUNGLE_FUZZY) EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, LVar0, 0, LVar3) EVT_IF_NE(LVar3, 2) EVT_ADD(LVar9, 1) @@ -984,7 +991,7 @@ EvtScript N(8021B96C) = { EVT_END_IF EVT_CASE_EQ(ACTOR_TYPE_SPEAR_GUY) EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, LVar0, 1, LVar3) EVT_IF_LT(LVar3, 2) EVT_ADD(LVar9, 1) @@ -1089,15 +1096,15 @@ EvtScript N(takeTurn_8021BCB4) = { }; s32 N(IdleAnimations_8021BF40)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Red_Anim01, - STATUS_STONE, ANIM_ShyGuy_Red_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Red_Anim12, - STATUS_POISON, ANIM_ShyGuy_Red_Anim01, - STATUS_STOP, ANIM_ShyGuy_Red_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Red_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Red_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Red_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Red_Anim13, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_STONE, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyGuy_Red_Anim12, + STATUS_KEY_POISON, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_STOP, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_STATIC, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyGuy_Red_Anim13, + STATUS_KEY_FEAR, ANIM_ShyGuy_Red_Anim13, STATUS_END, }; @@ -1109,19 +1116,19 @@ EvtScript N(8021BF8C) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_8021BFD8) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -1134,7 +1141,7 @@ EvtScript N(8021C0E8) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_RETURN EVT_END }; @@ -1242,7 +1249,7 @@ EvtScript N(8021C628) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1259,10 +1266,10 @@ EvtScript N(8021C628) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1279,14 +1286,14 @@ EvtScript N(8021C628) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -1299,14 +1306,14 @@ EvtScript N(8021C628) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) @@ -1319,7 +1326,7 @@ EvtScript N(8021C628) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(8021C0E8)) @@ -1338,9 +1345,9 @@ EvtScript N(8021CD50) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1350,7 +1357,7 @@ EvtScript N(8021CD50) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_SUB(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1361,10 +1368,10 @@ EvtScript N(8021CD50) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1376,7 +1383,7 @@ EvtScript N(8021CD50) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1390,24 +1397,24 @@ EvtScript N(8021CD50) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1449,9 +1456,9 @@ EvtScript N(8021CD50) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349 | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim07) EVT_WAIT(15) EVT_GOTO(2) EVT_LABEL(1) @@ -1462,18 +1469,18 @@ EvtScript N(8021CD50) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim10) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim11) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim13) EVT_END_IF EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_LABEL(2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -1481,7 +1488,7 @@ EvtScript N(8021CD50) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/jan/area.c b/src/battle/area/jan/area.c index 9aa31cdc3d..e3866c80de 100644 --- a/src/battle/area/jan/area.c +++ b/src/battle/area/jan/area.c @@ -20,135 +20,135 @@ extern Stage N(jan_04); extern Stage N(jan_04b); Formation N(Formation_00) = { - { .actor = &N(spear_guy), .home = { .index = 1 }, .priority = 10, .var0 = 0 }, - { .actor = &N(spear_guy), .home = { .index = 2 }, .priority = 9, .var0 = 1 }, + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_B, 10, 0), + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_C, 9, 1), }; Formation N(Formation_01) = { - { .actor = &N(spear_guy), .home = { .index = 0 }, .priority = 10, .var0 = 0 }, - { .actor = &N(spear_guy), .home = { .index = 1 }, .priority = 9, .var0 = 1 }, - { .actor = &N(spear_guy), .home = { .index = 2 }, .priority = 8, .var0 = 1 }, + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_A, 10, 0), + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_B, 9, 1), + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_C, 8, 1), }; Formation N(Formation_02) = { - { .actor = &N(spear_guy), .home = { .index = 1 }, .priority = 10, .var0 = 0 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_B, 10, 0), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_03) = { - { .actor = &N(spear_guy), .home = { .index = 0 }, .priority = 10, .var0 = 0 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_A, 10, 0), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_D, 7), }; Formation N(Formation_04) = { - { .actor = &N(spear_guy), .home = { .index = 0 }, .priority = 10, .var0 = 0 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_A, 10, 0), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_05) = { - { .actor = &N(spear_guy), .home = { .index = 0 }, .priority = 10, .var0 = 0 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spear_guy), .home = { .index = 2 }, .priority = 8, .var0 = 1 }, + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_A, 10, 0), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_C, 8, 1), }; Formation N(Formation_06) = { - { .actor = &N(spear_guy), .home = { .index = 0 }, .priority = 10, .var0 = 0 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spear_guy), .home = { .index = 2 }, .priority = 8, .var0 = 1 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_A, 10, 0), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_C, 8, 1), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_D, 7), }; Formation N(Formation_07) = { - { .actor = &N(spear_guy), .home = { .index = 0 }, .priority = 10, .var0 = 0 }, - { .actor = &N(medi_guy), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(spike_top), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_A, 10, 0), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_C, 8), }; Formation N(Formation_08) = { - { .actor = &N(hurt_plant), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(hurt_plant), .home = { .index = 2 }, .priority = 10 }, + ACTOR_BY_IDX(N(hurt_plant), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(hurt_plant), BTL_POS_GROUND_C, 10), }; Formation N(Formation_09) = { - { .actor = &N(hurt_plant), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(hurt_plant), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(hurt_plant), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(hurt_plant), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hurt_plant), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hurt_plant), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0A) = { - { .actor = &N(jungle_fuzzy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0B) = { - { .actor = &N(jungle_fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0C) = { - { .actor = &N(jungle_fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0D) = { - { .actor = &N(jungle_fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spear_guy), .home = { .index = 1 }, .priority = 9, .var0 = 1 }, - { .actor = &N(jungle_fuzzy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spear_guy), BTL_POS_GROUND_B, 9, 1), + ACTOR_BY_IDX(N(jungle_fuzzy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0E) = { - { .actor = &N(m_bush), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(m_bush), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(m_bush), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(m_bush), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0F) = { - { .actor = &N(m_bush), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(m_bush), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(m_bush), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(m_bush), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(m_bush), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(m_bush), BTL_POS_GROUND_C, 8), }; Formation N(Formation_10) = { - { .actor = &N(m_bush), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(m_bush), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(m_bush), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(m_bush), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(m_bush), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(m_bush), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(m_bush), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(m_bush), BTL_POS_GROUND_D, 7), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(jan_01), "ヤリダンサーx2"), - BATTLE(N(Formation_01), &N(jan_01), "ヤリダンサーx3"), - BATTLE(N(Formation_02), &N(jan_01), "ヤリダンサー,トロピカル"), - BATTLE(N(Formation_03), &N(jan_01), "ヤリダンサー,トロピカルx3"), - BATTLE(N(Formation_04), &N(jan_01), "ヤリダンサー,トロピカルx2"), - BATTLE(N(Formation_05), &N(jan_01), "ヤリダンサー,トロピカル,ヤリダンサー"), - BATTLE(N(Formation_06), &N(jan_01), "ヤリダンサー,トロピカル,ヤリダンサー,トロピカル"), - BATTLE(N(Formation_07), &N(jan_01), "ヤリダンサー,かいふくヘイホー,トゲメット"), - BATTLE(N(Formation_08), &N(jan_01), "ピロリンそうだましx2"), - BATTLE(N(Formation_09), &N(jan_01), "ピロリンそうだましx3"), - BATTLE(N(Formation_0A), &N(jan_01), "トロピカルx2"), - BATTLE(N(Formation_0B), &N(jan_01), "トロピカルx3"), - BATTLE(N(Formation_0C), &N(jan_01), "トロピカルx4"), - BATTLE(N(Formation_0D), &N(jan_01), "トロピカル,ヤリダンサー,トロピカル"), - BATTLE(N(Formation_0E), &N(jan_01), "ぎたいそうx2"), - BATTLE(N(Formation_0F), &N(jan_01), "ぎたいそうx3"), - BATTLE(N(Formation_10), &N(jan_01), "ぎたいそうx4"), + BATTLE(N(Formation_00), N(jan_01), "ヤリダンサーx2"), + BATTLE(N(Formation_01), N(jan_01), "ヤリダンサーx3"), + BATTLE(N(Formation_02), N(jan_01), "ヤリダンサー,トロピカル"), + BATTLE(N(Formation_03), N(jan_01), "ヤリダンサー,トロピカルx3"), + BATTLE(N(Formation_04), N(jan_01), "ヤリダンサー,トロピカルx2"), + BATTLE(N(Formation_05), N(jan_01), "ヤリダンサー,トロピカル,ヤリダンサー"), + BATTLE(N(Formation_06), N(jan_01), "ヤリダンサー,トロピカル,ヤリダンサー,トロピカル"), + BATTLE(N(Formation_07), N(jan_01), "ヤリダンサー,かいふくヘイホー,トゲメット"), + BATTLE(N(Formation_08), N(jan_01), "ピロリンそうだましx2"), + BATTLE(N(Formation_09), N(jan_01), "ピロリンそうだましx3"), + BATTLE(N(Formation_0A), N(jan_01), "トロピカルx2"), + BATTLE(N(Formation_0B), N(jan_01), "トロピカルx3"), + BATTLE(N(Formation_0C), N(jan_01), "トロピカルx4"), + BATTLE(N(Formation_0D), N(jan_01), "トロピカル,ヤリダンサー,トロピカル"), + BATTLE(N(Formation_0E), N(jan_01), "ぎたいそうx2"), + BATTLE(N(Formation_0F), N(jan_01), "ぎたいそうx3"), + BATTLE(N(Formation_10), N(jan_01), "ぎたいそうx4"), {}, }; StageList N(Stages) = { - { "jan_00", &N(jan_00) }, - { "jan_01", &N(jan_01) }, - { "jan_01b", &N(jan_01b) }, - { "jan_02", &N(jan_02) }, - { "jan_03", &N(jan_03) }, - { "jan_03b", &N(jan_03b) }, - { "jan_04", &N(jan_04) }, - { "jan_04b", &N(jan_04b) }, + STAGE("jan_00", N(jan_00)), + STAGE("jan_01", N(jan_01)), + STAGE("jan_01b", N(jan_01b)), + STAGE("jan_02", N(jan_02)), + STAGE("jan_03", N(jan_03)), + STAGE("jan_03b", N(jan_03b)), + STAGE("jan_04", N(jan_04)), + STAGE("jan_04b", N(jan_04b)), {}, }; diff --git a/src/battle/area/jan2/area.c b/src/battle/area/jan2/area.c index fbf2658a18..56a9347602 100644 --- a/src/battle/area/jan2/area.c +++ b/src/battle/area/jan2/area.c @@ -16,43 +16,43 @@ extern Stage N(jan_04); extern Stage N(jan_04b); Formation N(Formation_00) = { - { .actor = &N(putrid_piranha), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_B, 10), }; Formation N(Formation_01) = { - { .actor = &N(putrid_piranha), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(putrid_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(putrid_piranha), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 8), }; Formation N(Formation_03) = { - { .actor = &N(putrid_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(putrid_piranha), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(white_magikoopa), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(white_magikoopa), BTL_POS_GROUND_D, 7), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(jan_01), "ポイズンパックン"), - BATTLE(N(Formation_01), &N(jan_01), "ポイズンパックンx2"), - BATTLE(N(Formation_02), &N(jan_01), "ポイズンパックンx3"), - BATTLE(N(Formation_03), &N(jan_01), "ポイズンパックンx3,ホワイトカメック"), + BATTLE(N(Formation_00), N(jan_01), "ポイズンパックン"), + BATTLE(N(Formation_01), N(jan_01), "ポイズンパックンx2"), + BATTLE(N(Formation_02), N(jan_01), "ポイズンパックンx3"), + BATTLE(N(Formation_03), N(jan_01), "ポイズンパックンx3,ホワイトカメック"), {}, }; StageList N(Stages) = { - { "jan_00", &N(jan_00) }, - { "jan_01", &N(jan_01) }, - { "jan_01b", &N(jan_01b) }, - { "jan_02", &N(jan_02) }, - { "jan_03", &N(jan_03) }, - { "jan_03b", &N(jan_03b) }, - { "jan_04", &N(jan_04) }, - { "jan_04b", &N(jan_04b) }, + STAGE("jan_00", N(jan_00)), + STAGE("jan_01", N(jan_01)), + STAGE("jan_01b", N(jan_01b)), + STAGE("jan_02", N(jan_02)), + STAGE("jan_03", N(jan_03)), + STAGE("jan_03b", N(jan_03b)), + STAGE("jan_04", N(jan_04)), + STAGE("jan_04b", N(jan_04b)), {}, }; diff --git a/src/battle/area/kgr/actor/fuzzipede.c b/src/battle/area/kgr/actor/fuzzipede.c index 0da756ddf7..7d62653a3f 100644 --- a/src/battle/area/kgr/actor/fuzzipede.c +++ b/src/battle/area/kgr/actor/fuzzipede.c @@ -14,66 +14,71 @@ extern EvtScript N(handleEvent_80219ED4); extern EvtScript N(nextTurn_80218C58); extern EvtScript N(8021A2E8); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations_802189B0)[] = { - STATUS_NORMAL, ANIM_Fuzzipede_Anim04, - STATUS_STONE, ANIM_Fuzzipede_Anim00, - STATUS_SLEEP, ANIM_Fuzzipede_Anim29, - STATUS_POISON, ANIM_Fuzzipede_Anim04, - STATUS_STOP, ANIM_Fuzzipede_Anim00, - STATUS_STATIC, ANIM_Fuzzipede_Anim04, - STATUS_PARALYZE, ANIM_Fuzzipede_Anim00, - STATUS_DIZZY, ANIM_Fuzzipede_Anim26, - STATUS_FEAR, ANIM_Fuzzipede_Anim26, + STATUS_KEY_NORMAL, ANIM_Fuzzipede_Anim04, + STATUS_KEY_STONE, ANIM_Fuzzipede_Anim00, + STATUS_KEY_SLEEP, ANIM_Fuzzipede_Anim29, + STATUS_KEY_POISON, ANIM_Fuzzipede_Anim04, + STATUS_KEY_STOP, ANIM_Fuzzipede_Anim00, + STATUS_KEY_STATIC, ANIM_Fuzzipede_Anim04, + STATUS_KEY_PARALYZE, ANIM_Fuzzipede_Anim00, + STATUS_KEY_DIZZY, ANIM_Fuzzipede_Anim26, + STATUS_KEY_FEAR, ANIM_Fuzzipede_Anim26, STATUS_END, }; s32 N(IdleAnimations_802189FC)[] = { - STATUS_NORMAL, ANIM_Fuzzipede_Anim06, - STATUS_STONE, ANIM_Fuzzipede_Anim02, - STATUS_SLEEP, ANIM_Fuzzipede_Anim2A, - STATUS_POISON, ANIM_Fuzzipede_Anim06, - STATUS_STOP, ANIM_Fuzzipede_Anim02, - STATUS_STATIC, ANIM_Fuzzipede_Anim06, - STATUS_PARALYZE, ANIM_Fuzzipede_Anim02, - STATUS_DIZZY, ANIM_Fuzzipede_Anim27, - STATUS_FEAR, ANIM_Fuzzipede_Anim27, + STATUS_KEY_NORMAL, ANIM_Fuzzipede_Anim06, + STATUS_KEY_STONE, ANIM_Fuzzipede_Anim02, + STATUS_KEY_SLEEP, ANIM_Fuzzipede_Anim2A, + STATUS_KEY_POISON, ANIM_Fuzzipede_Anim06, + STATUS_KEY_STOP, ANIM_Fuzzipede_Anim02, + STATUS_KEY_STATIC, ANIM_Fuzzipede_Anim06, + STATUS_KEY_PARALYZE, ANIM_Fuzzipede_Anim02, + STATUS_KEY_DIZZY, ANIM_Fuzzipede_Anim27, + STATUS_KEY_FEAR, ANIM_Fuzzipede_Anim27, STATUS_END, }; s32 N(DefenseTable_80218A48)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80218A54)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 50, - STATUS_STOP, 75, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 75, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80218B00)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 24 }, .opacity = 255, @@ -85,7 +90,7 @@ ActorPartBlueprint N(PartsTable_80218B00)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_2, .posOffset = { 0, 40, 0 }, .targetOffset = { 2, -16 }, .opacity = 255, @@ -102,8 +107,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_FUZZIPEDE, .level = 43, .maxHP = 20, - .partCount = ARRAY_COUNT( N(PartsTable_80218B00)), - .partsData = N(PartsTable_80218B00), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_80218B70), .statusTable = N(StatusTable_80218A54), .escapeChance = 0, @@ -115,12 +120,12 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 26, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(init_80218B70) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021C1A4))) @@ -132,7 +137,7 @@ EvtScript N(init_80218B70) = { EVT_CALL(SetActorPos, ACTOR_SELF, 125, 33, -15) EVT_CALL(SetHomePos, ACTOR_SELF, 125, 33, -15) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(func_80253734, BTL_DARKNESS_MODE_1) + EVT_CALL(SetDarknessMode, BTL_DARKNESS_MODE_1) EVT_RETURN EVT_END }; @@ -147,7 +152,7 @@ EvtScript N(nextTurn_80218C58) = { EVT_CALL(SetBattleCamOffsetZ, 10) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_MAC_Port_009C, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim24, ANIM_Fuzzipede_Anim04) + EVT_CALL(ActorSpeak, MSG_MAC_Port_009C, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim24, ANIM_Fuzzipede_Anim04) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) @@ -166,7 +171,7 @@ EvtScript N(80218D68) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim0A) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 60) @@ -175,18 +180,18 @@ EvtScript N(80218D68) = { EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802189B0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802189B0))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_802197FC))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING | ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 2, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -2, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 2, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -2, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_RETURN EVT_END @@ -197,21 +202,21 @@ EvtScript N(80218FC8) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim0A) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802189B0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802189B0))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_802197FC))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING | ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 2, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -2, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 2, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -2, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_RETURN EVT_END @@ -222,7 +227,7 @@ EvtScript N(802191AC) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim0A) EVT_SET(LVar0, 65) EVT_SET(LVar1, 0) EVT_SET(LVar2, -15) @@ -259,24 +264,24 @@ EvtScript N(802191AC) = { EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802189FC))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim06) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802189FC))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim06) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80219ED4))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, TRUE) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 2, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 2, 8) - EVT_CALL(N(UnkBattleFunc1), -10, -25, 10, -30) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 2, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 2, 8) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, -25, 10, -30) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_RETURN EVT_END }; EvtScript N(80219668) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) @@ -385,7 +390,7 @@ EvtScript N(handleEvent_802197FC) = { EVT_SET_CONST(LVar1, ANIM_Fuzzipede_Anim04) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SWAP_PARTNER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim19) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim19) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_01) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -405,16 +410,16 @@ EvtScript N(80219D68) = { EVT_IF_LE(LVar0, 0) EVT_RETURN EVT_END_IF - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_EXEC_WAIT(N(8021A2E8)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802189B0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802189B0))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_802197FC))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING | ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 2, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -2, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 2, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -2, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) - EVT_IF_FLAG(LVarA, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVarA, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 3) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_ELSE @@ -514,7 +519,7 @@ EvtScript N(8021A2E8) = { EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(4) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING | ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 180) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.002)) @@ -566,7 +571,7 @@ EvtScript N(8021A6D8) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_EXEC_WAIT(N(8021A2E8)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim0A) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -574,7 +579,7 @@ EvtScript N(8021A6D8) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim12) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20DA) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) @@ -583,7 +588,7 @@ EvtScript N(8021A6D8) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim05) EVT_THREAD EVT_SET(LVar0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 14, 0) @@ -606,7 +611,7 @@ EvtScript N(8021A6D8) = { EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_END_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) @@ -614,14 +619,14 @@ EvtScript N(8021A6D8) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(80219668)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim05) EVT_THREAD EVT_SET(LVar0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 14, 0) @@ -648,7 +653,7 @@ EvtScript N(8021A6D8) = { EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_THREAD EVT_SET(LVar0, 180) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 14, 0) @@ -732,7 +737,7 @@ EvtScript N(8021B22C) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_EXEC_WAIT(N(8021A2E8)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim0A) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -740,7 +745,7 @@ EvtScript N(8021B22C) = { EVT_ADD(LVar0, 80) EVT_SET(LVar1, 0) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim12) EVT_WAIT(30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20DB) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) @@ -748,7 +753,7 @@ EvtScript N(8021B22C) = { EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim11) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.002)) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -760,7 +765,7 @@ EvtScript N(8021B22C) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_THREAD EVT_SET(LVar0, 90) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 14, 0) @@ -791,15 +796,15 @@ EvtScript N(8021B22C) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(80219668)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim11) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.002)) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -841,7 +846,7 @@ EvtScript N(8021B22C) = { EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_EXEC(N(8021B008)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -857,7 +862,7 @@ EvtScript N(8021B22C) = { EVT_ADD(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_WAIT(8) EVT_LABEL(0) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) @@ -876,11 +881,11 @@ EvtScript N(8021B22C) = { EVT_PLAY_EFFECT(EFFECT_FIREWORK, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 0, 0) EVT_CALL(N(StartRumbleWithParams), 200, 10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20DC) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim13) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -896,7 +901,7 @@ EvtScript N(8021B22C) = { EVT_ADD(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_WAIT(8) EVT_WAIT(10) EVT_END_IF @@ -917,9 +922,9 @@ EvtScript N(8021C004) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim12) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzipede_Anim04) EVT_THREAD EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) @@ -928,9 +933,9 @@ EvtScript N(8021C004) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, ACTOR_SELF, 4, FALSE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/area/kgr/area.c b/src/battle/area/kgr/area.c index c04fc6989e..2d2d76796f 100644 --- a/src/battle/area/kgr/area.c +++ b/src/battle/area/kgr/area.c @@ -8,15 +8,15 @@ extern ActorBlueprint N(fuzzipede); extern Stage N(kgr_01); Formation N(Formation_00) = { - { .actor = &N(fuzzipede), .home = { .index = 2 }, .priority = 10 }, + ACTOR_BY_IDX(N(fuzzipede), BTL_POS_GROUND_C, 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kgr_01), "ケムシ"), + BATTLE(N(Formation_00), N(kgr_01), "ケムシ"), {}, }; StageList N(Stages) = { - { "kgr_01", &N(kgr_01) }, + STAGE("kgr_01", N(kgr_01)), {}, }; diff --git a/src/battle/area/kkj/actor/kammy_koopa.c b/src/battle/area/kkj/actor/kammy_koopa.c index c20f608f88..8864ac9e07 100644 --- a/src/battle/area/kkj/actor/kammy_koopa.c +++ b/src/battle/area/kkj/actor/kammy_koopa.c @@ -17,50 +17,55 @@ extern EvtScript N(handleEvent); extern EvtScript N(speakOnHit); extern EvtScript N(onDeath); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleKammy_Anim05, + STATUS_KEY_NORMAL, ANIM_BattleKammy_Anim05, STATUS_END, }; s32 N(IdleAnimations_broomstick)[] = { - STATUS_NORMAL, ANIM_BattleKammy_Anim0C, + STATUS_KEY_NORMAL, ANIM_BattleKammy_Anim0C, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, @@ -72,7 +77,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -89,8 +94,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_KAMMY_KOOPA, .level = 99, .maxHP = 10, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -102,9 +107,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 24, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -258,7 +263,7 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKammy_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim07) EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_207A) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -302,7 +307,7 @@ EvtScript N(takeTurn) = { EVT_END_IF EVT_END_LOOP EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKammy_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim08) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(SetBattleCamTarget, -80, 37, 5) @@ -345,7 +350,7 @@ EvtScript N(takeTurn) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.2)) EVT_END_CHILD_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKammy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim05) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SET(LVarF, LVar0) @@ -370,7 +375,7 @@ EvtScript N(takeTurn) = { EVT_CALL(AddGoalPos, ACTOR_SELF, 10, 5, 0) EVT_CALL(FlyToGoal, ACTOR_SELF, 6, 0, EASING_LINEAR) EVT_END_THREAD - EVT_CALL(ActorSpeak, MSG_CH8_009A, ACTOR_SELF, 1, ANIM_BattleKammy_Anim06, ANIM_BattleKammy_Anim05) + EVT_CALL(ActorSpeak, MSG_CH8_009A, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim06, ANIM_BattleKammy_Anim05) EVT_WAIT(10) EVT_CALL(FreezeBattleCam, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -395,7 +400,7 @@ EvtScript N(nextTurn) = { EVT_CALL(SetBattleCamOffsetZ, 62) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH8_0093, ACTOR_SELF, 1, ANIM_BattleKammy_Anim06, ANIM_BattleKammy_Anim05) + EVT_CALL(ActorSpeak, MSG_CH8_0093, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim06, ANIM_BattleKammy_Anim05) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(SetBattleCamTarget, -56, -9, -18) @@ -424,7 +429,7 @@ EvtScript N(nextTurn) = { }; EvtScript N(speakOnHit) = { - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) @@ -437,7 +442,7 @@ EvtScript N(speakOnHit) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(FreezeBattleCam, TRUE) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH8_0097, ACTOR_SELF, 1, ANIM_BattleKammy_Anim09, ANIM_BattleKammy_Anim05) + EVT_CALL(ActorSpeak, MSG_CH8_0097, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim09, ANIM_BattleKammy_Anim05) EVT_WAIT(10) EVT_CALL(FreezeBattleCam, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -450,7 +455,7 @@ EvtScript N(speakOnHit) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(FreezeBattleCam, TRUE) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH8_0098, ACTOR_SELF, 1, ANIM_BattleKammy_Anim0A, ANIM_BattleKammy_Anim05) + EVT_CALL(ActorSpeak, MSG_CH8_0098, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim0A, ANIM_BattleKammy_Anim05) EVT_WAIT(10) EVT_CALL(FreezeBattleCam, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -473,7 +478,7 @@ EvtScript N(speakOnHit) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(FreezeBattleCam, TRUE) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH8_0099, ACTOR_SELF, 1, ANIM_BattleKammy_Anim06, ANIM_BattleKammy_Anim05) + EVT_CALL(ActorSpeak, MSG_CH8_0099, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim06, ANIM_BattleKammy_Anim05) EVT_WAIT(10) EVT_CALL(FreezeBattleCam, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -482,23 +487,23 @@ EvtScript N(speakOnHit) = { EVT_END_SWITCH EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_RETURN EVT_END }; EvtScript N(onDeath) = { EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 60) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKammy_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 1) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -514,12 +519,12 @@ EvtScript N(onDeath) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SEEING_STARS) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKammy_Anim03) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SEEING_STARS) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim03) EVT_WAIT(50) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) - EVT_CALL(ActorSpeak, MSG_CH8_009B, ACTOR_SELF, 1, ANIM_BattleKammy_Anim03, ANIM_BattleKammy_Anim03) + EVT_CALL(ActorSpeak, MSG_CH8_009B, ACTOR_SELF, PRT_MAIN, ANIM_BattleKammy_Anim03, ANIM_BattleKammy_Anim03) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 60) diff --git a/src/battle/area/kkj/area.c b/src/battle/area/kkj/area.c index 378607230f..85c71d98fb 100644 --- a/src/battle/area/kkj/area.c +++ b/src/battle/area/kkj/area.c @@ -8,15 +8,15 @@ extern ActorBlueprint N(kammy_koopa); extern Stage N(kpa_05); Formation N(Formation_00) = { - { .actor = &N(kammy_koopa), .home = { .index = 6 }, .priority = 10, }, + ACTOR_BY_IDX(N(kammy_koopa), BTL_POS_AIR_C, 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kpa_05), "カメックばば(ピーチ、ティンクせん)"), + BATTLE(N(Formation_00), N(kpa_05), "カメックばば(ピーチ、ティンクせん)"), {}, }; StageList N(Stages) = { - { "kpa_05", &N(kpa_05) }, + STAGE("kpa_05", N(kpa_05)), {}, }; diff --git a/src/battle/area/kmr_part_1/area.c b/src/battle/area/kmr_part_1/area.c index 4f4d16c14b..a22ecbb06b 100644 --- a/src/battle/area/kmr_part_1/area.c +++ b/src/battle/area/kmr_part_1/area.c @@ -14,89 +14,89 @@ extern Stage N(kmr_05); extern Stage N(kmr_06); Formation N(Formation_00) = { - { &N(goomba), .home = { .index = 1 }, .priority = 10 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_B }, .priority = 10 }, }; Formation N(Formation_01) = { - { &N(goomba), .home = { .index = 1 }, .priority = 10 }, - { &N(goomba), .home = { .index = 2 }, .priority = 9 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_B }, .priority = 10 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_C }, .priority = 9 }, }; Formation N(Formation_02) = { - { &N(goomba), .home = { .index = 0 }, .priority = 10 }, - { &N(goomba), .home = { .index = 1 }, .priority = 9 }, - { &N(goomba), .home = { .index = 2 }, .priority = 8 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_A }, .priority = 10 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_B }, .priority = 9 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_C }, .priority = 8 }, }; Formation N(Formation_03) = { - { &N(goomba), .home = { .index = 1 }, .priority = 10 }, - { &N(paragoomba), .home = { .index = 6 }, .priority = 9 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_B }, .priority = 10 }, + { &N(paragoomba), .home = { .index = BTL_POS_AIR_C }, .priority = 9 }, }; Formation N(Formation_04) = { - { &N(goomba), .home = { .index = 0 }, .priority = 10 }, - { &N(goomba), .home = { .index = 1 }, .priority = 9 }, - { &N(goomba), .home = { .index = 2 }, .priority = 8 }, - { &N(goomba), .home = { .index = 3 }, .priority = 7 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_A }, .priority = 10 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_B }, .priority = 9 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_C }, .priority = 8 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_D }, .priority = 7 }, }; Formation N(Formation_05) = { - { &N(goomba), .home = { .index = 1 }, .priority = 10 }, - { &N(spiked_goomba), .home = { .index = 2 }, .priority = 9 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_B }, .priority = 10 }, + { &N(spiked_goomba), .home = { .index = BTL_POS_GROUND_C }, .priority = 9 }, }; Formation N(Formation_06) = { - { &N(goomba), .home = { .index = 0 }, .priority = 10 }, - { &N(paragoomba), .home = { .index = 5 }, .priority = 9 }, - { &N(goomba), .home = { .index = 2 }, .priority = 8 }, - { &N(paragoomba), .home = { .index = 7 }, .priority = 7 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_A }, .priority = 10 }, + { &N(paragoomba), .home = { .index = BTL_POS_AIR_B }, .priority = 9 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_C }, .priority = 8 }, + { &N(paragoomba), .home = { .index = BTL_POS_AIR_D }, .priority = 7 }, }; Formation N(Formation_07) = { - { &N(paragoomba), .home = { .index = 5 }, .priority = 10 }, + { &N(paragoomba), .home = { .index = BTL_POS_AIR_B }, .priority = 10 }, }; Formation N(Formation_08) = { - { &N(paragoomba), .home = { .index = 5 }, .priority = 10 }, - { &N(paragoomba), .home = { .index = 6 }, .priority = 9 }, + { &N(paragoomba), .home = { .index = BTL_POS_AIR_B }, .priority = 10 }, + { &N(paragoomba), .home = { .index = BTL_POS_AIR_C }, .priority = 9 }, }; Formation N(Formation_09) = { - { &N(paragoomba), .home = { .index = 4 }, .priority = 10 }, - { &N(paragoomba), .home = { .index = 5 }, .priority = 9 }, - { &N(paragoomba), .home = { .index = 6 }, .priority = 8 }, + { &N(paragoomba), .home = { .index = BTL_POS_AIR_A }, .priority = 10 }, + { &N(paragoomba), .home = { .index = BTL_POS_AIR_B }, .priority = 9 }, + { &N(paragoomba), .home = { .index = BTL_POS_AIR_C }, .priority = 8 }, }; Formation N(Formation_0A) = { - { &N(spiked_goomba), .home = { .index = 1 }, .priority = 10 }, + { &N(spiked_goomba), .home = { .index = BTL_POS_GROUND_B }, .priority = 10 }, }; Formation N(Formation_0B) = { - { &N(spiked_goomba), .home = { .index = 1 }, .priority = 10 }, - { &N(goomba), .home = { .index = 2 }, .priority = 9 }, + { &N(spiked_goomba), .home = { .index = BTL_POS_GROUND_B }, .priority = 10 }, + { &N(goomba), .home = { .index = BTL_POS_GROUND_C }, .priority = 9 }, }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kmr_04), "クリボー"), - BATTLE(N(Formation_01), &N(kmr_04), "クリボーx2"), - BATTLE(N(Formation_02), &N(kmr_04), "クリボーx3"), - BATTLE(N(Formation_03), &N(kmr_04), "クリボー、パタクリボー"), - BATTLE(N(Formation_04), &N(kmr_04), "クリボーx4"), - BATTLE(N(Formation_05), &N(kmr_04), "クリボー,トゲクリボー"), - BATTLE(N(Formation_06), &N(kmr_04), "クリボー,パタクリボー,クリボー,パタクリボー"), - BATTLE(N(Formation_07), &N(kmr_04), "パタクリボー"), - BATTLE(N(Formation_08), &N(kmr_04), "パタクリボーx2"), - BATTLE(N(Formation_09), &N(kmr_04), "パタクリボーx3"), - BATTLE(N(Formation_0A), &N(kmr_04), "トゲクリボー"), - BATTLE(N(Formation_0B), &N(kmr_04), "トゲクリボー、クリボー"), + BATTLE(N(Formation_00), N(kmr_04), "クリボー"), + BATTLE(N(Formation_01), N(kmr_04), "クリボーx2"), + BATTLE(N(Formation_02), N(kmr_04), "クリボーx3"), + BATTLE(N(Formation_03), N(kmr_04), "クリボー、パタクリボー"), + BATTLE(N(Formation_04), N(kmr_04), "クリボーx4"), + BATTLE(N(Formation_05), N(kmr_04), "クリボー,トゲクリボー"), + BATTLE(N(Formation_06), N(kmr_04), "クリボー,パタクリボー,クリボー,パタクリボー"), + BATTLE(N(Formation_07), N(kmr_04), "パタクリボー"), + BATTLE(N(Formation_08), N(kmr_04), "パタクリボーx2"), + BATTLE(N(Formation_09), N(kmr_04), "パタクリボーx3"), + BATTLE(N(Formation_0A), N(kmr_04), "トゲクリボー"), + BATTLE(N(Formation_0B), N(kmr_04), "トゲクリボー、クリボー"), {}, }; StageList N(Stages) = { - { "kmr_02", &N(kmr_02) }, - { "kmr_03", &N(kmr_03) }, - { "kmr_04", &N(kmr_04) }, - { "kmr_05", &N(kmr_05) }, - { "kmr_06", &N(kmr_06) }, + STAGE("kmr_02", N(kmr_02)), + STAGE("kmr_03", N(kmr_03)), + STAGE("kmr_04", N(kmr_04)), + STAGE("kmr_05", N(kmr_05)), + STAGE("kmr_06", N(kmr_06)), {}, }; diff --git a/src/battle/area/kmr_part_2/actor/blue_goomba.c b/src/battle/area/kmr_part_2/actor/blue_goomba_1.c similarity index 75% rename from src/battle/area/kmr_part_2/actor/blue_goomba.c rename to src/battle/area/kmr_part_2/actor/blue_goomba_1.c index 6ae16eead9..2efa335825 100644 --- a/src/battle/area/kmr_part_2/actor/blue_goomba.c +++ b/src/battle/area/kmr_part_2/actor/blue_goomba_1.c @@ -3,35 +3,41 @@ #include "script_api/battle.h" #include "sprite/npc/GoombaBros.h" -#define NAMESPACE b_area_kmr_part_2_blue_goomba +#define NAMESPACE b_area_kmr_part_2_blue_goomba_1 + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_ZER0 = 0, + PRT_RED_MAIN = 1, // main part for red goomba +}; s32 N(DefenseTable_802198B0)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_802198BC)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; @@ -43,10 +49,10 @@ extern EvtScript N(idle_80219A98); extern EvtScript N(handleEvent_80219D74); extern EvtScript N(takeTurn_8021B2C8); -ActorPartBlueprint N(PartsTable_80219968)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -63,8 +69,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BLUE_GOOMBA_BOSS, .level = 20, .maxHP = 6, - .partCount = ARRAY_COUNT( N(PartsTable_80219968)), - .partsData = N(PartsTable_80219968), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021B268), .statusTable = N(StatusTable_802198BC), .escapeChance = 0, @@ -76,34 +82,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 32, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 8, 25 }, + .statusTextOffset = { 8, 25 }, }; s32 N(IdleAnimations_802199B4)[] = { - STATUS_NORMAL, ANIM_GoombaBros_Blue_Idle, - STATUS_STONE, ANIM_GoombaBros_Blue_Still, - STATUS_SLEEP, ANIM_GoombaBros_Blue_Sleep, - STATUS_POISON, ANIM_GoombaBros_Blue_Idle, - STATUS_STOP, ANIM_GoombaBros_Blue_Still, - STATUS_STATIC, ANIM_GoombaBros_Blue_Idle, - STATUS_PARALYZE, ANIM_GoombaBros_Blue_Still, - STATUS_DIZZY, ANIM_GoombaBros_Blue_Dizzy, - STATUS_FEAR, ANIM_GoombaBros_Blue_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaBros_Blue_Idle, + STATUS_KEY_STONE, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_SLEEP, ANIM_GoombaBros_Blue_Sleep, + STATUS_KEY_POISON, ANIM_GoombaBros_Blue_Idle, + STATUS_KEY_STOP, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_STATIC, ANIM_GoombaBros_Blue_Idle, + STATUS_KEY_PARALYZE, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_DIZZY, ANIM_GoombaBros_Blue_Dizzy, + STATUS_KEY_FEAR, ANIM_GoombaBros_Blue_Dizzy, STATUS_END, }; s32 N(IdleAnimations_80219A00)[] = { - STATUS_NORMAL, ANIM_GoombaBros_Blue_Run, - STATUS_STONE, ANIM_GoombaBros_Blue_Still, - STATUS_SLEEP, ANIM_GoombaBros_Blue_Sleep, - STATUS_POISON, ANIM_GoombaBros_Blue_Idle, - STATUS_STOP, ANIM_GoombaBros_Blue_Still, - STATUS_STATIC, ANIM_GoombaBros_Blue_Run, - STATUS_PARALYZE, ANIM_GoombaBros_Blue_Still, - STATUS_DIZZY, ANIM_GoombaBros_Blue_Dizzy, - STATUS_FEAR, ANIM_GoombaBros_Blue_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaBros_Blue_Run, + STATUS_KEY_STONE, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_SLEEP, ANIM_GoombaBros_Blue_Sleep, + STATUS_KEY_POISON, ANIM_GoombaBros_Blue_Idle, + STATUS_KEY_STOP, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_STATIC, ANIM_GoombaBros_Blue_Run, + STATUS_KEY_PARALYZE, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_DIZZY, ANIM_GoombaBros_Blue_Dizzy, + STATUS_KEY_FEAR, ANIM_GoombaBros_Blue_Dizzy, STATUS_END, }; @@ -122,7 +128,7 @@ EvtScript N(idle_80219A98) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -131,14 +137,14 @@ EvtScript N(idle_80219A98) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219A00))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219A00))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802199B4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802199B4))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -147,14 +153,14 @@ EvtScript N(idle_80219A98) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219A00))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219A00))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802199B4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802199B4))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -211,14 +217,14 @@ EvtScript N(handleEvent_80219D74) = { EVT_SET_CONST(LVar1, ANIM_GoombaBros_Blue_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(38) @@ -247,12 +253,12 @@ EvtScript N(handleEvent_80219D74) = { EVT_EXEC_WAIT(N(doDeath_8021B388)) EVT_RETURN EVT_CASE_EQ(53) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(49) EVT_SET_CONST(LVar0, 0x00000001) @@ -275,7 +281,7 @@ EvtScript N(handleEvent_80219D74) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -291,18 +297,18 @@ EvtScript N(takeTurn_8021A5A0) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) @@ -330,10 +336,10 @@ EvtScript N(takeTurn_8021A5A0) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -342,14 +348,14 @@ EvtScript N(takeTurn_8021A5A0) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0x80000000, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -364,26 +370,26 @@ EvtScript N(takeTurn_8021A5A0) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -406,10 +412,10 @@ EvtScript N(takeTurn_8021A5A0) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -426,7 +432,7 @@ EvtScript N(takeTurn_8021A5A0) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -439,15 +445,15 @@ EvtScript N(takeTurn_8021A5A0) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -473,7 +479,7 @@ EvtScript N(takeTurn_8021B2C8) = { EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(ActorSpeak, MSG_CH0_00BF, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH0_00BF, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_END_IF EVT_EXEC_WAIT(N(takeTurn_8021A5A0)) EVT_RETURN @@ -481,7 +487,7 @@ EvtScript N(takeTurn_8021B2C8) = { }; EvtScript N(doDeath_8021B388) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_SET(LVar2, 0) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) @@ -502,7 +508,7 @@ EvtScript N(doDeath_8021B388) = { EVT_ADD(LVar3, 8) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 0, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_ZER0, 1, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, 4, TRUE) EVT_WAIT(30) EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar0) @@ -516,8 +522,8 @@ EvtScript N(doDeath_8021B388) = { EVT_WAIT(20) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY1, FALSE) EVT_CALL(EnableIdleScript, ACTOR_ENEMY1, 0) - EVT_CALL(SetAnimation, ACTOR_ENEMY1, 1, ANIM_GoombaBros_Red_CryTalk) - EVT_CALL(ActorSpeak, MSG_CH0_00C1, ACTOR_ENEMY1, 1, -1, -1) + EVT_CALL(SetAnimation, ACTOR_ENEMY1, PRT_RED_MAIN, ANIM_GoombaBros_Red_CryTalk) + EVT_CALL(ActorSpeak, MSG_CH0_00C1, ACTOR_ENEMY1, PRT_RED_MAIN, -1, -1) EVT_CALL(EnableIdleScript, ACTOR_ENEMY1, 1) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY1, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/area/kmr_part_2/actor/blue_goomba2.c b/src/battle/area/kmr_part_2/actor/blue_goomba_2.c similarity index 74% rename from src/battle/area/kmr_part_2/actor/blue_goomba2.c rename to src/battle/area/kmr_part_2/actor/blue_goomba_2.c index 9e0f204eb9..2b412b8f1e 100644 --- a/src/battle/area/kmr_part_2/actor/blue_goomba2.c +++ b/src/battle/area/kmr_part_2/actor/blue_goomba_2.c @@ -5,33 +5,37 @@ #define NAMESPACE b_area_kmr_part_2_blue_goomba_2 +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_8021D400)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8021D40C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; @@ -41,10 +45,10 @@ extern EvtScript N(takeTurn_8021E0F0); extern EvtScript N(idle_8021D5E8); extern EvtScript N(handleEvent_8021D8C4); -ActorPartBlueprint N(PartsTable_8021D4B8)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -61,8 +65,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BLUE_GOOMBA_BOSS, .level = 20, .maxHP = 6, - .partCount = ARRAY_COUNT( N(PartsTable_8021D4B8)), - .partsData = N(PartsTable_8021D4B8), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021EDB8), .statusTable = N(StatusTable_8021D40C), .escapeChance = 0, @@ -74,34 +78,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 32, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 8, 25 }, + .statusTextOffset = { 8, 25 }, }; s32 N(IdleAnimations_8021D504)[] = { - STATUS_NORMAL, ANIM_GoombaBros_Blue_Idle, - STATUS_STONE, ANIM_GoombaBros_Blue_Still, - STATUS_SLEEP, ANIM_GoombaBros_Blue_Sleep, - STATUS_POISON, ANIM_GoombaBros_Blue_Idle, - STATUS_STOP, ANIM_GoombaBros_Blue_Still, - STATUS_STATIC, ANIM_GoombaBros_Blue_Idle, - STATUS_PARALYZE, ANIM_GoombaBros_Blue_Still, - STATUS_DIZZY, ANIM_GoombaBros_Blue_Dizzy, - STATUS_FEAR, ANIM_GoombaBros_Blue_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaBros_Blue_Idle, + STATUS_KEY_STONE, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_SLEEP, ANIM_GoombaBros_Blue_Sleep, + STATUS_KEY_POISON, ANIM_GoombaBros_Blue_Idle, + STATUS_KEY_STOP, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_STATIC, ANIM_GoombaBros_Blue_Idle, + STATUS_KEY_PARALYZE, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_DIZZY, ANIM_GoombaBros_Blue_Dizzy, + STATUS_KEY_FEAR, ANIM_GoombaBros_Blue_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021D550)[] = { - STATUS_NORMAL, ANIM_GoombaBros_Blue_Run, - STATUS_STONE, ANIM_GoombaBros_Blue_Still, - STATUS_SLEEP, ANIM_GoombaBros_Blue_Sleep, - STATUS_POISON, ANIM_GoombaBros_Blue_Idle, - STATUS_STOP, ANIM_GoombaBros_Blue_Still, - STATUS_STATIC, ANIM_GoombaBros_Blue_Run, - STATUS_PARALYZE, ANIM_GoombaBros_Blue_Still, - STATUS_DIZZY, ANIM_GoombaBros_Blue_Dizzy, - STATUS_FEAR, ANIM_GoombaBros_Blue_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaBros_Blue_Run, + STATUS_KEY_STONE, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_SLEEP, ANIM_GoombaBros_Blue_Sleep, + STATUS_KEY_POISON, ANIM_GoombaBros_Blue_Idle, + STATUS_KEY_STOP, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_STATIC, ANIM_GoombaBros_Blue_Run, + STATUS_KEY_PARALYZE, ANIM_GoombaBros_Blue_Still, + STATUS_KEY_DIZZY, ANIM_GoombaBros_Blue_Dizzy, + STATUS_KEY_FEAR, ANIM_GoombaBros_Blue_Dizzy, STATUS_END, }; @@ -120,7 +124,7 @@ EvtScript N(idle_8021D5E8) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -129,14 +133,14 @@ EvtScript N(idle_8021D5E8) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021D550))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021D550))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021D504))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021D504))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -145,14 +149,14 @@ EvtScript N(idle_8021D5E8) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021D550))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021D550))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021D504))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021D504))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -209,14 +213,14 @@ EvtScript N(handleEvent_8021D8C4) = { EVT_SET_CONST(LVar1, ANIM_GoombaBros_Blue_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(38) @@ -245,12 +249,12 @@ EvtScript N(handleEvent_8021D8C4) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(53) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(49) EVT_SET_CONST(LVar0, 0x00000001) @@ -273,7 +277,7 @@ EvtScript N(handleEvent_8021D8C4) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -289,18 +293,18 @@ EvtScript N(takeTurn_8021E0F0) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) @@ -328,10 +332,10 @@ EvtScript N(takeTurn_8021E0F0) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -340,14 +344,14 @@ EvtScript N(takeTurn_8021E0F0) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0x80000000, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -362,26 +366,26 @@ EvtScript N(takeTurn_8021E0F0) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -404,10 +408,10 @@ EvtScript N(takeTurn_8021E0F0) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Midair) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -424,7 +428,7 @@ EvtScript N(takeTurn_8021E0F0) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -437,15 +441,15 @@ EvtScript N(takeTurn_8021E0F0) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Blue_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Blue_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/kmr_part_2/actor/goomba_king.c b/src/battle/area/kmr_part_2/actor/goomba_king.c index f35e9cf1bc..9658d0c47c 100644 --- a/src/battle/area/kmr_part_2/actor/goomba_king.c +++ b/src/battle/area/kmr_part_2/actor/goomba_king.c @@ -6,88 +6,97 @@ #define NAMESPACE b_area_kmr_part_2_goomba_king +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + // note: these reference the goomnut tree actor + PRT_TREE_3 = 3, + PRT_TREE_4 = 4, + PRT_TREE_5 = 5, +}; + s32 N(IdleAnimations_80220800)[] = { - STATUS_NORMAL, ANIM_GoombaKing_Idle, - STATUS_STONE, ANIM_GoombaKing_Still, - STATUS_SLEEP, ANIM_GoombaKing_Sleep, - STATUS_POISON, ANIM_GoombaKing_Still, - STATUS_STOP, ANIM_GoombaKing_Still, - STATUS_STATIC, ANIM_GoombaKing_Still, - STATUS_PARALYZE, ANIM_GoombaKing_Still, - STATUS_DIZZY, ANIM_GoombaKing_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaKing_Idle, + STATUS_KEY_STONE, ANIM_GoombaKing_Still, + STATUS_KEY_SLEEP, ANIM_GoombaKing_Sleep, + STATUS_KEY_POISON, ANIM_GoombaKing_Still, + STATUS_KEY_STOP, ANIM_GoombaKing_Still, + STATUS_KEY_STATIC, ANIM_GoombaKing_Still, + STATUS_KEY_PARALYZE, ANIM_GoombaKing_Still, + STATUS_KEY_DIZZY, ANIM_GoombaKing_Dizzy, STATUS_END, }; s32 N(IdleAnimations_80220844)[] = { - STATUS_NORMAL, ANIM_GoombaKing_Run, - STATUS_STONE, ANIM_GoombaKing_Still, - STATUS_SLEEP, ANIM_GoombaKing_Sleep, - STATUS_POISON, ANIM_GoombaKing_Still, - STATUS_STOP, ANIM_GoombaKing_Still, - STATUS_STATIC, ANIM_GoombaKing_Still, - STATUS_PARALYZE, ANIM_GoombaKing_Still, - STATUS_DIZZY, ANIM_GoombaKing_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaKing_Run, + STATUS_KEY_STONE, ANIM_GoombaKing_Still, + STATUS_KEY_SLEEP, ANIM_GoombaKing_Sleep, + STATUS_KEY_POISON, ANIM_GoombaKing_Still, + STATUS_KEY_STOP, ANIM_GoombaKing_Still, + STATUS_KEY_STATIC, ANIM_GoombaKing_Still, + STATUS_KEY_PARALYZE, ANIM_GoombaKing_Still, + STATUS_KEY_DIZZY, ANIM_GoombaKing_Dizzy, STATUS_END, }; s32 N(IdleAnimations_80220888)[] = { - STATUS_NORMAL, ANIM_GoombaKing_Dizzy, - STATUS_STONE, ANIM_GoombaKing_Still, - STATUS_SLEEP, ANIM_GoombaKing_Sleep, - STATUS_POISON, ANIM_GoombaKing_Still, - STATUS_STOP, ANIM_GoombaKing_Still, - STATUS_STATIC, ANIM_GoombaKing_Still, - STATUS_PARALYZE, ANIM_GoombaKing_Still, - STATUS_DIZZY, ANIM_GoombaKing_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaKing_Dizzy, + STATUS_KEY_STONE, ANIM_GoombaKing_Still, + STATUS_KEY_SLEEP, ANIM_GoombaKing_Sleep, + STATUS_KEY_POISON, ANIM_GoombaKing_Still, + STATUS_KEY_STOP, ANIM_GoombaKing_Still, + STATUS_KEY_STATIC, ANIM_GoombaKing_Still, + STATUS_KEY_PARALYZE, ANIM_GoombaKing_Still, + STATUS_KEY_DIZZY, ANIM_GoombaKing_Dizzy, STATUS_END, }; s32 N(IdleAnimations_802208CC)[] = { - STATUS_NORMAL, ANIM_GoombaKing_Angry, - STATUS_STONE, ANIM_GoombaKing_Still, - STATUS_SLEEP, ANIM_GoombaKing_Sleep, - STATUS_POISON, ANIM_GoombaKing_Still, - STATUS_STOP, ANIM_GoombaKing_Still, - STATUS_STATIC, ANIM_GoombaKing_Still, - STATUS_PARALYZE, ANIM_GoombaKing_Still, - STATUS_DIZZY, ANIM_GoombaKing_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaKing_Angry, + STATUS_KEY_STONE, ANIM_GoombaKing_Still, + STATUS_KEY_SLEEP, ANIM_GoombaKing_Sleep, + STATUS_KEY_POISON, ANIM_GoombaKing_Still, + STATUS_KEY_STOP, ANIM_GoombaKing_Still, + STATUS_KEY_STATIC, ANIM_GoombaKing_Still, + STATUS_KEY_PARALYZE, ANIM_GoombaKing_Still, + STATUS_KEY_DIZZY, ANIM_GoombaKing_Dizzy, STATUS_END, }; s32 N(DefenseTable_80220910)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8022091C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, -1, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, -1, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_802209C8)[] = { +ActorPartBlueprint N(ActorParts_802209C8)[] = { { .flags = ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -25, 15 }, .opacity = 255, @@ -99,7 +108,7 @@ ActorPartBlueprint N(PartsTable_802209C8)[] = { }, { .flags = ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 80 }, .opacity = 255, @@ -126,8 +135,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_GOOMBA_KING, .level = 49, .maxHP = 10, - .partCount = ARRAY_COUNT( N(PartsTable_802209C8)), - .partsData = N(PartsTable_802209C8), + .partCount = ARRAY_COUNT( N(ActorParts_802209C8)), + .partsData = N(ActorParts_802209C8), .initScript = &N(init_80220A38), .statusTable = N(StatusTable_8022091C), .escapeChance = 0, @@ -139,9 +148,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 56, 80 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -6, 38 }, - .statusMessageOffset = { 12, 75 }, + .statusTextOffset = { 12, 75 }, }; // Unused function @@ -178,7 +187,7 @@ EvtScript N(idle_80220B50) = { EVT_WAIT(LVar0) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -186,24 +195,24 @@ EvtScript N(idle_80220B50) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220844))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220844))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220800))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220800))) EVT_WAIT(20) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220844))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220844))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220800))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220800))) EVT_WAIT(80) EVT_GOTO(0) EVT_RETURN @@ -313,13 +322,13 @@ EvtScript N(handleEvent_80220F34) = { EVT_EXEC_WAIT(N(doDeath_80222F50)) EVT_RETURN EVT_CASE_EQ(42) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Dead) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Dead) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Idle) EVT_CASE_EQ(53) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_GoombaKing_Idle) @@ -388,16 +397,16 @@ EvtScript N(80221680) = { EVT_CALL(AddGoalPos, ACTOR_SELF, 12, 0, 0) EVT_END_IF EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Idle) EVT_WAIT(8) EVT_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20ED) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20ED) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Kick) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Kick) EVT_SET(LVar0, 0) EVT_LOOP(20) EVT_ADD(LVar0, 18) @@ -412,7 +421,7 @@ EvtScript N(80221680) = { EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0x80000000, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Dizzy) EVT_SET(LVar0, 0) EVT_LOOP(20) EVT_ADD(LVar0, 18) @@ -422,12 +431,12 @@ EvtScript N(80221680) = { EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Idle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -441,16 +450,16 @@ EvtScript N(80221680) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Idle) EVT_SWITCH(LVarA) EVT_CASE_DEFAULT EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Idle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Idle) EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -464,7 +473,7 @@ EvtScript N(80221CD4) = { EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(15) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_0, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Angry) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Angry) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -472,14 +481,14 @@ EvtScript N(80221CD4) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B4) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Still) EVT_THREAD EVT_CALL(StartRumble, 11) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, 0x80000) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(4.0)) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaKing_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Idle) EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -80, 125, 0, 100, 0) EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -15, 135, 0, 85, 0) EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, 100, 103, 0, 70, 0) @@ -490,61 +499,61 @@ EvtScript N(80221CD4) = { EVT_CASE_OR_EQ(5) EVT_THREAD EVT_WAIT(12) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, 3, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, PRT_TREE_3, SOUND_301) EVT_END_THREAD EVT_THREAD EVT_WAIT(10) - EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, 3, EVT_FLOAT(1.5)) - EVT_CALL(GetPartOffset, ACTOR_ENEMY3, 3, LVar0, LVar1, LVar2) - EVT_CALL(FallPartTo, ACTOR_ENEMY3, 3, LVar0, 10, LVar2, 14) + EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, PRT_TREE_3, EVT_FLOAT(1.5)) + EVT_CALL(GetPartOffset, ACTOR_ENEMY3, PRT_TREE_3, LVar0, LVar1, LVar2) + EVT_CALL(FallPartTo, ACTOR_ENEMY3, PRT_TREE_3, LVar0, 10, LVar2, 14) EVT_SUB(LVar0, 12) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 3, LVar0, 10, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_3, LVar0, 10, LVar2, 10, TRUE) EVT_SUB(LVar0, 7) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 3, LVar0, 10, LVar2, 7, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_3, LVar0, 10, LVar2, 7, TRUE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 3, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_3, 1, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 3, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_3, 1, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_THREAD EVT_WAIT(5) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, 4, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, PRT_TREE_4, SOUND_301) EVT_END_THREAD EVT_THREAD EVT_WAIT(3) - EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, 4, EVT_FLOAT(1.5)) - EVT_CALL(GetPartOffset, ACTOR_ENEMY3, 4, LVar0, LVar1, LVar2) - EVT_CALL(FallPartTo, ACTOR_ENEMY3, 4, LVar0, 10, LVar2, 15) + EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, PRT_TREE_4, EVT_FLOAT(1.5)) + EVT_CALL(GetPartOffset, ACTOR_ENEMY3, PRT_TREE_4, LVar0, LVar1, LVar2) + EVT_CALL(FallPartTo, ACTOR_ENEMY3, PRT_TREE_4, LVar0, 10, LVar2, 15) EVT_SUB(LVar0, 12) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 4, LVar0, 10, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_4, LVar0, 10, LVar2, 10, TRUE) EVT_SUB(LVar0, 7) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 4, LVar0, 10, LVar2, 7, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_4, LVar0, 10, LVar2, 7, TRUE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 4, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_4, 1, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 4, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_4, 1, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_THREAD EVT_WAIT(17) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, 5, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, PRT_TREE_5, SOUND_301) EVT_END_THREAD EVT_THREAD EVT_WAIT(15) - EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, 5, EVT_FLOAT(1.5)) - EVT_CALL(GetPartOffset, ACTOR_ENEMY3, 5, LVar0, LVar1, LVar2) - EVT_CALL(FallPartTo, ACTOR_ENEMY3, 5, LVar0, 10, LVar2, 17) + EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, PRT_TREE_5, EVT_FLOAT(1.5)) + EVT_CALL(GetPartOffset, ACTOR_ENEMY3, PRT_TREE_5, LVar0, LVar1, LVar2) + EVT_CALL(FallPartTo, ACTOR_ENEMY3, PRT_TREE_5, LVar0, 10, LVar2, 17) EVT_ADD(LVar0, 12) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 5, LVar0, 10, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_5, LVar0, 10, LVar2, 10, TRUE) EVT_ADD(LVar0, 7) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 5, LVar0, 10, LVar2, 7, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_5, LVar0, 10, LVar2, 7, TRUE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 5, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_5, 1, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 5, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_5, 1, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -559,61 +568,61 @@ EvtScript N(80221CD4) = { EVT_END_SWITCH EVT_THREAD EVT_WAIT(12) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, 3, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, PRT_TREE_3, SOUND_301) EVT_END_THREAD EVT_THREAD EVT_WAIT(10) - EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, 3, EVT_FLOAT(1.5)) - EVT_CALL(GetPartOffset, ACTOR_ENEMY3, 3, LVar0, LVar1, LVar2) - EVT_CALL(FallPartTo, ACTOR_ENEMY3, 3, LVar0, 35, LVar2, 14) + EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, PRT_TREE_3, EVT_FLOAT(1.5)) + EVT_CALL(GetPartOffset, ACTOR_ENEMY3, PRT_TREE_3, LVar0, LVar1, LVar2) + EVT_CALL(FallPartTo, ACTOR_ENEMY3, PRT_TREE_3, LVar0, 35, LVar2, 14) EVT_SUB(LVar0, 12) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 3, LVar0, 10, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_3, LVar0, 10, LVar2, 10, TRUE) EVT_SUB(LVar0, 7) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 3, LVar0, 10, LVar2, 7, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_3, LVar0, 10, LVar2, 7, TRUE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 3, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_3, 1, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 3, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_3, 1, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_THREAD EVT_WAIT(5) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, 4, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, PRT_TREE_4, SOUND_301) EVT_END_THREAD EVT_THREAD EVT_WAIT(3) - EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, 4, EVT_FLOAT(1.5)) - EVT_CALL(GetPartOffset, ACTOR_ENEMY3, 4, LVar0, LVar1, LVar2) - EVT_CALL(FallPartTo, ACTOR_ENEMY3, 4, LVar0, 10, LVar2, 15) + EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, PRT_TREE_4, EVT_FLOAT(1.5)) + EVT_CALL(GetPartOffset, ACTOR_ENEMY3, PRT_TREE_4, LVar0, LVar1, LVar2) + EVT_CALL(FallPartTo, ACTOR_ENEMY3, PRT_TREE_4, LVar0, 10, LVar2, 15) EVT_SUB(LVar0, 12) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 4, LVar0, 10, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_4, LVar0, 10, LVar2, 10, TRUE) EVT_SUB(LVar0, 7) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 4, LVar0, 10, LVar2, 7, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_4, LVar0, 10, LVar2, 7, TRUE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 4, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_4, 1, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 4, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_4, 1, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_THREAD EVT_WAIT(17) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, 5, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY3, PRT_TREE_5, SOUND_301) EVT_END_THREAD EVT_THREAD EVT_WAIT(15) - EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, 5, EVT_FLOAT(1.5)) - EVT_CALL(GetPartOffset, ACTOR_ENEMY3, 5, LVar0, LVar1, LVar2) - EVT_CALL(FallPartTo, ACTOR_ENEMY3, 5, LVar0, 10, LVar2, 17) + EVT_CALL(SetPartJumpGravity, ACTOR_ENEMY3, PRT_TREE_5, EVT_FLOAT(1.5)) + EVT_CALL(GetPartOffset, ACTOR_ENEMY3, PRT_TREE_5, LVar0, LVar1, LVar2) + EVT_CALL(FallPartTo, ACTOR_ENEMY3, PRT_TREE_5, LVar0, 10, LVar2, 17) EVT_ADD(LVar0, 12) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 5, LVar0, 10, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_5, LVar0, 10, LVar2, 10, TRUE) EVT_ADD(LVar0, 7) - EVT_CALL(JumpPartTo, ACTOR_ENEMY3, 5, LVar0, 10, LVar2, 7, TRUE) + EVT_CALL(JumpPartTo, ACTOR_ENEMY3, PRT_TREE_5, LVar0, 10, LVar2, 7, TRUE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 5, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_5, 1, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 5, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_TREE_5, 1, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -639,14 +648,14 @@ EvtScript N(nextTurn_802229C4) = { EVT_CASE_EQ(10) EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_ENEMY1) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY1, FALSE) EVT_CALL(EnableIdleScript, ACTOR_ENEMY1, 0) - EVT_CALL(ActorSpeak, MSG_CH0_00CB, ACTOR_ENEMY1, 1, 0x0062000A, 0x0062000A) + EVT_CALL(ActorSpeak, MSG_CH0_00CB, ACTOR_ENEMY1, PRT_MAIN, 0x0062000A, 0x0062000A) EVT_CALL(EnableIdleScript, ACTOR_ENEMY1, 1) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY1, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) @@ -655,14 +664,14 @@ EvtScript N(nextTurn_802229C4) = { EVT_WAIT(10) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY2, FALSE) EVT_CALL(EnableIdleScript, ACTOR_ENEMY2, 0) - EVT_CALL(ActorSpeak, MSG_CH0_00CC, ACTOR_ENEMY2, 1, 0x0062010A, 0x0062010A) + EVT_CALL(ActorSpeak, MSG_CH0_00CC, ACTOR_ENEMY2, PRT_MAIN, 0x0062010A, 0x0062010A) EVT_CALL(EnableIdleScript, ACTOR_ENEMY2, 1) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY2, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_ENEMY0) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH0_00CD, ACTOR_ENEMY0, 1, 0x00630009, 0x00630009) + EVT_CALL(ActorSpeak, MSG_CH0_00CD, ACTOR_ENEMY0, PRT_MAIN, 0x00630009, 0x00630009) EVT_CALL(SetActorVar, ACTOR_SELF, 3, 1) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_PLAYER) @@ -680,7 +689,7 @@ EvtScript N(nextTurn_802229C4) = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(20) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_END_IF EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -692,11 +701,11 @@ EvtScript N(nextTurn_802229C4) = { EvtScript N(80222D9C) = { EVT_LABEL(0) EVT_WAIT(1) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_NE(LVar0, 6488068) EVT_GOTO(0) EVT_END_IF - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_NE(LVar0, 6488068) EVT_GOTO(0) EVT_END_IF @@ -722,7 +731,7 @@ EvtScript N(80222D9C) = { }; EvtScript N(doDeath_80222F50) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_SET(LVar2, 0) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) @@ -743,7 +752,7 @@ EvtScript N(doDeath_80222F50) = { EVT_ADD(LVar3, 8) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 1, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, 4, TRUE) EVT_WAIT(30) EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar0) @@ -753,7 +762,7 @@ EvtScript N(doDeath_80222F50) = { EVT_IF_NE(LVar0, 0) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY1, FALSE) EVT_CALL(EnableIdleScript, ACTOR_ENEMY1, 0) - EVT_CALL(ActorSpeak, MSG_CH0_00CF, ACTOR_ENEMY1, 1, 0x0062000B, 0x0062000B) + EVT_CALL(ActorSpeak, MSG_CH0_00CF, ACTOR_ENEMY1, PRT_MAIN, 0x0062000B, 0x0062000B) EVT_CALL(EnableIdleScript, ACTOR_ENEMY1, 1) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY1, TRUE) EVT_END_IF @@ -764,7 +773,7 @@ EvtScript N(doDeath_80222F50) = { EVT_IF_NE(LVar0, 0) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY2, FALSE) EVT_CALL(EnableIdleScript, ACTOR_ENEMY2, 0) - EVT_CALL(ActorSpeak, MSG_CH0_00D0, ACTOR_ENEMY2, 1, 0x0062010B, 0x0062010B) + EVT_CALL(ActorSpeak, MSG_CH0_00D0, ACTOR_ENEMY2, PRT_MAIN, 0x0062010B, 0x0062010B) EVT_CALL(EnableIdleScript, ACTOR_ENEMY2, 1) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY2, TRUE) EVT_END_IF diff --git a/src/battle/area/kmr_part_2/actor/goomnut_tree.c b/src/battle/area/kmr_part_2/actor/goomnut_tree.c index 35a3a26a5d..585ca4bf75 100644 --- a/src/battle/area/kmr_part_2/actor/goomnut_tree.c +++ b/src/battle/area/kmr_part_2/actor/goomnut_tree.c @@ -5,39 +5,47 @@ #define NAMESPACE b_area_kmr_part_2_goomnut_tree +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, +}; + s32 N(IdleAnimations_802232D0)[] = { - STATUS_NORMAL, ANIM_SpikyGoomnut_Still, + STATUS_KEY_NORMAL, ANIM_SpikyGoomnut_Still, STATUS_END, }; s32 N(DefenseTable_802232DC)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SMASH, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SMASH, 0, ELEMENT_END, }; s32 N(StatusTable_802232F0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; @@ -48,10 +56,10 @@ extern EvtScript N(handleEvent_80223688); extern EvtScript N(shake_goomnut_tree); extern EvtScript N(80223DBC); -ActorPartBlueprint N(PartsTable_8022339C)[] = { +ActorPartBlueprint N(ActorParts_8022339C)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -63,7 +71,7 @@ ActorPartBlueprint N(PartsTable_8022339C)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -75,7 +83,7 @@ ActorPartBlueprint N(PartsTable_8022339C)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -87,7 +95,7 @@ ActorPartBlueprint N(PartsTable_8022339C)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -99,7 +107,7 @@ ActorPartBlueprint N(PartsTable_8022339C)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -116,8 +124,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_GOOMNUT_TREE, .level = 1, .maxHP = 255, - .partCount = ARRAY_COUNT( N(PartsTable_8022339C)), - .partsData = N(PartsTable_8022339C), + .partCount = ARRAY_COUNT( N(ActorParts_8022339C)), + .partsData = N(ActorParts_8022339C), .initScript = &N(init_80223488), .statusTable = N(StatusTable_802232F0), .escapeChance = 0, @@ -129,9 +137,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 0, .coinReward = 0, .size = { 0, 0 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { 0, 0 }, - .statusMessageOffset = { 0, 0 }, + .statusTextOffset = { 0, 0 }, }; // Perhaps a status table @@ -151,14 +159,14 @@ EvtScript N(init_80223488) = { EVT_CALL(SetActorVar, ACTOR_SELF, 4, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 5, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 6, 1) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, 10, 140, 10) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, -95, 140, 10) - EVT_CALL(SetPartPos, ACTOR_SELF, 4, -115, 130, 0) - EVT_CALL(SetPartPos, ACTOR_SELF, 5, -65, 118, 5) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 4, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 5, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, 1, ACTOR_PART_TARGET_FLAG_4, TRUE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, 10, 140, 10) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, -95, 140, 10) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_4, -115, 130, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_5, -65, 118, 5) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_4, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_5, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_TARGET_FLAG_4, TRUE) EVT_RETURN EVT_END }; @@ -343,48 +351,48 @@ EvtScript N(80223DBC) = { EVT_CALL(ActorExists, ACTOR_ENEMY0, LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, 10, 0, 10) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, FALSE) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_301) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.8)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 2, EVT_FLOAT(4.0)) - EVT_CALL(FallPartTo, ACTOR_SELF, 2, 10, 20, 10, 20) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, 30, 20, 10, 10, TRUE) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, 40, 20, 10, 5, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, FALSE) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_301) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.8)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(4.0)) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_2, 10, 20, 10, 20) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, 30, 20, 10, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, 40, 20, 10, 5, TRUE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_RETURN EVT_END_IF - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_301) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.8)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 2, EVT_FLOAT(4.0)) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_301) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.8)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(4.0)) EVT_CALL(GetStatusFlags, ACTOR_ENEMY0, LVar0) EVT_IF_NOT_FLAG(LVar0, 0x80000) - EVT_CALL(FallPartTo, ACTOR_SELF, 2, 10, 80, 10, 10) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_2, 10, 80, 10, 10) EVT_ELSE - EVT_CALL(FallPartTo, ACTOR_SELF, 2, 10, 32, 10, 10) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_2, 10, 32, 10, 10) EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(SetOwnerTarget, ACTOR_ENEMY0, 2) + EVT_CALL(SetOwnerTarget, ACTOR_ENEMY0, PRT_2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, ((DAMAGE_TYPE_IGNORE_DEFENSE)), 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 65) EVT_SET(LVar1, 20) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.7)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.7)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 20, TRUE) EVT_ADD(LVar0, 12) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 8, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 8, TRUE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_RETURN @@ -396,24 +404,24 @@ EvtScript N(80223DBC) = { EVT_ELSE EVT_ADD(LVar1, 20) EVT_END_IF - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.7)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 20, TRUE) - EVT_CALL(SetOwnerTarget, ACTOR_ENEMY1, 1) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.7)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(SetOwnerTarget, ACTOR_ENEMY1, PRT_MAIN) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, ((DAMAGE_TYPE_IGNORE_DEFENSE)), 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(ActorExists, ACTOR_ENEMY2, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 35) EVT_SET(LVar1, 20) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.7)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.7)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 20, TRUE) EVT_ADD(LVar0, 12) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 8, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 8, TRUE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_RETURN @@ -425,22 +433,22 @@ EvtScript N(80223DBC) = { EVT_ELSE EVT_ADD(LVar1, 20) EVT_END_IF - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.7)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 20, TRUE) - EVT_CALL(SetOwnerTarget, ACTOR_ENEMY2, 1) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.7)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(SetOwnerTarget, ACTOR_ENEMY2, PRT_MAIN) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, ((DAMAGE_TYPE_IGNORE_DEFENSE)), 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) EVT_SET(LVar1, 20) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.7)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.7)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 20, TRUE) EVT_ADD(LVar0, 12) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 8, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 8, TRUE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, FALSE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, TRUE) EVT_WAIT(1) EVT_END_LOOP EVT_RETURN diff --git a/src/battle/area/kmr_part_2/actor/red_goomba.c b/src/battle/area/kmr_part_2/actor/red_goomba_1.c similarity index 75% rename from src/battle/area/kmr_part_2/actor/red_goomba.c rename to src/battle/area/kmr_part_2/actor/red_goomba_1.c index f75c8c51b7..6c2b220103 100644 --- a/src/battle/area/kmr_part_2/actor/red_goomba.c +++ b/src/battle/area/kmr_part_2/actor/red_goomba_1.c @@ -3,35 +3,41 @@ #include "script_api/battle.h" #include "sprite/npc/GoombaBros.h" -#define NAMESPACE b_area_kmr_part_2_red_goomba +#define NAMESPACE b_area_kmr_part_2_red_goomba_1 + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_ZERO = 0, + PRT_BLUE_MAIN = 1, // main part for blue goomba +}; s32 N(DefenseTable_8021B6C0)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8021B6CC)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; @@ -43,10 +49,10 @@ extern EvtScript N(init_8021D078); extern EvtScript N(doDeath_8021D0C4); -ActorPartBlueprint N(PartsTable_8021B778)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -63,8 +69,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_RED_GOOMBA_BOSS, .level = 20, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_8021B778)), - .partsData = N(PartsTable_8021B778), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021D078), .statusTable = N(StatusTable_8021B6CC), .escapeChance = 0, @@ -76,34 +82,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 32, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 8, 25 }, + .statusTextOffset = { 8, 25 }, }; s32 N(IdleAnimations_8021B7C4)[] = { - STATUS_NORMAL, ANIM_GoombaBros_Red_Idle, - STATUS_STONE, ANIM_GoombaBros_Red_Still, - STATUS_SLEEP, ANIM_GoombaBros_Red_Sleep, - STATUS_POISON, ANIM_GoombaBros_Red_Idle, - STATUS_STOP, ANIM_GoombaBros_Red_Still, - STATUS_STATIC, ANIM_GoombaBros_Red_Idle, - STATUS_PARALYZE, ANIM_GoombaBros_Red_Still, - STATUS_DIZZY, ANIM_GoombaBros_Red_Dizzy, - STATUS_FEAR, ANIM_GoombaBros_Red_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaBros_Red_Idle, + STATUS_KEY_STONE, ANIM_GoombaBros_Red_Still, + STATUS_KEY_SLEEP, ANIM_GoombaBros_Red_Sleep, + STATUS_KEY_POISON, ANIM_GoombaBros_Red_Idle, + STATUS_KEY_STOP, ANIM_GoombaBros_Red_Still, + STATUS_KEY_STATIC, ANIM_GoombaBros_Red_Idle, + STATUS_KEY_PARALYZE, ANIM_GoombaBros_Red_Still, + STATUS_KEY_DIZZY, ANIM_GoombaBros_Red_Dizzy, + STATUS_KEY_FEAR, ANIM_GoombaBros_Red_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021B810)[] = { - STATUS_NORMAL, ANIM_GoombaBros_Red_Run, - STATUS_STONE, ANIM_GoombaBros_Red_Still, - STATUS_SLEEP, ANIM_GoombaBros_Red_Sleep, - STATUS_POISON, ANIM_GoombaBros_Red_Idle, - STATUS_STOP, ANIM_GoombaBros_Red_Still, - STATUS_STATIC, ANIM_GoombaBros_Red_Run, - STATUS_PARALYZE, ANIM_GoombaBros_Red_Still, - STATUS_DIZZY, ANIM_GoombaBros_Red_Dizzy, - STATUS_FEAR, ANIM_GoombaBros_Red_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaBros_Red_Run, + STATUS_KEY_STONE, ANIM_GoombaBros_Red_Still, + STATUS_KEY_SLEEP, ANIM_GoombaBros_Red_Sleep, + STATUS_KEY_POISON, ANIM_GoombaBros_Red_Idle, + STATUS_KEY_STOP, ANIM_GoombaBros_Red_Still, + STATUS_KEY_STATIC, ANIM_GoombaBros_Red_Run, + STATUS_KEY_PARALYZE, ANIM_GoombaBros_Red_Still, + STATUS_KEY_DIZZY, ANIM_GoombaBros_Red_Dizzy, + STATUS_KEY_FEAR, ANIM_GoombaBros_Red_Dizzy, STATUS_END, }; @@ -122,7 +128,7 @@ EvtScript N(idle_8021B8A8) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -131,14 +137,14 @@ EvtScript N(idle_8021B8A8) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021B810))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021B810))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021B7C4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021B7C4))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -147,14 +153,14 @@ EvtScript N(idle_8021B8A8) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021B810))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021B810))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021B7C4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021B7C4))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -211,14 +217,14 @@ EvtScript N(handleEvent_8021BB84) = { EVT_SET_CONST(LVar1, ANIM_GoombaBros_Red_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(38) @@ -247,12 +253,12 @@ EvtScript N(handleEvent_8021BB84) = { EVT_EXEC_WAIT(N(doDeath_8021D0C4)) EVT_RETURN EVT_CASE_EQ(53) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(49) EVT_SET_CONST(LVar0, 0x00000001) @@ -275,7 +281,7 @@ EvtScript N(handleEvent_8021BB84) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -291,18 +297,18 @@ EvtScript N(takeTurn_8021C3B0) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) @@ -330,10 +336,10 @@ EvtScript N(takeTurn_8021C3B0) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -342,14 +348,14 @@ EvtScript N(takeTurn_8021C3B0) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0x80000000, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -364,26 +370,26 @@ EvtScript N(takeTurn_8021C3B0) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -406,10 +412,10 @@ EvtScript N(takeTurn_8021C3B0) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -426,7 +432,7 @@ EvtScript N(takeTurn_8021C3B0) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -439,15 +445,15 @@ EvtScript N(takeTurn_8021C3B0) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -465,7 +471,7 @@ EvtScript N(init_8021D078) = { }; EvtScript N(doDeath_8021D0C4) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_SET(LVar2, 0) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) @@ -486,7 +492,7 @@ EvtScript N(doDeath_8021D0C4) = { EVT_ADD(LVar3, 8) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 0, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_ZERO, 1, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, 4, TRUE) EVT_WAIT(30) EVT_CALL(ActorExists, ACTOR_ENEMY0, LVar0) @@ -500,8 +506,8 @@ EvtScript N(doDeath_8021D0C4) = { EVT_WAIT(20) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY0, FALSE) EVT_CALL(EnableIdleScript, ACTOR_ENEMY0, 0) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GoombaBros_Blue_CryTalk) - EVT_CALL(ActorSpeak, MSG_CH0_00C0, ACTOR_ENEMY0, 1, -1, -1) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_BLUE_MAIN, ANIM_GoombaBros_Blue_CryTalk) + EVT_CALL(ActorSpeak, MSG_CH0_00C0, ACTOR_ENEMY0, PRT_BLUE_MAIN, -1, -1) EVT_CALL(EnableIdleScript, ACTOR_ENEMY0, 1) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY0, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/area/kmr_part_2/actor/red_goomba2.c b/src/battle/area/kmr_part_2/actor/red_goomba_2.c similarity index 74% rename from src/battle/area/kmr_part_2/actor/red_goomba2.c rename to src/battle/area/kmr_part_2/actor/red_goomba_2.c index c8641d968a..ac93ec8d07 100644 --- a/src/battle/area/kmr_part_2/actor/red_goomba2.c +++ b/src/battle/area/kmr_part_2/actor/red_goomba_2.c @@ -5,33 +5,37 @@ #define NAMESPACE b_area_kmr_part_2_red_goomba_2 +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_8021EE00)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8021EE0C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; @@ -41,10 +45,10 @@ extern EvtScript N(takeTurn_8021FAF0); extern EvtScript N(idle_8021EFE8); extern EvtScript N(handleEvent_8021F2C4); -ActorPartBlueprint N(PartsTable_8021EEB8)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -61,8 +65,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_RED_GOOMBA_BOSS, .level = 20, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_8021EEB8)), - .partsData = N(PartsTable_8021EEB8), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_802207B8), .statusTable = N(StatusTable_8021EE0C), .escapeChance = 0, @@ -74,34 +78,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 32, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 8, 25 }, + .statusTextOffset = { 8, 25 }, }; s32 N(IdleAnimations_8021EF04)[] = { - STATUS_NORMAL, ANIM_GoombaBros_Red_Idle, - STATUS_STONE, ANIM_GoombaBros_Red_Still, - STATUS_SLEEP, ANIM_GoombaBros_Red_Sleep, - STATUS_POISON, ANIM_GoombaBros_Red_Idle, - STATUS_STOP, ANIM_GoombaBros_Red_Still, - STATUS_STATIC, ANIM_GoombaBros_Red_Idle, - STATUS_PARALYZE, ANIM_GoombaBros_Red_Still, - STATUS_DIZZY, ANIM_GoombaBros_Red_Dizzy, - STATUS_FEAR, ANIM_GoombaBros_Red_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaBros_Red_Idle, + STATUS_KEY_STONE, ANIM_GoombaBros_Red_Still, + STATUS_KEY_SLEEP, ANIM_GoombaBros_Red_Sleep, + STATUS_KEY_POISON, ANIM_GoombaBros_Red_Idle, + STATUS_KEY_STOP, ANIM_GoombaBros_Red_Still, + STATUS_KEY_STATIC, ANIM_GoombaBros_Red_Idle, + STATUS_KEY_PARALYZE, ANIM_GoombaBros_Red_Still, + STATUS_KEY_DIZZY, ANIM_GoombaBros_Red_Dizzy, + STATUS_KEY_FEAR, ANIM_GoombaBros_Red_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021EF50)[] = { - STATUS_NORMAL, ANIM_GoombaBros_Red_Run, - STATUS_STONE, ANIM_GoombaBros_Red_Still, - STATUS_SLEEP, ANIM_GoombaBros_Red_Sleep, - STATUS_POISON, ANIM_GoombaBros_Red_Idle, - STATUS_STOP, ANIM_GoombaBros_Red_Still, - STATUS_STATIC, ANIM_GoombaBros_Red_Run, - STATUS_PARALYZE, ANIM_GoombaBros_Red_Still, - STATUS_DIZZY, ANIM_GoombaBros_Red_Dizzy, - STATUS_FEAR, ANIM_GoombaBros_Red_Dizzy, + STATUS_KEY_NORMAL, ANIM_GoombaBros_Red_Run, + STATUS_KEY_STONE, ANIM_GoombaBros_Red_Still, + STATUS_KEY_SLEEP, ANIM_GoombaBros_Red_Sleep, + STATUS_KEY_POISON, ANIM_GoombaBros_Red_Idle, + STATUS_KEY_STOP, ANIM_GoombaBros_Red_Still, + STATUS_KEY_STATIC, ANIM_GoombaBros_Red_Run, + STATUS_KEY_PARALYZE, ANIM_GoombaBros_Red_Still, + STATUS_KEY_DIZZY, ANIM_GoombaBros_Red_Dizzy, + STATUS_KEY_FEAR, ANIM_GoombaBros_Red_Dizzy, STATUS_END, }; @@ -120,7 +124,7 @@ EvtScript N(idle_8021EFE8) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -129,14 +133,14 @@ EvtScript N(idle_8021EFE8) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021EF50))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021EF50))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021EF04))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021EF04))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -145,14 +149,14 @@ EvtScript N(idle_8021EFE8) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021EF50))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021EF50))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021EF04))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021EF04))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -209,14 +213,14 @@ EvtScript N(handleEvent_8021F2C4) = { EVT_SET_CONST(LVar1, ANIM_GoombaBros_Red_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(38) @@ -245,12 +249,12 @@ EvtScript N(handleEvent_8021F2C4) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(53) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(49) EVT_SET_CONST(LVar0, 0x00000001) @@ -273,7 +277,7 @@ EvtScript N(handleEvent_8021F2C4) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -289,18 +293,18 @@ EvtScript N(takeTurn_8021FAF0) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) @@ -328,10 +332,10 @@ EvtScript N(takeTurn_8021FAF0) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -340,14 +344,14 @@ EvtScript N(takeTurn_8021FAF0) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0x80000000, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -362,26 +366,26 @@ EvtScript N(takeTurn_8021FAF0) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -404,10 +408,10 @@ EvtScript N(takeTurn_8021FAF0) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Midair) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -424,7 +428,7 @@ EvtScript N(takeTurn_8021FAF0) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -437,15 +441,15 @@ EvtScript N(takeTurn_8021FAF0) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GoombaBros_Red_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaBros_Red_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/kmr_part_2/area.c b/src/battle/area/kmr_part_2/area.c index 84a82b1d60..a4396b008c 100644 --- a/src/battle/area/kmr_part_2/area.c +++ b/src/battle/area/kmr_part_2/area.c @@ -4,11 +4,11 @@ #define NAMESPACE b_area_kmr_part_2 -extern ActorBlueprint N(blue_goomba); -extern ActorBlueprint N(red_goomba); -extern ActorBlueprint N(goomba_king); +extern ActorBlueprint N(red_goomba_1); extern ActorBlueprint N(red_goomba_2); +extern ActorBlueprint N(blue_goomba_1); extern ActorBlueprint N(blue_goomba_2); +extern ActorBlueprint N(goomba_king); extern ActorBlueprint N(goomnut_tree); extern Stage N(kmr_02); @@ -17,37 +17,37 @@ extern Stage N(kmr_04); extern Stage N(kmr_05); extern Stage N(kmr_06); -Vec3i N(pos00) = { 14, 0, -10 }; -Vec3i N(pos01) = { 54, 0, 32 }; +Vec3i N(BlueMinibossPos) = { 14, 0, -10 }; +Vec3i N(RedMinibossPos) = { 54, 0, 32 }; Formation N(Formation_00) = { - { .actor = &N(blue_goomba), .home = { .vec = &N(pos00) }, .priority = 10 }, - { .actor = &N(red_goomba), .home = { .vec = &N(pos01) }, .priority = 10 }, + ACTOR_BY_POS(N(blue_goomba_1), N(BlueMinibossPos), 10), + ACTOR_BY_POS(N(red_goomba_1), N(RedMinibossPos), 10), }; -Vec3i N(pos02) = { 10, 0, 10 }; -Vec3i N(pos03) = { 70, 0, 30 }; -Vec3i N(pos04) = { 125, 0, 20 }; -Vec3i N(pos05) = { -40, 0, -45 }; +Vec3i N(KingBossPos) = { 10, 0, 10 }; +Vec3i N(RedBossPos) = { 70, 0, 30 }; +Vec3i N(BlueBossPos) = { 125, 0, 20 }; +Vec3i N(TreeBossPos) = { -40, 0, -45 }; Formation N(Formation_01) = { - { .actor = &N(goomba_king), .home = { .vec = &N(pos02) }, .priority = 10 }, - { .actor = &N(red_goomba_2), .home = { .vec = &N(pos03) }, .priority = 10 }, - { .actor = &N(blue_goomba_2), .home = { .vec = &N(pos04) }, .priority = 10 }, - { .actor = &N(goomnut_tree), .home = { .vec = &N(pos05) }, .priority = 10 }, + ACTOR_BY_POS(N(goomba_king), N(KingBossPos), 10), + ACTOR_BY_POS(N(red_goomba_2), N(RedBossPos), 10), + ACTOR_BY_POS(N(blue_goomba_2), N(BlueBossPos), 10), + ACTOR_BY_POS(N(goomnut_tree), N(TreeBossPos), 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kmr_03), "クリレッド,クリブルー"), - BATTLE(N(Formation_01), &N(kmr_06), "クリキング,クリレッド,クリブルー"), + BATTLE(N(Formation_00), N(kmr_03), "クリレッド,クリブルー"), + BATTLE(N(Formation_01), N(kmr_06), "クリキング,クリレッド,クリブルー"), {}, }; StageList N(Stages) = { - { "kmr_02", &N(kmr_02), }, - { "kmr_03", &N(kmr_03), }, - { "kmr_04", &N(kmr_04), }, - { "kmr_05", &N(kmr_05), }, - { "kmr_06", &N(kmr_06), }, + STAGE("kmr_02", N(kmr_02)), + STAGE("kmr_03", N(kmr_03)), + STAGE("kmr_04", N(kmr_04)), + STAGE("kmr_05", N(kmr_05)), + STAGE("kmr_06", N(kmr_06)), {}, }; diff --git a/src/battle/area/kmr_part_3/actor/egg_jr_troopa.c b/src/battle/area/kmr_part_3/actor/egg_jr_troopa.c index 8fa99d6549..dc33c38426 100644 --- a/src/battle/area/kmr_part_3/actor/egg_jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/egg_jr_troopa.c @@ -5,68 +5,72 @@ #define NAMESPACE b_area_kmr_part_3_egg_jr_troopa +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_80224380)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Idle, - STATUS_SLEEP, ANIM_JrTroopa_Sleep, - STATUS_STONE, ANIM_JrTroopa_Still, - STATUS_POISON, ANIM_JrTroopa_Still, - STATUS_STOP, ANIM_JrTroopa_Still, - STATUS_STATIC, ANIM_JrTroopa_Still, - STATUS_PARALYZE, ANIM_JrTroopa_Still, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_JrTroopa_Sleep, + STATUS_KEY_STONE, ANIM_JrTroopa_Still, + STATUS_KEY_POISON, ANIM_JrTroopa_Still, + STATUS_KEY_STOP, ANIM_JrTroopa_Still, + STATUS_KEY_STATIC, ANIM_JrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_JrTroopa_Still, STATUS_END, }; s32 N(IdleAnimations_802243BC)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Idle, - STATUS_SLEEP, ANIM_JrTroopa_Still, - STATUS_STONE, ANIM_JrTroopa_Still, - STATUS_POISON, ANIM_JrTroopa_Still, - STATUS_STOP, ANIM_JrTroopa_Still, - STATUS_STATIC, ANIM_JrTroopa_Still, - STATUS_PARALYZE, ANIM_JrTroopa_Still, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_JrTroopa_Still, + STATUS_KEY_STONE, ANIM_JrTroopa_Still, + STATUS_KEY_POISON, ANIM_JrTroopa_Still, + STATUS_KEY_STOP, ANIM_JrTroopa_Still, + STATUS_KEY_STATIC, ANIM_JrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_JrTroopa_Still, STATUS_END, }; s32 N(IdleAnimations_802243F8)[] = { - STATUS_NORMAL, ANIM_JrTroopa_EggIdle, - STATUS_STOP, ANIM_JrTroopa_EggStill, + STATUS_KEY_NORMAL, ANIM_JrTroopa_EggIdle, + STATUS_KEY_STOP, ANIM_JrTroopa_EggStill, STATUS_END, }; s32 N(DefenseTable_8022440C)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable_80224418)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 80, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_802244C4)[] = { +ActorPartBlueprint N(ActorParts_802244C4)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -6, 18 }, .opacity = 255, @@ -85,8 +89,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_JR_TROOPA2, .level = 44, .maxHP = 15, - .partCount = ARRAY_COUNT( N(PartsTable_802244C4)), - .partsData = N(PartsTable_802244C4), + .partCount = ARRAY_COUNT( N(ActorParts_802244C4)), + .partsData = N(ActorParts_802244C4), .initScript = &N(init_80224A94), .statusTable = N(StatusTable_80224418), .escapeChance = 0, @@ -98,9 +102,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 32, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 30 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(80224510) = { @@ -116,7 +120,7 @@ EvtScript N(80224510) = { }; EvtScript N(802245A8) = { - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 12) EVT_RETURN @@ -134,13 +138,13 @@ EvtScript N(802245E8) = { }; s32 N(IdleAnimations_8022464C)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Defeated, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Defeated, STATUS_END, }; EvtScript N(80224658) = { EVT_SET(LVarA, LVar0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(SetAnimation, ACTOR_SELF, LVarA, LVar1) EVT_WAIT(10) @@ -197,8 +201,8 @@ EvtScript N(80224964) = { EVT_ADD(LVar2, 5) EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 0, LVar0, LVar1, LVar2, -4, 0, 0) EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 0, LVar0, LVar1, LVar2, 4, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_EnterEgg) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802243F8))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_EnterEgg) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802243F8))) EVT_WAIT(10) EVT_RETURN EVT_END @@ -362,9 +366,9 @@ EvtScript N(802251CC) = { EVT_EXEC_WAIT(N(80224510)) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_CH1_012A, ACTOR_SELF, 1, 0x0021001D, 0x0021001D) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_PointTalk) - EVT_CALL(EndActorSpeech, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_012A, ACTOR_SELF, PRT_MAIN, 0x0021001D, 0x0021001D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_PointTalk) + EVT_CALL(EndActorSpeech, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_EXEC_WAIT(N(80224964)) EVT_EXEC_WAIT(N(802245A8)) EVT_ELSE @@ -380,7 +384,7 @@ EvtScript N(takeTurn_80225314) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_OPEN_SHELL) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_WAIT(20) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -388,29 +392,29 @@ EvtScript N(takeTurn_80225314) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Jump) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 2, BS_FLAGS1_10) EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Midair) EVT_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Fall) EVT_END_THREAD EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -427,18 +431,18 @@ EvtScript N(takeTurn_80225314) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 25) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_ChargeArmsUp) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_ChargeArmsUp) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_EXEC_WAIT(N(80224964)) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -449,9 +453,9 @@ EvtScript N(takeTurn_80225314) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_THREAD EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Midair) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Fall) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(2) @@ -472,13 +476,13 @@ EvtScript N(takeTurn_80225314) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_WAIT(10) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_EXEC_WAIT(N(80224964)) EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -499,8 +503,8 @@ EvtScript N(nextTurn_80225B4C) = { EVT_WAIT(15) EVT_EXEC_WAIT(N(80224510)) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_CH1_0128, ACTOR_SELF, 1, 0x0021001A, 0x0021001B) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_ChargeArmsUp) + EVT_CALL(ActorSpeak, MSG_CH1_0128, ACTOR_SELF, PRT_MAIN, 0x0021001A, 0x0021001B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_ChargeArmsUp) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B9) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 16) @@ -509,7 +513,7 @@ EvtScript N(nextTurn_80225B4C) = { EVT_WAIT(30) EVT_EXEC_WAIT(N(80224964)) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_CH1_0129, ACTOR_SELF, 1, 0x00210017, 0x00210004) + EVT_CALL(ActorSpeak, MSG_CH1_0129, ACTOR_SELF, PRT_MAIN, 0x00210017, 0x00210004) EVT_WAIT(10) EVT_EXEC_WAIT(N(802245A8)) EVT_ELSE diff --git a/src/battle/area/kmr_part_3/actor/final_jr_troopa.c b/src/battle/area/kmr_part_3/actor/final_jr_troopa.c index 6d5d38a87e..992acb16cc 100644 --- a/src/battle/area/kmr_part_3/actor/final_jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/final_jr_troopa.c @@ -7,137 +7,143 @@ #define NAMESPACE b_area_kmr_part_3_final_jr_troopa -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; s32 N(IdleAnimations_8022C370)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Idle, - STATUS_SLEEP, ANIM_JrTroopa_Sleep, - STATUS_STONE, ANIM_JrTroopa_Still, - STATUS_STOP, ANIM_JrTroopa_Still, - STATUS_PARALYZE, ANIM_JrTroopa_Still, - STATUS_DIZZY, ANIM_JrTroopa_Dizzy, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_JrTroopa_Sleep, + STATUS_KEY_STONE, ANIM_JrTroopa_Still, + STATUS_KEY_STOP, ANIM_JrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_JrTroopa_Still, + STATUS_KEY_DIZZY, ANIM_JrTroopa_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8022C3A4)[] = { - STATUS_NORMAL, ANIM_SpikedParaJrTroopa_Idle, - STATUS_SLEEP, ANIM_SpikedParaJrTroopa_Sleep, - STATUS_STONE, ANIM_SpikedParaJrTroopa_Still, - STATUS_STOP, ANIM_SpikedParaJrTroopa_Still, - STATUS_PARALYZE, ANIM_SpikedParaJrTroopa_Still, - STATUS_DIZZY, ANIM_SpikedParaJrTroopa_Dizzy, + STATUS_KEY_NORMAL, ANIM_SpikedParaJrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_SpikedParaJrTroopa_Sleep, + STATUS_KEY_STONE, ANIM_SpikedParaJrTroopa_Still, + STATUS_KEY_STOP, ANIM_SpikedParaJrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_SpikedParaJrTroopa_Still, + STATUS_KEY_DIZZY, ANIM_SpikedParaJrTroopa_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8022C3D8)[] = { - STATUS_NORMAL, ANIM_MageJrTroopa_Idle, - STATUS_SLEEP, ANIM_MageJrTroopa_Sleep, - STATUS_STONE, ANIM_MageJrTroopa_Still, - STATUS_STOP, ANIM_MageJrTroopa_Still, - STATUS_PARALYZE, ANIM_MageJrTroopa_Still, - STATUS_DIZZY, ANIM_MageJrTroopa_Dizzy, + STATUS_KEY_NORMAL, ANIM_MageJrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_MageJrTroopa_Sleep, + STATUS_KEY_STONE, ANIM_MageJrTroopa_Still, + STATUS_KEY_STOP, ANIM_MageJrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_MageJrTroopa_Still, + STATUS_KEY_DIZZY, ANIM_MageJrTroopa_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8022C40C)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Defeated, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Defeated, STATUS_END, }; s32 N(DefenseTable_8022C418)[] = { - ELEMENT_NORMAL, 2, + ELEMENT_NORMAL, 2, ELEMENT_END, }; s32 N(DefenseTable_8022C424)[] = { - ELEMENT_NORMAL, 2, + ELEMENT_NORMAL, 2, ELEMENT_END, }; s32 N(DefenseTable_8022C430)[] = { - ELEMENT_NORMAL, 2, + ELEMENT_NORMAL, 2, ELEMENT_END, }; s32 N(StatusTable_8022C43C)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 30, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 40, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 40, - STATUS_SHRINK, 60, - STATUS_STOP, 60, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -2, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -2, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 30, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 40, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 40, + STATUS_KEY_SHRINK, 60, + STATUS_KEY_STOP, 60, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -2, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -2, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; s32 N(StatusTable_8022C4E8)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 30, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 40, - STATUS_SHRINK, 50, - STATUS_STOP, 50, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -2, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 30, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 40, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 50, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -2, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; s32 N(StatusTable_8022C594)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 30, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 40, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 40, - STATUS_SHRINK, 50, - STATUS_STOP, 50, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -2, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -2, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 30, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 40, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 40, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 50, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -2, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -2, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022C640)[] = { +ActorPartBlueprint N(ActorParts_8022C640)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 26 }, .opacity = 255, @@ -149,7 +155,7 @@ ActorPartBlueprint N(PartsTable_8022C640)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 32 }, .opacity = 255, @@ -161,7 +167,7 @@ ActorPartBlueprint N(PartsTable_8022C640)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 28 }, .opacity = 255, @@ -180,8 +186,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_JR_TROOPA6, .level = 74, .maxHP = 60, - .partCount = ARRAY_COUNT( N(PartsTable_8022C640)), - .partsData = N(PartsTable_8022C640), + .partCount = ARRAY_COUNT( N(ActorParts_8022C640)), + .partsData = N(ActorParts_8022C640), .initScript = &N(init_8022CF80), .statusTable = N(StatusTable_8022C43C), .escapeChance = 0, @@ -193,14 +199,14 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 70, .coinReward = 0, .size = { 24, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -20, 35 }, - .statusMessageOffset = { 10, 25 }, + .statusTextOffset = { 10, 25 }, }; EvtScript N(8022C6D4) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar2) - EVT_IF_FLAG(LVar2, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar2, STATUS_FLAGS_IMMOBILIZED) EVT_RETURN EVT_END_IF EVT_CALL(GetBattleFlags, LVar2) @@ -264,7 +270,7 @@ EvtScript N(8022CB2C) = { }; EvtScript N(8022CBC4) = { - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 12) EVT_RETURN @@ -282,13 +288,13 @@ EvtScript N(8022CC04) = { }; s32 N(IdleAnimations_8022CC68)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Defeated, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Defeated, STATUS_END, }; EvtScript N(8022CC74) = { EVT_SET(LVarA, LVar0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(SetAnimation, ACTOR_SELF, LVarA, LVar1) EVT_WAIT(10) @@ -363,16 +369,16 @@ EvtScript N(idle_8022D058) = { EVT_CASE_EQ(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, 0x41000) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -15, 28) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 4, -6) - EVT_CALL(N(UnkBattleFunc1), -25, 27, -1, 27) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, -15, 28) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_2, 4, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -25, 27, -1, 27) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -8, 33) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 0, -6) - EVT_CALL(N(UnkBattleFunc1), -22, 30, 2, 28) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, -8, 33) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_2, 0, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -22, 30, 2, 28) EVT_END_IF EVT_CASE_DEFAULT - EVT_CALL(N(UnkBattleFunc1), -20, 35, 10, 25) + EVT_CALL(N(SetAbsoluteStatusOffsets), -20, 35, 10, 25) EVT_END_SWITCH EVT_WAIT(1) EVT_GOTO(0) @@ -429,8 +435,8 @@ EvtScript N(handleEvent_8022D1C4) = { EVT_EXEC_WAIT(N(802318F8)) EVT_RETURN EVT_CASE_EQ(47) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 2, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_2, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_2, 0, 0, 0) EVT_SET(LVar1, 0) EVT_EXEC_WAIT(N(802315F0)) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) @@ -439,8 +445,8 @@ EvtScript N(handleEvent_8022D1C4) = { EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_EXEC_WAIT(N(80232040)) EVT_CASE_EQ(38) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 2, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_2, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_2, 0, 0, 0) EVT_SET(LVar1, 0) EVT_EXEC_WAIT(N(802315F0)) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) @@ -478,7 +484,7 @@ EvtScript N(handleEvent_8022D1C4) = { EVT_WAIT(20) EVT_CASE_EQ(58) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_SET(LVar1, 2) EVT_EXEC_WAIT(N(802315F0)) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) @@ -486,7 +492,7 @@ EvtScript N(handleEvent_8022D1C4) = { EVT_END_IF EVT_CASE_EQ(31) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_SET(LVar1, 5) EVT_EXEC_WAIT(N(802315F0)) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) @@ -555,13 +561,13 @@ EvtScript N(takeTurn_8022D920) = { EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_Talk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_Talk) EVT_CASE_EQ(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_Talk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_Talk) EVT_CASE_DEFAULT - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Talk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Talk) EVT_END_SWITCH - EVT_CALL(ActorSpeak, MSG_CH8_0060, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH8_0060, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_END_IF EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) @@ -609,12 +615,12 @@ EvtScript N(8022DD48) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(ActorSpeak, MSG_CH8_005E, ACTOR_SELF, 1, 0x00210018, 0x00210018) + EVT_CALL(ActorSpeak, MSG_CH8_005E, ACTOR_SELF, PRT_MAIN, 0x00210018, 0x00210018) EVT_EXEC_WAIT(N(8022C804)) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 0x00020001, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 0x00800000, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 0x00020001, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 0x00800000, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 0x00020001, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 0x00800000, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 0x00020001, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 0x00800000, TRUE) EVT_WAIT(10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) @@ -637,14 +643,14 @@ EvtScript N(8022DF54) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(ActorSpeak, MSG_CH8_005F, ACTOR_SELF, 2, 0x0023000F, 0x0023000F) + EVT_CALL(ActorSpeak, MSG_CH8_005F, ACTOR_SELF, PRT_2, 0x0023000F, 0x0023000F) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 120) EVT_EXEC_WAIT(N(8022C804)) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 0x00020001, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 0x00800000, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 0x00020001, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 0x00800000, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 0x00020001, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 0x00800000, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 0x00020001, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 0x00800000, TRUE) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -670,7 +676,7 @@ EvtScript N(8022E198) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -681,9 +687,9 @@ EvtScript N(8022E198) = { EVT_SWITCH(LVarF) EVT_CASE_EQ(5) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Charge) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Charge) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_ChargeTripped) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_ChargeTripped) EVT_END_THREAD EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) @@ -691,10 +697,10 @@ EvtScript N(8022E198) = { EVT_SUB(LVar0, 30) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Trip) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Trip) EVT_THREAD EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Defeated) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Defeated) EVT_END_THREAD EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -705,20 +711,20 @@ EvtScript N(8022E198) = { EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_ChargeArmsUp) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_ChargeArmsUp) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_CASE_EQ(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -726,9 +732,9 @@ EvtScript N(8022E198) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_20E2, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Jump) EVT_WAIT(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Midair) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -737,12 +743,12 @@ EvtScript N(8022E198) = { EVT_ADD(LVar2, 3) EVT_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Fall) EVT_END_THREAD EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 18, FALSE, TRUE, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_PanicFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_PanicFast) EVT_SUB(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) @@ -750,16 +756,16 @@ EvtScript N(8022E198) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -767,14 +773,14 @@ EvtScript N(8022E198) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_20E2, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Jump) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Midair) EVT_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Fall) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(2) @@ -795,13 +801,13 @@ EvtScript N(8022E198) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_SUB(LVar0, 10) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_WAIT(8) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -815,7 +821,7 @@ EvtScript N(8022ED10) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -831,7 +837,7 @@ EvtScript N(8022ED10) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_20E0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) @@ -842,7 +848,7 @@ EvtScript N(8022ED10) = { EVT_SET(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -851,14 +857,14 @@ EvtScript N(8022ED10) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END_CASE_GROUP @@ -871,7 +877,7 @@ EvtScript N(8022ED10) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_20E0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) @@ -879,7 +885,7 @@ EvtScript N(8022ED10) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_UNUSED_2C1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 8, BS_FLAGS1_SP_EVT_ACTIVE) @@ -887,16 +893,16 @@ EvtScript N(8022ED10) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_WAIT(10) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -914,9 +920,9 @@ EvtScript N(8022F468) = { EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_CLOSE_SHELL) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_EnterEgg) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_EnterEgg) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_EggIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_EggIdle) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(10) @@ -941,7 +947,7 @@ EvtScript N(8022F468) = { EVT_LOOP(20) EVT_CALL(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6) EVT_CALL(N(CalculateArcsinDeg), LVar1, LVar2, LVar4, LVar5, LVar0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_2, 0, 0, LVar0) EVT_SET(LVar1, LVar4) EVT_SET(LVar2, LVar5) EVT_SET(LVar3, LVar6) @@ -964,24 +970,24 @@ EvtScript N(8022F468) = { EVT_CALL(N(CalculateArcsinDeg), LVar1, LVar2, LVar4, LVar5, LVar0) EVT_SET(LVar7, LVar0) EVT_ADD(LVar7, 180) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar7) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_2, 0, 0, LVar7) EVT_SET(LVar1, LVar4) EVT_SET(LVar2, LVar5) EVT_SET(LVar3, LVar6) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 2, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_2, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_2, 0, 0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_OPEN_SHELL) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_ExitEgg) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_ExitEgg) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -989,7 +995,7 @@ EvtScript N(8022F468) = { EVT_END_CASE_GROUP EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 2, 0, 12, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_2, 0, 12, 0) EVT_THREAD EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) @@ -1001,7 +1007,7 @@ EvtScript N(8022F468) = { EVT_LOOP(20) EVT_CALL(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6) EVT_CALL(N(CalculateArcsinDeg), LVar1, LVar2, LVar4, LVar5, LVar0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_2, 0, 0, LVar0) EVT_SET(LVar1, LVar4) EVT_SET(LVar2, LVar5) EVT_SET(LVar3, LVar6) @@ -1024,18 +1030,18 @@ EvtScript N(8022F468) = { EVT_CALL(N(CalculateArcsinDeg), LVar1, LVar2, LVar4, LVar5, LVar0) EVT_SET(LVar7, LVar0) EVT_ADD(LVar7, 180) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar7) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_2, 0, 0, LVar7) EVT_SET(LVar1, LVar4) EVT_SET(LVar2, LVar5) EVT_SET(LVar3, LVar6) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 2, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_2, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_2, 0, 0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_OPEN_SHELL) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_ExitEgg) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_ExitEgg) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) @@ -1054,7 +1060,7 @@ EvtScript N(80230034) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_RaiseStaff) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_RaiseStaff) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -1072,7 +1078,7 @@ EvtScript N(80230034) = { EVT_ADD(LVar1, LVar4) EVT_PLAY_EFFECT(EFFECT_GATHER_ENERGY_PINK, 0, LVar0, LVar1, LVar2, LVar5, 30, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_SwingStaff) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_SwingStaff) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_NO_CONTACT, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) EVT_CASE_EQ(6) @@ -1103,7 +1109,7 @@ EvtScript N(80230034) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 12) EVT_PLAY_EFFECT(EFFECT_BLAST, 0, LVar0, LVar1, LVar2, EVT_FLOAT(3.0), 30, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_BurnStaff) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_BurnStaff) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_WAIT(40) EVT_SUB(LVar0, 7) @@ -1111,7 +1117,7 @@ EvtScript N(80230034) = { EVT_ADD(LVar2, 4) EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, LVar0, LVar1, LVar2, 0, 0, 0) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_Idle) EVT_END_THREAD EVT_WAIT(20) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -1157,7 +1163,7 @@ EvtScript N(80230794) = { EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_RaiseStaff) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_RaiseStaff) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -1178,7 +1184,7 @@ EvtScript N(80230794) = { EVT_CALL(MoveBattleCamOver, 60) EVT_WAIT(30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BIG_POWER_UP) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_SwingStaff) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_SwingStaff) EVT_CALL(N(UnkBackgroundFunc3)) EVT_CALL(MakeLerp, 0, 200, 60, EASING_COS_IN_OUT) EVT_LABEL(0) @@ -1225,7 +1231,7 @@ EvtScript N(80230794) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 12) EVT_PLAY_EFFECT(EFFECT_BLAST, 0, LVar0, LVar1, LVar2, EVT_FLOAT(3.0), 30, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_BurnStaff) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_BurnStaff) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_WAIT(40) EVT_SUB(LVar0, 7) @@ -1233,7 +1239,7 @@ EvtScript N(80230794) = { EVT_ADD(LVar2, 4) EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, LVar0, LVar1, LVar2, 0, 0, 0) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_Idle) EVT_END_THREAD EVT_WAIT(20) EVT_IF_EQ(LVarA, 5) @@ -1282,7 +1288,7 @@ EvtScript N(8023106C) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_RaiseStaff) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_RaiseStaff) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -1307,7 +1313,7 @@ EvtScript N(8023106C) = { EVT_PLAY_EFFECT(EFFECT_SPARKLES, 1, LVar1, LVar2, LVar3, 10, 0) EVT_PLAY_EFFECT(EFFECT_RECOVER, 2, LVar1, LVar2, LVar3, 0, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MageJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MageJrTroopa_Idle) EVT_WAIT(10) EVT_CALL(GetEnemyMaxHP, ACTOR_SELF, LVar0) EVT_MUL(LVar0, 17) @@ -1320,9 +1326,9 @@ EvtScript N(8023106C) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, ACTOR_SELF, LVar0, FALSE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_WAIT(30) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -1344,8 +1350,8 @@ EvtScript N(nextTurn_8023147C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(ActorSpeak, MSG_CH8_005D, ACTOR_SELF, 1, 0x0021001A, 0x0021001A) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(ActorSpeak, MSG_CH8_005D, ACTOR_SELF, PRT_MAIN, 0x0021001A, 0x0021001A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_END_IF EVT_CASE_EQ(12) EVT_CASE_EQ(11) @@ -1432,14 +1438,14 @@ EvtScript N(802318F8) = { EVT_GOTO(0) EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(FallToGoal, ACTOR_SELF, 10) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) EVT_CALL(HPBarToCurrent, ACTOR_SELF) - EVT_CALL(func_8027D2D8, ACTOR_SELF) + EVT_CALL(ShowHealthBar, ACTOR_SELF) EVT_LABEL(0) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1450,9 +1456,9 @@ EvtScript N(802318F8) = { EVT_WAIT(3) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_DefeatedBegin) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 1, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_DefeatedBegin) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1466,12 +1472,12 @@ EvtScript N(802318F8) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Defeated) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Defeated) EVT_WAIT(60) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_RETURN EVT_CASE_EQ(3) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(GetDamageSource, LVar5) EVT_SWITCH(LVar5) @@ -1503,9 +1509,9 @@ EvtScript N(802318F8) = { EVT_WAIT(3) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_DefeatedBegin) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 1, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_DefeatedBegin) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1519,8 +1525,8 @@ EvtScript N(802318F8) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Defeated) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022C40C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Defeated) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022C40C))) EVT_WAIT(60) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_RETURN @@ -1566,11 +1572,11 @@ EvtScript N(80232170) = { EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(2) - EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, 2, 0x0023000F, 0x00230003) + EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, PRT_2, 0x0023000F, 0x00230003) EVT_CASE_EQ(3) - EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, 3, 0x0024000E, 0x00240003) + EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, PRT_3, 0x0024000E, 0x00240003) EVT_CASE_DEFAULT - EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, 1, 0x00210016, 0x00210003) + EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, PRT_MAIN, 0x00210016, 0x00210003) EVT_END_SWITCH EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_NE(LVar0, 1) diff --git a/src/battle/area/kmr_part_3/actor/jr_troopa.c b/src/battle/area/kmr_part_3/actor/jr_troopa.c index 3b43127f20..71131c7b6f 100644 --- a/src/battle/area/kmr_part_3/actor/jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/jr_troopa.c @@ -6,51 +6,55 @@ #define NAMESPACE b_area_kmr_part_3_jr_troopa +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_802229F0)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Idle, - STATUS_STONE, ANIM_JrTroopa_Still, - STATUS_SLEEP, ANIM_JrTroopa_Still, - STATUS_POISON, ANIM_JrTroopa_Still, - STATUS_STOP, ANIM_JrTroopa_Still, - STATUS_STATIC, ANIM_JrTroopa_Still, - STATUS_PARALYZE, ANIM_JrTroopa_Still, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Idle, + STATUS_KEY_STONE, ANIM_JrTroopa_Still, + STATUS_KEY_SLEEP, ANIM_JrTroopa_Still, + STATUS_KEY_POISON, ANIM_JrTroopa_Still, + STATUS_KEY_STOP, ANIM_JrTroopa_Still, + STATUS_KEY_STATIC, ANIM_JrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_JrTroopa_Still, STATUS_END, }; s32 N(DefenseTable_80222A2C)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80222A38)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80222AE4)[] = { +ActorPartBlueprint N(ActorParts_80222AE4)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, .opacity = 255, @@ -69,8 +73,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_JR_TROOPA1, .level = 41, .maxHP = 5, - .partCount = ARRAY_COUNT( N(PartsTable_80222AE4)), - .partsData = N(PartsTable_80222AE4), + .partCount = ARRAY_COUNT( N(ActorParts_80222AE4)), + .partsData = N(ActorParts_80222AE4), .initScript = &N(init_80223180), .statusTable = N(StatusTable_80222A38), .escapeChance = 0, @@ -82,9 +86,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 24, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 30 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(80222B30) = { @@ -100,7 +104,7 @@ EvtScript N(80222B30) = { }; EvtScript N(80222BC8) = { - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 12) EVT_RETURN @@ -118,13 +122,13 @@ EvtScript N(80222C08) = { }; s32 N(IdleAnimations_80222C6C)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Defeated, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Defeated, STATUS_END, }; EvtScript N(80222C78) = { EVT_SET(LVarA, LVar0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(SetAnimation, ACTOR_SELF, LVarA, LVar1) EVT_WAIT(10) @@ -286,7 +290,7 @@ EvtScript N(takeTurn_802234A4) = { EVT_WAIT(20) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(ActorSpeak, MSG_CH0_00B1, ACTOR_SELF, 1, 0x00210016, 0x00210003) + EVT_CALL(ActorSpeak, MSG_CH0_00B1, ACTOR_SELF, PRT_MAIN, 0x00210016, 0x00210003) EVT_END_IF EVT_END_IF EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) @@ -294,19 +298,19 @@ EvtScript N(takeTurn_802234A4) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Jump) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_20E2, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar1) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, LVar1, BS_FLAGS1_10) @@ -327,24 +331,24 @@ EvtScript N(takeTurn_802234A4) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_SUB(LVar0, 10) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_RETURN EVT_END_SWITCH EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_THREAD EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Midair) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Fall) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(2) @@ -367,13 +371,13 @@ EvtScript N(takeTurn_802234A4) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_WAIT(10) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -392,7 +396,7 @@ EvtScript N(nextTurn_80223D2C) = { EVT_IF_EQ(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_WAIT(15) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) EVT_THREAD EVT_SET(LVar1, 0) @@ -403,9 +407,9 @@ EvtScript N(nextTurn_80223D2C) = { EVT_CALL(SetActorYaw, ACTOR_PLAYER, LVar1) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Punch) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Punch) EVT_CALL(ActorSpeak, MSG_CH0_00AF, ACTOR_PARTNER, 0, 0x009D0008, 0x009D0001) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_NodYes) EVT_WAIT(10) EVT_THREAD @@ -418,7 +422,7 @@ EvtScript N(nextTurn_80223D2C) = { EVT_END_LOOP EVT_END_THREAD EVT_WAIT(10) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 4) EVT_END_IF @@ -456,9 +460,9 @@ EvtScript N(nextTurn_80223D2C) = { EVT_CALL(ActorSpeak, MSG_CH0_00B2, ACTOR_PARTNER, 0, 0x009D0008, 0x009D0001) EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE) EVT_EXEC_WAIT(N(80222B30)) - EVT_CALL(ActorSpeak, MSG_CH0_00B3, ACTOR_SELF, 1, 0x00210016, 0x00210003) + EVT_CALL(ActorSpeak, MSG_CH0_00B3, ACTOR_SELF, PRT_MAIN, 0x00210016, 0x00210003) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_ChargeArmsUp) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_ChargeArmsUp) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 16) EVT_PLAY_EFFECT(EFFECT_GATHER_ENERGY_PINK, 0, LVar0, LVar1, LVar2, 1, 30, 0) @@ -466,7 +470,7 @@ EvtScript N(nextTurn_80223D2C) = { EVT_WAIT(30) EVT_WAIT(20) EVT_CALL(SetActorVar, ACTOR_SELF, 4, 2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_JrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_JrTroopa_Idle) EVT_WAIT(20) EVT_END_IF EVT_END_IF diff --git a/src/battle/area/kmr_part_3/actor/mage_jr_troopa.c b/src/battle/area/kmr_part_3/actor/mage_jr_troopa.c index 84496537bb..17051527dc 100644 --- a/src/battle/area/kmr_part_3/actor/mage_jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/mage_jr_troopa.c @@ -7,81 +7,86 @@ #define NAMESPACE b_area_kmr_part_3_mage_jr_troopa +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations_8022A550)[] = { - STATUS_NORMAL, ANIM_MageJrTroopa_Idle, - STATUS_SLEEP, ANIM_MageJrTroopa_Sleep, - STATUS_STONE, ANIM_MageJrTroopa_Still, - STATUS_POISON, ANIM_MageJrTroopa_Still, - STATUS_STOP, ANIM_MageJrTroopa_Still, - STATUS_STATIC, ANIM_MageJrTroopa_Still, - STATUS_PARALYZE, ANIM_MageJrTroopa_Still, - STATUS_DIZZY, ANIM_MageJrTroopa_Dizzy, + STATUS_KEY_NORMAL, ANIM_MageJrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_MageJrTroopa_Sleep, + STATUS_KEY_STONE, ANIM_MageJrTroopa_Still, + STATUS_KEY_POISON, ANIM_MageJrTroopa_Still, + STATUS_KEY_STOP, ANIM_MageJrTroopa_Still, + STATUS_KEY_STATIC, ANIM_MageJrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_MageJrTroopa_Still, + STATUS_KEY_DIZZY, ANIM_MageJrTroopa_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8022A594)[] = { - STATUS_NORMAL, ANIM_MageJrTroopa_Idle, - STATUS_SLEEP, ANIM_MageJrTroopa_Still, - STATUS_STONE, ANIM_MageJrTroopa_Still, - STATUS_POISON, ANIM_MageJrTroopa_Still, - STATUS_STOP, ANIM_MageJrTroopa_Still, - STATUS_STATIC, ANIM_MageJrTroopa_Still, - STATUS_PARALYZE, ANIM_MageJrTroopa_Still, - STATUS_DIZZY, ANIM_MageJrTroopa_Dizzy, + STATUS_KEY_NORMAL, ANIM_MageJrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_MageJrTroopa_Still, + STATUS_KEY_STONE, ANIM_MageJrTroopa_Still, + STATUS_KEY_POISON, ANIM_MageJrTroopa_Still, + STATUS_KEY_STOP, ANIM_MageJrTroopa_Still, + STATUS_KEY_STATIC, ANIM_MageJrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_MageJrTroopa_Still, + STATUS_KEY_DIZZY, ANIM_MageJrTroopa_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8022A5D8)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Idle, - STATUS_SLEEP, ANIM_JrTroopa_Sleep, - STATUS_STONE, ANIM_JrTroopa_Still, - STATUS_POISON, ANIM_JrTroopa_Still, - STATUS_STOP, ANIM_JrTroopa_Still, - STATUS_STATIC, ANIM_JrTroopa_Still, - STATUS_PARALYZE, ANIM_JrTroopa_Still, - STATUS_DIZZY, ANIM_JrTroopa_Dizzy, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_JrTroopa_Sleep, + STATUS_KEY_STONE, ANIM_JrTroopa_Still, + STATUS_KEY_POISON, ANIM_JrTroopa_Still, + STATUS_KEY_STOP, ANIM_JrTroopa_Still, + STATUS_KEY_STATIC, ANIM_JrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_JrTroopa_Still, + STATUS_KEY_DIZZY, ANIM_JrTroopa_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8022A61C)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Defeated, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Defeated, STATUS_END, }; s32 N(DefenseTable_8022A628)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable_8022A634)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 35, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 45, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 45, - STATUS_SHRINK, 60, - STATUS_STOP, 60, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -2, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 35, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 45, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 45, + STATUS_KEY_SHRINK, 60, + STATUS_KEY_STOP, 60, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -2, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022A6E0)[] = { +ActorPartBlueprint N(ActorParts_8022A6E0)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 28 }, .opacity = 255, @@ -93,7 +98,7 @@ ActorPartBlueprint N(PartsTable_8022A6E0)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, .opacity = 255, @@ -112,8 +117,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_JR_TROOPA5, .level = 65, .maxHP = 50, - .partCount = ARRAY_COUNT( N(PartsTable_8022A6E0)), - .partsData = N(PartsTable_8022A6E0), + .partCount = ARRAY_COUNT( N(ActorParts_8022A6E0)), + .partsData = N(ActorParts_8022A6E0), .initScript = &N(init_8022ACE4), .statusTable = N(StatusTable_8022A634), .escapeChance = 0, @@ -125,14 +130,14 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 24, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -20, 35 }, - .statusMessageOffset = { 10, 25 }, + .statusTextOffset = { 10, 25 }, }; EvtScript N(8022A750) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar2) - EVT_IF_FLAG(LVar2, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar2, STATUS_FLAGS_IMMOBILIZED) EVT_RETURN EVT_END_IF EVT_CALL(GetBattleFlags, LVar2) @@ -196,7 +201,7 @@ EvtScript N(8022ABA8) = { }; EvtScript N(8022AC40) = { - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 12) EVT_RETURN @@ -328,28 +333,28 @@ EvtScript N(handleEvent_8022ADD8) = { EVT_END_CASE_GROUP EVT_CASE_EQ(58) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_Flail) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_Flail) EVT_WAIT(1000) EVT_END_IF EVT_CASE_EQ(31) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_Flail) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_Flail) EVT_WAIT(20) EVT_EXEC_WAIT(N(8022ABA8)) - EVT_CALL(ActorSpeak, MSG_Menus_019B, ACTOR_SELF, 1, 0x0024000E, 0x00240003) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_Idle) + EVT_CALL(ActorSpeak, MSG_Menus_019B, ACTOR_SELF, PRT_MAIN, 0x0024000E, 0x00240003) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_Idle) EVT_EXEC_WAIT(N(8022AC40)) EVT_END_IF EVT_CASE_EQ(42) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_Hurt) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_Idle) EVT_CASE_EQ(53) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_MageJrTroopa_Idle) @@ -372,7 +377,7 @@ EvtScript N(takeTurn_8022B4F0) = { EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_RaiseStaff) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_RaiseStaff) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -390,7 +395,7 @@ EvtScript N(takeTurn_8022B4F0) = { EVT_ADD(LVar1, LVar4) EVT_PLAY_EFFECT(EFFECT_GATHER_ENERGY_PINK, 0, LVar0, LVar1, LVar2, LVar5, 30, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_SwingStaff) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_SwingStaff) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_NO_CONTACT, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) @@ -467,15 +472,15 @@ EvtScript N(nextTurn_8022BB44) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_NOT_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 2) EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) EVT_IF_EQ(LVar0, 0) EVT_EXEC_WAIT(N(8022ABA8)) EVT_WAIT(20) EVT_END_IF - EVT_CALL(ActorSpeak, MSG_CH7_00DD, ACTOR_SELF, 1, 0x0024000E, 0x00240003) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_Idle) + EVT_CALL(ActorSpeak, MSG_CH7_00DD, ACTOR_SELF, PRT_MAIN, 0x0024000E, 0x00240003) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_Idle) EVT_EXEC_WAIT(N(8022AC40)) EVT_WAIT(20) EVT_END_IF @@ -490,8 +495,8 @@ EvtScript N(nextTurn_8022BB44) = { EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) EVT_EXEC_WAIT(N(8022ABA8)) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH7_00DE, ACTOR_SELF, 1, 0x0024000E, 0x00240003) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_Idle) + EVT_CALL(ActorSpeak, MSG_CH7_00DE, ACTOR_SELF, PRT_MAIN, 0x0024000E, 0x00240003) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_Idle) EVT_EXEC_WAIT(N(8022AC40)) EVT_WAIT(10) EVT_END_IF @@ -503,14 +508,14 @@ EvtScript N(nextTurn_8022BB44) = { EVT_WAIT(15) EVT_EXEC_WAIT(N(8022ABA8)) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_CH7_00DB, ACTOR_SELF, 2, 0x0021001A, 0x0021001B) + EVT_CALL(ActorSpeak, MSG_CH7_00DB, ACTOR_SELF, PRT_2, 0x0021001A, 0x0021001B) EVT_WAIT(8) EVT_EXEC_WAIT(N(8022A880)) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 1, FALSE) EVT_WAIT(15) - EVT_CALL(ActorSpeak, MSG_CH7_00DC, ACTOR_SELF, 1, 0x0024000E, 0x00240003) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_Idle) + EVT_CALL(ActorSpeak, MSG_CH7_00DC, ACTOR_SELF, PRT_MAIN, 0x0024000E, 0x00240003) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_Idle) EVT_WAIT(10) EVT_EXEC_WAIT(N(8022AC40)) EVT_END_IF @@ -522,7 +527,7 @@ EvtScript N(nextTurn_8022BB44) = { }; EvtScript N(8022BF1C) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(GetDamageSource, LVar5) EVT_SWITCH(LVar5) @@ -555,9 +560,9 @@ EvtScript N(8022BF1C) = { EVT_WAIT(3) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 1, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_JrTroopa_DefeatedBegin) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_JrTroopa_DefeatedBegin) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -571,8 +576,8 @@ EvtScript N(8022BF1C) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E5) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_JrTroopa_Defeated) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8022A61C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_JrTroopa_Defeated) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8022A61C))) EVT_WAIT(60) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_RETURN @@ -584,8 +589,8 @@ EvtScript N(8022C2A4) = { EVT_IF_EQ(LVar0, 1) EVT_WAIT(10) EVT_EXEC_WAIT(N(8022ABA8)) - EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, 1, 0x0024000E, 0x00240003) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MageJrTroopa_Idle) + EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, PRT_MAIN, 0x0024000E, 0x00240003) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MageJrTroopa_Idle) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_NE(LVar0, 1) EVT_EXEC_WAIT(N(8022AC40)) diff --git a/src/battle/area/kmr_part_3/actor/para_jr_troopa.c b/src/battle/area/kmr_part_3/actor/para_jr_troopa.c index 6d49443b8a..8304534158 100644 --- a/src/battle/area/kmr_part_3/actor/para_jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/para_jr_troopa.c @@ -6,69 +6,74 @@ #define NAMESPACE b_area_kmr_part_3_para_jr_troopa +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations_80225DC0)[] = { - STATUS_NORMAL, ANIM_ParaJrTroopa_Idle, - STATUS_SLEEP, ANIM_ParaJrTroopa_Sleep, - STATUS_STONE, ANIM_ParaJrTroopa_Still, - STATUS_POISON, ANIM_ParaJrTroopa_Still, - STATUS_STOP, ANIM_ParaJrTroopa_Still, - STATUS_STATIC, ANIM_ParaJrTroopa_Still, - STATUS_PARALYZE, ANIM_ParaJrTroopa_Still, - STATUS_DIZZY, ANIM_ParaJrTroopa_Dizzy, + STATUS_KEY_NORMAL, ANIM_ParaJrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_ParaJrTroopa_Sleep, + STATUS_KEY_STONE, ANIM_ParaJrTroopa_Still, + STATUS_KEY_POISON, ANIM_ParaJrTroopa_Still, + STATUS_KEY_STOP, ANIM_ParaJrTroopa_Still, + STATUS_KEY_STATIC, ANIM_ParaJrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_ParaJrTroopa_Still, + STATUS_KEY_DIZZY, ANIM_ParaJrTroopa_Dizzy, STATUS_END, }; s32 N(IdleAnimations_80225E04)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Idle, - STATUS_SLEEP, ANIM_JrTroopa_Sleep, - STATUS_STONE, ANIM_JrTroopa_Still, - STATUS_POISON, ANIM_JrTroopa_Still, - STATUS_STOP, ANIM_JrTroopa_Still, - STATUS_STATIC, ANIM_JrTroopa_Still, - STATUS_PARALYZE, ANIM_JrTroopa_Still, - STATUS_DIZZY, ANIM_JrTroopa_Dizzy, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_JrTroopa_Sleep, + STATUS_KEY_STONE, ANIM_JrTroopa_Still, + STATUS_KEY_POISON, ANIM_JrTroopa_Still, + STATUS_KEY_STOP, ANIM_JrTroopa_Still, + STATUS_KEY_STATIC, ANIM_JrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_JrTroopa_Still, + STATUS_KEY_DIZZY, ANIM_JrTroopa_Dizzy, STATUS_END, }; s32 N(IdleAnimations_80225E48)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Defeated, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Defeated, STATUS_END, }; s32 N(DefenseTable_80225E54)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable_80225E60)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 50, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 80, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80225F0C)[] = { +ActorPartBlueprint N(ActorParts_80225F0C)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 35 }, .opacity = 255, @@ -80,7 +85,7 @@ ActorPartBlueprint N(PartsTable_80225F0C)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, .opacity = 255, @@ -99,8 +104,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_JR_TROOPA3, .level = 52, .maxHP = 40, - .partCount = ARRAY_COUNT( N(PartsTable_80225F0C)), - .partsData = N(PartsTable_80225F0C), + .partCount = ARRAY_COUNT( N(ActorParts_80225F0C)), + .partsData = N(ActorParts_80225F0C), .initScript = &N(init_80226510), .statusTable = N(StatusTable_80225E60), .escapeChance = 0, @@ -112,14 +117,14 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 60, 35 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -25, 35 }, - .statusMessageOffset = { 10, 25 }, + .statusTextOffset = { 10, 25 }, }; EvtScript N(80225F7C) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar2) - EVT_IF_FLAG(LVar2, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar2, STATUS_FLAGS_IMMOBILIZED) EVT_RETURN EVT_END_IF EVT_CALL(GetBattleFlags, LVar2) @@ -183,7 +188,7 @@ EvtScript N(802263D4) = { }; EvtScript N(8022646C) = { - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 12) EVT_RETURN @@ -216,19 +221,19 @@ EvtScript N(init_80226510) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_802265A0) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, 0x41000) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -12, 28) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 4, -6) - EVT_CALL(N(UnkBattleFunc1), -25, 27, -1, 27) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -12, 28) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 4, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -25, 27, -1, 27) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 33) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -6) - EVT_CALL(N(UnkBattleFunc1), -22, 30, 2, 28) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 33) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -22, 30, 2, 28) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -297,7 +302,7 @@ EvtScript N(handleEvent_802266B0) = { EVT_SET_CONST(LVar1, ANIM_ParaJrTroopa_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_EXEC_WAIT(N(80227D38)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Idle) EVT_CASE_EQ(38) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_ParaJrTroopa_Hurt) @@ -320,27 +325,27 @@ EvtScript N(handleEvent_802266B0) = { EVT_EXEC_WAIT(N(80225F7C)) EVT_EXEC_WAIT(N(80227E1C)) EVT_CASE_EQ(42) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Hurt) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_FlyFast) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Idle) EVT_CASE_EQ(58) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Flail) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Flail) EVT_WAIT(1000) EVT_END_IF EVT_CASE_EQ(31) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_ParaJrTroopa_Flail) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_EXEC_WAIT(N(802263D4)) - EVT_CALL(ActorSpeak, MSG_Menus_019B, ACTOR_SELF, 1, 0x0025000C, 0x0025000C) + EVT_CALL(ActorSpeak, MSG_Menus_019B, ACTOR_SELF, PRT_MAIN, 0x0025000C, 0x0025000C) EVT_EXEC_WAIT(N(8022646C)) EVT_END_IF EVT_CASE_EQ(53) @@ -375,14 +380,14 @@ EvtScript N(80226D4C) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_SUB(LVar0, 10) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Idle) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Idle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_FlyFast) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Idle) EVT_RETURN EVT_END }; @@ -396,7 +401,7 @@ EvtScript N(takeTurn_80226F58) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_FlyFast) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -412,7 +417,7 @@ EvtScript N(takeTurn_80226F58) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_20E0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_FlyFast) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) @@ -423,7 +428,7 @@ EvtScript N(takeTurn_80226F58) = { EVT_SET(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -432,14 +437,14 @@ EvtScript N(takeTurn_80226F58) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_FlyFast) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END_CASE_GROUP @@ -451,7 +456,7 @@ EvtScript N(takeTurn_80226F58) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_20E0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_FlyFast) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) @@ -459,7 +464,7 @@ EvtScript N(takeTurn_80226F58) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_UNUSED_2C1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_END_SWITCH EVT_WAIT(2) @@ -473,16 +478,16 @@ EvtScript N(takeTurn_80226F58) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_FlyFast) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_WAIT(10) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_FlyFast) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -506,11 +511,11 @@ EvtScript N(nextTurn_80227724) = { EVT_CALL(SetBattleCamOffsetZ, 35) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_CH3_0020, ACTOR_SELF, 2, 0x0021001A, 0x0021001B) + EVT_CALL(ActorSpeak, MSG_CH3_0020, ACTOR_SELF, PRT_2, 0x0021001A, 0x0021001B) EVT_WAIT(8) EVT_EXEC_WAIT(N(802260AC)) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 1, FALSE) EVT_WAIT(30) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -519,7 +524,7 @@ EvtScript N(nextTurn_80227724) = { EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, 60, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_WAIT(8) - EVT_CALL(ActorSpeak, MSG_CH3_0021, ACTOR_SELF, 1, 0x0025000C, 0x00250002) + EVT_CALL(ActorSpeak, MSG_CH3_0021, ACTOR_SELF, PRT_MAIN, 0x0025000C, 0x00250002) EVT_WAIT(10) EVT_EXEC_WAIT(N(8022646C)) EVT_END_IF @@ -539,14 +544,14 @@ EvtScript N(802279B0) = { EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(FallToGoal, ACTOR_SELF, 10) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) EVT_CALL(HPBarToCurrent, ACTOR_SELF) - EVT_CALL(func_8027D2D8, ACTOR_SELF) + EVT_CALL(ShowHealthBar, ACTOR_SELF) EVT_LABEL(0) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -557,9 +562,9 @@ EvtScript N(802279B0) = { EVT_WAIT(3) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 1, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_JrTroopa_DefeatedBegin) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_JrTroopa_DefeatedBegin) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -573,8 +578,8 @@ EvtScript N(802279B0) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E5) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_JrTroopa_Defeated) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_80225E48))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_JrTroopa_Defeated) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_80225E48))) EVT_WAIT(60) EVT_CALL(SetActorFlagBits, ACTOR_SELF, 0x00400000, TRUE) EVT_RETURN @@ -583,7 +588,7 @@ EvtScript N(802279B0) = { EvtScript N(80227D38) = { EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ParaJrTroopa_FlyFast) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(SetGoalToHome, ACTOR_SELF) @@ -598,14 +603,14 @@ EvtScript N(80227D38) = { EvtScript N(80227E1C) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_WAIT(15) EVT_EXEC_WAIT(N(802263D4)) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, 1, 0x0025000C, 0x00250002) + EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, PRT_MAIN, 0x0025000C, 0x00250002) EVT_WAIT(10) EVT_EXEC_WAIT(N(8022646C)) EVT_END_IF diff --git a/src/battle/area/kmr_part_3/actor/paragoomba.c b/src/battle/area/kmr_part_3/actor/paragoomba.c index f83c298469..4dac311d64 100644 --- a/src/battle/area/kmr_part_3/actor/paragoomba.c +++ b/src/battle/area/kmr_part_3/actor/paragoomba.c @@ -6,66 +6,6 @@ #define NAMESPACE b_area_kmr_part_3_paragoomba1 -s32 N(DefenseTable_8021C1B0)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(DefenseTable_8021C1BC)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(StatusTable_8021C1C8)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -s32 N(StatusTable_8021C274)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 80, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 80, - STATUS_STATIC, 80, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - extern s32 N(IdleAnimations_8021DB9C)[]; extern s32 N(IdleAnimations_8021C3D8)[]; extern s32 N(IdleAnimations_8021C470)[]; @@ -75,10 +15,77 @@ extern EvtScript N(takeTurn_8021CDFC); extern EvtScript N(idle_8021C4D4); extern EvtScript N(handleEvent_8021C808); -ActorPartBlueprint N(PartsTable)[] = { +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, +}; + +s32 N(DefenseTable_8021C1B0)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(DefenseTable_8021C1BC)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(StatusTable_8021C1C8)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, + STATUS_END, +}; + +s32 N(StatusTable_8021C274)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 80, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 80, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, + STATUS_END, +}; + +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -90,7 +97,7 @@ ActorPartBlueprint N(PartsTable)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -102,7 +109,7 @@ ActorPartBlueprint N(PartsTable)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { -16, 24 }, .opacity = 255, @@ -114,7 +121,7 @@ ActorPartBlueprint N(PartsTable)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { -16, 24 }, .opacity = 255, @@ -131,8 +138,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_PARAGOOMBA, .level = 6, .maxHP = 2, - .partCount = ARRAY_COUNT( N(PartsTable)), - .partsData = N(PartsTable), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021F450), .statusTable = N(StatusTable_8021C274), .escapeChance = 90, @@ -144,44 +151,44 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 36, 26 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021C3D8)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Idle, - STATUS_STONE, ANIM_Paragoomba_Still, - STATUS_SLEEP, ANIM_Paragoomba_Sleep, - STATUS_POISON, ANIM_Paragoomba_Idle, - STATUS_STOP, ANIM_Paragoomba_Still, - STATUS_STATIC, ANIM_Paragoomba_Idle, - STATUS_PARALYZE, ANIM_Paragoomba_Still, - STATUS_DIZZY, ANIM_Paragoomba_Dizzy, - STATUS_FEAR, ANIM_Paragoomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Idle, + STATUS_KEY_STONE, ANIM_Paragoomba_Still, + STATUS_KEY_SLEEP, ANIM_Paragoomba_Sleep, + STATUS_KEY_POISON, ANIM_Paragoomba_Idle, + STATUS_KEY_STOP, ANIM_Paragoomba_Still, + STATUS_KEY_STATIC, ANIM_Paragoomba_Idle, + STATUS_KEY_PARALYZE, ANIM_Paragoomba_Still, + STATUS_KEY_DIZZY, ANIM_Paragoomba_Dizzy, + STATUS_KEY_FEAR, ANIM_Paragoomba_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021C424)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Run, - STATUS_STONE, ANIM_Paragoomba_Still, - STATUS_SLEEP, ANIM_Paragoomba_Sleep, - STATUS_POISON, ANIM_Paragoomba_Idle, - STATUS_STOP, ANIM_Paragoomba_Still, - STATUS_STATIC, ANIM_Paragoomba_Run, - STATUS_PARALYZE, ANIM_Paragoomba_Still, - STATUS_DIZZY, ANIM_Paragoomba_Dizzy, - STATUS_FEAR, ANIM_Paragoomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Run, + STATUS_KEY_STONE, ANIM_Paragoomba_Still, + STATUS_KEY_SLEEP, ANIM_Paragoomba_Sleep, + STATUS_KEY_POISON, ANIM_Paragoomba_Idle, + STATUS_KEY_STOP, ANIM_Paragoomba_Still, + STATUS_KEY_STATIC, ANIM_Paragoomba_Run, + STATUS_KEY_PARALYZE, ANIM_Paragoomba_Still, + STATUS_KEY_DIZZY, ANIM_Paragoomba_Dizzy, + STATUS_KEY_FEAR, ANIM_Paragoomba_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021C470)[] = { - STATUS_NORMAL, ANIM_Paragoomba_LWingStill, + STATUS_KEY_NORMAL, ANIM_Paragoomba_LWingStill, STATUS_END, }; s32 N(IdleAnimations_8021C47C)[] = { - STATUS_NORMAL, ANIM_Paragoomba_RWingStill, + STATUS_KEY_NORMAL, ANIM_Paragoomba_RWingStill, STATUS_END, }; @@ -200,7 +207,7 @@ EvtScript N(idle_8021C4D4) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -209,13 +216,13 @@ EvtScript N(idle_8021C4D4) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021C424))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021C424))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -226,11 +233,11 @@ EvtScript N(idle_8021C4D4) = { EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021C3D8))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021C3D8))) EVT_LOOP(40) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -246,7 +253,7 @@ EvtScript N(8021C790) = { EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Idle) EVT_RETURN EVT_END }; @@ -303,7 +310,7 @@ EvtScript N(handleEvent_8021C808) = { EVT_SET_CONST(LVar0, 0x00000002) EVT_SET_CONST(LVar1, ANIM_Paragoomba_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dizzy) EVT_EXEC_WAIT(N(8021C790)) EVT_CASE_EQ(38) EVT_SET_CONST(LVar0, 0x00000002) @@ -334,7 +341,7 @@ EvtScript N(handleEvent_8021C808) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(53) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Run) EVT_EXEC_WAIT(N(8021C790)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(49) @@ -373,7 +380,7 @@ EvtScript N(takeTurn_8021CDFC) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -392,7 +399,7 @@ EvtScript N(takeTurn_8021CDFC) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dive) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -403,7 +410,7 @@ EvtScript N(takeTurn_8021CDFC) = { EVT_SET(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_QUADRATIC_OUT) EVT_THREAD EVT_LOOP(4) @@ -411,23 +418,23 @@ EvtScript N(takeTurn_8021CDFC) = { EVT_WAIT(4) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Miss) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 2, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Miss) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_2, EVT_FLOAT(3.0)) EVT_WAIT(10) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0x80000000, 0, 0, 0) EVT_END_IF EVT_WAIT(10) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 2, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0)) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Run) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(8021C790)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -442,7 +449,7 @@ EvtScript N(takeTurn_8021CDFC) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dive) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -450,7 +457,7 @@ EvtScript N(takeTurn_8021CDFC) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_END_SWITCH EVT_WAIT(2) @@ -462,12 +469,12 @@ EvtScript N(takeTurn_8021CDFC) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(5) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Run) EVT_EXEC_WAIT(N(8021C790)) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -482,21 +489,21 @@ EvtScript N(takeTurn_8021CDFC) = { extern EvtScript N(8021DC34); EvtScript N(8021D614) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, 0x00020005) - EVT_CALL(SetPartFlags, ACTOR_SELF, 3, 0x00120004) - EVT_CALL(SetPartFlags, ACTOR_SELF, 4, 0x00120004) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, 0x00800004) + EVT_CALL(HideHealthBar, ACTOR_SELF) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, 0x00020005) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_3, 0x00120004) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_4, 0x00120004) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, 0x00800004) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, -9, 7, -2) - EVT_CALL(SetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 4, 11, 7, -2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_3, -9, 7, -2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_4, 11, 7, -2) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, 15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_BurnStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_BurnStill) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hurt) EVT_END_IF EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_301, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -511,7 +518,7 @@ EvtScript N(8021D614) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, 15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hurt) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -522,21 +529,21 @@ EvtScript N(8021D614) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(10) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, 1, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, 1, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, 1, TRUE) EVT_CALL(GetIndexFromHome, ACTOR_SELF, LVar0) EVT_MOD(LVar0, 4) EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorFlagBits, ACTOR_SELF, 512, FALSE) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_8021C1C8))) EVT_CALL(SetActorType, ACTOR_SELF, 7) @@ -549,28 +556,28 @@ EvtScript N(8021D614) = { }; s32 N(IdleAnimations_8021DB9C)[] = { - STATUS_NORMAL, ANIM_Goomba_Idle, - STATUS_STONE, ANIM_Goomba_Still, - STATUS_SLEEP, ANIM_Goomba_Sleep, - STATUS_POISON, ANIM_Goomba_Idle, - STATUS_STOP, ANIM_Goomba_Still, - STATUS_STATIC, ANIM_Goomba_Idle, - STATUS_PARALYZE, ANIM_Goomba_Still, - STATUS_DIZZY, ANIM_Goomba_Dizzy, - STATUS_FEAR, ANIM_Goomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Idle, + STATUS_KEY_STONE, ANIM_Goomba_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Idle, + STATUS_KEY_PARALYZE, ANIM_Goomba_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021DBE8)[] = { - STATUS_NORMAL, ANIM_Goomba_Run, - STATUS_STONE, ANIM_Goomba_Still, - STATUS_SLEEP, ANIM_Goomba_Sleep, - STATUS_POISON, ANIM_Goomba_Idle, - STATUS_STOP, ANIM_Goomba_Still, - STATUS_STATIC, ANIM_Goomba_Run, - STATUS_PARALYZE, ANIM_Goomba_Still, - STATUS_DIZZY, ANIM_Goomba_Dizzy, - STATUS_FEAR, ANIM_Goomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Run, + STATUS_KEY_STONE, ANIM_Goomba_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Run, + STATUS_KEY_PARALYZE, ANIM_Goomba_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Dizzy, STATUS_END, }; @@ -593,7 +600,7 @@ EvtScript N(idle) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -602,14 +609,14 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021DBE8))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021DBE8))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021DB9C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021DB9C))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -618,14 +625,14 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021DBE8))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021DBE8))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021DB9C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021DB9C))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -682,14 +689,14 @@ EvtScript N(handleEvent_8021DF5C) = { EVT_SET_CONST(LVar1, ANIM_Goomba_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(38) @@ -718,12 +725,12 @@ EvtScript N(handleEvent_8021DF5C) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(53) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(49) EVT_SET_CONST(LVar0, 0x00000001) @@ -746,7 +753,7 @@ EvtScript N(handleEvent_8021DF5C) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -762,18 +769,18 @@ EvtScript N(takeTurn_8021E788) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, ((0)), 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) @@ -801,10 +808,10 @@ EvtScript N(takeTurn_8021E788) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -813,14 +820,14 @@ EvtScript N(takeTurn_8021E788) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0x80000000, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -835,26 +842,26 @@ EvtScript N(takeTurn_8021E788) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -877,10 +884,10 @@ EvtScript N(takeTurn_8021E788) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Tense) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Tense) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -897,7 +904,7 @@ EvtScript N(takeTurn_8021E788) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -910,15 +917,15 @@ EvtScript N(takeTurn_8021E788) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/kmr_part_3/actor/spiked_goomba.c b/src/battle/area/kmr_part_3/actor/spiked_goomba.c index bf434a07e8..8190cd2392 100644 --- a/src/battle/area/kmr_part_3/actor/spiked_goomba.c +++ b/src/battle/area/kmr_part_3/actor/spiked_goomba.c @@ -5,46 +5,50 @@ #define NAMESPACE b_area_kmr_part_3_spiked_goomba -s32 N(DefenseTable_8021A390)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(StatusTable_8021A39C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 80, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 80, - STATUS_STATIC, 80, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - extern s32 N(IdleAnimations_8021A494)[]; extern EvtScript N(init_8021BEBC); extern EvtScript N(takeTurn_8021B19C); extern EvtScript N(idle_8021A578); extern EvtScript N(handleEvent_8021A854); -ActorPartBlueprint N(PartsTable_8021A448)[] = { +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + +s32 N(DefenseTable_8021A390)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(StatusTable_8021A39C)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 80, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 80, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, + STATUS_END, +}; + +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -61,8 +65,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SPIKED_GOOMBA, .level = 6, .maxHP = 2, - .partCount = ARRAY_COUNT( N(PartsTable_8021A448)), - .partsData = N(PartsTable_8021A448), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021BEBC), .statusTable = N(StatusTable_8021A39C), .escapeChance = 90, @@ -74,34 +78,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 24, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021A494)[] = { - STATUS_NORMAL, ANIM_SpikedGoomba_Idle, - STATUS_STONE, ANIM_SpikedGoomba_Still, - STATUS_SLEEP, ANIM_SpikedGoomba_Sleep, - STATUS_POISON, ANIM_SpikedGoomba_Idle, - STATUS_STOP, ANIM_SpikedGoomba_Still, - STATUS_STATIC, ANIM_SpikedGoomba_Idle, - STATUS_PARALYZE, ANIM_SpikedGoomba_Still, - STATUS_DIZZY, ANIM_SpikedGoomba_Dizzy, - STATUS_FEAR, ANIM_SpikedGoomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_SpikedGoomba_Idle, + STATUS_KEY_STONE, ANIM_SpikedGoomba_Still, + STATUS_KEY_SLEEP, ANIM_SpikedGoomba_Sleep, + STATUS_KEY_POISON, ANIM_SpikedGoomba_Idle, + STATUS_KEY_STOP, ANIM_SpikedGoomba_Still, + STATUS_KEY_STATIC, ANIM_SpikedGoomba_Idle, + STATUS_KEY_PARALYZE, ANIM_SpikedGoomba_Still, + STATUS_KEY_DIZZY, ANIM_SpikedGoomba_Dizzy, + STATUS_KEY_FEAR, ANIM_SpikedGoomba_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021A4E0)[] = { - STATUS_NORMAL, ANIM_SpikedGoomba_Run, - STATUS_STONE, ANIM_SpikedGoomba_Still, - STATUS_SLEEP, ANIM_SpikedGoomba_Sleep, - STATUS_POISON, ANIM_SpikedGoomba_Idle, - STATUS_STOP, ANIM_SpikedGoomba_Still, - STATUS_STATIC, ANIM_SpikedGoomba_Run, - STATUS_PARALYZE, ANIM_SpikedGoomba_Still, - STATUS_DIZZY, ANIM_SpikedGoomba_Dizzy, - STATUS_FEAR, ANIM_SpikedGoomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_SpikedGoomba_Run, + STATUS_KEY_STONE, ANIM_SpikedGoomba_Still, + STATUS_KEY_SLEEP, ANIM_SpikedGoomba_Sleep, + STATUS_KEY_POISON, ANIM_SpikedGoomba_Idle, + STATUS_KEY_STOP, ANIM_SpikedGoomba_Still, + STATUS_KEY_STATIC, ANIM_SpikedGoomba_Run, + STATUS_KEY_PARALYZE, ANIM_SpikedGoomba_Still, + STATUS_KEY_DIZZY, ANIM_SpikedGoomba_Dizzy, + STATUS_KEY_FEAR, ANIM_SpikedGoomba_Dizzy, STATUS_END, }; @@ -120,7 +124,7 @@ EvtScript N(idle_8021A578) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -129,14 +133,14 @@ EvtScript N(idle_8021A578) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021A4E0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021A4E0))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021A494))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021A494))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -145,14 +149,14 @@ EvtScript N(idle_8021A578) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021A4E0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021A4E0))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021A494))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021A494))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -209,14 +213,14 @@ EvtScript N(handleEvent_8021A854) = { EVT_SET_CONST(LVar1, ANIM_SpikedGoomba_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(38) @@ -245,12 +249,12 @@ EvtScript N(handleEvent_8021A854) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(53) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(49) EVT_SET_CONST(LVar0, 0x00000001) @@ -273,8 +277,8 @@ EvtScript N(handleEvent_8021A854) = { EVT_RETURN EVT_CASE_EQ(27) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Laugh) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Laugh) EVT_END_IF EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -288,7 +292,7 @@ EvtScript N(handleEvent_8021A854) = { EVT_WAIT(20) EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -304,18 +308,18 @@ EvtScript N(takeTurn_8021B19C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, ((0)), 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) @@ -343,10 +347,10 @@ EvtScript N(takeTurn_8021B19C) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -355,14 +359,14 @@ EvtScript N(takeTurn_8021B19C) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0x80000000, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -377,26 +381,26 @@ EvtScript N(takeTurn_8021B19C) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -419,10 +423,10 @@ EvtScript N(takeTurn_8021B19C) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -439,7 +443,7 @@ EvtScript N(takeTurn_8021B19C) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -454,19 +458,19 @@ EvtScript N(takeTurn_8021B19C) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar0) EVT_IF_GT(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Laugh) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Laugh) EVT_WAIT(15) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_WAIT(3) EVT_END_IF EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/kmr_part_3/actor/spiked_para_jr_troopa.c b/src/battle/area/kmr_part_3/actor/spiked_para_jr_troopa.c index 262dd0829d..0deeb2a4ae 100644 --- a/src/battle/area/kmr_part_3/actor/spiked_para_jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/spiked_para_jr_troopa.c @@ -7,62 +7,67 @@ #define NAMESPACE b_area_kmr_part_3_spiked_para_jr_troopa +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations_80227F00)[] = { - STATUS_NORMAL, ANIM_SpikedParaJrTroopa_Idle, - STATUS_SLEEP, ANIM_SpikedParaJrTroopa_Sleep, - STATUS_STONE, ANIM_SpikedParaJrTroopa_Still, - STATUS_POISON, ANIM_SpikedParaJrTroopa_Still, - STATUS_STOP, ANIM_SpikedParaJrTroopa_Still, - STATUS_STATIC, ANIM_SpikedParaJrTroopa_Still, - STATUS_PARALYZE, ANIM_SpikedParaJrTroopa_Still, - STATUS_DIZZY, ANIM_SpikedParaJrTroopa_Dizzy, + STATUS_KEY_NORMAL, ANIM_SpikedParaJrTroopa_Idle, + STATUS_KEY_SLEEP, ANIM_SpikedParaJrTroopa_Sleep, + STATUS_KEY_STONE, ANIM_SpikedParaJrTroopa_Still, + STATUS_KEY_POISON, ANIM_SpikedParaJrTroopa_Still, + STATUS_KEY_STOP, ANIM_SpikedParaJrTroopa_Still, + STATUS_KEY_STATIC, ANIM_SpikedParaJrTroopa_Still, + STATUS_KEY_PARALYZE, ANIM_SpikedParaJrTroopa_Still, + STATUS_KEY_DIZZY, ANIM_SpikedParaJrTroopa_Dizzy, STATUS_END, }; s32 N(IdleAnimations_80227F44)[] = { - STATUS_NORMAL, ANIM_JrTroopa_OutOfBreath, + STATUS_KEY_NORMAL, ANIM_JrTroopa_OutOfBreath, STATUS_END, }; s32 N(IdleAnimations_80227F50)[] = { - STATUS_NORMAL, ANIM_JrTroopa_Defeated, + STATUS_KEY_NORMAL, ANIM_JrTroopa_Defeated, STATUS_END, }; s32 N(DefenseTable_80227F5C)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable_80227F68)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 40, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 45, - STATUS_SHRINK, 60, - STATUS_STOP, 70, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 40, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 45, + STATUS_KEY_SHRINK, 60, + STATUS_KEY_STOP, 70, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80228014)[] = { +ActorPartBlueprint N(ActorParts_80228014)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 32 }, .opacity = 255, @@ -74,7 +79,7 @@ ActorPartBlueprint N(PartsTable_80228014)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, .opacity = 255, @@ -93,8 +98,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_JR_TROOPA4, .level = 59, .maxHP = 40, - .partCount = ARRAY_COUNT( N(PartsTable_80228014)), - .partsData = N(PartsTable_80228014), + .partCount = ARRAY_COUNT( N(ActorParts_80228014)), + .partsData = N(ActorParts_80228014), .initScript = &N(init_80228618), .statusTable = N(StatusTable_80227F68), .escapeChance = 0, @@ -106,14 +111,14 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 60, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -25, 35 }, - .statusMessageOffset = { 10, 25 }, + .statusTextOffset = { 10, 25 }, }; EvtScript N(80228084) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar2) - EVT_IF_FLAG(LVar2, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar2, STATUS_FLAGS_IMMOBILIZED) EVT_RETURN EVT_END_IF EVT_CALL(GetBattleFlags, LVar2) @@ -177,7 +182,7 @@ EvtScript N(802284DC) = { }; EvtScript N(80228574) = { - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 12) EVT_RETURN @@ -211,19 +216,19 @@ EvtScript N(init_80228618) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_802286C0) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, 0x41000) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -15, 28) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 4, -6) - EVT_CALL(N(UnkBattleFunc1), -25, 27, -1, 27) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -15, 28) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 4, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -25, 27, -1, 27) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -8, 33) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -6) - EVT_CALL(N(UnkBattleFunc1), -22, 30, 2, 28) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -8, 33) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -22, 30, 2, 28) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -304,7 +309,7 @@ EvtScript N(handleEvent_802287D0) = { EVT_SET_CONST(LVar1, ANIM_SpikedParaJrTroopa_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_EXEC_WAIT(N(8022A39C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Idle) EVT_CASE_EQ(38) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_SpikedParaJrTroopa_Hurt) @@ -343,30 +348,30 @@ EvtScript N(handleEvent_802287D0) = { EVT_WAIT(20) EVT_CASE_EQ(58) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Flail) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Flail) EVT_WAIT(1000) EVT_END_IF EVT_CASE_EQ(31) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Flail) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Flail) EVT_WAIT(20) EVT_EXEC_WAIT(N(802284DC)) - EVT_CALL(ActorSpeak, MSG_Menus_019B, ACTOR_SELF, 1, 0x0023000F, 0x0023000F) + EVT_CALL(ActorSpeak, MSG_Menus_019B, ACTOR_SELF, PRT_MAIN, 0x0023000F, 0x0023000F) EVT_EXEC_WAIT(N(80228574)) EVT_END_IF EVT_CASE_EQ(42) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Hurt) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Idle) EVT_CASE_EQ(53) EVT_EXEC_WAIT(N(8022A39C)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Idle) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(49) EVT_SET_CONST(LVar0, 0x00000001) @@ -399,8 +404,8 @@ EvtScript N(8022906C) = { EVT_IF_NOT_FLAG(LVar0, 0x351000) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) EVT_EXEC_WAIT(N(802284DC)) - EVT_CALL(ActorSpeak, MSG_MAC_Port_00BC, ACTOR_SELF, 1, -1, -1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(ActorSpeak, MSG_MAC_Port_00BC, ACTOR_SELF, PRT_MAIN, -1, -1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Idle) EVT_EXEC_WAIT(N(80228574)) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) @@ -425,14 +430,14 @@ EvtScript N(80229160) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_SUB(LVar0, 10) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Idle) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Idle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Idle) EVT_RETURN EVT_END }; @@ -446,7 +451,7 @@ EvtScript N(takeTurn_8022936C) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -462,7 +467,7 @@ EvtScript N(takeTurn_8022936C) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_20E0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) @@ -473,7 +478,7 @@ EvtScript N(takeTurn_8022936C) = { EVT_SET(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -482,14 +487,14 @@ EvtScript N(takeTurn_8022936C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END_CASE_GROUP @@ -501,7 +506,7 @@ EvtScript N(takeTurn_8022936C) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_20E0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) @@ -509,7 +514,7 @@ EvtScript N(takeTurn_8022936C) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_UNUSED_2C1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_END_SWITCH EVT_WAIT(2) @@ -523,16 +528,16 @@ EvtScript N(takeTurn_8022936C) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_WAIT(10) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -572,11 +577,11 @@ EvtScript N(nextTurn_80229B38) = { EVT_CALL(SetBattleCamOffsetZ, 35) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_MAC_Port_00B8, ACTOR_SELF, 2, 0x00210005, 0x00210005) + EVT_CALL(ActorSpeak, MSG_MAC_Port_00B8, ACTOR_SELF, PRT_2, 0x00210005, 0x00210005) EVT_WAIT(10) EVT_CALL(SetActorFlagBits, ACTOR_SELF, 0x00001000, TRUE) EVT_CALL(func_8026D940, ACTOR_SELF, -20, 40) - EVT_CALL(func_8027D2D8, ACTOR_SELF) + EVT_CALL(ShowHealthBar, ACTOR_SELF) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar0, 115) EVT_SET(LVar1, 150) @@ -590,7 +595,7 @@ EvtScript N(nextTurn_80229B38) = { EVT_IF_GT(LVar0, 20) EVT_GOTO(0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_JrTroopa_Panic) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_JrTroopa_Panic) EVT_WAIT(15) EVT_LOOP(2) EVT_CALL(SetActorFlagBits, ACTOR_SELF, 0x00001000, FALSE) @@ -598,18 +603,18 @@ EvtScript N(nextTurn_80229B38) = { EVT_CALL(SetActorFlagBits, ACTOR_SELF, 0x00001000, TRUE) EVT_WAIT(15) EVT_END_LOOP - EVT_CALL(ActorSpeak, MSG_MAC_Port_00B9, ACTOR_SELF, 2, 0x00210013, 0x00210013) + EVT_CALL(ActorSpeak, MSG_MAC_Port_00B9, ACTOR_SELF, PRT_2, 0x00210013, 0x00210013) EVT_CALL(SetActorFlagBits, ACTOR_SELF, 0x00001000, FALSE) EVT_CALL(N(FreeIcon), LVarA) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(func_8026D940, ACTOR_SELF, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_JrTroopa_OutOfBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_JrTroopa_OutOfBreath) EVT_WAIT(25) - EVT_CALL(ActorSpeak, MSG_MAC_Port_00BA, ACTOR_SELF, 2, 0x00210016, 0x00210003) + EVT_CALL(ActorSpeak, MSG_MAC_Port_00BA, ACTOR_SELF, PRT_2, 0x00210016, 0x00210003) EVT_WAIT(10) EVT_EXEC_WAIT(N(802281B4)) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 1, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 1, FALSE) EVT_WAIT(20) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 80, 0) @@ -618,7 +623,7 @@ EvtScript N(nextTurn_80229B38) = { EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_MAC_Port_00BB, ACTOR_SELF, 1, 0x0023000F, 0x00230003) + EVT_CALL(ActorSpeak, MSG_MAC_Port_00BB, ACTOR_SELF, PRT_MAIN, 0x0023000F, 0x00230003) EVT_WAIT(10) EVT_EXEC_WAIT(N(80228574)) EVT_END_IF @@ -638,14 +643,14 @@ EvtScript N(8022A018) = { EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(FallToGoal, ACTOR_SELF, 10) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) EVT_CALL(HPBarToCurrent, ACTOR_SELF) - EVT_CALL(func_8027D2D8, ACTOR_SELF) + EVT_CALL(ShowHealthBar, ACTOR_SELF) EVT_LABEL(0) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -656,9 +661,9 @@ EvtScript N(8022A018) = { EVT_WAIT(3) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 1, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_JrTroopa_DefeatedBegin) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 1, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_JrTroopa_DefeatedBegin) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -672,8 +677,8 @@ EvtScript N(8022A018) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E5) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_JrTroopa_Defeated) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_80227F50))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_JrTroopa_Defeated) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_80227F50))) EVT_WAIT(60) EVT_CALL(SetActorFlagBits, ACTOR_SELF, 0x00400000, TRUE) EVT_RETURN @@ -682,7 +687,7 @@ EvtScript N(8022A018) = { EvtScript N(8022A39C) = { EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedParaJrTroopa_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedParaJrTroopa_FlyFast) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(SetGoalToHome, ACTOR_SELF) @@ -697,13 +702,13 @@ EvtScript N(8022A39C) = { EvtScript N(8022A480) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) EVT_WAIT(10) EVT_EXEC_WAIT(N(802284DC)) - EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, 1, 0x0023000F, 0x00230003) + EVT_CALL(ActorSpeak, MSG_Menus_019A, ACTOR_SELF, PRT_MAIN, 0x0023000F, 0x00230003) EVT_EXEC_WAIT(N(80228574)) EVT_END_IF EVT_END_IF diff --git a/src/battle/area/kmr_part_3/area.c b/src/battle/area/kmr_part_3/area.c index 2a9790be7f..c830e5a522 100644 --- a/src/battle/area/kmr_part_3/area.c +++ b/src/battle/area/kmr_part_3/area.c @@ -25,55 +25,55 @@ extern Stage N(mac_01); extern Stage N(kpa_01); Formation N(Formation_00) = { - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 0 }, + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 0), }; Formation N(Formation_01) = { - { .actor = &N(paragoomba2), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(paragoomba1), .home = { .index = 6 }, .priority = 9 }, + ACTOR_BY_IDX(N(paragoomba2), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(paragoomba1), BTL_POS_AIR_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(jr_troopa), .home = { .index = 2 }, .priority = 0 }, + ACTOR_BY_IDX(N(jr_troopa), BTL_POS_GROUND_C, 0), }; Formation N(Formation_03) = { - { .actor = &N(egg_jr_troopa), .home = { .index = 2 }, .priority = 0 }, + ACTOR_BY_IDX(N(egg_jr_troopa), BTL_POS_GROUND_C, 0), }; Formation N(Formation_04) = { - { .actor = &N(para_jr_troopa), .home = { .index = 2 }, .priority = 0 }, + ACTOR_BY_IDX(N(para_jr_troopa), BTL_POS_GROUND_C, 0), }; Formation N(Formation_05) = { - { .actor = &N(spiked_para_jr_troopa), .home = { .index = 1 }, .priority = 0 }, + ACTOR_BY_IDX(N(spiked_para_jr_troopa), BTL_POS_GROUND_B, 0), }; Formation N(Formation_06) = { - { .actor = &N(mage_jr_troopa), .home = { .index = 2 }, .priority = 0 }, + ACTOR_BY_IDX(N(mage_jr_troopa), BTL_POS_GROUND_C, 0), }; Formation N(Formation_07) = { - { .actor = &N(final_jr_troopa), .home = { .index = 2 }, .priority = 0 }, + ACTOR_BY_IDX(N(final_jr_troopa), BTL_POS_GROUND_C, 0), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kmr_03), "トゲクリボー(レクチャー)"), - BATTLE(N(Formation_01), &N(kmr_03), "パタクリボー(レクチャー)"), - BATTLE(N(Formation_02), &N(kmr_05), "コワッパ1"), - BATTLE(N(Formation_03), &N(nok_01), "コワッパ2"), - BATTLE(N(Formation_04), &N(mim_01), "コワッパ4"), - BATTLE(N(Formation_05), &N(mac_01), "コワッパ5"), - BATTLE(N(Formation_06), &N(sam_01), "コワッパ6"), - BATTLE(N(Formation_07), &N(kpa_01), "コワッパ7"), + BATTLE(N(Formation_00), N(kmr_03), "トゲクリボー(レクチャー)"), + BATTLE(N(Formation_01), N(kmr_03), "パタクリボー(レクチャー)"), + BATTLE(N(Formation_02), N(kmr_05), "コワッパ1"), + BATTLE(N(Formation_03), N(nok_01), "コワッパ2"), + BATTLE(N(Formation_04), N(mim_01), "コワッパ4"), + BATTLE(N(Formation_05), N(mac_01), "コワッパ5"), + BATTLE(N(Formation_06), N(sam_01), "コワッパ6"), + BATTLE(N(Formation_07), N(kpa_01), "コワッパ7"), {}, }; StageList N(Stages) = { - { "kmr_02", &N(kmr_02) }, - { "kmr_03", &N(kmr_03) }, - { "kmr_04", &N(kmr_04) }, - { "kmr_05", &N(kmr_05) }, - { "kmr_06", &N(kmr_06) }, + STAGE("kmr_02", N(kmr_02)), + STAGE("kmr_03", N(kmr_03)), + STAGE("kmr_04", N(kmr_04)), + STAGE("kmr_05", N(kmr_05)), + STAGE("kmr_06", N(kmr_06)), {}, }; diff --git a/src/battle/area/kmr_part_3/stage/kmr_05.c b/src/battle/area/kmr_part_3/stage/kmr_05.c index 9f4084bb3d..9d1d073eac 100644 --- a/src/battle/area/kmr_part_3/stage/kmr_05.c +++ b/src/battle/area/kmr_part_3/stage/kmr_05.c @@ -4,7 +4,7 @@ #define NAMESPACE b_area_kmr_part_3_kmr_05 -#include "world/common/todo/clouds.inc.c" +#include "battle/common/stage/MovingClouds.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) diff --git a/src/battle/area/kpa/actor/bony_beetle.c b/src/battle/area/kpa/actor/bony_beetle.c index 7aad9fa901..9687b9152a 100644 --- a/src/battle/area/kpa/actor/bony_beetle.c +++ b/src/battle/area/kpa/actor/bony_beetle.c @@ -6,19 +6,6 @@ #define NAMESPACE b_area_kpa_bony_beetle -enum N(ActorVars) { - N(VAR_WAS_HIT) = 1, - N(VAR_STATE) = 8, - N(VAR_FLIP_TRIGGERED) = 9, -}; - -enum N(States) { - N(STATE_NORMAL) = 0, - N(STATE_SPIKY) = 1, - N(STATE_FLIPPED) = 2, - N(STATE_SPIKY_FLIPPED) = 3, -}; - extern EvtScript N(init); extern EvtScript N(idle); extern EvtScript N(takeTurn); @@ -33,97 +20,114 @@ extern EvtScript N(attackSpikeBounce); extern EvtScript N(standUp); extern EvtScript N(standUp_spiky); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + +enum N(ActorVars) { + N(VAR_WAS_HIT) = 1, + N(VAR_STATE) = 8, + N(VAR_FLIP_TRIGGERED) = 9, +}; + +enum N(States) { + N(STATE_NORMAL) = 0, + N(STATE_SPIKY) = 1, + N(STATE_FLIPPED) = 2, + N(STATE_SPIKY_FLIPPED) = 3, +}; + s32 N(IdleAnimations_normal)[] = { - STATUS_NORMAL, ANIM_BonyBeetle_Anim04, - STATUS_STONE, ANIM_BonyBeetle_Anim00, - STATUS_SLEEP, ANIM_BonyBeetle_Anim2A, - STATUS_POISON, ANIM_BonyBeetle_Anim04, - STATUS_STOP, ANIM_BonyBeetle_Anim00, - STATUS_STATIC, ANIM_BonyBeetle_Anim04, - STATUS_PARALYZE, ANIM_BonyBeetle_Anim00, - STATUS_DIZZY, ANIM_BonyBeetle_Anim26, - STATUS_FEAR, ANIM_BonyBeetle_Anim26, + STATUS_KEY_NORMAL, ANIM_BonyBeetle_Anim04, + STATUS_KEY_STONE, ANIM_BonyBeetle_Anim00, + STATUS_KEY_SLEEP, ANIM_BonyBeetle_Anim2A, + STATUS_KEY_POISON, ANIM_BonyBeetle_Anim04, + STATUS_KEY_STOP, ANIM_BonyBeetle_Anim00, + STATUS_KEY_STATIC, ANIM_BonyBeetle_Anim04, + STATUS_KEY_PARALYZE, ANIM_BonyBeetle_Anim00, + STATUS_KEY_DIZZY, ANIM_BonyBeetle_Anim26, + STATUS_KEY_FEAR, ANIM_BonyBeetle_Anim26, STATUS_END, }; s32 N(IdleAnimations_spiky)[] = { - STATUS_NORMAL, ANIM_BonyBeetle_Anim05, - STATUS_STONE, ANIM_BonyBeetle_Anim01, - STATUS_SLEEP, ANIM_BonyBeetle_Anim2B, - STATUS_POISON, ANIM_BonyBeetle_Anim05, - STATUS_STOP, ANIM_BonyBeetle_Anim01, - STATUS_STATIC, ANIM_BonyBeetle_Anim05, - STATUS_PARALYZE, ANIM_BonyBeetle_Anim01, - STATUS_DIZZY, ANIM_BonyBeetle_Anim27, - STATUS_FEAR, ANIM_BonyBeetle_Anim27, + STATUS_KEY_NORMAL, ANIM_BonyBeetle_Anim05, + STATUS_KEY_STONE, ANIM_BonyBeetle_Anim01, + STATUS_KEY_SLEEP, ANIM_BonyBeetle_Anim2B, + STATUS_KEY_POISON, ANIM_BonyBeetle_Anim05, + STATUS_KEY_STOP, ANIM_BonyBeetle_Anim01, + STATUS_KEY_STATIC, ANIM_BonyBeetle_Anim05, + STATUS_KEY_PARALYZE, ANIM_BonyBeetle_Anim01, + STATUS_KEY_DIZZY, ANIM_BonyBeetle_Anim27, + STATUS_KEY_FEAR, ANIM_BonyBeetle_Anim27, STATUS_END, }; s32 N(IdleAnimations_flipped)[] = { - STATUS_NORMAL, ANIM_BonyBeetle_Anim06, - STATUS_STONE, ANIM_BonyBeetle_Anim02, - STATUS_SLEEP, ANIM_BonyBeetle_Anim2C, - STATUS_POISON, ANIM_BonyBeetle_Anim06, - STATUS_STOP, ANIM_BonyBeetle_Anim02, - STATUS_STATIC, ANIM_BonyBeetle_Anim06, - STATUS_PARALYZE, ANIM_BonyBeetle_Anim02, - STATUS_DIZZY, ANIM_BonyBeetle_Anim28, - STATUS_FEAR, ANIM_BonyBeetle_Anim28, + STATUS_KEY_NORMAL, ANIM_BonyBeetle_Anim06, + STATUS_KEY_STONE, ANIM_BonyBeetle_Anim02, + STATUS_KEY_SLEEP, ANIM_BonyBeetle_Anim2C, + STATUS_KEY_POISON, ANIM_BonyBeetle_Anim06, + STATUS_KEY_STOP, ANIM_BonyBeetle_Anim02, + STATUS_KEY_STATIC, ANIM_BonyBeetle_Anim06, + STATUS_KEY_PARALYZE, ANIM_BonyBeetle_Anim02, + STATUS_KEY_DIZZY, ANIM_BonyBeetle_Anim28, + STATUS_KEY_FEAR, ANIM_BonyBeetle_Anim28, STATUS_END, }; s32 N(IdleAnimations_spiky_flipped)[] = { - STATUS_NORMAL, ANIM_BonyBeetle_Anim07, - STATUS_STONE, ANIM_BonyBeetle_Anim03, - STATUS_SLEEP, ANIM_BonyBeetle_Anim2D, - STATUS_POISON, ANIM_BonyBeetle_Anim07, - STATUS_STOP, ANIM_BonyBeetle_Anim03, - STATUS_STATIC, ANIM_BonyBeetle_Anim07, - STATUS_PARALYZE, ANIM_BonyBeetle_Anim03, - STATUS_DIZZY, ANIM_BonyBeetle_Anim29, - STATUS_FEAR, ANIM_BonyBeetle_Anim29, + STATUS_KEY_NORMAL, ANIM_BonyBeetle_Anim07, + STATUS_KEY_STONE, ANIM_BonyBeetle_Anim03, + STATUS_KEY_SLEEP, ANIM_BonyBeetle_Anim2D, + STATUS_KEY_POISON, ANIM_BonyBeetle_Anim07, + STATUS_KEY_STOP, ANIM_BonyBeetle_Anim03, + STATUS_KEY_STATIC, ANIM_BonyBeetle_Anim07, + STATUS_KEY_PARALYZE, ANIM_BonyBeetle_Anim03, + STATUS_KEY_DIZZY, ANIM_BonyBeetle_Anim29, + STATUS_KEY_FEAR, ANIM_BonyBeetle_Anim29, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 4, + ELEMENT_NORMAL, 4, ELEMENT_END, }; -s32 N(DefenseTable_flipped)[] = { - ELEMENT_NORMAL, 0, +s32 N(DefenseTable_Flipped)[] = { + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 85, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 85, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -3, 21 }, .opacity = 255, @@ -140,8 +144,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BONY_BEETLE, .level = 25, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -153,9 +157,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 1, .size = { 27, 27 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -164,32 +168,32 @@ EvtScript N(init) = { EVT_IF_EQ(LVar0, 1) EVT_IF_EQ(LVar1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_SPIKY)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_spiky))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim05) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_spiky))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim05) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_normal))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim04) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_normal))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim04) EVT_END_IF EVT_ELSE EVT_CALL(RandInt, 1000, LVar0) EVT_IF_LT(LVar0, 500) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_normal))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim04) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_normal))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim04) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_SPIKY)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_spiky))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim05) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_spiky))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim05) EVT_END_IF EVT_END_IF EVT_END_IF -EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -8) -EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -3, 21) +EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -8) +EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -3, 21) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) @@ -239,7 +243,7 @@ EvtScript N(changeSpikesState) = { EVT_RETURN EVT_END_IF EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_RETURN EVT_END_IF EVT_LABEL(0) @@ -253,17 +257,17 @@ EvtScript N(changeSpikesState) = { EVT_CASE_EQ(N(STATE_NORMAL)) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20CE) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_SPIKY)) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim2E) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim2E) EVT_WAIT(25) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_spiky))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_spiky))) EVT_CASE_EQ(N(STATE_SPIKY)) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20CF) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim2F) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim2F) EVT_WAIT(25) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_normal))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_normal))) EVT_CASE_EQ(N(STATE_FLIPPED)) EVT_CASE_EQ(N(STATE_SPIKY_FLIPPED)) EVT_END_SWITCH @@ -329,14 +333,14 @@ EvtScript N(handleEvent_normal) = { EVT_RETURN EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_FLIPPED)) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -8) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -3, 21) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -8) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -3, 21) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIP_TRIGGERED), 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim08) EVT_USE_BUF(N(bounceTable)) EVT_LOOP(20) EVT_BUF_READ1(LVar0) @@ -362,8 +366,8 @@ EvtScript N(handleEvent_normal) = { EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_WAIT(20) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim12) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim12) EVT_WAIT(10) EVT_END_IF EVT_END_CASE_GROUP @@ -418,13 +422,13 @@ EvtScript N(attackShellToss) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim16) EVT_GOTO(100) EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim10) EVT_WAIT(10) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -435,7 +439,7 @@ EvtScript N(attackShellToss) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim16) EVT_WAIT(15) EVT_LABEL(100) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20D3) @@ -455,18 +459,18 @@ EvtScript N(attackShellToss) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim12) EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim0E) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim0E) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim04) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim04) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -496,13 +500,13 @@ EvtScript N(attackShellToss) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim12) EVT_WAIT(5) EVT_CALL(YieldTurn) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BonyBeetle_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim04) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -551,14 +555,14 @@ EvtScript N(handleEvent_spiky) = { EVT_RETURN EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_SPIKY_FLIPPED)) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -8) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -3, 21) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -8) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -3, 21) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIP_TRIGGERED), 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_spiky_flipped))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_spiky_flipped))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim09) EVT_USE_BUF(N(bounceTable)) EVT_LOOP(20) EVT_BUF_READ1(LVar0) @@ -585,8 +589,8 @@ EvtScript N(handleEvent_spiky) = { EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_WAIT(20) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim13) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim13) EVT_END_IF EVT_WAIT(10) EVT_END_CASE_GROUP @@ -655,14 +659,14 @@ EvtScript N(attackSpikeBounce) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim17) EVT_WAIT(10) EVT_GOTO(100) EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim11) EVT_WAIT(10) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -677,7 +681,7 @@ EvtScript N(attackSpikeBounce) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 32, 12, 0, 10, 0) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim17) EVT_WAIT(15) EVT_LABEL(100) EVT_THREAD @@ -764,11 +768,11 @@ EvtScript N(attackSpikeBounce) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BonyBeetle_Anim0F) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -840,7 +844,7 @@ EvtScript N(attackSpikeBounce) = { EVT_WAIT(5) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim13) EVT_WAIT(5) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) @@ -856,19 +860,19 @@ EvtScript N(attackSpikeBounce) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(8021B7C8) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_FLIPPED)) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIP_TRIGGERED), 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -8) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -3, 21) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim06) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -8) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -3, 21) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim06) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) @@ -927,13 +931,13 @@ EvtScript N(handleEvent_flipped) = { EVT_RETURN EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_FLIPPED)) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -8) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -3, 21) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -8) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -3, 21) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIP_TRIGGERED), 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim1A) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim1A) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) EVT_USE_BUF(N(bounceTable)) EVT_LOOP(20) @@ -992,27 +996,27 @@ EvtScript N(standUp) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIP_TRIGGERED), LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim1C) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim1C) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim06) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim06) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_15) EVT_CALL(SetBattleCamZoom, 350) EVT_CALL(SetBattleCamOffsetZ, 20) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim1C) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim1C) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim06) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim06) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim0A) EVT_WAIT(20) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_normal))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_normal))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1059,13 +1063,13 @@ EvtScript N(handleEvent_spiky_flipped) = { EVT_RETURN EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_SPIKY_FLIPPED)) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -8) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -3, 21) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -8) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -3, 21) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIP_TRIGGERED), 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_spiky_flipped))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim1B) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_spiky_flipped))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim1B) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) EVT_USE_BUF(N(bounceTable)) EVT_LOOP(20) @@ -1125,28 +1129,28 @@ EvtScript N(standUp_spiky) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIP_TRIGGERED), LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim1D) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim1D) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim07) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim07) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_15) EVT_CALL(SetBattleCamZoom, 350) EVT_CALL(SetBattleCamOffsetZ, 20) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim1D) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim1D) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim07) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BonyBeetle_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim07) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BonyBeetle_Anim0B) EVT_WAIT(20) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_SPIKY)) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_spiky))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_spiky))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/area/kpa/actor/dry_bones.c b/src/battle/area/kpa/actor/dry_bones.c index 04bdcfa193..65c8566833 100644 --- a/src/battle/area/kpa/actor/dry_bones.c +++ b/src/battle/area/kpa/actor/dry_bones.c @@ -11,97 +11,102 @@ extern EvtScript N(takeTurn); extern EvtScript N(handleEvent); extern EvtScript N(nextTurn); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_DryBones_Anim02, - STATUS_STONE, ANIM_DryBones_Anim00, - STATUS_SLEEP, ANIM_DryBones_Anim0E, - STATUS_POISON, ANIM_DryBones_Anim02, - STATUS_STOP, ANIM_DryBones_Anim00, - STATUS_STATIC, ANIM_DryBones_Anim02, - STATUS_PARALYZE, ANIM_DryBones_Anim00, - STATUS_DIZZY, ANIM_DryBones_Anim0D, - STATUS_FEAR, ANIM_DryBones_Anim0D, + STATUS_KEY_NORMAL, ANIM_DryBones_Anim02, + STATUS_KEY_STONE, ANIM_DryBones_Anim00, + STATUS_KEY_SLEEP, ANIM_DryBones_Anim0E, + STATUS_KEY_POISON, ANIM_DryBones_Anim02, + STATUS_KEY_STOP, ANIM_DryBones_Anim00, + STATUS_KEY_STATIC, ANIM_DryBones_Anim02, + STATUS_KEY_PARALYZE, ANIM_DryBones_Anim00, + STATUS_KEY_DIZZY, ANIM_DryBones_Anim0D, + STATUS_KEY_FEAR, ANIM_DryBones_Anim0D, STATUS_END, }; s32 N(IdleAnimations_dead)[] = { - STATUS_NORMAL, ANIM_DryBones_Anim01, + STATUS_KEY_NORMAL, ANIM_DryBones_Anim01, STATUS_END, }; s32 N(IdleAnimations_bone)[] = { - STATUS_NORMAL, ANIM_DryBones_Anim0F, + STATUS_KEY_NORMAL, ANIM_DryBones_Anim0F, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 2, - ELEMENT_FIRE, -10, - ELEMENT_BLAST, -10, + ELEMENT_NORMAL, 2, + ELEMENT_FIRE, -10, + ELEMENT_BLAST, -10, ELEMENT_END, }; s32 N(DefenseTable_dead)[] = { - ELEMENT_NORMAL, 99, - ELEMENT_FIRE, -10, - ELEMENT_BLAST, -10, + ELEMENT_NORMAL, 99, + ELEMENT_FIRE, -10, + ELEMENT_BLAST, -10, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 60, - STATUS_STOP, 85, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 60, + STATUS_KEY_STOP, 85, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; s32 N(StatusTable_dead)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -8, 30 }, .opacity = 255, @@ -113,7 +118,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -130,8 +135,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_DRY_BONES, .level = 30, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -143,9 +148,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 95, .coinReward = 1, .size = { 28, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 15 }, - .statusMessageOffset = { 3, 27 }, + .statusTextOffset = { 3, 27 }, }; EvtScript N(init) = { @@ -208,20 +213,20 @@ EvtScript N(idle) = { EVT_CASE_EQ(0) EVT_SWITCH(LVar1) EVT_CASE_FLAG(STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -6, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 1, -5) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -6, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 1, -5) EVT_CASE_DEFAULT - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -8, 30) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -10) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -8, 30) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) EVT_END_SWITCH EVT_CASE_EQ(1) EVT_SWITCH(LVar1) EVT_CASE_FLAG(STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -1, 10) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -1, 10) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) EVT_CASE_DEFAULT - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -1, 10) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -1, 10) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) EVT_END_SWITCH EVT_END_SWITCH EVT_WAIT(1) @@ -232,15 +237,15 @@ EvtScript N(idle) = { EvtScript N(reassemble) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2D2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_DryBones_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_DryBones_Anim08) EVT_WAIT(20) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_dead))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_dead))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_dead))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_dead))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_dead))) EVT_CALL(ClearStatusEffects, ACTOR_SELF) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -1, 10) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -1, 10) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) EVT_CALL(RandInt, 0, LVar0) EVT_ADD(LVar0, 2) EVT_CALL(SetActorVar, ACTOR_SELF, 0, LVar0) @@ -296,12 +301,12 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_DryBones_Anim07) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, TRUE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_DryBones_Anim0B) EVT_SET_CONST(LVar2, ANIM_DryBones_Anim0C) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, FALSE) EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_DryBones_Anim0B) @@ -370,7 +375,7 @@ EvtScript N(handleEvent) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetActorDispOffset, ACTOR_SELF, -1, -2, 0) EVT_ELSE @@ -408,7 +413,7 @@ EvtScript N(handleEvent) = { EvtScript N(rotateBone) = { EVT_SET(LVar0, 0) EVT_LABEL(0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_2, 0, 0, LVar0) EVT_ADD(LVar0, 60) EVT_MOD(LVar0, 360) EVT_WAIT(1) @@ -428,7 +433,7 @@ EvtScript N(takeTurn) = { EVT_END_IF EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_DryBones_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_DryBones_Anim06) EVT_GOTO(100) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) @@ -437,24 +442,24 @@ EvtScript N(takeTurn) = { EVT_SUB(LVar0, 1) EVT_IF_EQ(LVar0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2D4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_DryBones_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_DryBones_Anim09) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2D3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_DryBones_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_DryBones_Anim0A) EVT_WAIT(20) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_2000, FALSE) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -8, 30) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -10) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_2000, FALSE) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -8, 30) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) EVT_CALL(GetEnemyMaxHP, ACTOR_SELF, LVar0) EVT_CALL(SetEnemyHP, ACTOR_SELF, LVar0) EVT_ELSE EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2D4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_DryBones_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_DryBones_Anim09) EVT_WAIT(10) EVT_CALL(SetActorVar, ACTOR_SELF, 0, LVar0) EVT_END_IF @@ -462,19 +467,19 @@ EvtScript N(takeTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_DryBones_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_DryBones_Anim05) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_DryBones_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_DryBones_Anim06) EVT_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_DryBones_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_DryBones_Anim02) EVT_END_THREAD EVT_LABEL(100) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -483,28 +488,28 @@ EvtScript N(takeTurn) = { EVT_SET(LVarF, LVar0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_2D1) - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_WALK, 0, 0) - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_2D1) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_WALK, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_JUMP, 0, 0) EVT_EXEC_GET_TID(N(rotateBone), LVarA) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 100) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 2, EVT_FLOAT(12.0)) - EVT_CALL(RunPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(12.0)) + EVT_CALL(RunPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_KILL_THREAD(LVarA) EVT_IF_EQ(LVarF, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(15) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -512,27 +517,27 @@ EvtScript N(takeTurn) = { EVT_END_SWITCH EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_2D1) - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_WALK, 0, 0) - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_2D1) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_WALK, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_JUMP, 0, 0) EVT_EXEC_GET_TID(N(rotateBone), LVarA) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 2, EVT_FLOAT(12.0)) - EVT_CALL(RunPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, FALSE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(12.0)) + EVT_CALL(RunPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, FALSE) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) - EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 100) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.7)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, 0, LVar2, 30, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.7)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 30, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_KILL_THREAD(LVarA) EVT_CALL(YieldTurn) EVT_END_CASE_GROUP diff --git a/src/battle/area/kpa/area.c b/src/battle/area/kpa/area.c index 3889884602..526ba0bd8d 100644 --- a/src/battle/area/kpa/area.c +++ b/src/battle/area/kpa/area.c @@ -27,178 +27,178 @@ extern Stage N(kpa_13); extern Stage N(kpa_14); Formation N(Formation_00) = { - { .actor = &N(bony_beetle), .home = { .index = 1 }, .priority = 10, .var0 = 1, }, - { .actor = &N(bony_beetle), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_B, 10, 1), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_C, 9), }; Formation N(Formation_01) = { - { .actor = &N(bony_beetle), .home = { .index = 0 }, .priority = 10, .var0 = 1, }, - { .actor = &N(bony_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(bony_beetle), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_A, 10, 1), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_C, 8), }; Formation N(Formation_02) = { - { .actor = &N(bony_beetle), .home = { .index = 0 }, .priority = 10, .var0 = 1, }, - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dry_bones), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_A, 10, 1), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_C, 8), }; Formation N(Formation_03) = { - { .actor = &N(bony_beetle), .home = { .index = 0 }, .priority = 10, .var0 = 1, }, - { .actor = &N(bony_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dry_bones), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_A, 10, 1), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_C, 8), }; Formation N(Formation_04) = { - { .actor = &N(bony_beetle), .home = { .index = 0 }, .priority = 10, .var0 = 1, }, - { .actor = &N(bony_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_A, 10, 1), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_C, 8), }; Formation N(Formation_05) = { - { .actor = &N(bony_beetle), .home = { .index = 0 }, .priority = 10, .var0 = 1, }, - { .actor = &N(bony_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(bony_beetle), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(magikoopa), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_A, 10, 1), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_06) = { - { .actor = &N(bony_beetle), .home = { .index = 0 }, .priority = 10, .var0 = 1, }, - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(bony_beetle), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(magikoopa), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_A, 10, 1), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_07) = { - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(dry_bones), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_C, 9), }; Formation N(Formation_08) = { - { .actor = &N(dry_bones), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dry_bones), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_C, 8), }; Formation N(Formation_09) = { - { .actor = &N(dry_bones), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dry_bones), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(dry_bones), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0A) = { - { .actor = &N(dry_bones), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(ember), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(ember), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(ember), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(ember), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0B) = { - { .actor = &N(dry_bones), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0C) = { - { .actor = &N(dry_bones), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0D) = { - { .actor = &N(dry_bones), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(bony_beetle), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0E) = { - { .actor = &N(dry_bones), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(bony_beetle), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(bony_beetle), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0F) = { - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(hammer_bro), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_C, 9), }; Formation N(Formation_10) = { - { .actor = &N(hammer_bro), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(hammer_bro), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_C, 8), }; Formation N(Formation_11) = { - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 9), }; Formation N(Formation_12) = { - { .actor = &N(hammer_bro), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 8), }; Formation N(Formation_13) = { - { .actor = &N(hammer_bro), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 8), }; Formation N(Formation_14) = { - { .actor = &N(hammer_bro), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(hammer_bro), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(magikoopa), .home = { .index = 3 }, .priority = 9, }, + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_D, 9), }; Formation N(Formation_15) = { - { .actor = &N(hammer_bro), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa_flying), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_C, 8), }; Formation N(Formation_16) = { - { .actor = &N(hammer_bro), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(hammer_bro), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(magikoopa_flying), .home = { .index = 7 }, .priority = 9, }, + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_D, 9), }; Formation N(Formation_17) = { - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 10, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 10), }; Formation N(Formation_18) = { - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 9), }; Formation N(Formation_19) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 8), }; Formation N(Formation_1A) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(koopatrol), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_D, 7), }; Formation N(Formation_1B) = { - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(hammer_bro), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_C, 9), }; Formation N(Formation_1C) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(hammer_bro), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_D, 7), }; Vec3i N(Formation_1D_pos1) = { 5, 0, -20 }; @@ -210,254 +210,254 @@ Vec3i N(Formation_1D_pos3) = { 85, 0, 0 }; Vec3i N(Formation_1D_pos4) = { 125, 0, 5 }; Formation N(Formation_1D) = { - { .actor = &N(koopatrol), .home = { .vec = &N(Formation_1D_pos1) }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .vec = &N(Formation_1D_pos2) }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .vec = &N(Formation_1D_pos3) }, .priority = 8, }, - { .actor = &N(magikoopa), .home = { .vec = &N(Formation_1D_pos4) }, .priority = 7, }, + ACTOR_BY_POS(N(koopatrol), N(Formation_1D_pos1), 10), + ACTOR_BY_POS(N(koopatrol), N(Formation_1D_pos2), 9), + ACTOR_BY_POS(N(koopatrol), N(Formation_1D_pos3), 8), + ACTOR_BY_POS(N(magikoopa), N(Formation_1D_pos4), 7), }; Formation N(Formation_1E) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(magikoopa), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_1F) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(magikoopa), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_20) = { - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(bony_beetle), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_C, 9), }; Formation N(Formation_21) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(bony_beetle), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_C, 8), }; Formation N(Formation_22) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(bony_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(bony_beetle), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_C, 8), }; Formation N(Formation_23) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(bony_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 8), }; Formation N(Formation_24) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dry_bones), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_C, 8), }; Formation N(Formation_25) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(magikoopa_flying), .home = { .index = 7 }, .priority = 7, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_D, 7), }; Formation N(Formation_26) = { - { .actor = &N(koopatrol), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(magikoopa), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(magikoopa), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_27) = { - { .actor = &N(magikoopa), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(magikoopa), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_C, 9), }; Formation N(Formation_28) = { - { .actor = &N(magikoopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(magikoopa), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_C, 8), }; Formation N(Formation_29) = { - { .actor = &N(magikoopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(magikoopa_flying), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(magikoopa_flying), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_C, 8), }; Formation N(Formation_2A) = { - { .actor = &N(magikoopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(magikoopa), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa_flying), .home = { .index = 6 }, .priority = 8, }, - { .actor = &N(magikoopa_flying), .home = { .index = 7 }, .priority = 7, }, + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_D, 7), }; Formation N(Formation_2B) = { - { .actor = &N(magikoopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(koopatrol), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_D, 7), }; Formation N(Formation_2C) = { - { .actor = &N(magikoopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(magikoopa), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dry_bones), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_C, 8), }; Formation N(Formation_2D) = { - { .actor = &N(magikoopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(bony_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_C, 8), }; Formation N(Formation_2E) = { - { .actor = &N(magikoopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(bony_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(bony_beetle), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(magikoopa), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bony_beetle), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_2F) = { - { .actor = &N(magikoopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(magikoopa), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa_flying), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_C, 8), }; Formation N(Formation_30) = { - { .actor = &N(magikoopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(koopatrol), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_D, 7), }; Formation N(Formation_31) = { - { .actor = &N(magikoopa_flying), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(magikoopa_flying), .home = { .index = 6 }, .priority = 9, }, + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_C, 9), }; Formation N(Formation_32) = { - { .actor = &N(magikoopa_flying), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(magikoopa_flying), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(magikoopa_flying), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_C, 8), }; Formation N(Formation_33) = { - { .actor = &N(magikoopa_flying), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(magikoopa), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(magikoopa_flying), .home = { .index = 6 }, .priority = 8, }, - { .actor = &N(magikoopa), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_34) = { - { .actor = &N(magikoopa_flying), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 8), }; Formation N(Formation_35) = { - { .actor = &N(magikoopa_flying), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(hammer_bro), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_C, 9), }; Formation N(Formation_36) = { - { .actor = &N(magikoopa_flying), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(dry_bones), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dry_bones), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dry_bones), BTL_POS_GROUND_C, 8), }; Formation N(Formation_37) = { - { .actor = &N(magikoopa_flying), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(magikoopa_flying), .home = { .index = 6 }, .priority = 9, }, + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_C, 9), }; Formation N(Formation_38) = { - { .actor = &N(magikoopa_flying), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(hammer_bro), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(magikoopa_flying), .home = { .index = 7 }, .priority = 7, }, + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(magikoopa_flying), BTL_POS_AIR_D, 7), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kpa_01), "ホネメットx2"), - BATTLE(N(Formation_01), &N(kpa_01), "ホネメットx3"), - BATTLE(N(Formation_02), &N(kpa_01), "ホネメット,カロンx2"), - BATTLE(N(Formation_03), &N(kpa_01), "ホネメットx2,カロン"), - BATTLE(N(Formation_04), &N(kpa_01), "ホネメットx2,カメック"), - BATTLE(N(Formation_05), &N(kpa_01), "ホネメットx3,カメック"), - BATTLE(N(Formation_06), &N(kpa_01), "ホネメット,カロン,ホネメット,カメック"), - BATTLE(N(Formation_07), &N(kpa_01), "カロンx2"), - BATTLE(N(Formation_08), &N(kpa_01), "カロンx3"), - BATTLE(N(Formation_09), &N(kpa_01), "カロンx4"), - BATTLE(N(Formation_0A), &N(kpa_01), "カロン,エルモスx3"), - BATTLE(N(Formation_0B), &N(kpa_01), "カロンx2,カメック"), - BATTLE(N(Formation_0C), &N(kpa_01), "カロン,トゲノコx2"), - BATTLE(N(Formation_0D), &N(kpa_01), "カロンx2,ホネメット"), - BATTLE(N(Formation_0E), &N(kpa_01), "カロンx2,ホネメットx2"), - BATTLE(N(Formation_0F), &N(kpa_01), "ハンマーブロスx2"), - BATTLE(N(Formation_10), &N(kpa_01), "ハンマーブロスx3"), - BATTLE(N(Formation_11), &N(kpa_01), "ハンマーブロス,トゲノコ"), - BATTLE(N(Formation_12), &N(kpa_01), "ハンマーブロスx2,トゲノコ"), - BATTLE(N(Formation_13), &N(kpa_01), "ハンマーブロス,トゲノコx2"), - BATTLE(N(Formation_14), &N(kpa_01), "ハンマーブロス,カロン,ハンンマーブロス,カメック"), - BATTLE(N(Formation_15), &N(kpa_01), "ハンマーブロスx2,くうちゅうカメック"), - BATTLE(N(Formation_16), &N(kpa_01), "ハンマーブロスx3,くうちゅうカメック"), - BATTLE(N(Formation_17), &N(kpa_01), "トゲノコ"), - BATTLE(N(Formation_18), &N(kpa_01), "トゲノコx2"), - BATTLE(N(Formation_19), &N(kpa_01), "トゲノコx3"), - BATTLE(N(Formation_1A), &N(kpa_01), "トゲノコx4"), - BATTLE(N(Formation_1B), &N(kpa_01), "トゲノコ,ハンマーブロス"), - BATTLE(N(Formation_1C), &N(kpa_01), "トゲノコ,ハンマーブロス,トゲノコ,ハンマーブロス"), - BATTLE(N(Formation_1D), &N(kpa_01), "トゲノコx3,カメック"), - BATTLE(N(Formation_1E), &N(kpa_01), "トゲノコx2,カメックx2"), - BATTLE(N(Formation_20), &N(kpa_01), "トゲノコ,ホネメット"), - BATTLE(N(Formation_21), &N(kpa_01), "トゲノコx2,ホネメット"), - BATTLE(N(Formation_22), &N(kpa_01), "トゲノコ,ホネメットx2"), - BATTLE(N(Formation_23), &N(kpa_01), "トゲノコ,ホネメット,トゲノコ"), - BATTLE(N(Formation_24), &N(kpa_01), "トゲノコ,カロンx2"), - BATTLE(N(Formation_25), &N(kpa_01), "トゲノコx2,カメック,くうちゅうカメック"), - BATTLE(N(Formation_26), &N(kpa_01), "トゲノコ,カメック,トゲノコ,カメック"), - BATTLE(N(Formation_27), &N(kpa_01), "カメックx2"), - BATTLE(N(Formation_28), &N(kpa_01), "カメックx3"), - BATTLE(N(Formation_29), &N(kpa_01), "カメック,くうちゅうカメックx2"), - BATTLE(N(Formation_2A), &N(kpa_01), "カメックx2,くうちゅうカメックx2"), - BATTLE(N(Formation_2B), &N(kpa_01), "カメック,トゲノコx3"), - BATTLE(N(Formation_2C), &N(kpa_01), "カメックx2,カロン"), - BATTLE(N(Formation_2D), &N(kpa_01), "カメック,ホネメット,カメック"), - BATTLE(N(Formation_2E), &N(kpa_01), "カメック,ホネメットx2,カメック"), - BATTLE(N(Formation_2F), &N(kpa_01), "カメックx2,くうちゅうカメック"), - BATTLE(N(Formation_30), &N(kpa_01), "カメック,トゲノコ,カメック,トゲノコ"), - BATTLE(N(Formation_31), &N(kpa_01), "くうちゅうカメックx2"), - BATTLE(N(Formation_32), &N(kpa_01), "くうちゅうカメックx3"), - BATTLE(N(Formation_33), &N(kpa_01), "くうちゅうカメック,カメック,くうちゅうカメック,カメック"), - BATTLE(N(Formation_34), &N(kpa_01), "くうちゅうカメック,トゲノコx2"), - BATTLE(N(Formation_35), &N(kpa_01), "くうちゅうカメック,ハンマーブロス"), - BATTLE(N(Formation_36), &N(kpa_01), "くうちゅうカメック,カロンx2"), - BATTLE(N(Formation_37), &N(kpa_01), "くうちゅうカメック,トゲノコ,くうちゅうカメック"), - BATTLE(N(Formation_38), &N(kpa_01), "くうちゅうカメック,ハンマーブロスx2,くうちゅうカメック"), + BATTLE(N(Formation_00), N(kpa_01), "ホネメットx2"), + BATTLE(N(Formation_01), N(kpa_01), "ホネメットx3"), + BATTLE(N(Formation_02), N(kpa_01), "ホネメット,カロンx2"), + BATTLE(N(Formation_03), N(kpa_01), "ホネメットx2,カロン"), + BATTLE(N(Formation_04), N(kpa_01), "ホネメットx2,カメック"), + BATTLE(N(Formation_05), N(kpa_01), "ホネメットx3,カメック"), + BATTLE(N(Formation_06), N(kpa_01), "ホネメット,カロン,ホネメット,カメック"), + BATTLE(N(Formation_07), N(kpa_01), "カロンx2"), + BATTLE(N(Formation_08), N(kpa_01), "カロンx3"), + BATTLE(N(Formation_09), N(kpa_01), "カロンx4"), + BATTLE(N(Formation_0A), N(kpa_01), "カロン,エルモスx3"), + BATTLE(N(Formation_0B), N(kpa_01), "カロンx2,カメック"), + BATTLE(N(Formation_0C), N(kpa_01), "カロン,トゲノコx2"), + BATTLE(N(Formation_0D), N(kpa_01), "カロンx2,ホネメット"), + BATTLE(N(Formation_0E), N(kpa_01), "カロンx2,ホネメットx2"), + BATTLE(N(Formation_0F), N(kpa_01), "ハンマーブロスx2"), + BATTLE(N(Formation_10), N(kpa_01), "ハンマーブロスx3"), + BATTLE(N(Formation_11), N(kpa_01), "ハンマーブロス,トゲノコ"), + BATTLE(N(Formation_12), N(kpa_01), "ハンマーブロスx2,トゲノコ"), + BATTLE(N(Formation_13), N(kpa_01), "ハンマーブロス,トゲノコx2"), + BATTLE(N(Formation_14), N(kpa_01), "ハンマーブロス,カロン,ハンンマーブロス,カメック"), + BATTLE(N(Formation_15), N(kpa_01), "ハンマーブロスx2,くうちゅうカメック"), + BATTLE(N(Formation_16), N(kpa_01), "ハンマーブロスx3,くうちゅうカメック"), + BATTLE(N(Formation_17), N(kpa_01), "トゲノコ"), + BATTLE(N(Formation_18), N(kpa_01), "トゲノコx2"), + BATTLE(N(Formation_19), N(kpa_01), "トゲノコx3"), + BATTLE(N(Formation_1A), N(kpa_01), "トゲノコx4"), + BATTLE(N(Formation_1B), N(kpa_01), "トゲノコ,ハンマーブロス"), + BATTLE(N(Formation_1C), N(kpa_01), "トゲノコ,ハンマーブロス,トゲノコ,ハンマーブロス"), + BATTLE(N(Formation_1D), N(kpa_01), "トゲノコx3,カメック"), + BATTLE(N(Formation_1E), N(kpa_01), "トゲノコx2,カメックx2"), + BATTLE(N(Formation_20), N(kpa_01), "トゲノコ,ホネメット"), + BATTLE(N(Formation_21), N(kpa_01), "トゲノコx2,ホネメット"), + BATTLE(N(Formation_22), N(kpa_01), "トゲノコ,ホネメットx2"), + BATTLE(N(Formation_23), N(kpa_01), "トゲノコ,ホネメット,トゲノコ"), + BATTLE(N(Formation_24), N(kpa_01), "トゲノコ,カロンx2"), + BATTLE(N(Formation_25), N(kpa_01), "トゲノコx2,カメック,くうちゅうカメック"), + BATTLE(N(Formation_26), N(kpa_01), "トゲノコ,カメック,トゲノコ,カメック"), + BATTLE(N(Formation_27), N(kpa_01), "カメックx2"), + BATTLE(N(Formation_28), N(kpa_01), "カメックx3"), + BATTLE(N(Formation_29), N(kpa_01), "カメック,くうちゅうカメックx2"), + BATTLE(N(Formation_2A), N(kpa_01), "カメックx2,くうちゅうカメックx2"), + BATTLE(N(Formation_2B), N(kpa_01), "カメック,トゲノコx3"), + BATTLE(N(Formation_2C), N(kpa_01), "カメックx2,カロン"), + BATTLE(N(Formation_2D), N(kpa_01), "カメック,ホネメット,カメック"), + BATTLE(N(Formation_2E), N(kpa_01), "カメック,ホネメットx2,カメック"), + BATTLE(N(Formation_2F), N(kpa_01), "カメックx2,くうちゅうカメック"), + BATTLE(N(Formation_30), N(kpa_01), "カメック,トゲノコ,カメック,トゲノコ"), + BATTLE(N(Formation_31), N(kpa_01), "くうちゅうカメックx2"), + BATTLE(N(Formation_32), N(kpa_01), "くうちゅうカメックx3"), + BATTLE(N(Formation_33), N(kpa_01), "くうちゅうカメック,カメック,くうちゅうカメック,カメック"), + BATTLE(N(Formation_34), N(kpa_01), "くうちゅうカメック,トゲノコx2"), + BATTLE(N(Formation_35), N(kpa_01), "くうちゅうカメック,ハンマーブロス"), + BATTLE(N(Formation_36), N(kpa_01), "くうちゅうカメック,カロンx2"), + BATTLE(N(Formation_37), N(kpa_01), "くうちゅうカメック,トゲノコ,くうちゅうカメック"), + BATTLE(N(Formation_38), N(kpa_01), "くうちゅうカメック,ハンマーブロスx2,くうちゅうカメック"), {}, }; StageList N(Stages) = { - { "kpa_01", &N(kpa_01) }, - { "kpa_01b", &N(kpa_01b) }, - { "kpa_02", &N(kpa_02) }, - { "kpa_03", &N(kpa_03) }, - { "kpa_04", &N(kpa_04) }, - { "kpa_04b", &N(kpa_04b) }, - { "kpa_04c", &N(kpa_04c) }, - { "kpa_05", &N(kpa_05) }, - { "kpa_07", &N(kpa_07) }, - { "kpa_08", &N(kpa_08) }, - { "kpa_09", &N(kpa_09) }, - { "kpa_11", &N(kpa_11) }, - { "kpa_13", &N(kpa_13) }, - { "kpa_14", &N(kpa_14) }, + STAGE("kpa_01", N(kpa_01)), + STAGE("kpa_01b", N(kpa_01b)), + STAGE("kpa_02", N(kpa_02)), + STAGE("kpa_03", N(kpa_03)), + STAGE("kpa_04", N(kpa_04)), + STAGE("kpa_04b", N(kpa_04b)), + STAGE("kpa_04c", N(kpa_04c)), + STAGE("kpa_05", N(kpa_05)), + STAGE("kpa_07", N(kpa_07)), + STAGE("kpa_08", N(kpa_08)), + STAGE("kpa_09", N(kpa_09)), + STAGE("kpa_11", N(kpa_11)), + STAGE("kpa_13", N(kpa_13)), + STAGE("kpa_14", N(kpa_14)), {}, }; diff --git a/src/battle/area/kpa/stage/kpa_03.c b/src/battle/area/kpa/stage/kpa_03.c index 03e51a9544..8e3ed47d28 100644 --- a/src/battle/area/kpa/stage/kpa_03.c +++ b/src/battle/area/kpa/stage/kpa_03.c @@ -8,7 +8,7 @@ EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_CALL(func_80253734, BTL_DARKNESS_MODE_1) + EVT_CALL(SetDarknessMode, BTL_DARKNESS_MODE_1) EVT_RETURN EVT_END }; diff --git a/src/battle/area/kpa2/actor/bowser.c b/src/battle/area/kpa2/actor/bowser.c index 5568b96891..0e785ad7ac 100644 --- a/src/battle/area/kpa2/actor/bowser.c +++ b/src/battle/area/kpa2/actor/bowser.c @@ -6,12 +6,6 @@ #define NAMESPACE b_area_kpa2_bowser -enum N(ActorVars) { - N(VAR_TURN_COUNTER) = 1, - N(VAR_TURNS_AFTER_SHOCKWAVE) = 2, - N(VAR_3) = 3, -}; - extern EvtScript N(init); extern EvtScript N(idle); extern EvtScript N(takeTurn); @@ -26,54 +20,64 @@ extern EvtScript N(attackHeavyJump); extern EvtScript N(returnHome); extern EvtScript N(recover); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + +enum N(ActorVars) { + N(VAR_TURN_COUNTER) = 1, + N(VAR_TURNS_AFTER_SHOCKWAVE) = 2, + N(VAR_3) = 3, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleBowser_Idle, - STATUS_STONE, ANIM_BattleBowser_Still, - STATUS_SLEEP, ANIM_BattleBowser_Idle, - STATUS_POISON, ANIM_BattleBowser_Idle, - STATUS_STOP, ANIM_BattleBowser_Still, - STATUS_STATIC, ANIM_BattleBowser_Still, - STATUS_PARALYZE, ANIM_BattleBowser_Still, - STATUS_PARALYZE, ANIM_BattleBowser_Still, - STATUS_DIZZY, ANIM_BattleBowser_Idle, - STATUS_DIZZY, ANIM_BattleBowser_Idle, + STATUS_KEY_NORMAL, ANIM_BattleBowser_Idle, + STATUS_KEY_STONE, ANIM_BattleBowser_Still, + STATUS_KEY_SLEEP, ANIM_BattleBowser_Idle, + STATUS_KEY_POISON, ANIM_BattleBowser_Idle, + STATUS_KEY_STOP, ANIM_BattleBowser_Still, + STATUS_KEY_STATIC, ANIM_BattleBowser_Still, + STATUS_KEY_PARALYZE, ANIM_BattleBowser_Still, + STATUS_KEY_PARALYZE, ANIM_BattleBowser_Still, + STATUS_KEY_DIZZY, ANIM_BattleBowser_Idle, + STATUS_KEY_DIZZY, ANIM_BattleBowser_Idle, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 30, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 30, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 30, - STATUS_SHRINK, 50, - STATUS_STOP, 30, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 30, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 30, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 30, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 30, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -18, 72 }, .opacity = 255, @@ -90,8 +94,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BOWSER_PHASE_1, .level = 100, .maxHP = 50, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -103,9 +107,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 65, .coinReward = 0, .size = { 80, 82 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -40, 67 }, - .statusMessageOffset = { 10, 60 }, + .statusTextOffset = { 10, 60 }, }; EvtScript N(init) = { @@ -182,7 +186,7 @@ EvtScript N(handleEvent) = { EVT_WAIT(1000) EVT_CASE_DEFAULT EVT_SET_CONST(LVar1, ANIM_BattleBowser_Hurt) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_WAIT(20) EVT_END_SWITCH EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -268,15 +272,15 @@ EvtScript N(attackClawSwipe) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpMock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpMock) EVT_WAIT(25) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Swipe) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Swipe) EVT_WAIT(3) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) @@ -284,7 +288,7 @@ EvtScript N(attackClawSwipe) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Tantrum) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Tantrum) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_WAIT(50) @@ -306,7 +310,7 @@ EvtScript N(attackClawSwipe) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Mock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Mock) EVT_WAIT(45) EVT_IF_EQ(LVarF, HIT_RESULT_10) EVT_RETURN @@ -330,17 +334,17 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 80, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PreJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PreJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Jump) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -361,9 +365,9 @@ EvtScript N(attackHeavyJump) = { EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(2.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(25) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -382,7 +386,7 @@ EvtScript N(attackHeavyJump) = { EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(3.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Land) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Land) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_3), LVar0) EVT_MUL(LVar0, 6) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) @@ -398,9 +402,9 @@ EvtScript N(attackHeavyJump) = { EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(3.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(20) EVT_IF_EQ(LVarF, HIT_RESULT_10) EVT_RETURN @@ -425,9 +429,9 @@ EvtScript N(attackFlameBreath) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PreFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PreFireBreath) EVT_WAIT(35) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathStill) EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 70) @@ -441,17 +445,17 @@ EvtScript N(attackFlameBreath) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 100) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathLoop) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathLoop) EVT_WAIT(30) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostFireBreath) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Tantrum) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Tantrum) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF @@ -468,9 +472,9 @@ EvtScript N(attackFlameBreath) = { EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostFireBreath) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) EVT_IF_EQ(LVarF, HIT_RESULT_10) EVT_RETURN @@ -492,7 +496,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_WAIT(10) EVT_CALL(N(FadeBackgroundToBlack)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -518,22 +522,22 @@ EvtScript N(attackShockwaveDrain) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) EVT_CASE_EQ(HIT_RESULT_MISS) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(15) EVT_EXEC_WAIT(N(recover)) EVT_WAIT(30) EVT_RETURN EVT_CASE_EQ(HIT_RESULT_LUCKY) - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_THREAD EVT_WAIT(2) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(15) EVT_EXEC_WAIT(N(recover)) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -543,14 +547,14 @@ EvtScript N(attackShockwaveDrain) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_THREAD EVT_WAIT(2) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC, 0, STATUS_FLAG_POISON, 4, BS_FLAGS1_SP_EVT_ACTIVE) @@ -559,7 +563,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(15) EVT_EXEC_WAIT(N(recover)) EVT_IF_EQ(LVarF, HIT_RESULT_10) diff --git a/src/battle/area/kpa2/actor/bowser_intro.c b/src/battle/area/kpa2/actor/bowser_intro.c index 91253ba314..eec870c19e 100644 --- a/src/battle/area/kpa2/actor/bowser_intro.c +++ b/src/battle/area/kpa2/actor/bowser_intro.c @@ -8,11 +8,6 @@ #define NAMESPACE b_area_kpa2_bowser_intro -enum N(ActorVars) { - N(VAR_TURN_COUNTER) = 0, - N(VAR_PEACH_SPOKE) = 1, -}; - extern EvtScript N(init); extern EvtScript N(idle); extern EvtScript N(takeTurn); @@ -28,84 +23,93 @@ extern EvtScript N(attackFireBreath); extern EvtScript N(returnHome); extern EvtScript N(useStarRod); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + +enum N(ActorVars) { + N(VAR_TURN_COUNTER) = 0, + N(VAR_PEACH_SPOKE) = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleBowser_Idle, - STATUS_STONE, ANIM_BattleBowser_Still, - STATUS_SLEEP, ANIM_BattleBowser_Idle, - STATUS_POISON, ANIM_BattleBowser_Idle, - STATUS_STOP, ANIM_BattleBowser_Still, - STATUS_STATIC, ANIM_BattleBowser_Still, - STATUS_PARALYZE, ANIM_BattleBowser_Still, - STATUS_PARALYZE, ANIM_BattleBowser_Still, - STATUS_DIZZY, ANIM_BattleBowser_Idle, - STATUS_DIZZY, ANIM_BattleBowser_Idle, + STATUS_KEY_NORMAL, ANIM_BattleBowser_Idle, + STATUS_KEY_STONE, ANIM_BattleBowser_Still, + STATUS_KEY_SLEEP, ANIM_BattleBowser_Idle, + STATUS_KEY_POISON, ANIM_BattleBowser_Idle, + STATUS_KEY_STOP, ANIM_BattleBowser_Still, + STATUS_KEY_STATIC, ANIM_BattleBowser_Still, + STATUS_KEY_PARALYZE, ANIM_BattleBowser_Still, + STATUS_KEY_PARALYZE, ANIM_BattleBowser_Still, + STATUS_KEY_DIZZY, ANIM_BattleBowser_Idle, + STATUS_KEY_DIZZY, ANIM_BattleBowser_Idle, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_boosted)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(StatusTable_boosted)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -18, 72 }, .opacity = 255, @@ -122,8 +126,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_INTRO_BOWSER, .level = 0, .maxHP = 10, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -135,9 +139,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 80, 82 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; #include "common/StartRumbleWithParams.inc.c" @@ -162,7 +166,7 @@ EvtScript N(init) = { EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn))) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 100, 0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 100, 0, 0, 0) EVT_EXEC(N(unkDecorationScript)) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_NO_GAME_OVER, TRUE) EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_DONT_STOP_MUSIC, TRUE) @@ -188,7 +192,7 @@ EvtScript N(nextTurn) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PEACH_SPOKE), LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PEACH_SPOKE), 1) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(SetBattleCamTarget, -115, 0, 0) EVT_CALL(SetBattleCamZoom, 320) @@ -210,7 +214,7 @@ EvtScript N(nextTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(20) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_END_IF EVT_END_SWITCH EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -258,7 +262,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TURN_COUNTER), LVar0) EVT_IF_EQ(LVar0, 3) - EVT_CALL(ActorSpeak, MSG_Intro_005B, ACTOR_SELF, 1, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) + EVT_CALL(ActorSpeak, MSG_Intro_005B, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) EVT_END_IF EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_SPIKE_TAUNT) @@ -271,7 +275,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleBowser_Jump) EVT_EXEC_WAIT(EVS_Enemy_Recover) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(3.0)) EVT_CASE_EQ(EVENT_30) EVT_SET_CONST(LVar0, 1) @@ -280,7 +284,7 @@ EvtScript N(handleEvent) = { EVT_WAIT(1000) EVT_CASE_DEFAULT EVT_SET_CONST(LVar1, ANIM_BattleBowser_Hurt) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_WAIT(20) EVT_END_SWITCH EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -322,7 +326,7 @@ EvtScript N(takeTurn) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_Intro_005C, ACTOR_SELF, 1, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) + EVT_CALL(ActorSpeak, MSG_Intro_005C, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) EVT_EXEC_WAIT(N(attackFireBreath)) EVT_END_SWITCH EVT_RETURN @@ -336,14 +340,14 @@ EvtScript N(attackClawSwipe) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 40) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpMock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpMock) EVT_WAIT(25) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Swipe) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Swipe) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35E) EVT_WAIT(3) EVT_WAIT(2) @@ -399,9 +403,9 @@ EvtScript N(attackFireBreath) = { EVT_CALL(SetBattleCamZoom, 400) EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PreFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PreFireBreath) EVT_WAIT(35) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathStill) EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 50) @@ -423,7 +427,7 @@ EvtScript N(attackFireBreath) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 55) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathLoop) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathLoop) EVT_WAIT(30) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -433,9 +437,9 @@ EvtScript N(attackFireBreath) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostFireBreath) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_END_THREAD EVT_WAIT(60) EVT_CALL(SetNpcAnimation, 0x00000000, ANIM_ParadePeach_HorrorLoop) @@ -460,7 +464,7 @@ EvtScript N(powerUp) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_Intro_0058, ACTOR_SELF, 1, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) + EVT_CALL(ActorSpeak, MSG_Intro_0058, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 15) @@ -477,12 +481,12 @@ EvtScript N(powerUp) = { EVT_ADD(LVar1, 90) EVT_PLAY_EFFECT(EFFECT_STARS_SHIMMER, 3, LVar0, LVar1, LVar2, 30, 30, 7, 30, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_Intro_0059, ACTOR_SELF, 1, ANIM_BattleBowser_BrandishTalk, ANIM_BattleBowser_BrandishIdle) + EVT_CALL(ActorSpeak, MSG_Intro_0059, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_BrandishTalk, ANIM_BattleBowser_BrandishIdle) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_EXEC_WAIT(N(useStarRod)) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -492,8 +496,8 @@ EvtScript N(powerUp) = { EVT_CALL(SetBattleCamZoom, 320) EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 25) - EVT_CALL(ActorSpeak, MSG_Intro_005A, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpMock, ANIM_BattleBowser_RearUpStill) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_boosted))) + EVT_CALL(ActorSpeak, MSG_Intro_005A, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpMock, ANIM_BattleBowser_RearUpStill) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_boosted))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_boosted))) EVT_RETURN EVT_END @@ -571,9 +575,9 @@ EvtScript N(useStarRod) = { EVT_CALL(RemoveEffect, LVarF) EVT_CALL(RemoveEffect, LVarE) EVT_CALL(RemoveEffect, LVarD) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ENCHANTED, TRUE) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_boosted))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ENCHANTED, TRUE) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_boosted))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_boosted))) EVT_CALL(N(RemoveChillOut)) EVT_WAIT(3) @@ -598,7 +602,7 @@ EvtScript N(useStarRod) = { EVT_THREAD EVT_CALL(N(UnfadeBackgroundToBlack)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpLaugh) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpLaugh) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) @@ -651,7 +655,7 @@ EvtScript N(jumpHome) = { }; EvtScript N(makeWalkingSounds) = { - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar7) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar7) EVT_IF_NE(LVar7, ANIM_BattleBowser_Walk) EVT_IF_EQ(LVar3, ANIM_BattleBowser_Walk) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B4) diff --git a/src/battle/area/kpa2/actor/bowser_phase_1.c b/src/battle/area/kpa2/actor/bowser_phase_1.c index 5bb994b7eb..ae5f193ae5 100644 --- a/src/battle/area/kpa2/actor/bowser_phase_1.c +++ b/src/battle/area/kpa2/actor/bowser_phase_1.c @@ -6,19 +6,6 @@ #define NAMESPACE b_area_kpa2_bowser_phase_1 -enum N(ActorVars) { - N(VAR_TURN_COUNTER) = 0, - N(VAR_FLAGS) = 1, - N(VAR_TURNS_SINCE_LAST_SHOCKWAVE_DRAIN) = 2, - N(VAR_TURNS_SINCE_LAST_STAR_BEAM) = 3, - N(VAR_TURNS_SINCE_LAST_CLAW_SWIPE) = 4, - N(VAR_TURNS_SINCE_LAST_HEAVY_JUMP) = 5, - N(VAR_TURNS_SINCE_LAST_RECOVER) = 6, - N(VAR_RECOVERS_LEFT) = 7, - N(VAR_COMMAND_LOSS_STATE) = 9, - N(VAR_LOST_ABILITY_ITEM) = 10, -}; - extern EvtScript N(init); extern EvtScript N(idle); extern EvtScript N(takeTurn); @@ -42,84 +29,101 @@ extern EvtScript N(onSpinSmashOrNormalHit); extern EvtScript N(onBurnHit); extern EvtScript N(makeWalkingSounds); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + +enum N(ActorVars) { + N(VAR_TURN_COUNTER) = 0, + N(VAR_FLAGS) = 1, + N(VAR_TURNS_SINCE_LAST_SHOCKWAVE_DRAIN) = 2, + N(VAR_TURNS_SINCE_LAST_STAR_BEAM) = 3, + N(VAR_TURNS_SINCE_LAST_CLAW_SWIPE) = 4, + N(VAR_TURNS_SINCE_LAST_HEAVY_JUMP) = 5, + N(VAR_TURNS_SINCE_LAST_RECOVER) = 6, + N(VAR_RECOVERS_LEFT) = 7, + N(VAR_COMMAND_LOSS_STATE) = 9, + N(VAR_LOST_ABILITY_ITEM) = 10, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleBowser_Idle, - STATUS_STONE, ANIM_BattleBowser_Still, - STATUS_SLEEP, ANIM_BattleBowser_Idle, - STATUS_POISON, ANIM_BattleBowser_Idle, - STATUS_STOP, ANIM_BattleBowser_Still, - STATUS_STATIC, ANIM_BattleBowser_Still, - STATUS_PARALYZE, ANIM_BattleBowser_Still, - STATUS_PARALYZE, ANIM_BattleBowser_Still, - STATUS_DIZZY, ANIM_BattleBowser_Idle, - STATUS_DIZZY, ANIM_BattleBowser_Idle, + STATUS_KEY_NORMAL, ANIM_BattleBowser_Idle, + STATUS_KEY_STONE, ANIM_BattleBowser_Still, + STATUS_KEY_SLEEP, ANIM_BattleBowser_Idle, + STATUS_KEY_POISON, ANIM_BattleBowser_Idle, + STATUS_KEY_STOP, ANIM_BattleBowser_Still, + STATUS_KEY_STATIC, ANIM_BattleBowser_Still, + STATUS_KEY_PARALYZE, ANIM_BattleBowser_Still, + STATUS_KEY_PARALYZE, ANIM_BattleBowser_Still, + STATUS_KEY_DIZZY, ANIM_BattleBowser_Idle, + STATUS_KEY_DIZZY, ANIM_BattleBowser_Idle, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(DefenseTable_boosted)[] = { - ELEMENT_NORMAL, 4, + ELEMENT_NORMAL, 4, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 30, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 30, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 30, - STATUS_SHRINK, 50, - STATUS_STOP, 30, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 30, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 30, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 30, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 30, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; s32 N(StatusTable_boosted)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -18, 72 }, .opacity = 255, @@ -136,8 +140,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BOWSER_PHASE_1, .level = 100, .maxHP = 50, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -149,9 +153,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 65, .coinReward = 0, .size = { 80, 82 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -40, 67 }, - .statusMessageOffset = { 10, 60 }, + .statusTextOffset = { 10, 60 }, }; #include "common/StartRumbleWithParams.inc.c" @@ -181,7 +185,7 @@ EvtScript N(init) = { EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn))) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 100, 0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 100, 0, 0, 0) EVT_EXEC(N(unkDecorationScript)) EVT_RETURN EVT_END @@ -189,7 +193,7 @@ EvtScript N(init) = { EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar3) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar3) EVT_LABEL(0) EVT_CALL(ActorExists, ACTOR_SELF, LVarB) EVT_IF_EQ(LVarB, 0) @@ -197,9 +201,9 @@ EvtScript N(idle) = { EVT_END_IF EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarB) EVT_IF_NOT_FLAG(LVarB, STATUS_FLAG_SHRINK) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 100, 0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 100, 0, 0, 0) EVT_ELSE - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 40, 0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 40, 0, 0, 0) EVT_END_IF EVT_EXEC_WAIT(N(makeWalkingSounds)) EVT_WAIT(1) @@ -217,18 +221,18 @@ EvtScript N(nextTurn) = { EVT_IF_NOT_FLAG(LVar0, 1) EVT_BITWISE_OR_CONST(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLAGS), LVar0) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(ActorSpeak, MSG_CH8_0073, ACTOR_SELF, 1, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(ActorSpeak, MSG_CH8_0073, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_END_IF EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -263,7 +267,7 @@ EvtScript N(handleEvent) = { EVT_SET(LVar1, ANIM_BattleBowser_BurnHurt) EVT_SET(LVar2, ANIM_BattleBowser_BurnStill) EVT_EXEC_WAIT(N(onBurnHit)) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_EVENT_FLAG_ENCHANTED) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_FLAGS), LVar0) EVT_IF_FLAG(LVar0, 4) @@ -275,7 +279,7 @@ EvtScript N(handleEvent) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(ActorSpeak, MSG_CH8_0077, ACTOR_SELF, 1, ANIM_BattleBowser_AnnoyedTalk, ANIM_BattleBowser_AnnoyedTalk) + EVT_CALL(ActorSpeak, MSG_CH8_0077, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_AnnoyedTalk, ANIM_BattleBowser_AnnoyedTalk) EVT_END_IF EVT_END_IF EVT_END_IF @@ -329,7 +333,7 @@ EvtScript N(handleEvent) = { EVT_SWITCH(LVar2) EVT_CASE_OR_EQ(DMG_SRC_SPOOK) EVT_CASE_OR_EQ(DMG_SRC_FRIGHT_JAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Mock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Mock) EVT_WAIT(30) EVT_END_CASE_GROUP EVT_CASE_DEFAULT @@ -347,7 +351,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleBowser_Jump) EVT_EXEC_WAIT(EVS_Enemy_Recover) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(3.0)) EVT_CASE_EQ(EVENT_30) EVT_SET_CONST(LVar0, 1) @@ -358,7 +362,7 @@ EvtScript N(handleEvent) = { EVT_CALL(N(UnfadeBackgroundToBlack)) EVT_CASE_EQ(EVENT_STAR_BEAM) EVT_CALL(FreezeBattleCam, TRUE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) EVT_SET(LVar3, 50) @@ -373,9 +377,9 @@ EvtScript N(handleEvent) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, LVar4) EVT_PLAY_EFFECT(EFFECT_SHIMMER_BURST, 1, LVar0, LVar1, LVar2, EVT_FLOAT(0.7), 30, 0) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ENCHANTED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ENCHANTED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_TURNS_SINCE_LAST_STAR_BEAM), 0) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) EVT_SET(LVar1, ANIM_BattleBowser_Hurt) EVT_EXEC_WAIT(N(onHit)) @@ -387,8 +391,8 @@ EvtScript N(handleEvent) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(ActorSpeak, MSG_CH8_0075, ACTOR_SELF, 1, ANIM_BattleBowser_Hurt, ANIM_BattleBowser_Hurt) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpStill) + EVT_CALL(ActorSpeak, MSG_CH8_0075, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Hurt, ANIM_BattleBowser_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpStill) EVT_LOOP(2) EVT_SET(LVar0, 0) EVT_LOOP(10) @@ -407,8 +411,8 @@ EvtScript N(handleEvent) = { EVT_WAIT(5) EVT_END_LOOP EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH8_0076, ACTOR_SELF, 1, ANIM_BattleBowser_Hurt, ANIM_BattleBowser_Hurt) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(ActorSpeak, MSG_CH8_0076, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Hurt, ANIM_BattleBowser_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_END_IF EVT_CALL(FreezeBattleCam, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -422,7 +426,7 @@ EvtScript N(handleEvent) = { }; EvtScript N(onSpinSmashOrNormalHit) = { - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_EVENT_FLAG_ENCHANTED) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_FLAGS), LVar0) EVT_IF_FLAG(LVar0, 4) @@ -436,7 +440,7 @@ EvtScript N(onSpinSmashOrNormalHit) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_13) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(ActorSpeak, MSG_CH8_0077, ACTOR_SELF, 1, ANIM_BattleBowser_AnnoyedTalk, ANIM_BattleBowser_AnnoyedTalk) + EVT_CALL(ActorSpeak, MSG_CH8_0077, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_AnnoyedTalk, ANIM_BattleBowser_AnnoyedTalk) EVT_CALL(FreezeBattleCam, FALSE) EVT_ELSE EVT_EXEC_WAIT(N(onHit)) @@ -460,7 +464,7 @@ EvtScript N(onHit) = { }; EvtScript N(onDeath) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_IF_NE(LVar1, -1) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) @@ -488,7 +492,7 @@ EvtScript N(onDeath) = { EVT_END_CASE_GROUP EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_IF_NE(LVar2, -12345) + EVT_IF_NE(LVar2, EXEC_DEATH_NO_SPINNING) EVT_SET(LVar2, 0) EVT_LOOP(24) EVT_CALL(SetActorYaw, ACTOR_SELF, LVar2) @@ -543,12 +547,12 @@ EvtScript N(powerUp) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_WAIT(5) - EVT_CALL(ActorSpeak, MSG_CH8_0074, ACTOR_SELF, 1, ANIM_BattleBowser_BrandishTalk, ANIM_BattleBowser_BrandishIdle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_BrandishStill) + EVT_CALL(ActorSpeak, MSG_CH8_0074, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_BrandishTalk, ANIM_BattleBowser_BrandishIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_BrandishStill) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_END_IF EVT_WAIT(2) EVT_EXEC_WAIT(N(useStarRod)) @@ -628,9 +632,9 @@ EvtScript N(useStarRod) = { EVT_CALL(RemoveEffect, LVarF) EVT_CALL(RemoveEffect, LVarE) EVT_CALL(RemoveEffect, LVarD) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ENCHANTED, TRUE) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_boosted))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ENCHANTED, TRUE) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_boosted))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_boosted))) EVT_CALL(N(RemoveChillOut)) EVT_WAIT(3) @@ -655,7 +659,7 @@ EvtScript N(useStarRod) = { EVT_THREAD EVT_CALL(N(UnfadeBackgroundToBlack)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpLaugh) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpLaugh) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) @@ -702,7 +706,7 @@ EvtScript N(jumpHome) = { }; EvtScript N(makeWalkingSounds) = { - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar7) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar7) EVT_IF_NE(LVar7, ANIM_BattleBowser_Walk) EVT_IF_EQ(LVar3, ANIM_BattleBowser_Walk) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B4) @@ -752,7 +756,7 @@ EvtScript N(recover) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_CALL(N(FadeBackgroundToBlack)) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2126) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) @@ -789,9 +793,9 @@ EvtScript N(recover) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, ACTOR_SELF, LVar0, FALSE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -859,7 +863,7 @@ EvtScript N(doTakeTurn) = { EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TURN_COUNTER), LVar0) EVT_IF_GT(LVar0, 1) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_EVENT_FLAG_ENCHANTED) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TURNS_SINCE_LAST_STAR_BEAM), LVar0) EVT_SWITCH(LVar0) @@ -1008,16 +1012,16 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(MoveBattleCamOver, 40) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 60, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PreJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PreJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Jump) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) @@ -1041,9 +1045,9 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(N(StartRumbleWithParams), 80, 14) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(2.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(25) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -1063,8 +1067,8 @@ EvtScript N(attackHeavyJump) = { EVT_END_THREAD EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Land) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Land) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar1) EVT_IF_FLAG(LVar1, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED)//@bug checks wrong event flag, never uses 12 damage attack EVT_SET(LVar0, 12) EVT_ELSE @@ -1109,7 +1113,7 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(N(StartRumbleWithParams), 80, 14) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 3, EVT_FLOAT(2.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) EVT_LABEL(0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_COMMAND_LOSS_STATE), LVar0) @@ -1119,17 +1123,17 @@ EvtScript N(attackHeavyJump) = { EVT_END_IF EVT_WAIT(8) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LOST_ABILITY_ITEM), LVar0) EVT_CALL(N(GetItemEntityPosition), LVar0, LVar1, LVar2, LVar3) EVT_ADD(LVar1, 30) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(8) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_StompOnce) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_StompOnce) EVT_WAIT(2) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LOST_ABILITY_ITEM), LVar0) EVT_CALL(N(GetItemEntityPosition), LVar0, LVar1, LVar2, LVar3) @@ -1138,23 +1142,23 @@ EvtScript N(attackHeavyJump) = { EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar1, 0, LVar3, EVT_FLOAT(2.0), 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F6) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_StompOnce) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_StompOnce) EVT_WAIT(2) EVT_PLAY_EFFECT(EFFECT_FIREWORK, 0, LVar1, 0, LVar3, EVT_FLOAT(0.5), 0, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar1, 0, LVar3, EVT_FLOAT(2.0), 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F6) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_StompOnce) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_StompOnce) EVT_WAIT(2) EVT_PLAY_EFFECT(EFFECT_FIREWORK, 0, LVar1, 0, LVar3, EVT_FLOAT(0.5), 0, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar1, 0, LVar3, EVT_FLOAT(2.0), 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F6) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Mock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Mock) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_ELSE EVT_CALL(GetBattleFlags, LVar1) EVT_IF_NOT_FLAG(LVar1, BS_FLAGS1_ATK_BLOCKED) @@ -1178,9 +1182,9 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(N(StartRumbleWithParams), 80, 14) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(3.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(20) EVT_END_IF EVT_IF_EQ(LVarF, 10) @@ -1195,7 +1199,7 @@ EvtScript N(attackHeavyJump) = { }; EvtScript N(onAttackMissed) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Tantrum) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Tantrum) EVT_THREAD EVT_WAIT(5) EVT_LOOP(4) @@ -1203,7 +1207,7 @@ EvtScript N(onAttackMissed) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(2.0)) EVT_WAIT(4) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_END_THREAD EVT_RETURN EVT_END @@ -1227,7 +1231,7 @@ EvtScript N(attackClawSwipe) = { EVT_CALL(MoveBattleCamOver, 40) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) @@ -1237,9 +1241,9 @@ EvtScript N(attackClawSwipe) = { EVT_END_IF EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpMock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpMock) EVT_WAIT(25) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Swipe) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Swipe) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35E) EVT_WAIT(3) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) @@ -1265,15 +1269,15 @@ EvtScript N(attackClawSwipe) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_ENCHANTED) EVT_SET(LVar0, 12) EVT_CALL(SetDamageSource, DMG_SRC_LAST_SLAP_LEFT) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_ELSE EVT_SET(LVar0, 6) EVT_CALL(SetDamageSource, DMG_SRC_LAST_SLAP_LEFT) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) @@ -1320,7 +1324,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_WAIT(10) EVT_CALL(N(FadeBackgroundToBlack)) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2121) @@ -1375,7 +1379,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarB, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarB) EVT_CASE_EQ(HIT_RESULT_MISS) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) EVT_RETURN EVT_CASE_DEFAULT @@ -1393,10 +1397,10 @@ EvtScript N(attackShockwaveDrain) = { EVT_ELSE EVT_SET(LVar1, 3) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(RemovePlayerBuffs, PLAYER_BUFF_PARTNER_GLOWING) EVT_IF_NE(LVarA, HIT_RESULT_LUCKY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_END_IF EVT_WAIT(30) EVT_RETURN @@ -1404,7 +1408,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_END_CASE_GROUP EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_THREAD EVT_WAIT(4) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) @@ -1414,8 +1418,8 @@ EvtScript N(attackShockwaveDrain) = { EVT_ELSE EVT_SET(LVar1, 3) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1424,13 +1428,13 @@ EvtScript N(attackShockwaveDrain) = { EVT_ELSE EVT_SET(LVar1, 4) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(RemovePlayerBuffs, PLAYER_BUFF_JUMP_CHARGE | PLAYER_BUFF_HAMMER_CHARGE | PLAYER_BUFF_STONE | PLAYER_BUFF_HUSTLE | PLAYER_BUFF_STATIC | PLAYER_BUFF_TRANSPARENT | PLAYER_BUFF_CLOUD_NINE | PLAYER_BUFF_TURBO_CHARGE | PLAYER_BUFF_WATER_BLOCK | PLAYER_BUFF_PARTNER_GLOWING | 0xFFEFC04) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(15) EVT_IF_EQ(LVarF, HIT_RESULT_10) EVT_RETURN @@ -1462,13 +1466,13 @@ EvtScript N(attackFlameBreath) = { EVT_CALL(SetBattleCamZoom, 350) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PreFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PreFireBreath) EVT_WAIT(35) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathStill) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 55) EVT_WAIT(10) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar3) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar3) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar4) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_IF_FLAG(LVar3, ACTOR_EVENT_FLAG_ENCHANTED) @@ -1493,7 +1497,7 @@ EvtScript N(attackFlameBreath) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_SUB(LVar3, 40) EVT_SET(LVar4, 20) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar6) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar6) EVT_IF_FLAG(LVar6, ACTOR_EVENT_FLAG_ENCHANTED) EVT_PLAY_EFFECT(EFFECT_FIRE_BREATH, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, 50, 1, 24, 0) EVT_ELSE @@ -1513,11 +1517,11 @@ EvtScript N(attackFlameBreath) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathLoop) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathLoop) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostFireBreath) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) EVT_EXEC_WAIT(N(onAttackMissed)) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -1530,7 +1534,7 @@ EvtScript N(attackFlameBreath) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_ENCHANTED) EVT_SET(LVar0, 16) EVT_ELSE @@ -1542,11 +1546,11 @@ EvtScript N(attackFlameBreath) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathLoop) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathLoop) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostFireBreath) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) EVT_IF_EQ(LVarF, HIT_RESULT_10) EVT_RETURN @@ -1560,8 +1564,8 @@ EvtScript N(attackFlameBreath) = { EvtScript N(onBurnHit) = { EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, 36) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ENCHANTED, FALSE) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ENCHANTED, FALSE) EVT_END_IF EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_CALL(GetDamageSource, LVar3) diff --git a/src/battle/area/kpa2/actor/bowser_phase_2.c b/src/battle/area/kpa2/actor/bowser_phase_2.c index 14f6f56a06..68cb2d0012 100644 --- a/src/battle/area/kpa2/actor/bowser_phase_2.c +++ b/src/battle/area/kpa2/actor/bowser_phase_2.c @@ -6,18 +6,6 @@ #define NAMESPACE b_area_kpa2_bowser_phase_2 -enum N(ActorVars) { - N(VAR_TURN_COUNTER) = 0, - N(VAR_TURNS_SINCE_LAST_SHOCKWAVE_DRAIN) = 2, - N(VAR_TURNS_SINCE_LAST_STAR_BEAM) = 3, - N(VAR_TURNS_SINCE_LAST_CLAW_SWIPE) = 4, - N(VAR_TURNS_SINCE_LAST_HEAVY_JUMP) = 5, - N(VAR_TURNS_SINCE_LAST_RECOVER) = 6, - N(VAR_RECOVERS_LEFT) = 7, - N(VAR_COMMAND_LOSS_STATE) = 9, - N(VAR_LOST_ABILITY_ITEM) = 10, -}; - extern EvtScript N(init); extern EvtScript N(idle); extern EvtScript N(takeTurn); @@ -40,84 +28,100 @@ extern EvtScript N(onBurnHit); extern EvtScript N(makeWalkingSounds); extern EvtScript N(unkDecorationScript); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + +enum N(ActorVars) { + N(VAR_TURN_COUNTER) = 0, + N(VAR_TURNS_SINCE_LAST_SHOCKWAVE_DRAIN) = 2, + N(VAR_TURNS_SINCE_LAST_STAR_BEAM) = 3, + N(VAR_TURNS_SINCE_LAST_CLAW_SWIPE) = 4, + N(VAR_TURNS_SINCE_LAST_HEAVY_JUMP) = 5, + N(VAR_TURNS_SINCE_LAST_RECOVER) = 6, + N(VAR_RECOVERS_LEFT) = 7, + N(VAR_COMMAND_LOSS_STATE) = 9, + N(VAR_LOST_ABILITY_ITEM) = 10, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleBowser_Idle, - STATUS_STONE, ANIM_BattleBowser_Still, - STATUS_SLEEP, ANIM_BattleBowser_Idle, - STATUS_POISON, ANIM_BattleBowser_Idle, - STATUS_STOP, ANIM_BattleBowser_Still, - STATUS_STATIC, ANIM_BattleBowser_Still, - STATUS_PARALYZE, ANIM_BattleBowser_Still, - STATUS_PARALYZE, ANIM_BattleBowser_Still, - STATUS_DIZZY, ANIM_BattleBowser_Idle, - STATUS_DIZZY, ANIM_BattleBowser_Idle, + STATUS_KEY_NORMAL, ANIM_BattleBowser_Idle, + STATUS_KEY_STONE, ANIM_BattleBowser_Still, + STATUS_KEY_SLEEP, ANIM_BattleBowser_Idle, + STATUS_KEY_POISON, ANIM_BattleBowser_Idle, + STATUS_KEY_STOP, ANIM_BattleBowser_Still, + STATUS_KEY_STATIC, ANIM_BattleBowser_Still, + STATUS_KEY_PARALYZE, ANIM_BattleBowser_Still, + STATUS_KEY_PARALYZE, ANIM_BattleBowser_Still, + STATUS_KEY_DIZZY, ANIM_BattleBowser_Idle, + STATUS_KEY_DIZZY, ANIM_BattleBowser_Idle, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 2, + ELEMENT_NORMAL, 2, ELEMENT_END, }; s32 N(DefenseTable_boosted)[] = { - ELEMENT_NORMAL, 99, + ELEMENT_NORMAL, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; s32 N(StatusTable_boosted)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -27, 108 }, .opacity = 255, @@ -134,8 +138,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BOWSER_PHASE_2, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -147,9 +151,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 50, .coinReward = 0, .size = { 123, 119 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -53, 103 }, - .statusMessageOffset = { 33, 92 }, + .statusTextOffset = { 33, 92 }, }; #define BOWSER_LARGE @@ -177,10 +181,10 @@ EvtScript N(init) = { EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_COMMAND_LOSS_STATE), 0) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LOST_ABILITY_ITEM), 0) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.5), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 150, 0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 150, 0, 0, 0) EVT_EXEC(N(unkDecorationScript)) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 150, 150, 0, 0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_A) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 150, 150, 0, 0) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_A) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) @@ -191,7 +195,7 @@ EvtScript N(init) = { EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar3) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar3) EVT_LABEL(0) EVT_CALL(ActorExists, ACTOR_SELF, LVarB) EVT_IF_EQ(LVarB, 0) @@ -199,11 +203,11 @@ EvtScript N(idle) = { EVT_END_IF EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarB) EVT_IF_NOT_FLAG(LVarB, STATUS_FLAG_SHRINK) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 150, 150, 255, 0) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 150, 0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 150, 150, 255, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 150, 0, 0, 0) EVT_ELSE - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 60, 60, 255, 0) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 60, 0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 60, 60, 255, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 60, 0, 0, 0) EVT_END_IF EVT_EXEC_WAIT(N(makeWalkingSounds)) EVT_WAIT(1) @@ -269,7 +273,7 @@ EvtScript N(handleEvent) = { EVT_SWITCH(LVar2) EVT_CASE_OR_EQ(DMG_SRC_SPOOK) EVT_CASE_OR_EQ(DMG_SRC_FRIGHT_JAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Mock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Mock) EVT_WAIT(30) EVT_END_CASE_GROUP EVT_CASE_DEFAULT @@ -291,7 +295,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleBowser_Jump) EVT_EXEC_WAIT(EVS_Enemy_Recover) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(3.0)) EVT_CASE_EQ(EVENT_SWAP_PARTNER) EVT_CALL(N(UnfadeBackgroundToBlack)) @@ -312,7 +316,7 @@ EvtScript N(handleEvent) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, LVar3) EVT_PLAY_EFFECT(EFFECT_ENERGY_ORB_WAVE, 4, LVar0, LVar1, LVar2, EVT_FLOAT(1.5), 20, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpLaugh) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpLaugh) EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -323,7 +327,7 @@ EvtScript N(handleEvent) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_CH8_0085, ACTOR_SELF, 1, ANIM_BattleBowser_Mock, ANIM_BattleBowser_Mock) + EVT_CALL(ActorSpeak, MSG_CH8_0085, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Mock, ANIM_BattleBowser_Mock) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_PLAYER) EVT_CALL(MoveBattleCamOver, 20) @@ -352,7 +356,7 @@ EvtScript N(handleEvent) = { EVT_CALL(GetActorHP, ACTOR_SELF, GB_FinalBowserHP) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, TRUE) - EVT_CALL(func_8026F60C, 20) + EVT_CALL(SetEndBattleFadeOutRate, 20) EVT_RETURN EVT_CASE_EQ(20) EVT_CASE_DEFAULT @@ -401,7 +405,7 @@ EvtScript N(takeTurn) = { }; EvtScript N(powerUp) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_EXEC_WAIT(N(useStarRod)) EVT_RETURN EVT_END @@ -479,9 +483,9 @@ EvtScript N(useStarRod) = { EVT_CALL(RemoveEffect, LVarF) EVT_CALL(RemoveEffect, LVarE) EVT_CALL(RemoveEffect, LVarD) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, TRUE) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_boosted))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, TRUE) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_boosted))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_boosted))) EVT_CALL(N(RemoveChillOut)) EVT_WAIT(3) @@ -506,7 +510,7 @@ EvtScript N(useStarRod) = { EVT_THREAD EVT_CALL(N(UnfadeBackgroundToBlack)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpLaugh) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpLaugh) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) @@ -553,7 +557,7 @@ EvtScript N(jumpHome) = { }; EvtScript N(makeWalkingSounds) = { - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar7) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar7) EVT_IF_NE(LVar7, ANIM_BattleBowser_Walk) EVT_IF_EQ(LVar3, ANIM_BattleBowser_Walk) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B4) @@ -603,7 +607,7 @@ EvtScript N(recover) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_CALL(N(FadeBackgroundToBlack)) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2126) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) @@ -640,9 +644,9 @@ EvtScript N(recover) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, ACTOR_SELF, LVar0, FALSE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -678,7 +682,7 @@ EvtScript N(doTakeTurn) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 30) EVT_END_IF - EVT_CALL(ActorSpeak, MSG_CH8_0084, ACTOR_SELF, 1, ANIM_BattleBowser_Mock, ANIM_BattleBowser_Mock) + EVT_CALL(ActorSpeak, MSG_CH8_0084, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Mock, ANIM_BattleBowser_Mock) EVT_EXEC_WAIT(N(powerUp)) EVT_RETURN EVT_END_IF @@ -711,7 +715,7 @@ EvtScript N(doTakeTurn) = { EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TURN_COUNTER), LVar0) EVT_IF_GT(LVar0, 1) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TURNS_SINCE_LAST_STAR_BEAM), LVar0) EVT_SWITCH(LVar0) @@ -861,16 +865,16 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(MoveBattleCamOver, 40) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 60, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PreJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PreJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Jump) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) @@ -894,9 +898,9 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(N(StartRumbleWithParams), 80, 14) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(2.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(25) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -916,8 +920,8 @@ EvtScript N(attackHeavyJump) = { EVT_END_THREAD EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Land) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Land) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar1) EVT_IF_FLAG(LVar1, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_SET(LVar0, 16) EVT_ELSE @@ -962,7 +966,7 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(N(StartRumbleWithParams), 80, 14) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 3, EVT_FLOAT(2.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) EVT_LABEL(0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_COMMAND_LOSS_STATE), LVar0) @@ -972,17 +976,17 @@ EvtScript N(attackHeavyJump) = { EVT_END_IF EVT_WAIT(8) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LOST_ABILITY_ITEM), LVar0) EVT_CALL(N(GetItemEntityPosition), LVar0, LVar1, LVar2, LVar3) EVT_ADD(LVar1, 38) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(8) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_StompOnce) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_StompOnce) EVT_WAIT(2) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LOST_ABILITY_ITEM), LVar0) EVT_CALL(N(GetItemEntityPosition), LVar0, LVar1, LVar2, LVar3) @@ -991,23 +995,23 @@ EvtScript N(attackHeavyJump) = { EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar1, 0, LVar3, EVT_FLOAT(3.0), 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F6) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_StompOnce) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_StompOnce) EVT_WAIT(2) EVT_PLAY_EFFECT(EFFECT_FIREWORK, 0, LVar1, 0, LVar3, EVT_FLOAT(0.75), 0, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar1, 0, LVar3, EVT_FLOAT(3.0), 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F6) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_StompOnce) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_StompOnce) EVT_WAIT(2) EVT_PLAY_EFFECT(EFFECT_FIREWORK, 0, LVar1, 0, LVar3, EVT_FLOAT(0.75), 0, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar1, 0, LVar3, EVT_FLOAT(3.0), 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F6) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Mock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Mock) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_ELSE EVT_CALL(GetBattleFlags, LVar1) EVT_IF_NOT_FLAG(LVar1, BS_FLAGS1_ATK_BLOCKED) @@ -1031,9 +1035,9 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(N(StartRumbleWithParams), 80, 14) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(3.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(20) EVT_END_IF EVT_IF_EQ(LVarF, 10) @@ -1048,7 +1052,7 @@ EvtScript N(attackHeavyJump) = { }; EvtScript N(onAttackMissed) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Tantrum) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Tantrum) EVT_THREAD EVT_WAIT(5) EVT_LOOP(4) @@ -1056,7 +1060,7 @@ EvtScript N(onAttackMissed) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(2.0)) EVT_WAIT(4) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_END_THREAD EVT_RETURN EVT_END @@ -1080,7 +1084,7 @@ EvtScript N(attackClawSwipe) = { EVT_CALL(MoveBattleCamOver, 40) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) @@ -1090,9 +1094,9 @@ EvtScript N(attackClawSwipe) = { EVT_END_IF EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpMock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpMock) EVT_WAIT(25) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Swipe) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Swipe) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35E) EVT_WAIT(3) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) @@ -1118,15 +1122,15 @@ EvtScript N(attackClawSwipe) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_SET(LVar0, 16) EVT_CALL(SetDamageSource, DMG_SRC_LAST_SLAP_LEFT) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_ELSE EVT_SET(LVar0, 8) EVT_CALL(SetDamageSource, DMG_SRC_LAST_SLAP_LEFT) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -1171,7 +1175,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_WAIT(10) EVT_CALL(N(FadeBackgroundToBlack)) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2121) @@ -1226,7 +1230,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarB, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarB) EVT_CASE_EQ(HIT_RESULT_MISS) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) EVT_RETURN EVT_CASE_DEFAULT @@ -1244,10 +1248,10 @@ EvtScript N(attackShockwaveDrain) = { EVT_ELSE EVT_SET(LVar1, 3) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(RemovePlayerBuffs, PLAYER_BUFF_PARTNER_GLOWING) EVT_IF_NE(LVarA, HIT_RESULT_LUCKY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_END_IF EVT_WAIT(30) EVT_RETURN @@ -1255,7 +1259,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_END_CASE_GROUP EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_THREAD EVT_WAIT(4) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) @@ -1265,8 +1269,8 @@ EvtScript N(attackShockwaveDrain) = { EVT_ELSE EVT_SET(LVar1, 3) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1275,13 +1279,13 @@ EvtScript N(attackShockwaveDrain) = { EVT_ELSE EVT_SET(LVar1, 6) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(RemovePlayerBuffs, PLAYER_BUFF_JUMP_CHARGE | PLAYER_BUFF_HAMMER_CHARGE | PLAYER_BUFF_STONE | PLAYER_BUFF_HUSTLE | PLAYER_BUFF_STATIC | PLAYER_BUFF_TRANSPARENT | PLAYER_BUFF_CLOUD_NINE | PLAYER_BUFF_TURBO_CHARGE | PLAYER_BUFF_WATER_BLOCK | PLAYER_BUFF_PARTNER_GLOWING | 0xFFEFC04) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(15) EVT_IF_EQ(LVarF, HIT_RESULT_10) EVT_RETURN @@ -1313,13 +1317,13 @@ EvtScript N(attackFlameBreath) = { EVT_CALL(SetBattleCamZoom, 350) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PreFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PreFireBreath) EVT_WAIT(35) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathStill) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 55) EVT_WAIT(10) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar3) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar3) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar4) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_IF_FLAG(LVar3, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) @@ -1344,7 +1348,7 @@ EvtScript N(attackFlameBreath) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_SUB(LVar3, 40) EVT_SET(LVar4, 20) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar6) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar6) EVT_IF_FLAG(LVar6, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_PLAY_EFFECT(EFFECT_FIRE_BREATH, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, 50, 1, 24, 0) EVT_ELSE @@ -1371,11 +1375,11 @@ EvtScript N(attackFlameBreath) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathLoop) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathLoop) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostFireBreath) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) EVT_EXEC_WAIT(N(onAttackMissed)) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -1388,7 +1392,7 @@ EvtScript N(attackFlameBreath) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_SET(LVar0, 20) EVT_ELSE @@ -1400,11 +1404,11 @@ EvtScript N(attackFlameBreath) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathLoop) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathLoop) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostFireBreath) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) EVT_IF_EQ(LVarF, HIT_RESULT_10) EVT_RETURN @@ -1514,7 +1518,7 @@ EvtScript N(attackLightningBlast) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3EF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_CALL(N(FadeBackgroundToBlack)) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) @@ -1578,7 +1582,7 @@ EvtScript N(attackLightningBlast) = { EVT_END_SWITCH EVT_WAIT(5) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_SET(LVar0, 20) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) diff --git a/src/battle/area/kpa2/actor/bowser_phase_3.c b/src/battle/area/kpa2/actor/bowser_phase_3.c index f55678af4f..48ce6e7a23 100644 --- a/src/battle/area/kpa2/actor/bowser_phase_3.c +++ b/src/battle/area/kpa2/actor/bowser_phase_3.c @@ -6,19 +6,6 @@ #define NAMESPACE b_area_kpa2_bowser_phase_3 -enum N(ActorVars) { - N(VAR_TURN_COUNTER) = 0, - N(VAR_FLAGS) = 1, - N(VAR_TURNS_SINCE_LAST_SHOCKWAVE_DRAIN) = 2, - N(VAR_TURNS_SINCE_LAST_STAR_BEAM) = 3, - N(VAR_TURNS_SINCE_LAST_CLAW_SWIPE) = 4, - N(VAR_TURNS_SINCE_LAST_HEAVY_JUMP) = 5, - N(VAR_TURNS_SINCE_LAST_RECOVER) = 6, - N(VAR_RECOVERS_LEFT) = 7, - N(VAR_COMMAND_LOSS_STATE) = 9, - N(VAR_LOST_ABILITY_ITEM) = 10, -}; - extern EvtScript N(init); extern EvtScript N(idle); extern EvtScript N(takeTurn); @@ -43,84 +30,101 @@ extern EvtScript N(onBurnHit); extern EvtScript N(makeWalkingSounds); extern EvtScript N(unkDecorationScript); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + +enum N(ActorVars) { + N(VAR_TURN_COUNTER) = 0, + N(VAR_FLAGS) = 1, + N(VAR_TURNS_SINCE_LAST_SHOCKWAVE_DRAIN) = 2, + N(VAR_TURNS_SINCE_LAST_STAR_BEAM) = 3, + N(VAR_TURNS_SINCE_LAST_CLAW_SWIPE) = 4, + N(VAR_TURNS_SINCE_LAST_HEAVY_JUMP) = 5, + N(VAR_TURNS_SINCE_LAST_RECOVER) = 6, + N(VAR_RECOVERS_LEFT) = 7, + N(VAR_COMMAND_LOSS_STATE) = 9, + N(VAR_LOST_ABILITY_ITEM) = 10, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleBowser_Idle, - STATUS_STONE, ANIM_BattleBowser_Still, - STATUS_SLEEP, ANIM_BattleBowser_Idle, - STATUS_POISON, ANIM_BattleBowser_Idle, - STATUS_STOP, ANIM_BattleBowser_Still, - STATUS_STATIC, ANIM_BattleBowser_Still, - STATUS_PARALYZE, ANIM_BattleBowser_Still, - STATUS_PARALYZE, ANIM_BattleBowser_Still, - STATUS_DIZZY, ANIM_BattleBowser_Idle, - STATUS_DIZZY, ANIM_BattleBowser_Idle, + STATUS_KEY_NORMAL, ANIM_BattleBowser_Idle, + STATUS_KEY_STONE, ANIM_BattleBowser_Still, + STATUS_KEY_SLEEP, ANIM_BattleBowser_Idle, + STATUS_KEY_POISON, ANIM_BattleBowser_Idle, + STATUS_KEY_STOP, ANIM_BattleBowser_Still, + STATUS_KEY_STATIC, ANIM_BattleBowser_Still, + STATUS_KEY_PARALYZE, ANIM_BattleBowser_Still, + STATUS_KEY_PARALYZE, ANIM_BattleBowser_Still, + STATUS_KEY_DIZZY, ANIM_BattleBowser_Idle, + STATUS_KEY_DIZZY, ANIM_BattleBowser_Idle, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 2, + ELEMENT_NORMAL, 2, ELEMENT_END, }; s32 N(DefenseTable_boosted)[] = { - ELEMENT_NORMAL, 99, + ELEMENT_NORMAL, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; s32 N(StatusTable_boosted)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -27, 108 }, .opacity = 255, @@ -137,8 +141,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BOWSER_PHASE_3, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -150,9 +154,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 60, .coinReward = 0, .size = { 123, 119 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -53, 103 }, - .statusMessageOffset = { 33, 92 }, + .statusTextOffset = { 33, 92 }, }; #define BOWSER_LARGE @@ -175,7 +179,7 @@ API_CALLABLE(N(MakeLightnings)) { z = evt_get_variable(script, *args++); scale = evt_get_float_variable(script, *args++); - if (actor->debuff != STATUS_SHRINK) { + if (actor->debuff != STATUS_KEY_SHRINK) { y += scale * 36.0f; } else { y += scale * 14.4; @@ -224,13 +228,13 @@ EvtScript N(init) = { EVT_CALL(SetEnemyHP, ACTOR_SELF, 1) EVT_END_IF EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.5), EVT_FLOAT(1.5), EVT_FLOAT(1.0)) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 150, 0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 150, 0, 0, 0) EVT_EXEC(N(unkDecorationScript)) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 150, 150, 0, 0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_A) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, TRUE) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_boosted))) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 150, 150, 0, 0) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_A) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, TRUE) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_boosted))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_boosted))) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) @@ -243,7 +247,7 @@ EvtScript N(init) = { EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar3) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar3) EVT_LABEL(0) EVT_CALL(ActorExists, ACTOR_SELF, LVarB) EVT_IF_EQ(LVarB, 0) @@ -251,11 +255,11 @@ EvtScript N(idle) = { EVT_END_IF EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarB) EVT_IF_NOT_FLAG(LVarB, STATUS_FLAG_SHRINK) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 150, 150, 255, 0) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 150, 0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 150, 150, 255, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 150, 0, 0, 0) EVT_ELSE - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 60, 60, 255, 0) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 1, 60, 0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 60, 60, 255, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 60, 0, 0, 0) EVT_END_IF EVT_EXEC_WAIT(N(makeWalkingSounds)) EVT_WAIT(1) @@ -271,7 +275,7 @@ EvtScript N(nextTurn) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TURN_COUNTER), LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) @@ -292,8 +296,8 @@ EvtScript N(nextTurn) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 30) EVT_END_IF - EVT_CALL(ActorSpeak, MSG_CH8_00A6, ACTOR_SELF, 1, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) - EVT_CALL(func_802535B4, 1) + EVT_CALL(ActorSpeak, MSG_CH8_00A6, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_END_IF EVT_CASE_EQ(PHASE_ENEMY_BEGIN) @@ -307,7 +311,7 @@ EvtScript N(nextTurn) = { EVT_BITWISE_OR_CONST(LVar0, 0x10) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLAGS), LVar0) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) @@ -328,8 +332,8 @@ EvtScript N(nextTurn) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 30) EVT_END_IF - EVT_CALL(ActorSpeak, MSG_CH8_00A8, ACTOR_SELF, 1, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) - EVT_CALL(func_802535B4, 1) + EVT_CALL(ActorSpeak, MSG_CH8_00A8, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Talk, ANIM_BattleBowser_Idle) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_END_IF EVT_END_IF @@ -408,7 +412,7 @@ EvtScript N(handleEvent) = { EVT_SWITCH(LVar2) EVT_CASE_OR_EQ(DMG_SRC_SPOOK) EVT_CASE_OR_EQ(DMG_SRC_FRIGHT_JAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Mock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Mock) EVT_WAIT(30) EVT_END_CASE_GROUP EVT_CASE_DEFAULT @@ -426,7 +430,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleBowser_Jump) EVT_EXEC_WAIT(EVS_Enemy_Recover) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(3.0)) EVT_CASE_EQ(EVENT_SWAP_PARTNER) EVT_CALL(N(UnfadeBackgroundToBlack)) @@ -438,14 +442,14 @@ EvtScript N(handleEvent) = { EVT_CASE_EQ(EVENT_INVUNERABLE_TAUNT) EVT_SET(LVar1, ANIM_BattleBowser_Idle) EVT_EXEC_WAIT(N(onImmune)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, TRUE) - EVT_CALL(func_8026F60C, 10) + EVT_CALL(SetEndBattleFadeOutRate, 10) EVT_RETURN EVT_CASE_EQ(EVENT_PEACH_BEAM) EVT_CALL(FreezeBattleCam, TRUE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) EVT_SET(LVar3, 75) @@ -460,9 +464,9 @@ EvtScript N(handleEvent) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, LVar4) EVT_PLAY_EFFECT(EFFECT_SHIMMER_BURST, 1, LVar0, LVar1, LVar2, EVT_FLOAT(1.05), 50, 0) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_TURNS_SINCE_LAST_STAR_BEAM), 0) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) EVT_SET(LVar1, ANIM_BattleBowser_Hurt) EVT_EXEC_WAIT(N(doOnHit)) @@ -484,7 +488,7 @@ EvtScript N(handleEvent) = { EVT_CALL(SetBattleCamZoom, 420) EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(ActorSpeak, MSG_CH8_00A7, ACTOR_SELF, 1, ANIM_BattleBowser_Hurt, ANIM_BattleBowser_Hurt) + EVT_CALL(ActorSpeak, MSG_CH8_00A7, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Hurt, ANIM_BattleBowser_Hurt) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 45) EVT_END_IF @@ -511,11 +515,11 @@ EvtScript N(doOnHit) = { }; EvtScript N(onDeath) = { - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, FALSE) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_WAIT(14) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_HurtStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_HurtStill) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) @@ -538,7 +542,7 @@ EvtScript N(onDeath) = { EVT_END_IF EVT_WAIT(30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2128) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Hurt) EVT_THREAD EVT_CALL(MakeLerp, 0, 80, 8, EASING_QUADRATIC_OUT) EVT_SET(LVar2, 0) @@ -591,29 +595,29 @@ EvtScript N(onDeath) = { EVT_GOTO(2) EVT_END_IF EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_HurtStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_HurtStill) EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2129) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_DefeatedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_DefeatedIdle) EVT_THREAD EVT_CALL(N(StartRumbleWithParams), 180, 16) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(3.0)) EVT_END_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, LVar0, LVar1, LVar2, 0, 0) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.93), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.93), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(0.85), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(0.85), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.25), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.25), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(0.75), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(0.75), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(0.87), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(0.87), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.9201), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.9201), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_WAIT(30) EVT_CALL(SetActorSize, ACTOR_SELF, 52, 115) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -636,10 +640,10 @@ EvtScript N(onDeath) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(ActorSpeak, MSG_CH8_00A9, ACTOR_SELF, 1, ANIM_BattleBowser_DefeatedTalk, ANIM_BattleBowser_DefeatedIdle) + EVT_CALL(ActorSpeak, MSG_CH8_00A9, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_DefeatedTalk, ANIM_BattleBowser_DefeatedIdle) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_DISABLE_CELEBRATION | BS_FLAGS1_BATTLE_FLED, TRUE) - EVT_CALL(func_8026F60C, 20) + EVT_CALL(SetEndBattleFadeOutRate, 20) EVT_RETURN EVT_END }; @@ -660,7 +664,7 @@ EvtScript N(takeTurn) = { }; EvtScript N(powerUp) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_EXEC_WAIT(N(useStarRod)) EVT_RETURN EVT_END @@ -738,9 +742,9 @@ EvtScript N(useStarRod) = { EVT_CALL(RemoveEffect, LVarF) EVT_CALL(RemoveEffect, LVarE) EVT_CALL(RemoveEffect, LVarD) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, TRUE) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_boosted))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, TRUE) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_boosted))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_boosted))) EVT_CALL(N(RemoveChillOut)) EVT_WAIT(3) @@ -765,7 +769,7 @@ EvtScript N(useStarRod) = { EVT_THREAD EVT_CALL(N(UnfadeBackgroundToBlack)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpLaugh) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpLaugh) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) @@ -812,7 +816,7 @@ EvtScript N(jumpHome) = { }; EvtScript N(makeWalkingSounds) = { - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar7) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar7) EVT_IF_NE(LVar7, ANIM_BattleBowser_Walk) EVT_IF_EQ(LVar3, ANIM_BattleBowser_Walk) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B4) @@ -862,7 +866,7 @@ EvtScript N(recover) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_CALL(N(FadeBackgroundToBlack)) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2126) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) @@ -899,9 +903,9 @@ EvtScript N(recover) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, ACTOR_SELF, LVar0, FALSE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -944,7 +948,7 @@ EvtScript N(doTakeTurn) = { EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TURN_COUNTER), LVar0) EVT_IF_GT(LVar0, 1) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TURNS_SINCE_LAST_STAR_BEAM), LVar0) EVT_SWITCH(LVar0) @@ -1094,16 +1098,16 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(MoveBattleCamOver, 40) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 60, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PreJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PreJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Jump) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) @@ -1127,9 +1131,9 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(N(StartRumbleWithParams), 80, 14) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(2.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(25) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -1149,8 +1153,8 @@ EvtScript N(attackHeavyJump) = { EVT_END_THREAD EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Land) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Land) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar1) EVT_IF_FLAG(LVar1, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_SET(LVar0, 16) EVT_ELSE @@ -1195,7 +1199,7 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(N(StartRumbleWithParams), 80, 14) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 3, EVT_FLOAT(2.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) EVT_LABEL(0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_COMMAND_LOSS_STATE), LVar0) @@ -1205,17 +1209,17 @@ EvtScript N(attackHeavyJump) = { EVT_END_IF EVT_WAIT(8) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LOST_ABILITY_ITEM), LVar0) EVT_CALL(N(GetItemEntityPosition), LVar0, LVar1, LVar2, LVar3) EVT_ADD(LVar1, 38) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(8) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_StompOnce) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_StompOnce) EVT_WAIT(2) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LOST_ABILITY_ITEM), LVar0) EVT_CALL(N(GetItemEntityPosition), LVar0, LVar1, LVar2, LVar3) @@ -1224,23 +1228,23 @@ EvtScript N(attackHeavyJump) = { EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar1, 0, LVar3, EVT_FLOAT(3.0), 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F6) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_StompOnce) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_StompOnce) EVT_WAIT(2) EVT_PLAY_EFFECT(EFFECT_FIREWORK, 0, LVar1, 0, LVar3, EVT_FLOAT(0.75), 0, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar1, 0, LVar3, EVT_FLOAT(3.0), 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F6) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_StompOnce) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_StompOnce) EVT_WAIT(2) EVT_PLAY_EFFECT(EFFECT_FIREWORK, 0, LVar1, 0, LVar3, EVT_FLOAT(0.75), 0, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar1, 0, LVar3, EVT_FLOAT(3.0), 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F6) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Mock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Mock) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_ELSE EVT_CALL(GetBattleFlags, LVar1) EVT_IF_NOT_FLAG(LVar1, BS_FLAGS1_ATK_BLOCKED) @@ -1264,9 +1268,9 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(N(StartRumbleWithParams), 80, 14) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(3.0)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostJump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostJump) EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(20) EVT_END_IF EVT_IF_EQ(LVarF, 10) @@ -1281,7 +1285,7 @@ EvtScript N(attackHeavyJump) = { }; EvtScript N(onAttackMissed) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Tantrum) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Tantrum) EVT_THREAD EVT_WAIT(5) EVT_LOOP(4) @@ -1289,7 +1293,7 @@ EvtScript N(onAttackMissed) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(2.0)) EVT_WAIT(4) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_END_THREAD EVT_RETURN EVT_END @@ -1313,7 +1317,7 @@ EvtScript N(attackClawSwipe) = { EVT_CALL(MoveBattleCamOver, 40) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Walk) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) @@ -1323,9 +1327,9 @@ EvtScript N(attackClawSwipe) = { EVT_END_IF EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_RearUpMock) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_RearUpMock) EVT_WAIT(25) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Swipe) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Swipe) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35E) EVT_WAIT(3) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) @@ -1351,15 +1355,15 @@ EvtScript N(attackClawSwipe) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_SET(LVar0, 16) EVT_CALL(SetDamageSource, DMG_SRC_LAST_SLAP_LEFT) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_ELSE EVT_SET(LVar0, 8) EVT_CALL(SetDamageSource, DMG_SRC_LAST_SLAP_LEFT) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -1404,7 +1408,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_WAIT(10) EVT_CALL(N(FadeBackgroundToBlack)) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2121) @@ -1459,7 +1463,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarB, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarB) EVT_CASE_EQ(HIT_RESULT_MISS) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) EVT_RETURN EVT_CASE_DEFAULT @@ -1477,10 +1481,10 @@ EvtScript N(attackShockwaveDrain) = { EVT_ELSE EVT_SET(LVar1, 3) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(RemovePlayerBuffs, PLAYER_BUFF_PARTNER_GLOWING) EVT_IF_NE(LVarA, 5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_END_IF EVT_WAIT(30) EVT_RETURN @@ -1488,7 +1492,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_END_CASE_GROUP EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_THREAD EVT_WAIT(4) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) @@ -1498,8 +1502,8 @@ EvtScript N(attackShockwaveDrain) = { EVT_ELSE EVT_SET(LVar1, 3) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1508,13 +1512,13 @@ EvtScript N(attackShockwaveDrain) = { EVT_ELSE EVT_SET(LVar1, 6) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(RemovePlayerBuffs, PLAYER_BUFF_JUMP_CHARGE | PLAYER_BUFF_HAMMER_CHARGE | PLAYER_BUFF_STONE | PLAYER_BUFF_HUSTLE | PLAYER_BUFF_STATIC | PLAYER_BUFF_TRANSPARENT | PLAYER_BUFF_CLOUD_NINE | PLAYER_BUFF_TURBO_CHARGE | PLAYER_BUFF_WATER_BLOCK | PLAYER_BUFF_PARTNER_GLOWING | 0xFFEFC04) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(15) EVT_IF_EQ(LVarF, 10) EVT_RETURN @@ -1546,13 +1550,13 @@ EvtScript N(attackFlameBreath) = { EVT_CALL(SetBattleCamZoom, 350) EVT_CALL(MoveBattleCamOver, 40) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PreFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PreFireBreath) EVT_WAIT(35) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathStill) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 55) EVT_WAIT(10) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar3) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar3) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar4) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_IF_FLAG(LVar3, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) @@ -1577,7 +1581,7 @@ EvtScript N(attackFlameBreath) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_SUB(LVar3, 40) EVT_SET(LVar4, 20) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar6) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar6) EVT_IF_FLAG(LVar6, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_PLAY_EFFECT(EFFECT_FIRE_BREATH, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, 50, 1, 24, 0) EVT_ELSE @@ -1604,11 +1608,11 @@ EvtScript N(attackFlameBreath) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathLoop) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathLoop) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostFireBreath) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) EVT_EXEC_WAIT(N(onAttackMissed)) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -1621,7 +1625,7 @@ EvtScript N(attackFlameBreath) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_SET(LVar0, 20) EVT_ELSE @@ -1633,11 +1637,11 @@ EvtScript N(attackFlameBreath) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_FireBreathLoop) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_FireBreathLoop) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_PostFireBreath) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_PostFireBreath) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Idle) EVT_WAIT(30) EVT_IF_EQ(LVarF, HIT_RESULT_10) EVT_RETURN @@ -1747,7 +1751,7 @@ EvtScript N(attackLightningBlast) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3EF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Brandish) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBowser_Brandish) EVT_CALL(N(FadeBackgroundToBlack)) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) @@ -1811,7 +1815,7 @@ EvtScript N(attackLightningBlast) = { EVT_END_SWITCH EVT_WAIT(5) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetPartEventFlags, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) EVT_SET(LVar0, 20) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) diff --git a/src/battle/area/kpa2/area.c b/src/battle/area/kpa2/area.c index 737118f7c4..7502220f80 100644 --- a/src/battle/area/kpa2/area.c +++ b/src/battle/area/kpa2/area.c @@ -16,37 +16,37 @@ extern Stage N(kpa_03); Vec3i N(bowser_pos) = { 80, 0, -10 }; Formation N(Formation_00) = { - { .actor = &N(bowser), .home = { .index = 2 }, .priority = 10, }, + ACTOR_BY_IDX(N(bowser), BTL_POS_GROUND_C, 10), }; Formation N(Formation_01) = { - { .actor = &N(bowser_intro), .home = { .index = 2 }, .priority = 10, }, + ACTOR_BY_IDX(N(bowser_intro), BTL_POS_GROUND_C, 10), }; Formation N(Formation_02) = { - { .actor = &N(bowser_phase_1), .home = { .index = 2 }, .priority = 10, }, + ACTOR_BY_IDX(N(bowser_phase_1), BTL_POS_GROUND_C, 10), }; Formation N(Formation_03) = { - { .actor = &N(bowser_phase_2), .home = { .vec = &N(bowser_pos) }, .priority = 10, }, + ACTOR_BY_POS(N(bowser_phase_2), N(bowser_pos), 10), }; Formation N(Formation_04) = { - { .actor = &N(bowser_phase_3), .home = { .vec = &N(bowser_pos) }, .priority = 10, }, + ACTOR_BY_POS(N(bowser_phase_3), N(bowser_pos), 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kpa_01), "クッパ"), - BATTLE(N(Formation_01), &N(kpa_02), "クッパ(オープニング)"), - BATTLE(N(Formation_02), &N(kpa_02), "クッパ(ラストバトル1)"), - BATTLE(N(Formation_03), &N(kpa_03), "クッパ(ラストバトル2)"), - BATTLE(N(Formation_04), &N(kpa_03), "クッパ(ラストバトル3)"), + BATTLE(N(Formation_00), N(kpa_01), "クッパ"), + BATTLE(N(Formation_01), N(kpa_02), "クッパ(オープニング)"), + BATTLE(N(Formation_02), N(kpa_02), "クッパ(ラストバトル1)"), + BATTLE(N(Formation_03), N(kpa_03), "クッパ(ラストバトル2)"), + BATTLE(N(Formation_04), N(kpa_03), "クッパ(ラストバトル3)"), {}, }; StageList N(Stages) = { - { "kpa_01", &N(kpa_01) }, - { "kpa_02", &N(kpa_02) }, - { "kpa_03", &N(kpa_03) }, + STAGE("kpa_01", N(kpa_01)), + STAGE("kpa_02", N(kpa_02)), + STAGE("kpa_03", N(kpa_03)), {}, }; diff --git a/src/battle/area/kpa3/actor/anti_guy.c b/src/battle/area/kpa3/actor/anti_guy.c index cf3ea11099..f42f8640c3 100644 --- a/src/battle/area/kpa3/actor/anti_guy.c +++ b/src/battle/area/kpa3/actor/anti_guy.c @@ -11,40 +11,44 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 50, - STATUS_STOP, 50, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 50, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -61,8 +65,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_ANTI_GUY_DUP, .level = 42, .maxHP = 50, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -74,21 +78,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Black_Anim01, - STATUS_STONE, ANIM_ShyGuy_Black_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Black_Anim12, - STATUS_POISON, ANIM_ShyGuy_Black_Anim01, - STATUS_STOP, ANIM_ShyGuy_Black_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Black_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Black_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Black_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Black_Anim13, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Black_Anim01, + STATUS_KEY_STONE, ANIM_ShyGuy_Black_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyGuy_Black_Anim12, + STATUS_KEY_POISON, ANIM_ShyGuy_Black_Anim01, + STATUS_KEY_STOP, ANIM_ShyGuy_Black_Anim00, + STATUS_KEY_STATIC, ANIM_ShyGuy_Black_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyGuy_Black_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyGuy_Black_Anim13, + STATUS_KEY_FEAR, ANIM_ShyGuy_Black_Anim13, STATUS_END, }; @@ -100,19 +104,19 @@ EvtScript N(init) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -125,7 +129,7 @@ EvtScript N(returnHome) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Black_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01) EVT_RETURN EVT_END }; @@ -233,7 +237,7 @@ EvtScript N(bumpAttack) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -250,10 +254,10 @@ EvtScript N(bumpAttack) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -270,14 +274,14 @@ EvtScript N(bumpAttack) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Black_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -290,14 +294,14 @@ EvtScript N(bumpAttack) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim05) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) @@ -310,7 +314,7 @@ EvtScript N(bumpAttack) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(returnHome)) @@ -329,9 +333,9 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -341,7 +345,7 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_SUB(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -352,10 +356,10 @@ EvtScript N(acrobaticAttack) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -367,7 +371,7 @@ EvtScript N(acrobaticAttack) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -381,24 +385,24 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Black_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -440,9 +444,9 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349 | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim07) EVT_WAIT(15) EVT_GOTO(2) EVT_LABEL(1) @@ -453,18 +457,18 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim10) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim11) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim13) EVT_END_IF EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_LABEL(2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -472,7 +476,7 @@ EvtScript N(acrobaticAttack) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Black_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Black_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/kpa3/area.c b/src/battle/area/kpa3/area.c index 75e9b2a197..d7ceff270e 100644 --- a/src/battle/area/kpa3/area.c +++ b/src/battle/area/kpa3/area.c @@ -9,31 +9,31 @@ extern ActorBlueprint N(anti_guy); extern Stage N(kpa_01); Formation N(Formation_00) = { - { .actor = &N(anti_guy), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(anti_guy), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(anti_guy), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(anti_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(anti_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(anti_guy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_01) = { - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(duplighost), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(duplighost), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(duplighost), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(duplighost), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_D, 7), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kpa_01), "ブラックヘイホーx3"), - BATTLE(N(Formation_01), &N(kpa_01), "バケバケx2"), - BATTLE(N(Formation_02), &N(kpa_01), "バケバケx4"), + BATTLE(N(Formation_00), N(kpa_01), "ブラックヘイホーx3"), + BATTLE(N(Formation_01), N(kpa_01), "バケバケx2"), + BATTLE(N(Formation_02), N(kpa_01), "バケバケx4"), {}, }; StageList N(Stages) = { - { "kpa_01", &N(kpa_01) }, + STAGE("kpa_01", N(kpa_01)), {}, }; diff --git a/src/battle/area/kpa4/actor/bombshell_bill.c b/src/battle/area/kpa4/actor/bombshell_bill.c index 6308aaeeb4..6aafd2245f 100644 --- a/src/battle/area/kpa4/actor/bombshell_bill.c +++ b/src/battle/area/kpa4/actor/bombshell_bill.c @@ -14,40 +14,44 @@ extern EvtScript N(playExplosionEffects); extern s32 N(IdleAnimations)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 100, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, .opacity = 255, @@ -64,8 +68,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BOMBSHELL_BILL, .level = 24, .maxHP = 3, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 40, @@ -77,16 +81,16 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 28, 22 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BulletBill_Gold_Anim01, - STATUS_STONE, ANIM_BulletBill_Gold_Anim00, - STATUS_STOP, ANIM_BulletBill_Gold_Anim00, - STATUS_PARALYZE, ANIM_BulletBill_Gold_Anim00, + STATUS_KEY_NORMAL, ANIM_BulletBill_Gold_Anim01, + STATUS_KEY_STONE, ANIM_BulletBill_Gold_Anim00, + STATUS_KEY_STOP, ANIM_BulletBill_Gold_Anim00, + STATUS_KEY_PARALYZE, ANIM_BulletBill_Gold_Anim00, STATUS_END, }; @@ -121,10 +125,10 @@ EvtScript N(init) = { EVT_CALL(GetActorPos, LVar0, LVar1, LVarB, LVarC) EVT_SUB(LVar1, 90) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.01)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BulletBill_Gold_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BulletBill_Gold_Anim03) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BulletBill_Gold_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BulletBill_Gold_Anim01) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_END_IF @@ -141,7 +145,7 @@ EvtScript N(explode) = { EVT_EXEC_WAIT(N(playExplosionEffects)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BulletBill_Gold_Anim07) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END @@ -235,7 +239,7 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BulletBill_Gold_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BulletBill_Gold_Anim04) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) @@ -259,7 +263,7 @@ EvtScript N(takeTurn) = { EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN @@ -281,7 +285,7 @@ EvtScript N(takeTurn) = { EVT_CALL(YieldTurn) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BulletBill_Gold_Anim07) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END diff --git a/src/battle/area/kpa4/actor/bombshell_bill_blaster.c b/src/battle/area/kpa4/actor/bombshell_bill_blaster.c index 47dd149ac2..df816c55f6 100644 --- a/src/battle/area/kpa4/actor/bombshell_bill_blaster.c +++ b/src/battle/area/kpa4/actor/bombshell_bill_blaster.c @@ -17,40 +17,44 @@ extern EvtScript N(wait); extern s32 N(IdleAnimations)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 4, + ELEMENT_NORMAL, 4, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 50, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -6, 29 }, .opacity = 255, @@ -67,8 +71,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BOMBSHELL_BLASTER, .level = 27, .maxHP = 10, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -80,16 +84,16 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 2, .size = { 55, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -24, 20 }, - .statusMessageOffset = { 5, 25 }, + .statusTextOffset = { 5, 25 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BillBlaster_Gold_Anim01, - STATUS_STONE, ANIM_BillBlaster_Gold_Anim00, - STATUS_STOP, ANIM_BillBlaster_Gold_Anim00, - STATUS_PARALYZE, ANIM_BillBlaster_Gold_Anim00, + STATUS_KEY_NORMAL, ANIM_BillBlaster_Gold_Anim01, + STATUS_KEY_STONE, ANIM_BillBlaster_Gold_Anim00, + STATUS_KEY_STOP, ANIM_BillBlaster_Gold_Anim00, + STATUS_KEY_PARALYZE, ANIM_BillBlaster_Gold_Anim00, STATUS_END, }; @@ -195,7 +199,7 @@ API_CALLABLE(ApplyBillSettings) { } EvtScript N(bulletShot) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BillBlaster_Gold_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BillBlaster_Gold_Anim02) EVT_WAIT(13) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.0)) @@ -232,5 +236,5 @@ extern ActorBlueprint A(bombshell_bill); Vec3i N(bill_pos) = { NPC_DISPOSE_LOCATION }; Formation N(formation_bill) = { - { .actor = &A(bombshell_bill), .home = { .vec = &N(bill_pos) }, .priority = 100, }, + ACTOR_BY_POS(A(bombshell_bill), N(bill_pos), 100), }; diff --git a/src/battle/area/kpa4/area.c b/src/battle/area/kpa4/area.c index 38e8db3800..e0b47f23a7 100644 --- a/src/battle/area/kpa4/area.c +++ b/src/battle/area/kpa4/area.c @@ -24,14 +24,14 @@ extern Stage N(kpa_13); extern Stage N(kpa_14); Formation N(Formation_00) = { - { .actor = &N(bombshell_bill), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(bombshell_bill), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(bombshell_bill), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(bombshell_bill), BTL_POS_GROUND_C, 9), }; Formation N(Formation_01) = { - { .actor = &N(bombshell_bill), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(bombshell_bill), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(bombshell_bill), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(bombshell_bill), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bombshell_bill), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bombshell_bill), BTL_POS_GROUND_C, 8), }; Vec3i N(blaster_pos_1) = { 70, 0, -20 }; @@ -39,47 +39,47 @@ Vec3i N(blaster_pos_1) = { 70, 0, -20 }; Vec3i N(blaster_pos_2) = { 100, 0, 0 }; Formation N(Formation_02) = { - { .actor = &N(bombshell_bill_blaster), .home = { .vec = &N(blaster_pos_1) }, .priority = 10, }, - { .actor = &N(bombshell_bill_blaster), .home = { .vec = &N(blaster_pos_2) }, .priority = 9, }, + ACTOR_BY_POS(N(bombshell_bill_blaster), N(blaster_pos_1), 10), + ACTOR_BY_POS(N(bombshell_bill_blaster), N(blaster_pos_2), 9), }; Vec3i N(pos_3) = { 130, 0, 25 }; Formation N(Formation_03) = { - { .actor = &N(bombshell_bill_blaster), .home = { .vec = &N(blaster_pos_1) }, .priority = 10, }, - { .actor = &N(bombshell_bill_blaster), .home = { .vec = &N(blaster_pos_2) }, .priority = 9, }, - { .actor = &N(koopatrol), .home = { .vec = &N(pos_3) }, .priority = 8, }, + ACTOR_BY_POS(N(bombshell_bill_blaster), N(blaster_pos_1), 10), + ACTOR_BY_POS(N(bombshell_bill_blaster), N(blaster_pos_2), 9), + ACTOR_BY_POS(N(koopatrol), N(pos_3), 8), }; Formation N(Formation_04) = { - { .actor = &N(bombshell_bill_blaster), .home = { .vec = &N(blaster_pos_1) }, .priority = 10, }, - { .actor = &N(bombshell_bill_blaster), .home = { .vec = &N(blaster_pos_2) }, .priority = 9, }, - { .actor = &N(magikoopa), .home = { .vec = &N(pos_3) }, .priority = 8, }, + ACTOR_BY_POS(N(bombshell_bill_blaster), N(blaster_pos_1), 10), + ACTOR_BY_POS(N(bombshell_bill_blaster), N(blaster_pos_2), 9), + ACTOR_BY_POS(N(magikoopa), N(pos_3), 8), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kpa_01), "スーパーキラーx2"), - BATTLE(N(Formation_01), &N(kpa_01), "スーパーキラーx3"), - BATTLE(N(Formation_02), &N(kpa_01), "スーパーキラーたいほうx2"), - BATTLE(N(Formation_03), &N(kpa_01), "スーパーキラーたいほうx2,トゲノコ"), - BATTLE(N(Formation_04), &N(kpa_01), "スーパーキラーたいほうx2,カメック"), + BATTLE(N(Formation_00), N(kpa_01), "スーパーキラーx2"), + BATTLE(N(Formation_01), N(kpa_01), "スーパーキラーx3"), + BATTLE(N(Formation_02), N(kpa_01), "スーパーキラーたいほうx2"), + BATTLE(N(Formation_03), N(kpa_01), "スーパーキラーたいほうx2,トゲノコ"), + BATTLE(N(Formation_04), N(kpa_01), "スーパーキラーたいほうx2,カメック"), {}, }; StageList N(Stages) = { - { "kpa_01", &N(kpa_01) }, - { "kpa_01b", &N(kpa_01b) }, - { "kpa_02", &N(kpa_02) }, - { "kpa_03", &N(kpa_04) }, // @bug should be &N(kpa_03) - { "kpa_04", &N(kpa_04) }, - { "kpa_04b", &N(kpa_04b) }, - { "kpa_04c", &N(kpa_04c) }, - { "kpa_05", &N(kpa_05) }, - { "kpa_07", &N(kpa_07) }, - { "kpa_08", &N(kpa_08) }, - { "kpa_09", &N(kpa_09) }, - { "kpa_11", &N(kpa_11) }, - { "kpa_13", &N(kpa_13) }, - { "kpa_14", &N(kpa_14) }, + STAGE("kpa_01", N(kpa_01)), + STAGE("kpa_01b", N(kpa_01b)), + STAGE("kpa_02", N(kpa_02)), + STAGE("kpa_03", N(kpa_04)), // @bug should be &N(kpa_03) + STAGE("kpa_04", N(kpa_04)), + STAGE("kpa_04b", N(kpa_04b)), + STAGE("kpa_04c", N(kpa_04c)), + STAGE("kpa_05", N(kpa_05)), + STAGE("kpa_07", N(kpa_07)), + STAGE("kpa_08", N(kpa_08)), + STAGE("kpa_09", N(kpa_09)), + STAGE("kpa_11", N(kpa_11)), + STAGE("kpa_13", N(kpa_13)), + STAGE("kpa_14", N(kpa_14)), {}, }; diff --git a/src/battle/area/kpa4/stage/kpa_03.c b/src/battle/area/kpa4/stage/kpa_03.c index 43be7cdb3b..1dac690373 100644 --- a/src/battle/area/kpa4/stage/kpa_03.c +++ b/src/battle/area/kpa4/stage/kpa_03.c @@ -8,7 +8,7 @@ EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_CALL(func_80253734, BTL_DARKNESS_MODE_1) + EVT_CALL(SetDarknessMode, BTL_DARKNESS_MODE_1) EVT_RETURN EVT_END }; diff --git a/src/battle/area/kzn/actor/lava_bubble.c b/src/battle/area/kzn/actor/lava_bubble.c index d20cd05246..3b8489fe71 100644 --- a/src/battle/area/kzn/actor/lava_bubble.c +++ b/src/battle/area/kzn/actor/lava_bubble.c @@ -12,44 +12,52 @@ extern EvtScript N(takeTurn_8021AEA4); extern EvtScript N(idle_802191E4); extern EvtScript N(handleEvent_80219500); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, +}; + s32 N(DefenseTable_80218E10)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, -2, - ELEMENT_ICE, -2, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, -1, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, -2, + ELEMENT_ICE, -2, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, -1, ELEMENT_END, }; s32 N(StatusTable_80218E3C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 75, - STATUS_STOP, 85, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 85, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80218EE8)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 25 }, .opacity = 255, @@ -61,7 +69,7 @@ ActorPartBlueprint N(PartsTable_80218EE8)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -73,7 +81,7 @@ ActorPartBlueprint N(PartsTable_80218EE8)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -85,7 +93,7 @@ ActorPartBlueprint N(PartsTable_80218EE8)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -97,7 +105,7 @@ ActorPartBlueprint N(PartsTable_80218EE8)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -114,8 +122,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_LAVA_BUBBLE, .level = 17, .maxHP = 9, - .partCount = ARRAY_COUNT( N(PartsTable_80218EE8)), - .partsData = N(PartsTable_80218EE8), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021901C), .statusTable = N(StatusTable_80218E3C), .escapeChance = 50, @@ -127,26 +135,26 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 1, .size = { 33, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_80218FC4)[] = { - STATUS_NORMAL, ANIM_LavaBubble_Anim01, - STATUS_STONE, ANIM_LavaBubble_Anim00, - STATUS_SLEEP, ANIM_LavaBubble_Anim01, - STATUS_POISON, ANIM_LavaBubble_Anim01, - STATUS_STOP, ANIM_LavaBubble_Anim00, - STATUS_STATIC, ANIM_LavaBubble_Anim01, - STATUS_PARALYZE, ANIM_LavaBubble_Anim00, - STATUS_DIZZY, ANIM_LavaBubble_Anim0A, - STATUS_FEAR, ANIM_LavaBubble_Anim0A, + STATUS_KEY_NORMAL, ANIM_LavaBubble_Anim01, + STATUS_KEY_STONE, ANIM_LavaBubble_Anim00, + STATUS_KEY_SLEEP, ANIM_LavaBubble_Anim01, + STATUS_KEY_POISON, ANIM_LavaBubble_Anim01, + STATUS_KEY_STOP, ANIM_LavaBubble_Anim00, + STATUS_KEY_STATIC, ANIM_LavaBubble_Anim01, + STATUS_KEY_PARALYZE, ANIM_LavaBubble_Anim00, + STATUS_KEY_DIZZY, ANIM_LavaBubble_Anim0A, + STATUS_KEY_FEAR, ANIM_LavaBubble_Anim0A, STATUS_END, }; s32 N(IdleAnimations_80219010)[] = { - STATUS_NORMAL, ANIM_LavaBubble_Anim01, + STATUS_KEY_NORMAL, ANIM_LavaBubble_Anim01, STATUS_END, }; @@ -161,10 +169,10 @@ EvtScript N(init_8021901C) = { EVT_CASE_EQ(1) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) EVT_END_SWITCH - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) - EVT_CALL(SetPartScale, ACTOR_SELF, 4, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) - EVT_CALL(SetPartScale, ACTOR_SELF, 5, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_4, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_5, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -187,7 +195,7 @@ EvtScript N(idle_802191E4) = { EVT_LABEL(11) EVT_WAIT(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_GOTO(11) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) @@ -206,7 +214,7 @@ EvtScript N(idle_802191E4) = { EVT_LABEL(22) EVT_WAIT(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_GOTO(22) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) @@ -223,14 +231,14 @@ EvtScript N(idle_802191E4) = { #include "common/UnkSfxFunc.inc.c" EvtScript N(80219464) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_THREAD EVT_CALL(N(UnkSfxFunc)) EVT_END_THREAD EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim01) EVT_RETURN EVT_END }; @@ -347,7 +355,7 @@ EvtScript N(fireTackle) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) @@ -358,13 +366,13 @@ EvtScript N(fireTackle) = { EVT_CALL(N(UnkSfxFunc)) EVT_END_THREAD EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim01) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) @@ -387,17 +395,17 @@ EvtScript N(fireTackle) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 3, FALSE, TRUE, FALSE) EVT_WAIT(14) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(80219464)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar2, 1) @@ -475,22 +483,22 @@ EvtScript N(fireballs_Partner) = { EVT_SET(LVar1, 50) EVT_END_IF EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_THREAD EVT_CALL(N(UnkSfxFunc)) EVT_END_THREAD EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -4, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim01) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim05) EVT_WAIT(30) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim06) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_ADD(LVar1, 4) @@ -505,18 +513,18 @@ EvtScript N(fireballs_Partner) = { EVT_END_IF EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(80219464)) EVT_WAIT(20) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim06) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_ADD(LVar1, 4) @@ -549,7 +557,7 @@ EvtScript N(fireballs_Player) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 30, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) @@ -567,7 +575,7 @@ EvtScript N(fireballs_Player) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2CF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -579,18 +587,18 @@ EvtScript N(fireballs_Player) = { EVT_ADD(LVar2, 2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim04) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_QUADRATIC_OUT) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(80219464)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -601,7 +609,7 @@ EvtScript N(fireballs_Player) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2CF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) diff --git a/src/battle/area/kzn/area.c b/src/battle/area/kzn/area.c index b76221a51f..395589bc89 100644 --- a/src/battle/area/kzn/area.c +++ b/src/battle/area/kzn/area.c @@ -19,163 +19,163 @@ extern Stage N(kzn_04c); extern Stage N(kzn_05); Formation N(Formation_00) = { - { .actor = &N(lava_bubble), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(lava_bubble), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_C, 9), }; Formation N(Formation_01) = { - { .actor = &N(lava_bubble), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(lava_bubble), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(lava_bubble), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_C, 8), }; Formation N(Formation_02) = { - { .actor = &N(lava_bubble), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(lava_bubble), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(lava_bubble), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(lava_bubble), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_D, 7), }; Formation N(Formation_03) = { - { .actor = &N(lava_bubble), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spike_top), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(spike_top), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_D, 7), }; Formation N(Formation_04) = { - { .actor = &N(lava_bubble), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(lava_bubble), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_05) = { - { .actor = &N(lava_bubble), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(lava_bubble), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(red_magikoopa_flying), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(red_magikoopa_flying), BTL_POS_AIR_C, 8), }; Formation N(Formation_06) = { - { .actor = &N(lava_bubble), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(lava_bubble), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(white_magikoopa_flying), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(white_magikoopa_flying), BTL_POS_AIR_C, 8), }; Formation N(Formation_07) = { - { .actor = &N(lava_bubble), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(lava_bubble), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spike_top), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_C, 8), }; Formation N(Formation_08) = { - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(spike_top), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_C, 9), }; Formation N(Formation_09) = { - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(lava_bubble), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0A) = { - { .actor = &N(spike_top), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(lava_bubble), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0B) = { - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0C) = { - { .actor = &N(spike_top), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0D) = { - { .actor = &N(spike_top), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(putrid_piranha), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0E) = { - { .actor = &N(spike_top), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(lava_bubble), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(lava_bubble), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(lava_bubble), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0F) = { - { .actor = &N(putrid_piranha), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 9), }; Formation N(Formation_10) = { - { .actor = &N(putrid_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(putrid_piranha), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 8), }; Formation N(Formation_11) = { - { .actor = &N(putrid_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(lava_bubble), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(lava_bubble), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 8), }; Formation N(Formation_12) = { - { .actor = &N(putrid_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(putrid_piranha), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spike_top), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_C, 8), }; Formation N(Formation_13) = { - { .actor = &N(putrid_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 8), }; Formation N(Formation_14) = { - { .actor = &N(putrid_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(putrid_piranha), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(spike_top), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(putrid_piranha), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_D, 7), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kzn_01), "バブルx2"), - BATTLE(N(Formation_01), &N(kzn_01), "バブルx3"), - BATTLE(N(Formation_02), &N(kzn_01), "バブルx4"), - BATTLE(N(Formation_03), &N(kzn_01), "バブル,トゲメットx3"), - BATTLE(N(Formation_04), &N(kzn_01), "バブルx2,かいふくヘイホー"), - BATTLE(N(Formation_05), &N(kzn_01), "バブルx2,レッドカメック"), - BATTLE(N(Formation_06), &N(kzn_01), "バブルx2,ホワイトカメック"), - BATTLE(N(Formation_07), &N(kzn_01), "バブルx2,トゲメット"), - BATTLE(N(Formation_08), &N(kzn_01), "トゲメットx2"), - BATTLE(N(Formation_09), &N(kzn_01), "トゲメット,バブル"), - BATTLE(N(Formation_0A), &N(kzn_01), "トゲメットx2,バブル"), - BATTLE(N(Formation_0B), &N(kzn_01), "トゲメット,ポイズンパックン"), - BATTLE(N(Formation_0C), &N(kzn_01), "トゲメットx2,ポイズンパックン"), - BATTLE(N(Formation_0D), &N(kzn_01), "トゲメットx2,ポイズンパックンx2"), - BATTLE(N(Formation_0E), &N(kzn_01), "トゲメット,バブルx3"), - BATTLE(N(Formation_0F), &N(kzn_01), "ポイズンパックンx2"), - BATTLE(N(Formation_10), &N(kzn_01), "ポイズンパックンx3"), - BATTLE(N(Formation_11), &N(kzn_01), "ポイズンパックン,バブル,ポイズンパックン"), - BATTLE(N(Formation_12), &N(kzn_01), "ポイズンパックンx2,トゲメット"), - BATTLE(N(Formation_13), &N(kzn_01), "ポイズンパックン,トゲメット,ポイズンパックン"), - BATTLE(N(Formation_14), &N(kzn_01), "ポイズンパックン,トゲメット,ポイズンパックン,トゲメット"), + BATTLE(N(Formation_00), N(kzn_01), "バブルx2"), + BATTLE(N(Formation_01), N(kzn_01), "バブルx3"), + BATTLE(N(Formation_02), N(kzn_01), "バブルx4"), + BATTLE(N(Formation_03), N(kzn_01), "バブル,トゲメットx3"), + BATTLE(N(Formation_04), N(kzn_01), "バブルx2,かいふくヘイホー"), + BATTLE(N(Formation_05), N(kzn_01), "バブルx2,レッドカメック"), + BATTLE(N(Formation_06), N(kzn_01), "バブルx2,ホワイトカメック"), + BATTLE(N(Formation_07), N(kzn_01), "バブルx2,トゲメット"), + BATTLE(N(Formation_08), N(kzn_01), "トゲメットx2"), + BATTLE(N(Formation_09), N(kzn_01), "トゲメット,バブル"), + BATTLE(N(Formation_0A), N(kzn_01), "トゲメットx2,バブル"), + BATTLE(N(Formation_0B), N(kzn_01), "トゲメット,ポイズンパックン"), + BATTLE(N(Formation_0C), N(kzn_01), "トゲメットx2,ポイズンパックン"), + BATTLE(N(Formation_0D), N(kzn_01), "トゲメットx2,ポイズンパックンx2"), + BATTLE(N(Formation_0E), N(kzn_01), "トゲメット,バブルx3"), + BATTLE(N(Formation_0F), N(kzn_01), "ポイズンパックンx2"), + BATTLE(N(Formation_10), N(kzn_01), "ポイズンパックンx3"), + BATTLE(N(Formation_11), N(kzn_01), "ポイズンパックン,バブル,ポイズンパックン"), + BATTLE(N(Formation_12), N(kzn_01), "ポイズンパックンx2,トゲメット"), + BATTLE(N(Formation_13), N(kzn_01), "ポイズンパックン,トゲメット,ポイズンパックン"), + BATTLE(N(Formation_14), N(kzn_01), "ポイズンパックン,トゲメット,ポイズンパックン,トゲメット"), {}, }; StageList N(Stages) = { - { "kzn_01", &N(kzn_01) }, - { "kzn_01b", &N(kzn_01b) }, - { "kzn_02", &N(kzn_02) }, - { "kzn_04", &N(kzn_04) }, - { "kzn_04b", &N(kzn_04b) }, - { "kzn_04c", &N(kzn_04c) }, - { "kzn_05", &N(kzn_05) }, + STAGE("kzn_01", N(kzn_01)), + STAGE("kzn_01b", N(kzn_01b)), + STAGE("kzn_02", N(kzn_02)), + STAGE("kzn_04", N(kzn_04)), + STAGE("kzn_04b", N(kzn_04b)), + STAGE("kzn_04c", N(kzn_04c)), + STAGE("kzn_05", N(kzn_05)), {}, }; diff --git a/src/battle/area/kzn2/actor/lava_bud.c b/src/battle/area/kzn2/actor/lava_bud.c index eba169a9eb..4f0a835803 100644 --- a/src/battle/area/kzn2/actor/lava_bud.c +++ b/src/battle/area/kzn2/actor/lava_bud.c @@ -31,6 +31,11 @@ extern ActorBlueprint b_area_kzn2_petit_piranha_bomb; extern Formation N(formation_petit_piranha_1); extern Formation N(formation_petit_piranha_2); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + static s32 N(unusedArray)[64]; MATCHING_BSS(0x8A0); @@ -49,79 +54,79 @@ enum { #define VINE_2_BASE (s32) Vine2Base s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_LavaBud_Anim03, - STATUS_STOP, ANIM_LavaBud_Anim02, + STATUS_KEY_NORMAL, ANIM_LavaBud_Anim03, + STATUS_KEY_STOP, ANIM_LavaBud_Anim02, STATUS_END, }; s32 N(IdleAnimations_fiery)[] = { - STATUS_NORMAL, ANIM_LavaBud_Anim04, - STATUS_STOP, ANIM_LavaBud_Anim02, + STATUS_KEY_NORMAL, ANIM_LavaBud_Anim04, + STATUS_KEY_STOP, ANIM_LavaBud_Anim02, STATUS_END, }; s32 N(IdleAnimations_wet)[] = { - STATUS_NORMAL, ANIM_LavaBud_Anim0F, - STATUS_STOP, ANIM_LavaBud_Anim0F, + STATUS_KEY_NORMAL, ANIM_LavaBud_Anim0F, + STATUS_KEY_STOP, ANIM_LavaBud_Anim0F, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, 0, - ELEMENT_ICE, 0, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 0, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, 0, + ELEMENT_ICE, 0, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 0, ELEMENT_END, }; s32 N(DefenseTable_fiery)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, -2, - ELEMENT_ICE, -2, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 0, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, -2, + ELEMENT_ICE, -2, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 0, ELEMENT_END, }; s32 N(DefenseTable_wet)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, 0, - ELEMENT_ICE, 0, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 0, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, 0, + ELEMENT_ICE, 0, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 75, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 30, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 0, - STATUS_STOP, 60, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 75, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 30, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 60, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -133,7 +138,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -150,8 +155,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_LAVA_BUD_PHASE_1, .level = 0, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -163,9 +168,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 10, -42 }, + .healthBarOffset = { 10, -42 }, .statusIconOffset = { -18, 10 }, - .statusMessageOffset = { 0, 0 }, + .statusTextOffset = { 0, 0 }, }; EvtScript N(init) = { @@ -351,9 +356,9 @@ EvtScript N(onBurnHit) = { EVT_EXEC_WAIT(N(playModelAnimation)) EVT_CALL(SetActorVar, ACTOR_SELF, 7, ANIM_LavaBud_Anim03) EVT_CALL(SetActorVar, ACTOR_SELF, 8, ANIM_LavaBud_Anim09) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_fiery))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_fiery))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 2, EVT_PTR(N(DefenseTable_fiery))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_fiery))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_fiery))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_2, EVT_PTR(N(DefenseTable_fiery))) EVT_THREAD EVT_WAIT(14) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -432,7 +437,7 @@ EvtScript N(takeTurn) = { EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(GetEnemyMaxHP, ACTOR_SELF, LVar0) EVT_CALL(SetEnemyHP, ACTOR_SELF, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBud_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBud_Anim04) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_SET(LVar0, ACTOR_ENEMY1) @@ -470,7 +475,7 @@ EvtScript N(takeTurn) = { EvtScript N(8022630C) = { EVT_CALL(GetActorVar, ACTOR_SELF, 7, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_CALL(GetActorVar, ACTOR_ENEMY0, 0, LVar3) EVT_CALL(GetActorVar, ACTOR_SELF, 5, LVar3) @@ -527,11 +532,11 @@ EvtScript N(summonPetitPiranha) = { EVT_EXEC_WAIT(N(playModelAnimation)) EVT_THREAD EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBud_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBud_Anim07) EVT_WAIT(34) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBud_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBud_Anim08) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBud_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBud_Anim04) EVT_IF_EQ(LVar0, 1) EVT_CALL(OverrideBattleDmaDest, VINE_1_BASE) EVT_ELSE @@ -556,7 +561,7 @@ EvtScript N(summonPetitPiranha) = { EVT_ELSE EVT_CALL(SetActorVar, LVar5, 0, ACTOR_ENEMY2) EVT_END_IF - EVT_CALL(GetPartOffset, ACTOR_SELF, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_MAIN, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 15) EVT_SUB(LVar1, 15) EVT_CALL(SetActorPos, LVar5, LVar0, LVar1, LVar2) @@ -601,15 +606,15 @@ EvtScript N(summonPetitPiranha) = { Vec3i N(petit_piranha_pos) = { 260, 0, 0 }; Formation N(formation_petit_piranha_1) = { - { .actor = &b_area_kzn2_petit_piranha, .home = { .vec = &N(petit_piranha_pos) }, .priority = 95, .var0 = -12, .var1 = 85, }, + ACTOR_BY_POS(b_area_kzn2_petit_piranha, N(petit_piranha_pos), 95, -12, 85), }; Formation N(formation_petit_piranha_2) = { - { .actor = &b_area_kzn2_petit_piranha, .home = { .vec = &N(petit_piranha_pos) }, .priority = 94, .var0 = 18, .var1 = 38, }, + ACTOR_BY_POS(b_area_kzn2_petit_piranha, N(petit_piranha_pos), 94, 18, 38), }; Formation N(formation_petit_piranha_bomb) = { - { .actor = &b_area_kzn2_petit_piranha_bomb, .home = { .vec = &N(petit_piranha_pos) }, .priority = 95, }, + ACTOR_BY_POS(b_area_kzn2_petit_piranha_bomb, N(petit_piranha_pos), 95), }; EvtScript N(onDeath) = { @@ -621,7 +626,7 @@ EvtScript N(onDeath) = { EVT_RETURN EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(OverrideBattleDmaDest, VINE_1_BASE) @@ -636,14 +641,14 @@ EvtScript N(onDeath) = { EVT_CALL(RemoveEffect, LVar0) EVT_CALL(SetActorVar, ACTOR_SELF, 6, 0) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_wet))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_wet))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 2, EVT_PTR(N(DefenseTable_wet))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_wet))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_wet))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_2, EVT_PTR(N(DefenseTable_wet))) EVT_CALL(SetActorVar, ACTOR_SELF, 7, ANIM_LavaBud_Anim0F) EVT_CALL(SetActorVar, ACTOR_SELF, 8, ANIM_LavaBud_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBud_Anim0F) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FIREY, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_FIREY, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBud_Anim0F) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FIREY, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_FIREY, FALSE) EVT_WAIT(29) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3C7) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -672,7 +677,7 @@ EvtScript N(onDeath) = { EVT_END_IF EVT_CALL(LoadBattleDmaData, 21) EVT_EXEC_WAIT(N(playModelAnimation)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_wet))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_wet))) EVT_CALL(SetActorVar, ACTOR_SELF, 7, ANIM_LavaBud_Anim0F) EVT_CALL(SetActorVar, ACTOR_SELF, 8, ANIM_LavaBud_Anim09) EVT_WAIT(29) @@ -688,8 +693,8 @@ EvtScript N(onDeath) = { EVT_WAIT(14) EVT_CALL(SetActorVar, ACTOR_SELF, 5, 2) EVT_EXEC_WAIT(N(8022630C)) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, TRUE) EVT_ELSE EVT_EXEC_WAIT(N(onHit)) EVT_RETURN @@ -700,7 +705,7 @@ EvtScript N(onDeath) = { EvtScript N(onHitCombo) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_CALL(GetActorVar, ACTOR_ENEMY0, 0, LVar1) EVT_IF_EQ(LVar1, 0) @@ -796,7 +801,7 @@ EvtScript N(onHitCombo) = { EvtScript N(onHit) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_CALL(GetActorVar, ACTOR_ENEMY0, 0, LVar5) EVT_IF_EQ(LVar5, 0) @@ -878,14 +883,14 @@ EvtScript N(onHit) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_COLD_BREATH, 0, LVar0, LVar1, LVar2, EVT_FLOAT(2.0), 45, 0) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_wet))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_wet))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 2, EVT_PTR(N(DefenseTable_wet))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_wet))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_wet))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_2, EVT_PTR(N(DefenseTable_wet))) EVT_CALL(SetActorVar, ACTOR_SELF, 7, ANIM_LavaBud_Anim0F) EVT_CALL(SetActorVar, ACTOR_SELF, 8, ANIM_LavaBud_Anim09) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBud_Anim0F) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FIREY, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_FIREY, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBud_Anim0F) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FIREY, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_FIREY, FALSE) EVT_WAIT(29) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3C7) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -993,11 +998,11 @@ EvtScript N(attackPetitSpit) = { EVT_EXEC_WAIT(N(playModelAnimation)) EVT_THREAD EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBud_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBud_Anim05) EVT_WAIT(39) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBud_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBud_Anim06) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBud_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBud_Anim03) EVT_IF_EQ(LVar0, 1) EVT_CALL(OverrideBattleDmaDest, VINE_1_BASE) EVT_ELSE @@ -1009,7 +1014,7 @@ EvtScript N(attackPetitSpit) = { EVT_WAIT(56) EVT_CALL(SummonEnemy, EVT_PTR(N(formation_petit_piranha_bomb)), 0) EVT_SET(LVar5, LVar0) - EVT_CALL(GetPartOffset, ACTOR_SELF, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_MAIN, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 15) EVT_SUB(LVar1, 15) EVT_CALL(SetActorPos, LVar5, LVar0, LVar1, LVar2) diff --git a/src/battle/area/kzn2/actor/lava_piranha.c b/src/battle/area/kzn2/actor/lava_piranha.c index 8140e6648a..d59f3325a5 100644 --- a/src/battle/area/kzn2/actor/lava_piranha.c +++ b/src/battle/area/kzn2/actor/lava_piranha.c @@ -12,6 +12,11 @@ #define NAMESPACE b_area_kzn2_lava_piranha +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + // unused data Vtx N(Quad1)[] = { {{{ -16, 0, 0 }, 0, { 0, 0 }, { 0, 0, 0, 255 }}}, @@ -133,93 +138,93 @@ extern Formation N(formation_lava_bud_1); extern Formation N(formation_lava_bud_2); s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_LavaPiranha_Anim03, - STATUS_STONE, ANIM_LavaPiranha_Anim00, - STATUS_SLEEP, ANIM_LavaPiranha_Anim0A, - STATUS_POISON, ANIM_LavaPiranha_Anim03, - STATUS_STOP, ANIM_LavaPiranha_Anim00, - STATUS_STATIC, ANIM_LavaPiranha_Anim00, - STATUS_PARALYZE, ANIM_LavaPiranha_Anim00, - STATUS_PARALYZE, ANIM_LavaPiranha_Anim00, - STATUS_DIZZY, ANIM_LavaPiranha_Anim0A, + STATUS_KEY_NORMAL, ANIM_LavaPiranha_Anim03, + STATUS_KEY_STONE, ANIM_LavaPiranha_Anim00, + STATUS_KEY_SLEEP, ANIM_LavaPiranha_Anim0A, + STATUS_KEY_POISON, ANIM_LavaPiranha_Anim03, + STATUS_KEY_STOP, ANIM_LavaPiranha_Anim00, + STATUS_KEY_STATIC, ANIM_LavaPiranha_Anim00, + STATUS_KEY_PARALYZE, ANIM_LavaPiranha_Anim00, + STATUS_KEY_PARALYZE, ANIM_LavaPiranha_Anim00, + STATUS_KEY_DIZZY, ANIM_LavaPiranha_Anim0A, STATUS_END, }; s32 N(IdleAnimations_fiery)[] = { - STATUS_NORMAL, ANIM_LavaPiranha_Anim04, - STATUS_STONE, ANIM_LavaPiranha_Anim00, - STATUS_SLEEP, ANIM_LavaPiranha_Anim04, - STATUS_POISON, ANIM_LavaPiranha_Anim04, - STATUS_STOP, ANIM_LavaPiranha_Anim00, - STATUS_STATIC, ANIM_LavaPiranha_Anim00, - STATUS_PARALYZE, ANIM_LavaPiranha_Anim00, - STATUS_PARALYZE, ANIM_LavaPiranha_Anim00, - STATUS_DIZZY, ANIM_LavaPiranha_Anim0C, + STATUS_KEY_NORMAL, ANIM_LavaPiranha_Anim04, + STATUS_KEY_STONE, ANIM_LavaPiranha_Anim00, + STATUS_KEY_SLEEP, ANIM_LavaPiranha_Anim04, + STATUS_KEY_POISON, ANIM_LavaPiranha_Anim04, + STATUS_KEY_STOP, ANIM_LavaPiranha_Anim00, + STATUS_KEY_STATIC, ANIM_LavaPiranha_Anim00, + STATUS_KEY_PARALYZE, ANIM_LavaPiranha_Anim00, + STATUS_KEY_PARALYZE, ANIM_LavaPiranha_Anim00, + STATUS_KEY_DIZZY, ANIM_LavaPiranha_Anim0C, STATUS_END, }; s32 N(IdleAnimations_wet)[] = { - STATUS_NORMAL, ANIM_LavaPiranha_Anim10, - STATUS_STOP, ANIM_LavaPiranha_Anim00, + STATUS_KEY_NORMAL, ANIM_LavaPiranha_Anim10, + STATUS_KEY_STOP, ANIM_LavaPiranha_Anim00, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, 0, - ELEMENT_ICE, 0, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 0, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, 0, + ELEMENT_ICE, 0, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 0, ELEMENT_END, }; s32 N(DefenseTable_fiery)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, -2, - ELEMENT_ICE, -2, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 0, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, -2, + ELEMENT_ICE, -2, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 0, ELEMENT_END, }; s32 N(DefenseTable_wet)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, 0, - ELEMENT_ICE, 0, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 0, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, 0, + ELEMENT_ICE, 0, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 25, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 25, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 40, - STATUS_SHRINK, 0, - STATUS_STOP, 40, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 25, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 25, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 40, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 40, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 40 }, .opacity = 255, @@ -231,7 +236,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_8 | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 40 }, .opacity = 255, @@ -248,8 +253,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_LAVA_PIRANHA_PHASE_1, .level = 45, .maxHP = 40, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -261,9 +266,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 70, .coinReward = 0, .size = { 50, 50 }, - .hpBarOffset = { 20, -10 }, + .healthBarOffset = { 20, -10 }, .statusIconOffset = { 5, 45 }, - .statusMessageOffset = { 30, 47 }, + .statusTextOffset = { 30, 47 }, }; #include "common/StartRumbleWithParams.inc.c" @@ -657,7 +662,7 @@ EvtScript N(nextTurn) = { EvtScript N(spawnColorado) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(SpeakToPlayer, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0, MSG_CH5_0104) EVT_THREAD EVT_LOOP(9) @@ -716,7 +721,7 @@ EvtScript N(spawnColorado) = { EVT_CALL(SetNpcAnimation, 0x00000000, ANIM_BattleKolorado_Run) EVT_CALL(SetNpcSpeed, 0x00000000, EVT_FLOAT(6.0)) EVT_CALL(NpcMoveTo, 0x00000000, -300, 0, 0) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -744,9 +749,9 @@ EvtScript N(initVines) = { EVT_USE_ARRAY(N(unusedArray)) EVT_LABEL(0) EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_ENEMY0, 1, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_ENEMY0, PRT_MAIN, LVar0, LVar1, LVar2) EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) - EVT_CALL(SetPartRotation, ACTOR_ENEMY0, 1, LVar0, 0, LVar2) + EVT_CALL(SetPartRotation, ACTOR_ENEMY0, PRT_MAIN, LVar0, 0, LVar2) EVT_CALL(N(MarkVineInterpolationDirty)) EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 2) @@ -796,11 +801,11 @@ EvtScript N(initVines) = { EVT_CALL(N(SetVineBoneRot), VINE_0, 8, LVar0, LVar1, LVar2) EVT_CALL(N(SetVineBoneScale), VINE_0, 8, EVT_FLOAT(0.714), EVT_FLOAT(0.714), EVT_FLOAT(1.0)) EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_ENEMY1, 1, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_ENEMY1, PRT_MAIN, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 8) - EVT_CALL(SetPartPos, ACTOR_ENEMY1, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_ENEMY1, PRT_2, LVar0, LVar1, LVar2) EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) - EVT_CALL(SetPartRotation, ACTOR_ENEMY1, 1, LVar0, 0, LVar2) + EVT_CALL(SetPartRotation, ACTOR_ENEMY1, PRT_MAIN, LVar0, 0, LVar2) EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 2) EVT_CALL(N(SetVineBonePos), VINE_1, 0, LVar0, LVar1, LVar2) @@ -840,10 +845,10 @@ EvtScript N(initVines) = { EVT_CALL(N(SetVineBoneRot), VINE_1, 6, LVar0, LVar1, LVar2) EVT_CALL(N(SetVineBoneScale), VINE_1, 6, EVT_FLOAT(0.714), EVT_FLOAT(0.714), EVT_FLOAT(1.0)) EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_ENEMY2, 1, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_ENEMY2, 2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_ENEMY2, PRT_MAIN, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_ENEMY2, PRT_2, LVar0, LVar1, LVar2) EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) - EVT_CALL(SetPartRotation, ACTOR_ENEMY2, 1, LVar0, 0, LVar2) + EVT_CALL(SetPartRotation, ACTOR_ENEMY2, PRT_MAIN, LVar0, 0, LVar2) EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 2) EVT_CALL(N(SetVineBonePos), VINE_2, 0, LVar0, LVar1, LVar2) @@ -1050,9 +1055,9 @@ EvtScript N(onBurnHit) = { EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) EVT_CALL(SetActorVar, ACTOR_SELF, 7, ANIM_LavaPiranha_Anim03) EVT_CALL(SetActorVar, ACTOR_SELF, 8, ANIM_LavaPiranha_Anim09) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_fiery))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_fiery))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 2, EVT_PTR(N(DefenseTable_fiery))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_fiery))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_fiery))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_2, EVT_PTR(N(DefenseTable_fiery))) EVT_THREAD EVT_WAIT(14) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) @@ -1101,7 +1106,7 @@ EvtScript N(takeTurn) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3BB) EVT_SET(LVar0, ACTOR_ENEMY0) EVT_EXEC_WAIT(N(ignite)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim04) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 14) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) @@ -1120,11 +1125,11 @@ EvtScript N(takeTurn) = { Vec3i N(lava_bud_pos) = { 260, 0, 0 }; Formation N(formation_lava_bud_1) = { - { .actor = &b_area_kzn2_lava_bud, .home = { .vec = &N(lava_bud_pos) }, .priority = 80, .var0 = 1, }, + ACTOR_BY_POS(b_area_kzn2_lava_bud, N(lava_bud_pos), 80, 1), }; Formation N(formation_lava_bud_2) = { - { .actor = &b_area_kzn2_lava_bud, .home = { .vec = &N(lava_bud_pos) }, .priority = 70, .var0 = 2, .var1 = 50, .var2 = 14, .var3 = 20, }, + ACTOR_BY_POS(b_area_kzn2_lava_bud, N(lava_bud_pos), 70, 2, 50, 14, 20), }; EvtScript N(attackFlameSpew) = { @@ -1145,12 +1150,12 @@ EvtScript N(attackFlameSpew) = { EVT_CALL(LoadBattleDmaData, 2) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) EVT_WAIT(14) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim05) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3C1) EVT_WAIT(45) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim06) - EVT_CALL(GetPartOffset, ACTOR_SELF, 1, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim06) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_MAIN, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 50) EVT_SUB(LVar1, 15) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1169,7 +1174,7 @@ EvtScript N(attackFlameSpew) = { EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim03) EVT_WAIT(19) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 0) @@ -1192,7 +1197,7 @@ EvtScript N(attackFlameSpew) = { EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim03) EVT_WAIT(19) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 0) @@ -1227,12 +1232,12 @@ EvtScript N(attackFireStream) = { EVT_CALL(LoadBattleDmaData, 2) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) EVT_WAIT(14) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim0E) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3C1) EVT_WAIT(45) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim08) - EVT_CALL(GetPartOffset, ACTOR_SELF, 1, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim08) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_MAIN, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 40) EVT_SET(LVar1, -10) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1252,9 +1257,9 @@ EvtScript N(attackFireStream) = { EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 3) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim07) EVT_WAIT(19) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim04) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 0) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) @@ -1275,9 +1280,9 @@ EvtScript N(attackFireStream) = { EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 3) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim07) EVT_WAIT(19) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim04) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 0) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) @@ -1385,10 +1390,10 @@ EvtScript N(onDeath) = { EVT_CALL(PlaySound, SOUND_3BC | SOUND_ID_TRIGGER_CHANGE_SOUND) EVT_END_THREAD EVT_CALL(N(StartRumbleWithParams), 80, 234) - EVT_CALL(func_8027D32C, ACTOR_SELF) - EVT_CALL(func_8027D32C, ACTOR_ENEMY1) - EVT_CALL(func_8027D32C, ACTOR_ENEMY2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim0D) + EVT_CALL(HideHealthBar, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_ENEMY1) + EVT_CALL(HideHealthBar, ACTOR_ENEMY2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim0D) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 10) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) @@ -1410,7 +1415,7 @@ EvtScript N(onDeath) = { EVT_END_LOOP EVT_END_THREAD EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_ENEMY1, 1, ANIM_LavaBud_Anim0D) + EVT_CALL(SetAnimation, ACTOR_ENEMY1, PRT_MAIN, ANIM_LavaBud_Anim0D) EVT_CALL(OverrideBattleDmaDest, VINE_1_BASE) EVT_CALL(LoadBattleDmaData, 25) EVT_CALL(PlayModelAnimation, VINE_1, VINE_1_BASE) @@ -1431,7 +1436,7 @@ EvtScript N(onDeath) = { EVT_END_LOOP EVT_END_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_ENEMY2, 1, ANIM_LavaBud_Anim0D) + EVT_CALL(SetAnimation, ACTOR_ENEMY2, PRT_MAIN, ANIM_LavaBud_Anim0D) EVT_CALL(OverrideBattleDmaDest, VINE_2_BASE) EVT_CALL(LoadBattleDmaData, 25) EVT_CALL(PlayModelAnimation, VINE_2, VINE_2_BASE) @@ -1538,32 +1543,32 @@ EvtScript N(onDeath) = { EVT_CALL(SetActorVar, ACTOR_ENEMY1, 8, ANIM_LavaBud_Anim0B) EVT_CALL(SetActorVar, ACTOR_ENEMY2, 7, ANIM_LavaBud_Anim04) EVT_CALL(SetActorVar, ACTOR_ENEMY2, 8, ANIM_LavaBud_Anim0B) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(b_area_kzn2_lava_bud_IdleAnimations_fiery)) - EVT_CALL(SetIdleAnimations, ACTOR_ENEMY1, 1, EVT_PTR(b_area_kzn2_lava_bud_IdleAnimations_fiery)) - EVT_CALL(SetIdleAnimations, ACTOR_ENEMY2, 1, EVT_PTR(b_area_kzn2_lava_bud_IdleAnimations_fiery)) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_fiery))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 2, EVT_PTR(N(DefenseTable_fiery))) - EVT_CALL(SetDefenseTable, ACTOR_ENEMY1, 1, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) - EVT_CALL(SetDefenseTable, ACTOR_ENEMY1, 2, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) - EVT_CALL(SetDefenseTable, ACTOR_ENEMY2, 1, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) - EVT_CALL(SetDefenseTable, ACTOR_ENEMY2, 2, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(b_area_kzn2_lava_bud_IdleAnimations_fiery)) + EVT_CALL(SetIdleAnimations, ACTOR_ENEMY1, PRT_MAIN, EVT_PTR(b_area_kzn2_lava_bud_IdleAnimations_fiery)) + EVT_CALL(SetIdleAnimations, ACTOR_ENEMY2, PRT_MAIN, EVT_PTR(b_area_kzn2_lava_bud_IdleAnimations_fiery)) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_fiery))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_2, EVT_PTR(N(DefenseTable_fiery))) + EVT_CALL(SetDefenseTable, ACTOR_ENEMY1, PRT_MAIN, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) + EVT_CALL(SetDefenseTable, ACTOR_ENEMY1, PRT_2, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) + EVT_CALL(SetDefenseTable, ACTOR_ENEMY2, PRT_MAIN, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) + EVT_CALL(SetDefenseTable, ACTOR_ENEMY2, PRT_2, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) EVT_CALL(SetPartImmunityBits, ACTOR_SELF, 1, ELEMENT_FIRE, 1) EVT_CALL(SetPartImmunityBits, ACTOR_SELF, 2, ELEMENT_FIRE, 1) EVT_CALL(SetPartImmunityBits, ACTOR_ENEMY1, 1, ELEMENT_FIRE, 1) EVT_CALL(SetPartImmunityBits, ACTOR_ENEMY1, 2, ELEMENT_FIRE, 1) EVT_CALL(SetPartImmunityBits, ACTOR_ENEMY2, 1, ELEMENT_FIRE, 1) EVT_CALL(SetPartImmunityBits, ACTOR_ENEMY2, 2, ELEMENT_FIRE, 1) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY1, 2, ACTOR_PART_FLAG_2000, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY2, 2, ACTOR_PART_FLAG_2000, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY1, PRT_2, ACTOR_PART_FLAG_2000, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY2, PRT_2, ACTOR_PART_FLAG_2000, FALSE) EVT_SET(LVar0, ACTOR_ENEMY0) EVT_EXEC_WAIT(N(ignite)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim04) EVT_SET(LVar0, ACTOR_ENEMY1) EVT_EXEC_WAIT(N(ignite)) - EVT_CALL(SetAnimation, ACTOR_ENEMY1, 1, ANIM_LavaBud_Anim04) + EVT_CALL(SetAnimation, ACTOR_ENEMY1, PRT_MAIN, ANIM_LavaBud_Anim04) EVT_SET(LVar0, ACTOR_ENEMY2) EVT_EXEC_WAIT(N(ignite)) - EVT_CALL(SetAnimation, ACTOR_ENEMY2, 1, ANIM_LavaBud_Anim04) + EVT_CALL(SetAnimation, ACTOR_ENEMY2, PRT_MAIN, ANIM_LavaBud_Anim04) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_LAVA_PIRANHA_PHASE_2) EVT_CALL(SetActorType, ACTOR_ENEMY1, ACTOR_TYPE_LAVA_BUD_PHASE_2) EVT_CALL(SetActorType, ACTOR_ENEMY2, ACTOR_TYPE_LAVA_BUD_PHASE_2) @@ -1619,7 +1624,7 @@ EvtScript N(onDeath) = { EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 0) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim0E) EVT_WAIT(5) EVT_CALL(OverrideBattleDmaDest, VINE_2_BASE) EVT_CALL(LoadBattleDmaData, 31) @@ -1640,8 +1645,8 @@ EvtScript N(onDeath) = { EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_ELSE - EVT_CALL(func_8027D32C, ACTOR_ENEMY1) - EVT_CALL(func_8027D32C, ACTOR_ENEMY2) + EVT_CALL(HideHealthBar, ACTOR_ENEMY1) + EVT_CALL(HideHealthBar, ACTOR_ENEMY2) EVT_SET(LVar0, ACTOR_ENEMY3) EVT_EXEC_WAIT(N(handleBudDeath)) EVT_SET(LVar0, ACTOR_ENEMY4) @@ -1669,7 +1674,7 @@ EvtScript N(onDeath) = { EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) EVT_END_IF EVT_WAIT(19) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 10) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) @@ -1679,7 +1684,7 @@ EvtScript N(onDeath) = { EVT_END_IF EVT_WAIT(121) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3CD) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim0A) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 11) EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) @@ -1778,9 +1783,9 @@ EvtScript N(onDeath) = { EVT_END_THREAD EVT_WAIT(212) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaPiranha_Anim0F) - EVT_CALL(SetAnimation, ACTOR_ENEMY1, 1, ANIM_LavaBud_Anim0F) - EVT_CALL(SetAnimation, ACTOR_ENEMY2, 1, ANIM_LavaBud_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim0F) + EVT_CALL(SetAnimation, ACTOR_ENEMY1, PRT_MAIN, ANIM_LavaBud_Anim0F) + EVT_CALL(SetAnimation, ACTOR_ENEMY2, PRT_MAIN, ANIM_LavaBud_Anim0F) EVT_PLAY_EFFECT(EFFECT_SHOCKWAVE, 0, -60, 0, 2, 0) EVT_THREAD EVT_CALL(N(StartRumbleWithParams), 180, 16) @@ -1808,8 +1813,8 @@ EvtScript N(onDeath) = { EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorFlagBits, ACTOR_ENEMY0, ACTOR_FLAG_NO_DMG_APPLY, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 2, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_2, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_ENEMY1, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_ENEMY2, ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_END_IF @@ -1884,20 +1889,20 @@ EvtScript N(ignite) = { EVT_SET(LVar7, 10) EVT_SET(LVar8, -15) EVT_CALL(N(GetFlamePosition), LVar1, LVar2, LVar6, LVar7, LVar8, LVar3, LVar4) - EVT_CALL(GetPartOffset, ACTOR_ENEMY1, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_ENEMY1, PRT_MAIN, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 3) EVT_PLAY_EFFECT(EFFECT_FLAME, 1, LVar3, LVar4, LVar2, EVT_FLOAT(0.3), LVarA, 0) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 6, LVarA) - EVT_CALL(SetIdleAnimations, ACTOR_ENEMY1, 1, EVT_PTR(b_area_kzn2_lava_bud_IdleAnimations_fiery)) - EVT_CALL(SetDefenseTable, ACTOR_ENEMY1, 1, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) - EVT_CALL(SetDefenseTable, ACTOR_ENEMY1, 2, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) - EVT_CALL(SetPartEventBits, ACTOR_ENEMY1, 1, ACTOR_EVENT_FLAG_FIREY, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_ENEMY1, 2, ACTOR_EVENT_FLAG_FIREY, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_ENEMY1, PRT_MAIN, EVT_PTR(b_area_kzn2_lava_bud_IdleAnimations_fiery)) + EVT_CALL(SetDefenseTable, ACTOR_ENEMY1, PRT_MAIN, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) + EVT_CALL(SetDefenseTable, ACTOR_ENEMY1, PRT_2, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) + EVT_CALL(SetPartEventBits, ACTOR_ENEMY1, PRT_MAIN, ACTOR_EVENT_FLAG_FIREY, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_ENEMY1, PRT_2, ACTOR_EVENT_FLAG_FIREY, TRUE) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 7, ANIM_LavaBud_Anim04) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 8, ANIM_LavaBud_Anim0B) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 5, 1) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY1, 2, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_ENEMY1, ACTOR_FLAG_HIDE_HP_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY1, PRT_2, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_ENEMY1, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) EVT_CASE_EQ(ACTOR_ENEMY2) EVT_CALL(SetActorVar, ACTOR_ENEMY2, 10, 35) EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 8, LVar1, LVar2, LVar3) @@ -1905,20 +1910,20 @@ EvtScript N(ignite) = { EVT_SET(LVar7, 10) EVT_SET(LVar8, -15) EVT_CALL(N(GetFlamePosition), LVar1, LVar2, LVar6, LVar7, LVar8, LVar3, LVar4) - EVT_CALL(GetPartOffset, ACTOR_ENEMY2, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_ENEMY2, PRT_MAIN, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 3) EVT_PLAY_EFFECT(EFFECT_FLAME, 1, LVar3, LVar4, LVar2, EVT_FLOAT(0.3), LVarA, 0) EVT_CALL(SetActorVar, ACTOR_ENEMY2, 6, LVarA) - EVT_CALL(SetIdleAnimations, ACTOR_ENEMY2, 1, EVT_PTR(b_area_kzn2_lava_bud_IdleAnimations_fiery)) - EVT_CALL(SetDefenseTable, ACTOR_ENEMY2, 1, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) - EVT_CALL(SetDefenseTable, ACTOR_ENEMY2, 2, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) - EVT_CALL(SetPartEventBits, ACTOR_ENEMY2, 1, ACTOR_EVENT_FLAG_FIREY, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_ENEMY2, 2, ACTOR_EVENT_FLAG_FIREY, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_ENEMY2, PRT_MAIN, EVT_PTR(b_area_kzn2_lava_bud_IdleAnimations_fiery)) + EVT_CALL(SetDefenseTable, ACTOR_ENEMY2, PRT_MAIN, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) + EVT_CALL(SetDefenseTable, ACTOR_ENEMY2, PRT_2, EVT_PTR(b_area_kzn2_lava_bud_DefenseTable_fiery)) + EVT_CALL(SetPartEventBits, ACTOR_ENEMY2, PRT_MAIN, ACTOR_EVENT_FLAG_FIREY, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_ENEMY2, PRT_2, ACTOR_EVENT_FLAG_FIREY, TRUE) EVT_CALL(SetActorVar, ACTOR_ENEMY2, 7, ANIM_LavaBud_Anim04) EVT_CALL(SetActorVar, ACTOR_ENEMY2, 8, ANIM_LavaBud_Anim0B) EVT_CALL(SetActorVar, ACTOR_ENEMY2, 5, 1) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY2, 2, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_ENEMY2, ACTOR_FLAG_HIDE_HP_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY2, PRT_2, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_ENEMY2, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) EVT_CASE_DEFAULT EVT_CALL(SetActorVar, ACTOR_ENEMY0, 10, 70) EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 10, LVar1, LVar2, LVar3) @@ -1926,20 +1931,20 @@ EvtScript N(ignite) = { EVT_SET(LVar7, 30) EVT_SET(LVar8, -30) EVT_CALL(N(GetFlamePosition), LVar1, LVar2, LVar6, LVar7, LVar8, LVar3, LVar4) - EVT_CALL(GetPartOffset, ACTOR_ENEMY0, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_ENEMY0, PRT_MAIN, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 3) EVT_PLAY_EFFECT(EFFECT_FLAME, 1, LVar3, LVar4, LVar2, EVT_FLOAT(0.7), LVarA, 0) EVT_CALL(SetActorVar, ACTOR_ENEMY0, 6, LVarA) - EVT_CALL(SetIdleAnimations, ACTOR_ENEMY0, 1, EVT_PTR(N(IdleAnimations_fiery))) - EVT_CALL(SetDefenseTable, ACTOR_ENEMY0, 1, EVT_PTR(N(DefenseTable_fiery))) - EVT_CALL(SetDefenseTable, ACTOR_ENEMY0, 2, EVT_PTR(N(DefenseTable_fiery))) - EVT_CALL(SetPartEventBits, ACTOR_ENEMY0, 1, ACTOR_EVENT_FLAG_FIREY, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_ENEMY0, 2, ACTOR_EVENT_FLAG_FIREY, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_ENEMY0, PRT_MAIN, EVT_PTR(N(IdleAnimations_fiery))) + EVT_CALL(SetDefenseTable, ACTOR_ENEMY0, PRT_MAIN, EVT_PTR(N(DefenseTable_fiery))) + EVT_CALL(SetDefenseTable, ACTOR_ENEMY0, PRT_2, EVT_PTR(N(DefenseTable_fiery))) + EVT_CALL(SetPartEventBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_EVENT_FLAG_FIREY, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_ENEMY0, PRT_2, ACTOR_EVENT_FLAG_FIREY, TRUE) EVT_CALL(SetActorVar, ACTOR_ENEMY0, 7, ANIM_LavaPiranha_Anim04) EVT_CALL(SetActorVar, ACTOR_ENEMY0, 8, ANIM_LavaPiranha_Anim0A) EVT_CALL(SetActorVar, ACTOR_ENEMY0, 5, 1) EVT_CALL(ForceHomePos, ACTOR_SELF, 61, 61, 0) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) EVT_END_SWITCH EVT_RETURN EVT_END @@ -1947,7 +1952,7 @@ EvtScript N(ignite) = { EvtScript N(onComboHit) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, 5, LVar0) EVT_IF_EQ(LVar0, 2) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) @@ -1986,7 +1991,7 @@ EvtScript N(onHit) = { EvtScript N(doOnHit) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) @@ -2028,13 +2033,13 @@ EvtScript N(doOnHit) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_COLD_BREATH, 0, LVar0, LVar1, LVar2, EVT_FLOAT(3.0), 50, 0) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_wet))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_wet))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 2, EVT_PTR(N(DefenseTable_wet))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_wet))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_wet))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_2, EVT_PTR(N(DefenseTable_wet))) EVT_CALL(SetActorVar, ACTOR_SELF, 7, ANIM_LavaPiranha_Anim0A) EVT_CALL(SetActorVar, ACTOR_SELF, 8, ANIM_LavaPiranha_Anim09) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FIREY, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_FIREY, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FIREY, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_FIREY, FALSE) EVT_WAIT(29) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3C8) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) @@ -2078,7 +2083,7 @@ EvtScript N(doOnHit) = { EvtScript N(playHitAnimation) = { EVT_CALL(GetActorVar, ACTOR_SELF, 7, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) diff --git a/src/battle/area/kzn2/actor/petit_piranha.c b/src/battle/area/kzn2/actor/petit_piranha.c index c13f5bbd78..fc8a632a96 100644 --- a/src/battle/area/kzn2/actor/petit_piranha.c +++ b/src/battle/area/kzn2/actor/petit_piranha.c @@ -12,58 +12,62 @@ extern EvtScript N(idle); extern EvtScript N(handleEvent); extern EvtScript N(onDeath); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_PetitPiranha_Anim01, - STATUS_STONE, ANIM_PetitPiranha_Anim01, - STATUS_SLEEP, ANIM_PetitPiranha_Anim01, - STATUS_POISON, ANIM_PetitPiranha_Anim01, - STATUS_STOP, ANIM_PetitPiranha_Anim00, - STATUS_STATIC, ANIM_PetitPiranha_Anim01, - STATUS_PARALYZE, ANIM_PetitPiranha_Anim01, - STATUS_PARALYZE, ANIM_PetitPiranha_Anim01, - STATUS_DIZZY, ANIM_PetitPiranha_Anim01, - STATUS_DIZZY, ANIM_PetitPiranha_Anim01, + STATUS_KEY_NORMAL, ANIM_PetitPiranha_Anim01, + STATUS_KEY_STONE, ANIM_PetitPiranha_Anim01, + STATUS_KEY_SLEEP, ANIM_PetitPiranha_Anim01, + STATUS_KEY_POISON, ANIM_PetitPiranha_Anim01, + STATUS_KEY_STOP, ANIM_PetitPiranha_Anim00, + STATUS_KEY_STATIC, ANIM_PetitPiranha_Anim01, + STATUS_KEY_PARALYZE, ANIM_PetitPiranha_Anim01, + STATUS_KEY_PARALYZE, ANIM_PetitPiranha_Anim01, + STATUS_KEY_DIZZY, ANIM_PetitPiranha_Anim01, + STATUS_KEY_DIZZY, ANIM_PetitPiranha_Anim01, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, -2, - ELEMENT_ICE, -2, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 0, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, -2, + ELEMENT_ICE, -2, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 0, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -80,8 +84,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_PETIT_PIRANHA, .level = 0, .maxHP = 1, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -93,9 +97,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -178,7 +182,7 @@ EvtScript N(handleEvent) = { EVT_END_CASE_GROUP EVT_CASE_OR_EQ(EVENT_SPIKE_TAUNT) EVT_CASE_OR_EQ(EVENT_BURN_TAUNT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_PetitPiranha_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_PetitPiranha_Anim03) EVT_WAIT(60) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) @@ -251,14 +255,14 @@ EvtScript N(takeTurn) = { EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_IF_GE(LVar1, 41) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_PetitPiranha_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_PetitPiranha_Anim04) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(SetBattleCamZoom, 380) EVT_CALL(SetBattleCamOffsetZ, -20) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_PetitPiranha_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_PetitPiranha_Anim06) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -273,7 +277,7 @@ EvtScript N(takeTurn) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_PetitPiranha_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_PetitPiranha_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3CA) @@ -291,11 +295,11 @@ EvtScript N(takeTurn) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 5, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_PetitPiranha_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_PetitPiranha_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -16, EASING_QUARTIC_IN) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) diff --git a/src/battle/area/kzn2/actor/petit_piranha_bomb.c b/src/battle/area/kzn2/actor/petit_piranha_bomb.c index 5fba757f6c..85eb46eb77 100644 --- a/src/battle/area/kzn2/actor/petit_piranha_bomb.c +++ b/src/battle/area/kzn2/actor/petit_piranha_bomb.c @@ -10,58 +10,62 @@ extern EvtScript N(idle); extern EvtScript N(takeTurn); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_PetitPiranha_Anim01, - STATUS_STONE, ANIM_PetitPiranha_Anim00, - STATUS_SLEEP, ANIM_PetitPiranha_Anim00, - STATUS_POISON, ANIM_PetitPiranha_Anim01, - STATUS_STOP, ANIM_PetitPiranha_Anim00, - STATUS_STATIC, ANIM_PetitPiranha_Anim00, - STATUS_PARALYZE, ANIM_PetitPiranha_Anim00, - STATUS_PARALYZE, ANIM_PetitPiranha_Anim00, - STATUS_DIZZY, ANIM_PetitPiranha_Anim01, - STATUS_DIZZY, ANIM_PetitPiranha_Anim01, + STATUS_KEY_NORMAL, ANIM_PetitPiranha_Anim01, + STATUS_KEY_STONE, ANIM_PetitPiranha_Anim00, + STATUS_KEY_SLEEP, ANIM_PetitPiranha_Anim00, + STATUS_KEY_POISON, ANIM_PetitPiranha_Anim01, + STATUS_KEY_STOP, ANIM_PetitPiranha_Anim00, + STATUS_KEY_STATIC, ANIM_PetitPiranha_Anim00, + STATUS_KEY_PARALYZE, ANIM_PetitPiranha_Anim00, + STATUS_KEY_PARALYZE, ANIM_PetitPiranha_Anim00, + STATUS_KEY_DIZZY, ANIM_PetitPiranha_Anim01, + STATUS_KEY_DIZZY, ANIM_PetitPiranha_Anim01, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, -2, - ELEMENT_ICE, -2, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 0, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, -2, + ELEMENT_ICE, -2, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -78,8 +82,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_PETIT_PIRANHA_BOMB, .level = 0, .maxHP = 1, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -91,9 +95,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { diff --git a/src/battle/area/kzn2/area.c b/src/battle/area/kzn2/area.c index 66079df686..cf6fc85b74 100644 --- a/src/battle/area/kzn2/area.c +++ b/src/battle/area/kzn2/area.c @@ -18,32 +18,31 @@ extern Stage N(kzn_05); Vec3i N(lava_piranha_pos) = { 60, 60, 0 }; Formation N(Formation_00) = { - { .actor = &N(lava_piranha), .home = { .vec = &N(lava_piranha_pos) }, .priority = 60, }, + ACTOR_BY_POS(N(lava_piranha), N(lava_piranha_pos), 60), }; Vec3i N(petit_piranha_pos1) = { 40, 60, 0 }; - Vec3i N(petit_piranha_pos2) = { 80, 60, 0 }; Formation N(Formation_01) = { - { .actor = &N(petit_piranha), .home = { .vec = &N(petit_piranha_pos1) }, .priority = 10, }, - { .actor = &N(petit_piranha), .home = { .vec = &N(petit_piranha_pos2) }, .priority = 10, }, + ACTOR_BY_POS(N(petit_piranha), N(petit_piranha_pos1), 10), + ACTOR_BY_POS(N(petit_piranha), N(petit_piranha_pos2), 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(kzn_05), "ファイアパックン"), - BATTLE(N(Formation_01), &N(kzn_05), "プチパックン"), + BATTLE(N(Formation_00), N(kzn_05), "ファイアパックン"), + BATTLE(N(Formation_01), N(kzn_05), "プチパックン"), {}, }; StageList N(Stages) = { - { "kzn_01", &N(kzn_01) }, - { "kzn_01b", &N(kzn_01b) }, - { "kzn_02", &N(kzn_02) }, - { "kzn_04", &N(kzn_04) }, - { "kzn_04b", &N(kzn_04b) }, - { "kzn_04c", &N(kzn_04c) }, - { "kzn_05", &N(kzn_05) }, + STAGE("kzn_01", N(kzn_01)), + STAGE("kzn_01b", N(kzn_01b)), + STAGE("kzn_02", N(kzn_02)), + STAGE("kzn_04", N(kzn_04)), + STAGE("kzn_04b", N(kzn_04b)), + STAGE("kzn_04c", N(kzn_04c)), + STAGE("kzn_05", N(kzn_05)), {}, }; diff --git a/src/battle/area/mac/actor/chan.c b/src/battle/area/mac/actor/chan.c index 763e0a44a0..ea32a14cca 100644 --- a/src/battle/area/mac/actor/chan.c +++ b/src/battle/area/mac/actor/chan.c @@ -5,50 +5,54 @@ #define NAMESPACE b_area_mac_chan +extern s32 N(IdleAnimations_80219EBC)[]; +extern EvtScript N(init_8021CCDC); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_80219D50)[] = { - ELEMENT_NORMAL, 2, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 99, + ELEMENT_NORMAL, 2, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 99, ELEMENT_END, }; s32 N(DefenseTable_80219D6C)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80219D78)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 30, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 50, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 30, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -extern s32 N(IdleAnimations_80219EBC)[]; -extern EvtScript N(init_8021CCDC); - -ActorPartBlueprint N(PartsTable_80219E24)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, .opacity = 255, @@ -65,8 +69,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_CHAN, .level = 0, .maxHP = 15, - .partCount = ARRAY_COUNT( N(PartsTable_80219E24)), - .partsData = N(PartsTable_80219E24), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021CCDC), .statusTable = N(StatusTable_80219D78), .escapeChance = 100, @@ -78,50 +82,50 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 0, .size = { 22, 18 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_80219E70)[] = { - STATUS_NORMAL, ANIM_Chan_Idle, - STATUS_STONE, ANIM_Chan_Still, - STATUS_SLEEP, ANIM_Chan_Sleep, - STATUS_POISON, ANIM_Chan_Idle, - STATUS_STOP, ANIM_Chan_Still, - STATUS_STATIC, ANIM_Chan_Idle, - STATUS_PARALYZE, ANIM_Chan_Still, - STATUS_DIZZY, ANIM_Chan_Dizzy, - STATUS_FEAR, ANIM_Chan_Dizzy, + STATUS_KEY_NORMAL, ANIM_Chan_Idle, + STATUS_KEY_STONE, ANIM_Chan_Still, + STATUS_KEY_SLEEP, ANIM_Chan_Sleep, + STATUS_KEY_POISON, ANIM_Chan_Idle, + STATUS_KEY_STOP, ANIM_Chan_Still, + STATUS_KEY_STATIC, ANIM_Chan_Idle, + STATUS_KEY_PARALYZE, ANIM_Chan_Still, + STATUS_KEY_DIZZY, ANIM_Chan_Dizzy, + STATUS_KEY_FEAR, ANIM_Chan_Dizzy, STATUS_END, }; s32 N(IdleAnimations_80219EBC)[] = { - STATUS_NORMAL, ANIM_Chan_Idle, - STATUS_STONE, ANIM_Chan_Still, - STATUS_SLEEP, ANIM_Chan_Sleep, - STATUS_POISON, ANIM_Chan_Idle, - STATUS_STOP, ANIM_Chan_Still, - STATUS_STATIC, ANIM_Chan_Idle, - STATUS_PARALYZE, ANIM_Chan_Still, - STATUS_DIZZY, ANIM_Chan_Dizzy, - STATUS_FEAR, ANIM_Chan_Dizzy, + STATUS_KEY_NORMAL, ANIM_Chan_Idle, + STATUS_KEY_STONE, ANIM_Chan_Still, + STATUS_KEY_SLEEP, ANIM_Chan_Sleep, + STATUS_KEY_POISON, ANIM_Chan_Idle, + STATUS_KEY_STOP, ANIM_Chan_Still, + STATUS_KEY_STATIC, ANIM_Chan_Idle, + STATUS_KEY_PARALYZE, ANIM_Chan_Still, + STATUS_KEY_DIZZY, ANIM_Chan_Dizzy, + STATUS_KEY_FEAR, ANIM_Chan_Dizzy, STATUS_END, }; s32 N(IdleAnimations_80219F08)[] = { - STATUS_NORMAL, ANIM_Chan_Toppled, - STATUS_STONE, ANIM_Chan_ToppledStill, - STATUS_SLEEP, ANIM_Chan_ToppledSleep, - STATUS_POISON, ANIM_Chan_Toppled, - STATUS_STOP, ANIM_Chan_ToppledStill, - STATUS_STATIC, ANIM_Chan_Toppled, - STATUS_DIZZY, ANIM_Chan_ToppledDizzy, - STATUS_FEAR, ANIM_Chan_ToppledDizzy, + STATUS_KEY_NORMAL, ANIM_Chan_Toppled, + STATUS_KEY_STONE, ANIM_Chan_ToppledStill, + STATUS_KEY_SLEEP, ANIM_Chan_ToppledSleep, + STATUS_KEY_POISON, ANIM_Chan_Toppled, + STATUS_KEY_STOP, ANIM_Chan_ToppledStill, + STATUS_KEY_STATIC, ANIM_Chan_Toppled, + STATUS_KEY_DIZZY, ANIM_Chan_ToppledDizzy, + STATUS_KEY_FEAR, ANIM_Chan_ToppledDizzy, STATUS_END, }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" extern EvtScript N(idle_8021A11C); extern EvtScript N(takeTurn_8021B81C); @@ -134,19 +138,19 @@ EvtScript N(80219F4C) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 0, 10, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 0, 10, 0) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021B81C))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021A560))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, FALSE) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 16) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_Chan))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021AAB8))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219E70))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219E70))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_END_IF EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -161,21 +165,21 @@ EvtScript N(idle_8021A11C) = { }; EvtScript N(8021A12C) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 16) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_Chan))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021AAB8))) EVT_CALL(SetActorVar, ACTOR_SELF, 9, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_80219D6C))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219F08))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_80219D6C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219F08))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_ToppledHurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_ToppledHurt) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) @@ -203,7 +207,7 @@ EvtScript N(8021A12C) = { EVT_ADD(LVar1, LVarE) EVT_ADD(LVar2, LVarF) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Toppled) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Toppled) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -372,13 +376,13 @@ EvtScript N(handleEvent_8021AAB8) = { EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_CASE_EQ(13) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 16) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) EVT_CALL(SetActorVar, ACTOR_SELF, 9, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_80219D6C))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219F08))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_80219D6C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219F08))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Hurt) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(1) @@ -402,7 +406,7 @@ EvtScript N(handleEvent_8021AAB8) = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_ToppledHurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_ToppledHurt) EVT_CASE_EQ(47) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_Chan_Hurt) @@ -427,7 +431,7 @@ EvtScript N(handleEvent_8021AAB8) = { EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_Chan_EnterShell) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_ExitShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_ExitShell) EVT_WAIT(8) EVT_ELSE EVT_SET_CONST(LVar0, 0x00000001) @@ -440,7 +444,7 @@ EvtScript N(handleEvent_8021AAB8) = { EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_Chan_EnterShell) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_ExitShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_ExitShell) EVT_WAIT(8) EVT_ELSE EVT_SET_CONST(LVar0, 0x00000001) @@ -530,7 +534,7 @@ EvtScript N(handleEvent_8021AAB8) = { EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_Chan_EnterShell) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_ExitShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_ExitShell) EVT_WAIT(8) EVT_ELSE EVT_SET_CONST(LVar0, 0x00000001) @@ -550,14 +554,14 @@ EvtScript N(takeTurn_8021B81C) = { EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 16) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_Chan))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021AAB8))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219E70))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219E70))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) EVT_MOD(LVar0, 4) EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) @@ -573,16 +577,16 @@ EvtScript N(takeTurn_8021B81C) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar4, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Still) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar4, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Still) EVT_WAIT(8) EVT_END_IF EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_301, 0) @@ -600,8 +604,8 @@ EvtScript N(takeTurn_8021B81C) = { EVT_CASE_OR_EQ(5) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetPartYaw, ACTOR_SELF, 1, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_ToppledHurt) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_MAIN, 180) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_ToppledHurt) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -619,7 +623,7 @@ EvtScript N(takeTurn_8021B81C) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Still) EVT_END_THREAD EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -629,11 +633,11 @@ EvtScript N(takeTurn_8021B81C) = { EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Run) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Run) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -641,7 +645,7 @@ EvtScript N(takeTurn_8021B81C) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_ToppledHurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_ToppledHurt) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -666,7 +670,7 @@ EvtScript N(takeTurn_8021B81C) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Still) EVT_END_THREAD EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -676,7 +680,7 @@ EvtScript N(takeTurn_8021B81C) = { EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_Chan_Run) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_LABEL(10) @@ -695,24 +699,24 @@ EvtScript N(takeTurn_Chan) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 9, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Chan_Toppled) EVT_SET_CONST(LVar2, ANIM_Chan_Idle) EVT_EXEC_WAIT(EVS_Enemy_FlipBackUp) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 16) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_80219D50))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80219E70))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_80219D50))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80219E70))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8021A11C))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_END_IF @@ -724,9 +728,9 @@ EvtScript N(takeTurn_Chan) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_EnterShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_EnterShell) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_ShellStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_ShellStill) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) @@ -736,7 +740,7 @@ EvtScript N(takeTurn_Chan) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_ShellSpin) EVT_WAIT(20) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20D3) @@ -769,7 +773,7 @@ EvtScript N(takeTurn_Chan) = { EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 200) @@ -777,9 +781,9 @@ EvtScript N(takeTurn_Chan) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_ExitShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_ExitShell) EVT_WAIT(10) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -806,14 +810,14 @@ EvtScript N(takeTurn_Chan) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Idle) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_Chan_Run) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Chan_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Chan_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -847,7 +851,7 @@ EvtScript N(nextTurn_8021CD7C) = { EVT_IF_EQ(LVar0, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_001F, ACTOR_SELF, 1, 0x00A30004, 0x00A30003) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_001F, ACTOR_SELF, PRT_MAIN, 0x00A30004, 0x00A30003) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_END_IF EVT_CASE_EQ(12) @@ -874,7 +878,7 @@ EvtScript N(nextTurn_8021CD7C) = { EVT_IF_EQ(LVar0, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0021, ACTOR_SELF, 1, LVarA, LVarB) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0021, ACTOR_SELF, PRT_MAIN, LVarA, LVarB) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 1) EVT_BREAK_SWITCH EVT_END_IF @@ -883,7 +887,7 @@ EvtScript N(nextTurn_8021CD7C) = { EVT_IF_LE(LVar0, 5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0022, ACTOR_SELF, 1, LVarA, LVarB) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0022, ACTOR_SELF, PRT_MAIN, LVarA, LVarB) EVT_BREAK_SWITCH EVT_END_IF EVT_END_SWITCH @@ -928,7 +932,7 @@ EvtScript N(handleEvent_8021D0CC) = { EVT_CASE_EQ(1) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0020, ACTOR_SELF, 1, 0x00A30007, 0x00A30002) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0020, ACTOR_SELF, PRT_MAIN, 0x00A30007, 0x00A30002) EVT_CASE_EQ(2) EVT_CASE_EQ(3) EVT_SET(LVar0, 0) diff --git a/src/battle/area/mac/actor/lee.c b/src/battle/area/mac/actor/lee.c index 076bbb958b..e3090ec82f 100644 --- a/src/battle/area/mac/actor/lee.c +++ b/src/battle/area/mac/actor/lee.c @@ -13,62 +13,77 @@ #define NAMESPACE b_area_mac_lee +extern EvtScript N(init_8021D4C8); +extern EvtScript N(takeTurn_80229F9C); +extern EvtScript N(idle_8021D5B4); +extern EvtScript N(handleEvent_8021D600); +extern EvtScript N(nextTurn_8022A038); +extern EvtScript N(copyPartner); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_ZERO = 0, +}; + s32 N(IdleAnimations_8021D360)[] = { - STATUS_NORMAL, ANIM_Lee_Idle, - STATUS_STONE, ANIM_Lee_Still, - STATUS_SLEEP, ANIM_Lee_Sleep, - STATUS_POISON, ANIM_Lee_Idle, - STATUS_STOP, ANIM_Lee_Still, - STATUS_STATIC, ANIM_Lee_Idle, - STATUS_PARALYZE, ANIM_Lee_Still, - STATUS_DIZZY, ANIM_Lee_Dizzy, - STATUS_DIZZY, ANIM_Lee_Dizzy, + STATUS_KEY_NORMAL, ANIM_Lee_Idle, + STATUS_KEY_STONE, ANIM_Lee_Still, + STATUS_KEY_SLEEP, ANIM_Lee_Sleep, + STATUS_KEY_POISON, ANIM_Lee_Idle, + STATUS_KEY_STOP, ANIM_Lee_Still, + STATUS_KEY_STATIC, ANIM_Lee_Idle, + STATUS_KEY_PARALYZE, ANIM_Lee_Still, + STATUS_KEY_DIZZY, ANIM_Lee_Dizzy, + STATUS_KEY_DIZZY, ANIM_Lee_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021D3AC)[] = { - STATUS_NORMAL, ANIM_Lee_Hurt, + STATUS_KEY_NORMAL, ANIM_Lee_Hurt, STATUS_END, }; -s32 N(unk_missing_8021D3B8)[] = { - 0x00000001, 0x00A40004, 0x00000000, +s32 N(UnusedAnims)[] = { + STATUS_KEY_NORMAL, ANIM_Lee_Run, + STATUS_END, }; s32 N(DefenseTable_8021D3C4)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8021D3D0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 75, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 75, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, -1, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 75, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 75, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, -1, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8021D47C)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 25 }, .opacity = 255, @@ -80,15 +95,13 @@ ActorPartBlueprint N(PartsTable_8021D47C)[] = { }, }; -extern EvtScript N(init_8021D4C8); - ActorBlueprint NAMESPACE = { .flags = 0, .type = ACTOR_TYPE_LEE, .level = 0, .maxHP = 20, - .partCount = ARRAY_COUNT( N(PartsTable_8021D47C)), - .partsData = N(PartsTable_8021D47C), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021D4C8), .statusTable = N(StatusTable_8021D3D0), .escapeChance = 100, @@ -100,17 +113,11 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 0, .size = { 36, 36 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; -extern EvtScript N(takeTurn_80229F9C); -extern EvtScript N(idle_8021D5B4); -extern EvtScript N(handleEvent_8021D600); -extern EvtScript N(nextTurn_8022A038); -extern EvtScript N(copyPartner); - BSS s32 D_80232C20[12]; BSS s32 D_80232C50; @@ -132,9 +139,9 @@ EvtScript N(init_8021D4C8) = { EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_EXEC_WAIT(N(copyPartner)) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(func_802180D0_464560) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_NO_GAME_OVER, TRUE) @@ -261,7 +268,7 @@ EvtScript N(flyingTackle) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lee_Crouch) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lee_Crouch) EVT_WAIT(20) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_2CB, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -271,7 +278,7 @@ EvtScript N(flyingTackle) = { EVT_SET(LVarA, LVar0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lee_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lee_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -100, 0, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.3)) @@ -282,21 +289,21 @@ EvtScript N(flyingTackle) = { EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 0, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lee_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lee_Idle) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(8021D5C4)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lee_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lee_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, 0x80000) @@ -314,7 +321,7 @@ EvtScript N(flyingTackle) = { EVT_CASE_OR_EQ(2) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lee_Land) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lee_Land) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_ADD(LVar0, 30) @@ -343,12 +350,12 @@ EvtScript N(8021E0E0) = { EvtScript N(8021E118) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_WAIT(30) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) EVT_CALL(UseIdleAnimation, LVarA, FALSE) - EVT_CALL(func_8027D32C, LVarA) + EVT_CALL(HideHealthBar, LVarA) EVT_CALL(CopyStatusEffects, ACTOR_SELF, LVarA) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SMOKE_BURST) EVT_THREAD @@ -366,8 +373,8 @@ EvtScript N(8021E118) = { EVT_CALL(CopyBuffs, ACTOR_SELF, LVarA) EVT_CALL(GetActorPos, ACTOR_SELF, LVarB, LVarC, LVarD) EVT_CALL(SetActorPos, LVarA, LVarB, LVarC, LVarD) - EVT_CALL(SetPartFlagBits, LVarA, 1, 0x00800000, TRUE) - EVT_CALL(SetPartFlagBits, LVarA, 1, 0x00020001, FALSE) + EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(SetActorFlagBits, LVarA, (ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_DMG_APPLY), FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_CALL(SetActorVar, LVarA, 8, 2) @@ -402,7 +409,7 @@ EvtScript N(8021E118) = { }; EvtScript N(8021E5DC) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_SET(LVarA, LVar0) EVT_SET(LVarB, LVar1) EVT_SET(LVarC, LVar2) @@ -450,52 +457,52 @@ EvtScript N(8021E5DC) = { Vec3i N(vector3D_8021E940) = { NPC_DISPOSE_LOCATION }; s32 N(IdleAnimations_8021E94C)[] = { - STATUS_NORMAL, ANIM_BattleGoombario_Idle, - STATUS_STONE, ANIM_BattleGoombario_Still, - STATUS_SLEEP, ANIM_BattleGoombario_Still, - STATUS_POISON, ANIM_BattleGoombario_Idle, - STATUS_STOP, ANIM_BattleGoombario_Still, - STATUS_STATIC, ANIM_BattleGoombario_Idle, - STATUS_PARALYZE, ANIM_BattleGoombario_Still, - STATUS_DIZZY, ANIM_BattleGoombario_Injured, - STATUS_FEAR, ANIM_BattleGoombario_Injured, + STATUS_KEY_NORMAL, ANIM_BattleGoombario_Idle, + STATUS_KEY_STONE, ANIM_BattleGoombario_Still, + STATUS_KEY_SLEEP, ANIM_BattleGoombario_Still, + STATUS_KEY_POISON, ANIM_BattleGoombario_Idle, + STATUS_KEY_STOP, ANIM_BattleGoombario_Still, + STATUS_KEY_STATIC, ANIM_BattleGoombario_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleGoombario_Still, + STATUS_KEY_DIZZY, ANIM_BattleGoombario_Injured, + STATUS_KEY_FEAR, ANIM_BattleGoombario_Injured, STATUS_END, }; s32 N(DefenseTable_8021E998)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8021E9A4)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8021EA50)[] = { +ActorPartBlueprint N(GoombarioParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -514,8 +521,8 @@ ActorBlueprint N(goombario) = { .type = ACTOR_TYPE_LEE_GOOMBARIO, .level = 0, .maxHP = 20, - .partCount = ARRAY_COUNT( N(PartsTable_8021EA50)), - .partsData = N(PartsTable_8021EA50), + .partCount = ARRAY_COUNT( N(GoombarioParts)), + .partsData = N(GoombarioParts), .initScript = &N(init_Goombario), .statusTable = N(StatusTable_8021E9A4), .escapeChance = 100, @@ -527,9 +534,9 @@ ActorBlueprint N(goombario) = { .powerBounceChance = 90, .coinReward = 0, .size = { 29, 26 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; extern EvtScript N(takeTurn_802203F4); @@ -599,7 +606,7 @@ EvtScript N(handleEvent_8021EB24) = { EVT_EXEC_WAIT(N(8021E5DC)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CASE_EQ(38) EVT_EXEC_WAIT(N(8021E0E0)) @@ -657,7 +664,7 @@ EvtScript N(handleEvent_8021EB24) = { EvtScript N(8021F08C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_SET(LVar0, 180) @@ -666,7 +673,7 @@ EvtScript N(8021F08C) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Fall) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_END_THREAD @@ -683,34 +690,34 @@ EvtScript N(8021F08C) = { EVT_ELSE EVT_SET(LVar5, 18) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar5, 0) EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar5, 0) EVT_WAIT(1) EVT_ADD(LVar0, 10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar5, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_WAIT(2) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_RETURN EVT_END }; @@ -722,10 +729,10 @@ EvtScript N(8021F514) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 70, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_RETURN EVT_END }; @@ -813,13 +820,13 @@ API_CALLABLE(func_80218100_464590) { #include "common/ActorJumpToPos.inc.c" -EvtScript N(8021F6E0) = { +EvtScript N(EVS_Move_Headbonk) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_EXEC_WAIT(N(8021F514)) EVT_EXEC_WAIT(N(8021F5F8)) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) - EVT_IF_FLAG(LVarA, 0x80000) + EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) EVT_SETF(LVar0, EVT_FLOAT(7.2)) EVT_SETF(LVar1, EVT_FLOAT(7.6)) EVT_SETF(LVar1, EVT_FLOAT(3.6)) @@ -828,23 +835,23 @@ EvtScript N(8021F6E0) = { EVT_SET(LVar1, 19) EVT_SET(LVar2, 9) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar0, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar1, 0) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar2, 0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 0, 5) - EVT_CALL(SetJumpAnimations, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(N(UnkFunc62), LVarA, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) EVT_CASE_OR_EQ(5) EVT_SET(LVarA, LVar0) - EVT_CALL(SetJumpAnimations, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(N(ActorJumpToPos)) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) @@ -861,11 +868,11 @@ EvtScript N(8021F6E0) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CHILD_THREAD - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD EVT_WAIT(1) EVT_WAIT(2) @@ -896,7 +903,7 @@ EvtScript N(8021F6E0) = { EVT_END_LOOP EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetJumpAnimations, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(N(UnkFunc62), LVarA, 3) EVT_CASE_EQ(1) EVT_THREAD @@ -910,7 +917,7 @@ EvtScript N(8021F6E0) = { EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) - EVT_CALL(SetJumpAnimations, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(N(UnkFunc62), LVarA, 3) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_CASE_EQ(2) @@ -922,7 +929,7 @@ EvtScript N(8021F6E0) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, EVT_IGNORE_ARG, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_END_THREAD EVT_THREAD EVT_SET(LVar0, 0) @@ -934,16 +941,16 @@ EvtScript N(8021F6E0) = { EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) - EVT_CALL(SetJumpAnimations, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(N(UnkFunc62), LVarA, 3) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_END_SWITCH EVT_CHILD_THREAD - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD EVT_WAIT(1) EVT_WAIT(2) @@ -972,9 +979,14 @@ EvtScript N(8021F6E0) = { #include "common/UnkActorSizeFunc.inc.c" -#include "common/UnkEffect6CFunc.inc.c" +API_CALLABLE(N(OpenTattleWindow)) { + Bytecode* args = script->ptrReadPos; -API_CALLABLE(func_80218DF4_465284) { + evt_set_variable(script, *args++, (s32) fx_tattle_window(0, 106.0f, 144.0f, 0, 1.0f, 0)); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(HideTattleWindow)) { Bytecode* args = script->ptrReadPos; EffectInstance* tattleEffect = (EffectInstance*) evt_get_variable(script, *args++); @@ -982,7 +994,7 @@ API_CALLABLE(func_80218DF4_465284) { return ApiStatus_DONE2; } -API_CALLABLE(func_80218E2C_4652BC) { +API_CALLABLE(N(CloseTattleWindow)) { EffectInstance* tattleEffect = (EffectInstance*) evt_get_variable(script, *script->ptrReadPos); tattleEffect->data.tattleWindow->pos.y = 144.0f; @@ -990,7 +1002,7 @@ API_CALLABLE(func_80218E2C_4652BC) { return ApiStatus_DONE2; } -EvtScript N(80220100) = { +EvtScript N(EVS_Move_Tattle) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) @@ -1000,8 +1012,8 @@ EvtScript N(80220100) = { EVT_WAIT(10) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4, TRUE) - EVT_CALL(N(UnkEffect6CFunc), LVar5) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_TATTLE_OPEN, TRUE) + EVT_CALL(N(OpenTattleWindow), LVar5) EVT_WAIT(12) EVT_CALL(SetCamEnabled, CAM_TATTLE, TRUE) EVT_CALL(SetCamFlag80, CAM_TATTLE, FALSE) @@ -1019,13 +1031,13 @@ EvtScript N(80220100) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_282) EVT_CALL(SetCamFlag80, CAM_TATTLE, TRUE) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_EnemyTattle_Mario, ACTOR_SELF, 1, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) - EVT_CALL(func_80218E2C_4652BC, LVar5) + EVT_CALL(ActorSpeak, MSG_EnemyTattle_Mario, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) + EVT_CALL(N(CloseTattleWindow), LVar5) EVT_WAIT(12) EVT_CALL(SetCamEnabled, CAM_TATTLE, FALSE) EVT_WAIT(32) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4, FALSE) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_TATTLE_OPEN, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -1035,9 +1047,9 @@ EvtScript N(80220100) = { EvtScript N(takeTurn_802203F4) = { EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 40) - EVT_EXEC_WAIT(N(80220100)) + EVT_EXEC_WAIT(N(EVS_Move_Tattle)) EVT_ELSE - EVT_EXEC_WAIT(N(8021F6E0)) + EVT_EXEC_WAIT(N(EVS_Move_Headbonk)) EVT_END_IF EVT_RETURN EVT_END @@ -1063,74 +1075,74 @@ EvtScript N(nextTurn_80220450) = { }; Formation N(formation_goombario) = { - { .actor = &N(goombario), .home = { .vec = &N(vector3D_8021E940) }}, + ACTOR_BY_POS(N(goombario), N(vector3D_8021E940), 0), }; s32 N(IdleAnimations_80220540)[] = { - STATUS_NORMAL, ANIM_BattleKooper_Idle, - STATUS_STONE, ANIM_BattleKooper_Still, - STATUS_SLEEP, ANIM_BattleKooper_Still, - STATUS_POISON, ANIM_BattleKooper_Idle, - STATUS_STOP, ANIM_BattleKooper_Still, - STATUS_STATIC, ANIM_BattleKooper_Idle, - STATUS_PARALYZE, ANIM_BattleKooper_Still, - STATUS_DIZZY, ANIM_BattleKooper_Injured, - STATUS_FEAR, ANIM_BattleKooper_Injured, + STATUS_KEY_NORMAL, ANIM_BattleKooper_Idle, + STATUS_KEY_STONE, ANIM_BattleKooper_Still, + STATUS_KEY_SLEEP, ANIM_BattleKooper_Still, + STATUS_KEY_POISON, ANIM_BattleKooper_Idle, + STATUS_KEY_STOP, ANIM_BattleKooper_Still, + STATUS_KEY_STATIC, ANIM_BattleKooper_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleKooper_Still, + STATUS_KEY_DIZZY, ANIM_BattleKooper_Injured, + STATUS_KEY_FEAR, ANIM_BattleKooper_Injured, STATUS_END, }; s32 N(IdleAnimations_8022058C)[] = { - STATUS_NORMAL, ANIM_BattleKooper_Toppled, - STATUS_STONE, ANIM_BattleKooper_StillToppled, - STATUS_SLEEP, ANIM_BattleKooper_StillToppled, - STATUS_POISON, ANIM_BattleKooper_Toppled, - STATUS_STOP, ANIM_BattleKooper_StillToppled, - STATUS_STATIC, ANIM_BattleKooper_Toppled, - STATUS_PARALYZE, ANIM_BattleKooper_StillToppled, - STATUS_DIZZY, ANIM_BattleKooper_Toppled, - STATUS_FEAR, ANIM_BattleKooper_Toppled, + STATUS_KEY_NORMAL, ANIM_BattleKooper_Toppled, + STATUS_KEY_STONE, ANIM_BattleKooper_StillToppled, + STATUS_KEY_SLEEP, ANIM_BattleKooper_StillToppled, + STATUS_KEY_POISON, ANIM_BattleKooper_Toppled, + STATUS_KEY_STOP, ANIM_BattleKooper_StillToppled, + STATUS_KEY_STATIC, ANIM_BattleKooper_Toppled, + STATUS_KEY_PARALYZE, ANIM_BattleKooper_StillToppled, + STATUS_KEY_DIZZY, ANIM_BattleKooper_Toppled, + STATUS_KEY_FEAR, ANIM_BattleKooper_Toppled, STATUS_END, }; s32 N(DefenseTable_802205D8)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(DefenseTable_802205E4)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_802205F0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022069C)[] = { +ActorPartBlueprint N(KooperParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 32 }, .opacity = 255, @@ -1149,8 +1161,8 @@ ActorBlueprint N(kooper) = { .type = ACTOR_TYPE_LEE_KOOPER, .level = 0, .maxHP = 20, - .partCount = ARRAY_COUNT( N(PartsTable_8022069C)), - .partsData = N(PartsTable_8022069C), + .partCount = ARRAY_COUNT( N(KooperParts)), + .partsData = N(KooperParts), .initScript = &N(init_Kooper), .statusTable = N(StatusTable_802205F0), .escapeChance = 100, @@ -1162,9 +1174,9 @@ ActorBlueprint N(kooper) = { .powerBounceChance = 90, .coinReward = 0, .size = { 32, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; extern EvtScript N(takeTurn_80221200); @@ -1185,7 +1197,7 @@ EvtScript N(init_Kooper) = { }; #define NAMESPACE b_area_mac_lee_kooper -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" #define NAMESPACE b_area_mac_lee EvtScript N(idle_80220790) = { @@ -1193,13 +1205,13 @@ EvtScript N(idle_80220790) = { EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -2, 38) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -3, -9) - EVT_CALL(N(kooper_UnkBattleFunc1), -10, 25, 10, 25) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -2, 38) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -3, -9) + EVT_CALL(N(kooper_SetAbsoluteStatusOffsets), -10, 25, 10, 25) EVT_CASE_EQ(1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -6) - EVT_CALL(N(kooper_UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -6) + EVT_CALL(N(kooper_SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_SWITCH EVT_WAIT(1) EVT_GOTO(0) @@ -1255,11 +1267,11 @@ EvtScript N(handleEvent_80220908) = { EVT_CASE_EQ(13) EVT_CALL(SetActorVar, ACTOR_SELF, 4, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 5, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_802205E4))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022058C))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Hurt) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_802205E4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022058C))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -6) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Hurt) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(4) @@ -1283,7 +1295,7 @@ EvtScript N(handleEvent_80220908) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Toppled) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Toppled) EVT_CASE_OR_EQ(23) EVT_CASE_OR_EQ(25) EVT_CASE_OR_EQ(31) @@ -1293,7 +1305,7 @@ EvtScript N(handleEvent_80220908) = { EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_BattleKooper_Idle) EVT_CASE_EQ(1) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_BattleKooper_Toppled) EVT_END_SWITCH @@ -1333,7 +1345,7 @@ EvtScript N(handleEvent_80220908) = { EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_BattleKooper_Run) EVT_CASE_EQ(1) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_BattleKooper_Toppled) EVT_END_SWITCH @@ -1343,7 +1355,7 @@ EvtScript N(handleEvent_80220908) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, 0x80000) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_ELSE @@ -1378,18 +1390,18 @@ EvtScript N(takeTurn_80221200) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 5, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(30) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Toppled) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Toppled) EVT_SET(LVar0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD @@ -1406,21 +1418,21 @@ EvtScript N(takeTurn_80221200) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Idle) EVT_CALL(SetActorVar, ACTOR_SELF, 4, 0) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_802205D8))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220540))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -2, 38) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -3, -9) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_802205D8))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220540))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -2, 38) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -3, -9) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_EnterShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_EnterShell) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellSpinSlowest) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellSpinSlowest) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_200C) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) @@ -1440,25 +1452,25 @@ EvtScript N(takeTurn_80221200) = { EVT_ADD(LVar9, 1) EVT_SWITCH(LVar9) EVT_CASE_LT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellSpinSlowest) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellSpinSlowest) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) EVT_CASE_EQ(20) EVT_CALL(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) EVT_CASE_LT(40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellSpinSlower) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellSpinSlower) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0)) EVT_CASE_EQ(40) EVT_CALL(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) EVT_CASE_LT(50) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellSpinFaster) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellSpinFaster) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0)) EVT_CASE_EQ(50) EVT_CALL(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) EVT_CASE_LT(60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellSpinFastest) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellSpinFastest) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) EVT_CASE_EQ(60) EVT_CALL(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6) @@ -1470,7 +1482,7 @@ EvtScript N(takeTurn_80221200) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 0, 0, ACTOR_DECORATION_GREY_SMOKE_TRAIL) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_ZERO, 0, ACTOR_DECORATION_GREY_SMOKE_TRAIL) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -1480,10 +1492,10 @@ EvtScript N(takeTurn_80221200) = { EVT_SET(LVarA, LVar0) EVT_THREAD EVT_CALL(N(UnkActorPosFunc)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) EVT_END_THREAD EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellStill) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, -8, 0, 0) EVT_SET(LVar0, 0) EVT_LOOP(2) @@ -1509,12 +1521,12 @@ EvtScript N(takeTurn_80221200) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ExitShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ExitShell) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.5)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -1523,7 +1535,7 @@ EvtScript N(takeTurn_80221200) = { EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar9) EVT_SWITCH(LVar9) EVT_CASE_EQ(0) @@ -1556,11 +1568,11 @@ EvtScript N(takeTurn_80221200) = { EVT_ADD(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ExitShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ExitShell) EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.5)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -1592,56 +1604,56 @@ EvtScript N(nextTurn_802221A0) = { }; Formation N(formation_kooper) = { - { .actor = &N(kooper), .home = { .vec = &N(vector3D_8021E940) }} + ACTOR_BY_POS(N(kooper), N(vector3D_8021E940), 0) }; s32 N(IdleAnimations_80222290)[] = { - STATUS_NORMAL, ANIM_BattleBombette_Idle, - STATUS_STONE, ANIM_BattleBombette_Still, - STATUS_SLEEP, ANIM_BattleBombette_Still, - STATUS_POISON, ANIM_BattleBombette_Idle, - STATUS_STOP, ANIM_BattleBombette_Still, - STATUS_STATIC, ANIM_BattleBombette_Idle, - STATUS_PARALYZE, ANIM_BattleBombette_Still, - STATUS_DIZZY, ANIM_BattleBombette_Injured, - STATUS_FEAR, ANIM_BattleBombette_Injured, + STATUS_KEY_NORMAL, ANIM_BattleBombette_Idle, + STATUS_KEY_STONE, ANIM_BattleBombette_Still, + STATUS_KEY_SLEEP, ANIM_BattleBombette_Still, + STATUS_KEY_POISON, ANIM_BattleBombette_Idle, + STATUS_KEY_STOP, ANIM_BattleBombette_Still, + STATUS_KEY_STATIC, ANIM_BattleBombette_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleBombette_Still, + STATUS_KEY_DIZZY, ANIM_BattleBombette_Injured, + STATUS_KEY_FEAR, ANIM_BattleBombette_Injured, STATUS_END, }; s32 N(DefenseTable_802222DC)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_802222E8)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80222394)[] = { +ActorPartBlueprint N(BombetteParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, .opacity = 255, @@ -1660,8 +1672,8 @@ ActorBlueprint N(bombette) = { .type = ACTOR_TYPE_LEE_BOMBETTE, .level = 0, .maxHP = 20, - .partCount = ARRAY_COUNT( N(PartsTable_80222394)), - .partsData = N(PartsTable_80222394), + .partCount = ARRAY_COUNT( N(BombetteParts)), + .partsData = N(BombetteParts), .initScript = &N(init_LeeBombette), .statusTable = N(StatusTable_802222E8), .escapeChance = 100, @@ -1673,9 +1685,9 @@ ActorBlueprint N(bombette) = { .powerBounceChance = 90, .coinReward = 0, .size = { 30, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; extern EvtScript N(takeTurn_802229C4); @@ -1742,7 +1754,7 @@ EvtScript N(handleEvent_80222468) = { EVT_SET_CONST(LVar1, ANIM_BattleBombette_Hurt) EVT_SET(LVar2, 15) EVT_EXEC_WAIT(N(8021E5DC)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -1814,10 +1826,10 @@ EvtScript N(takeTurn_802229C4) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 0, 0) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 30, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Brace) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Brace) EVT_WAIT(15) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2020) @@ -1828,9 +1840,9 @@ EvtScript N(takeTurn_802229C4) = { EVT_SET(LVarA, LVar0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -10, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_BodySlam) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_BodySlam) EVT_CALL(RunToGoal, ACTOR_SELF, 5, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Idle) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 15, 0) EVT_SET(LVar0, 0) @@ -1843,7 +1855,7 @@ EvtScript N(takeTurn_802229C4) = { EVT_END_THREAD EVT_CALL(AddGoalPos, ACTOR_SELF, -60, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Idle) EVT_THREAD EVT_CALL(N(bombette_UnkActorPosFunc)) EVT_END_THREAD @@ -1853,7 +1865,7 @@ EvtScript N(takeTurn_802229C4) = { EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -1864,7 +1876,7 @@ EvtScript N(takeTurn_802229C4) = { EVT_END_SWITCH EVT_SET(LVarA, LVar0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_BodySlam) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_BodySlam) EVT_CALL(RunToGoal, ACTOR_SELF, 4, FALSE) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar9) EVT_SWITCH(LVar9) @@ -1881,40 +1893,40 @@ EvtScript N(takeTurn_802229C4) = { EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Idle) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire2) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.4)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire2) EVT_ADD(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire2) EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire2) EVT_ADD(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Idle) EVT_WAIT(8) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -1946,56 +1958,56 @@ EvtScript N(nextTurn_80223298) = { }; Formation N(formation_bombette) = { - { .actor = &N(bombette), .home = { .vec = &N(vector3D_8021E940) }} + ACTOR_BY_POS(N(bombette), N(vector3D_8021E940), 0) }; s32 N(IdleAnimations_80223388)[] = { - STATUS_NORMAL, ANIM_BattleParakarry_Idle, - STATUS_STONE, ANIM_BattleParakarry_Still, - STATUS_SLEEP, ANIM_BattleParakarry_Still, - STATUS_POISON, ANIM_BattleParakarry_Idle, - STATUS_STOP, ANIM_BattleParakarry_Still, - STATUS_STATIC, ANIM_BattleParakarry_Idle, - STATUS_PARALYZE, ANIM_BattleParakarry_Still, - STATUS_DIZZY, ANIM_BattleParakarry_Idle, - STATUS_FEAR, ANIM_BattleParakarry_Idle, + STATUS_KEY_NORMAL, ANIM_BattleParakarry_Idle, + STATUS_KEY_STONE, ANIM_BattleParakarry_Still, + STATUS_KEY_SLEEP, ANIM_BattleParakarry_Still, + STATUS_KEY_POISON, ANIM_BattleParakarry_Idle, + STATUS_KEY_STOP, ANIM_BattleParakarry_Still, + STATUS_KEY_STATIC, ANIM_BattleParakarry_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleParakarry_Still, + STATUS_KEY_DIZZY, ANIM_BattleParakarry_Idle, + STATUS_KEY_FEAR, ANIM_BattleParakarry_Idle, STATUS_END, }; s32 N(DefenseTable_802233D4)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable_802233E0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022348C)[] = { +ActorPartBlueprint N(ParakarryParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -3, 32 }, .opacity = 255, @@ -2007,7 +2019,7 @@ ActorPartBlueprint N(PartsTable_8022348C)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 50, 0 }, .targetOffset = { -3, -18 }, .opacity = 255, @@ -2026,8 +2038,8 @@ ActorBlueprint N(parakarry) = { .type = ACTOR_TYPE_LEE_PARAKARRY, .level = 0, .maxHP = 20, - .partCount = ARRAY_COUNT( N(PartsTable_8022348C)), - .partsData = N(PartsTable_8022348C), + .partCount = ARRAY_COUNT( N(ParakarryParts)), + .partsData = N(ParakarryParts), .initScript = &N(init_Parakarry), .statusTable = N(StatusTable_802233E0), .escapeChance = 100, @@ -2039,9 +2051,9 @@ ActorBlueprint N(parakarry) = { .powerBounceChance = 90, .coinReward = 0, .size = { 38, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; extern EvtScript N(takeTurn_80224304); @@ -2111,7 +2123,7 @@ EvtScript N(handleEvent_80223584) = { EVT_EXEC_WAIT(N(8021E5DC)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) EVT_CASE_EQ(38) EVT_EXEC_WAIT(N(8021E0E0)) @@ -2156,7 +2168,7 @@ EvtScript N(handleEvent_80223584) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(22) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, 0x80000) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_ELSE @@ -2182,30 +2194,30 @@ EvtScript N(80223B74) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Still) EVT_WAIT(3) EVT_CALL(UseBattleCamPresetImmediately, BTL_CAM_PRESET_01) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2004) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_FlyFast) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 10, 0) EVT_CALL(FlyToGoal, ACTOR_SELF, 5, 0, EASING_LINEAR) EVT_WAIT(2) EVT_THREAD EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_PreDive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_PreDive) EVT_END_THREAD EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 15, 0) EVT_CALL(FlyToGoal, ACTOR_SELF, 20, -20, EASING_QUARTIC_OUT) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2005) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 5, 0, EASING_LINEAR) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -2214,7 +2226,7 @@ EvtScript N(80223B74) = { EVT_SET(LVarA, LVar0) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Idle) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -40, 10, 0) @@ -2229,7 +2241,7 @@ EvtScript N(80223B74) = { EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -2237,7 +2249,7 @@ EvtScript N(80223B74) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_PostDive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_PostDive) EVT_WAIT(1) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar9) EVT_SWITCH(LVar9) @@ -2256,23 +2268,23 @@ EvtScript N(80223B74) = { EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Dive) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.4)) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, FALSE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Still) EVT_THREAD EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Run) EVT_END_THREAD EVT_CALL(AddGoalPos, ACTOR_SELF, 30, 0, 0) EVT_CALL(JumpWithBounce, ACTOR_SELF, 10, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Idle) EVT_WAIT(6) EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -2308,56 +2320,56 @@ EvtScript N(nextTurn_80224320) = { }; Formation N(formation_parakarry) = { - { .actor = &N(parakarry), .home = { .vec = &N(vector3D_8021E940) }} + ACTOR_BY_POS(N(parakarry), N(vector3D_8021E940), 0) }; s32 N(IdleAnimations_80224410)[] = { - STATUS_NORMAL, ANIM_BattleBow_Idle, - STATUS_STONE, ANIM_BattleBow_Still, - STATUS_SLEEP, ANIM_BattleBow_Still, - STATUS_POISON, ANIM_BattleBow_Idle, - STATUS_STOP, ANIM_BattleBow_Still, - STATUS_STATIC, ANIM_BattleBow_Idle, - STATUS_PARALYZE, ANIM_BattleBow_Still, - STATUS_DIZZY, ANIM_BattleBow_Injured, - STATUS_FEAR, ANIM_BattleBow_Injured, + STATUS_KEY_NORMAL, ANIM_BattleBow_Idle, + STATUS_KEY_STONE, ANIM_BattleBow_Still, + STATUS_KEY_SLEEP, ANIM_BattleBow_Still, + STATUS_KEY_POISON, ANIM_BattleBow_Idle, + STATUS_KEY_STOP, ANIM_BattleBow_Still, + STATUS_KEY_STATIC, ANIM_BattleBow_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleBow_Still, + STATUS_KEY_DIZZY, ANIM_BattleBow_Injured, + STATUS_KEY_FEAR, ANIM_BattleBow_Injured, STATUS_END, }; s32 N(DefenseTable_8022445C)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80224468)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80224514)[] = { +ActorPartBlueprint N(BowParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -2369,7 +2381,7 @@ ActorPartBlueprint N(PartsTable_80224514)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -26 }, .opacity = 255, @@ -2388,8 +2400,8 @@ ActorBlueprint N(bow) = { .type = ACTOR_TYPE_LEE_BOW, .level = 0, .maxHP = 20, - .partCount = ARRAY_COUNT( N(PartsTable_80224514)), - .partsData = N(PartsTable_80224514), + .partCount = ARRAY_COUNT( N(BowParts)), + .partsData = N(BowParts), .initScript = &N(init_Bow), .statusTable = N(StatusTable_80224468), .escapeChance = 100, @@ -2401,9 +2413,9 @@ ActorBlueprint N(bow) = { .powerBounceChance = 90, .coinReward = 0, .size = { 36, 29 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; extern EvtScript N(takeTurn_80224CA0); @@ -2476,7 +2488,7 @@ EvtScript N(handleEvent_8022460C) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -2484,16 +2496,16 @@ EvtScript N(handleEvent_8022460C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 60) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CASE_EQ(38) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_EXEC_WAIT(N(8021E0E0)) @@ -2557,7 +2569,7 @@ EvtScript N(takeTurn_80224CA0) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -2566,7 +2578,7 @@ EvtScript N(takeTurn_80224CA0) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Run) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, 0x80000) EVT_CALL(AddGoalPos, ACTOR_SELF, 4, -4, 0) @@ -2574,7 +2586,7 @@ EvtScript N(takeTurn_80224CA0) = { EVT_CALL(AddGoalPos, ACTOR_SELF, 10, -10, 0) EVT_END_IF EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_END_THREAD EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_15) @@ -2583,11 +2595,11 @@ EvtScript N(takeTurn_80224CA0) = { EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_PreSlap) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_PreSlap) EVT_WAIT(10) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(15) @@ -2597,10 +2609,10 @@ EvtScript N(takeTurn_80224CA0) = { EVT_CASE_OR_EQ(5) EVT_SET(LVarA, LVar0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_SlapOnce) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_SlapOnce) EVT_WAIT(2) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_SET(LVar0, 0) EVT_LOOP(20) EVT_ADD(LVar0, -45) @@ -2611,18 +2623,18 @@ EvtScript N(takeTurn_80224CA0) = { EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Injured) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SEEING_STARS) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Injured) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SEEING_STARS) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_WAIT(10) EVT_CALL(YieldTurn) EVT_THREAD EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -2630,16 +2642,16 @@ EvtScript N(takeTurn_80224CA0) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 60) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -2659,9 +2671,9 @@ EvtScript N(takeTurn_80224CA0) = { EVT_LOOP(LVar7) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2019) EVT_ADD(LVarA, 1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_SlapOnce) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_SlapOnce) EVT_SET(LocalFlag(0), 1) EVT_IF_EQ(LVarA, LVar8) EVT_CALL(SetDamageSource, DMG_SRC_LAST_SLAP_LEFT) @@ -2669,7 +2681,7 @@ EvtScript N(takeTurn_80224CA0) = { EVT_CALL(SetDamageSource, DMG_SRC_NEXT_SLAP_LEFT) EVT_END_IF EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_SlapBack) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_SlapBack) EVT_SET(LocalFlag(0), 0) EVT_IF_EQ(LVarA, LVar8) EVT_CALL(SetDamageSource, DMG_SRC_LAST_SLAP_RIGHT) @@ -2678,7 +2690,7 @@ EvtScript N(takeTurn_80224CA0) = { EVT_END_IF EVT_END_IF EVT_WAIT(2) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.5)) @@ -2698,7 +2710,7 @@ EvtScript N(takeTurn_80224CA0) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_10) EVT_END_SWITCH EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_CALL(GetActorHP, ACTOR_PLAYER, LVar1) EVT_IF_EQ(LVar1, 0) EVT_BREAK_LOOP @@ -2713,7 +2725,7 @@ EvtScript N(takeTurn_80224CA0) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -2721,16 +2733,16 @@ EvtScript N(takeTurn_80224CA0) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -2759,57 +2771,57 @@ EvtScript N(nextTurn_80225884) = { }; Formation N(formation_bow) = { - { .actor = &N(bow), .home = { .vec = &N(vector3D_8021E940) }} + ACTOR_BY_POS(N(bow), N(vector3D_8021E940), 0) }; s32 N(IdleAnimations_80225974)[] = { - STATUS_NORMAL, ANIM_BattleWatt_Idle, - STATUS_STONE, ANIM_BattleWatt_Still, - STATUS_SLEEP, ANIM_BattleWatt_Still, - STATUS_POISON, ANIM_BattleWatt_Idle, - STATUS_STOP, ANIM_BattleWatt_Still, - STATUS_STATIC, ANIM_BattleWatt_Idle, - STATUS_PARALYZE, ANIM_BattleWatt_Still, - STATUS_DIZZY, ANIM_BattleWatt_Injured, - STATUS_FEAR, ANIM_BattleWatt_Injured, + STATUS_KEY_NORMAL, ANIM_BattleWatt_Idle, + STATUS_KEY_STONE, ANIM_BattleWatt_Still, + STATUS_KEY_SLEEP, ANIM_BattleWatt_Still, + STATUS_KEY_POISON, ANIM_BattleWatt_Idle, + STATUS_KEY_STOP, ANIM_BattleWatt_Still, + STATUS_KEY_STATIC, ANIM_BattleWatt_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleWatt_Still, + STATUS_KEY_DIZZY, ANIM_BattleWatt_Injured, + STATUS_KEY_FEAR, ANIM_BattleWatt_Injured, STATUS_END, }; s32 N(DefenseTable_802259C0)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 99, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 99, ELEMENT_END, }; s32 N(StatusTable_802259D4)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80225A80)[] = { +ActorPartBlueprint N(WattParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -1, 20 }, .opacity = 255, @@ -2821,7 +2833,7 @@ ActorPartBlueprint N(PartsTable_80225A80)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 50, 0 }, .targetOffset = { -1, -30 }, .opacity = 255, @@ -2840,8 +2852,8 @@ ActorBlueprint N(watt) = { .type = ACTOR_TYPE_LEE_WATT, .level = 0, .maxHP = 20, - .partCount = ARRAY_COUNT( N(PartsTable_80225A80)), - .partsData = N(PartsTable_80225A80), + .partCount = ARRAY_COUNT( N(WattParts)), + .partsData = N(WattParts), .initScript = &N(init_Watt), .statusTable = N(StatusTable_802259D4), .escapeChance = 100, @@ -2853,9 +2865,9 @@ ActorBlueprint N(watt) = { .powerBounceChance = 90, .coinReward = 0, .size = { 34, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; extern EvtScript N(takeTurn_80226004); @@ -2886,28 +2898,28 @@ API_CALLABLE(func_80219188_465618) { wattEffectData->angle = 0; wattEffectData->unk_0C = TRUE; wattEffectData->unk_10 = 0; - wattEffectData->effect1 = fx_static_status(0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z, (actor->debuff != STATUS_SHRINK) ? 1.0f : 0.4f, 5, 0); - wattEffectData->effect2 = fx_static_status(1, actor->currentPos.x, NPC_DISPOSE_POS_Y, actor->currentPos.z, (actor->debuff != STATUS_SHRINK) ? 1.0f : 0.4f, 5, 0); + wattEffectData->effect1 = fx_static_status(0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z, (actor->debuff != STATUS_KEY_SHRINK) ? 1.0f : 0.4f, 5, 0); + wattEffectData->effect2 = fx_static_status(1, actor->currentPos.x, NPC_DISPOSE_POS_Y, actor->currentPos.z, (actor->debuff != STATUS_KEY_SHRINK) ? 1.0f : 0.4f, 5, 0); wattEffectData->flags = TRUE; wattEffectData->debuff = actor->debuff; } wattEffectData = state->varTablePtr[3]; if (wattEffectData->flags) { - if (wattEffectData->unk_04 && actor->debuff != STATUS_STOP) { + if (wattEffectData->unk_04 && actor->debuff != STATUS_KEY_STOP) { wattEffectData->angle += 15; wattEffectData->angle = clamp_angle(wattEffectData->angle); } actor->verticalRenderOffset = sin_rad(DEG_TO_RAD(wattEffectData->angle)) * 3.0f; x = actor->currentPos.x + actor->headOffset.x; - y = actor->currentPos.y + actor->headOffset.y + actor->verticalRenderOffset + (actor->debuff != STATUS_SHRINK ? 12.0 : 4.800000000000001); // 4.8 doesn't match + y = actor->currentPos.y + actor->headOffset.y + actor->verticalRenderOffset + (actor->debuff != STATUS_KEY_SHRINK ? 12.0 : 4.800000000000001); // 4.8 doesn't match z = actor->currentPos.z + actor->headOffset.z; if (wattEffectData->unk_0C) { switch (wattEffectData->unk_10) { case 0: if (wattEffectData->effect1 == NULL) { - wattEffectData->effect1 = fx_static_status(0, x, y, z, (actor->debuff != STATUS_SHRINK) ? 1.0f : 0.4f, 5, 0); + wattEffectData->effect1 = fx_static_status(0, x, y, z, (actor->debuff != STATUS_KEY_SHRINK) ? 1.0f : 0.4f, 5, 0); } if (wattEffectData->effect2 != NULL) { @@ -2924,7 +2936,7 @@ API_CALLABLE(func_80219188_465618) { wattEffectData->effect1 = NULL; } if (wattEffectData->effect2 == NULL) { - wattEffectData->effect2 = fx_static_status(1, x, y, z, (actor->debuff != STATUS_SHRINK) ? 1.0f : 0.4f, 5, 0); + wattEffectData->effect2 = fx_static_status(1, x, y, z, (actor->debuff != STATUS_KEY_SHRINK) ? 1.0f : 0.4f, 5, 0); } wattEffectData->effect2->data.staticStatus->pos.x = x; @@ -3108,17 +3120,17 @@ EvtScript N(takeTurn_80226004) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Run) EVT_CALL(func_802196F0_465B80, 1) EVT_CALL(AddGoalPos, ACTOR_SELF, 15, -10, 5) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) EVT_CALL(func_802196F0_465B80, 0) EVT_WAIT(5) EVT_CALL(func_80219658_465AE8, 0) EVT_CALL(AddGoalPos, ACTOR_SELF, 25, 20, 0) EVT_CALL(FlyToGoal, ACTOR_SELF, 15, -20, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Strain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Strain) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 5, 0, EASING_COS_IN_OUT) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -3128,7 +3140,7 @@ EvtScript N(takeTurn_80226004) = { EVT_SET(LVarA, LVar0) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -40, 10, 0) @@ -3142,9 +3154,9 @@ EvtScript N(takeTurn_80226004) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP @@ -3167,7 +3179,7 @@ EvtScript N(takeTurn_80226004) = { EVT_END_IF EVT_CALL(N(UnkBackgroundFunc3)) EVT_SET(LVar9, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_StrainBigger) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_StrainBigger) EVT_LOOP(LVarA) EVT_ADD(LVar9, 3) EVT_IF_GT(LVar9, 200) @@ -3176,8 +3188,8 @@ EvtScript N(takeTurn_80226004) = { EVT_CALL(N(SetBackgroundAlpha), LVar9) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Idle) - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 9) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_IDLE) EVT_CALL(AddBattleCamZoom, 75) EVT_CALL(MoveBattleCamOver, 5) EVT_THREAD @@ -3207,9 +3219,9 @@ EvtScript N(takeTurn_80226004) = { EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -3238,56 +3250,56 @@ EvtScript N(nextTurn_80226880) = { }; Formation N(formation_watt) = { - { .actor = &N(watt), .home = { .vec = &N(vector3D_8021E940) }} + ACTOR_BY_POS(N(watt), N(vector3D_8021E940), 0) }; s32 N(IdleAnimations_8022697C)[] = { - STATUS_NORMAL, ANIM_BattleSushie_Idle, - STATUS_STONE, ANIM_BattleSushie_Still, - STATUS_SLEEP, ANIM_BattleSushie_Still, - STATUS_POISON, ANIM_BattleSushie_Idle, - STATUS_STOP, ANIM_BattleSushie_Still, - STATUS_STATIC, ANIM_BattleSushie_Idle, - STATUS_PARALYZE, ANIM_BattleSushie_Still, - STATUS_DIZZY, ANIM_BattleSushie_Injured, - STATUS_FEAR, ANIM_BattleSushie_Injured, + STATUS_KEY_NORMAL, ANIM_BattleSushie_Idle, + STATUS_KEY_STONE, ANIM_BattleSushie_Still, + STATUS_KEY_SLEEP, ANIM_BattleSushie_Still, + STATUS_KEY_POISON, ANIM_BattleSushie_Idle, + STATUS_KEY_STOP, ANIM_BattleSushie_Still, + STATUS_KEY_STATIC, ANIM_BattleSushie_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleSushie_Still, + STATUS_KEY_DIZZY, ANIM_BattleSushie_Injured, + STATUS_KEY_FEAR, ANIM_BattleSushie_Injured, STATUS_END, }; s32 N(DefenseTable_802269C8)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_802269D4)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80226A80)[] = { +ActorPartBlueprint N(SushieParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -3306,8 +3318,8 @@ ActorBlueprint N(sushie) = { .type = ACTOR_TYPE_LEE_SUSHIE, .level = 0, .maxHP = 20, - .partCount = ARRAY_COUNT( N(PartsTable_80226A80)), - .partsData = N(PartsTable_80226A80), + .partCount = ARRAY_COUNT( N(SushieParts)), + .partsData = N(SushieParts), .initScript = &N(init_Sushie), .statusTable = N(StatusTable_802269D4), .escapeChance = 100, @@ -3319,9 +3331,9 @@ ActorBlueprint N(sushie) = { .powerBounceChance = 90, .coinReward = 0, .size = { 37, 26 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; extern EvtScript N(takeTurn_802270BC); @@ -3389,7 +3401,7 @@ EvtScript N(handleEvent_80226B54) = { EVT_SET_CONST(LVar1, ANIM_BattleSushie_Hurt) EVT_SET(LVar2, 20) EVT_EXEC_WAIT(N(8021E5DC)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -3465,18 +3477,18 @@ EvtScript N(takeTurn_802270BC) = { EVT_MUL(LVarA, -1) EVT_END_IF EVT_CALL(MoveBattleCamOver, LVarA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Run) EVT_CALL(RunToGoal, ACTOR_SELF, LVarA, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Idle) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_08) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(AddBattleCamZoom, -50) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_1, BTL_CAM_MODEX_1, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Tense1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Tense1) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Tense2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Tense2) EVT_WAIT(15) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -3485,7 +3497,7 @@ EvtScript N(takeTurn_802270BC) = { EVT_SET(LVarA, LVar0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Jump) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_SET(LVar0, 0) @@ -3501,53 +3513,53 @@ EvtScript N(takeTurn_802270BC) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CASE_EQ(1) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.05), EVT_FLOAT(1.05), EVT_FLOAT(1.05)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.05), EVT_FLOAT(1.05), EVT_FLOAT(1.05)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.15), EVT_FLOAT(1.15), EVT_FLOAT(1.15)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.15), EVT_FLOAT(1.15), EVT_FLOAT(1.15)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.25), EVT_FLOAT(1.25), EVT_FLOAT(1.25)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.25), EVT_FLOAT(1.25), EVT_FLOAT(1.25)) EVT_CASE_EQ(2) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.4)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.5), EVT_FLOAT(1.5), EVT_FLOAT(1.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.5), EVT_FLOAT(1.5), EVT_FLOAT(1.5)) EVT_END_SWITCH EVT_END_THREAD EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2034) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Jump) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Fall) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Land) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Land) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(LandJump, ACTOR_SELF) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_29A) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -3564,7 +3576,7 @@ EvtScript N(takeTurn_802270BC) = { EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -3575,7 +3587,7 @@ EvtScript N(takeTurn_802270BC) = { EVT_END_SWITCH EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Jump) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_SET(LVar0, 0) @@ -3591,55 +3603,55 @@ EvtScript N(takeTurn_802270BC) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) EVT_CASE_EQ(1) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.15), EVT_FLOAT(1.15), EVT_FLOAT(1.15)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.15), EVT_FLOAT(1.15), EVT_FLOAT(1.15)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.35), EVT_FLOAT(1.35), EVT_FLOAT(1.35)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.35), EVT_FLOAT(1.35), EVT_FLOAT(1.35)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.4)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.55), EVT_FLOAT(1.55), EVT_FLOAT(1.55)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.55), EVT_FLOAT(1.55), EVT_FLOAT(1.55)) EVT_CASE_EQ(2) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.5), EVT_FLOAT(1.5), EVT_FLOAT(1.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.5), EVT_FLOAT(1.5), EVT_FLOAT(1.5)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.6), EVT_FLOAT(1.6), EVT_FLOAT(1.6)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.6), EVT_FLOAT(1.6), EVT_FLOAT(1.6)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.8), EVT_FLOAT(1.8), EVT_FLOAT(1.8)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.8), EVT_FLOAT(1.8), EVT_FLOAT(1.8)) EVT_END_SWITCH EVT_END_THREAD EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2034) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Jump) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Fall) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Land) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Land) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_THREAD EVT_WAIT(3) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVarA) EVT_SWITCH(LVarA) @@ -3656,7 +3668,7 @@ EvtScript N(takeTurn_802270BC) = { EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Fall) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 60) EVT_SET(LVar1, 0) @@ -3676,11 +3688,11 @@ EvtScript N(takeTurn_802270BC) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_29A) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Idle) EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -3712,61 +3724,61 @@ EvtScript N(nextTurn_8022831C) = { }; Formation N(formation_sushie) = { - { .actor = &N(sushie), .home = { .vec = &N(vector3D_8021E940) }} + ACTOR_BY_POS(N(sushie), N(vector3D_8021E940), 0) }; s32 N(IdleAnimations_8022840C)[] = { - STATUS_NORMAL, ANIM_BattleLakilester_Idle, - STATUS_STONE, ANIM_BattleLakilester_Still, - STATUS_SLEEP, ANIM_BattleLakilester_Still, - STATUS_POISON, ANIM_BattleLakilester_Idle, - STATUS_STOP, ANIM_BattleLakilester_Still, - STATUS_STATIC, ANIM_BattleLakilester_Idle, - STATUS_PARALYZE, ANIM_BattleLakilester_Still, - STATUS_DIZZY, ANIM_BattleLakilester_Injured, - STATUS_FEAR, ANIM_BattleLakilester_Idle, + STATUS_KEY_NORMAL, ANIM_BattleLakilester_Idle, + STATUS_KEY_STONE, ANIM_BattleLakilester_Still, + STATUS_KEY_SLEEP, ANIM_BattleLakilester_Still, + STATUS_KEY_POISON, ANIM_BattleLakilester_Idle, + STATUS_KEY_STOP, ANIM_BattleLakilester_Still, + STATUS_KEY_STATIC, ANIM_BattleLakilester_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleLakilester_Still, + STATUS_KEY_DIZZY, ANIM_BattleLakilester_Injured, + STATUS_KEY_FEAR, ANIM_BattleLakilester_Idle, STATUS_END, }; s32 N(IdleAnimations_80228458)[] = { - STATUS_NORMAL, ANIM_BattleLakilester_Spiny, + STATUS_KEY_NORMAL, ANIM_BattleLakilester_Spiny, STATUS_END, }; s32 N(DefenseTable_80228464)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80228470)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022851C)[] = { +ActorPartBlueprint N(LakilesterParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -3, 33 }, .opacity = 255, @@ -3778,7 +3790,7 @@ ActorPartBlueprint N(PartsTable_8022851C)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -3797,8 +3809,8 @@ ActorBlueprint N(lakilester) = { .type = ACTOR_TYPE_LEE_LAKILESTER, .level = 0, .maxHP = 20, - .partCount = ARRAY_COUNT( N(PartsTable_8022851C)), - .partsData = N(PartsTable_8022851C), + .partCount = ARRAY_COUNT( N(LakilesterParts)), + .partsData = N(LakilesterParts), .initScript = &N(init_Lakilester), .statusTable = N(StatusTable_80228470), .escapeChance = 100, @@ -3810,9 +3822,9 @@ ActorBlueprint N(lakilester) = { .powerBounceChance = 90, .coinReward = 0, .size = { 44, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; extern EvtScript N(takeTurn_80228B78); @@ -3882,7 +3894,7 @@ EvtScript N(handleEvent_80228614) = { EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_CASE_EQ(38) @@ -3945,29 +3957,29 @@ EvtScript N(takeTurn_80228B78) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, 20, 30, LVar2) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Idle) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, 0x80000) EVT_ADD(LVar0, -1) EVT_ADD(LVar1, 4) EVT_ADD(LVar2, 2) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE EVT_ADD(LVar0, -3) EVT_ADD(LVar1, 10) EVT_ADD(LVar2, 5) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_BattleLakilester_Spiny) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_LiftSpiny) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_BattleLakilester_Spiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_LiftSpiny) EVT_LOOP(4) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, 0x80000) @@ -3975,7 +3987,7 @@ EvtScript N(takeTurn_80228B78) = { EVT_ELSE EVT_ADD(LVar1, 6) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -3996,41 +4008,41 @@ EvtScript N(takeTurn_80228B78) = { EVT_THREAD EVT_LOOP(15) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, 1, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_3, 1, 0, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, -1, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, -1, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_3, -1, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, 0, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_3, 0, 0, 0) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_HoldSpiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_HoldSpiny) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_StrainHoldSpiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_StrainHoldSpiny) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_ThrowSpiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_ThrowSpiny) EVT_WAIT(3) - EVT_CALL(SetPartSounds, ACTOR_SELF, 3, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_3, ACTOR_SOUND_JUMP, 0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_201B) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) EVT_CASE_OR_EQ(5) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_BattleLakilester_SpinySpin) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(1.5)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_BattleLakilester_SpinySpin) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(1.5)) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RandInt, 100, LVar3) EVT_SUB(LVar3, 50) EVT_ADD(LVar0, LVar3) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, 0, LVar2, 20, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_3, LVar0, 0, LVar2, 20, TRUE) EVT_THREAD EVT_ADD(LVar0, -50) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, 0, LVar2, 15, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_3, LVar0, 0, LVar2, 15, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, TRUE) EVT_END_THREAD EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -4039,7 +4051,7 @@ EvtScript N(takeTurn_80228B78) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -4047,15 +4059,15 @@ EvtScript N(takeTurn_80228B78) = { EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_BattleLakilester_SpinySpin) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(1.5)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_BattleLakilester_SpinySpin) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(1.5)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 20, TRUE) EVT_THREAD EVT_ADD(LVar0, -50) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, 0, LVar2, 15, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 1, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_3, LVar0, 0, LVar2, 15, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 1, TRUE) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar9) EVT_SWITCH(LVar9) @@ -4076,7 +4088,7 @@ EvtScript N(takeTurn_80228B78) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_END_CASE_GROUP @@ -4107,7 +4119,7 @@ EvtScript N(nextTurn_80229658) = { }; Formation N(formation_lakilester) = { - { .actor = &N(lakilester), .home = { .vec = &N(vector3D_8021E940) }} + ACTOR_BY_POS(N(lakilester), N(vector3D_8021E940), 0) }; API_CALLABLE(func_802197B8_465C48) { @@ -4161,10 +4173,10 @@ EvtScript N(copyPartner) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 15) EVT_WAIT(15) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0027, ACTOR_SELF, 1, 0x00A40006, 0x00A40003) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0027, ACTOR_SELF, PRT_MAIN, 0x00A40006, 0x00A40003) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Lee_RaisedArmsTalk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Lee_RaisedArmsTalk) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, 0x80000) @@ -4221,8 +4233,8 @@ EvtScript N(copyPartner) = { EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, LVarA, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 0x00020001, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, 0x00800000, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 0x00020001, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, 0x00800000, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, (ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_DMG_APPLY), TRUE) EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) EVT_CALL(SetEnemyHP, LVarA, LVar0) @@ -4308,9 +4320,9 @@ EvtScript N(nextTurn_8022A038) = { EVT_CALL(MoveBattleCamOver, 10) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0028, ACTOR_ENEMY1, 1, 0x00A40006, 0x00A40003) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0028, ACTOR_ENEMY1, PRT_MAIN, 0x00A40006, 0x00A40003) EVT_ELSE - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0028, ACTOR_SELF, 1, 0x00A40006, 0x00A40003) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0028, ACTOR_SELF, PRT_MAIN, 0x00A40006, 0x00A40003) EVT_END_IF EVT_BREAK_SWITCH EVT_END_IF @@ -4318,7 +4330,7 @@ EvtScript N(nextTurn_8022A038) = { EVT_IF_LE(LVar0, 5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0029, ACTOR_SELF, 1, 0x00A40006, 0x00A40003) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0029, ACTOR_SELF, PRT_MAIN, 0x00A40006, 0x00A40003) EVT_BREAK_SWITCH EVT_END_IF EVT_END_SWITCH diff --git a/src/battle/area/mac/actor/master1.c b/src/battle/area/mac/actor/master1.c index d6d572084b..630b658ed1 100644 --- a/src/battle/area/mac/actor/master1.c +++ b/src/battle/area/mac/actor/master1.c @@ -5,53 +5,63 @@ #define NAMESPACE b_area_mac_master1 +extern EvtScript N(init_8022A3B0); +extern EvtScript N(takeTurn_8022AA54); +extern EvtScript N(idle_8022A494); +extern EvtScript N(handleEvent_8022B2CC); +extern EvtScript N(nextTurn_8022B06C); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_8022A260)[] = { - STATUS_NORMAL, ANIM_TheMaster_Walk, - STATUS_STONE, ANIM_TheMaster_Still, - STATUS_SLEEP, ANIM_TheMaster_Sleep, - STATUS_POISON, ANIM_TheMaster_Still, - STATUS_STOP, ANIM_TheMaster_Still, - STATUS_STATIC, ANIM_TheMaster_Still, - STATUS_PARALYZE, ANIM_TheMaster_Still, - STATUS_DIZZY, ANIM_TheMaster_Dizzy, - STATUS_DIZZY, ANIM_TheMaster_Dizzy, + STATUS_KEY_NORMAL, ANIM_TheMaster_Walk, + STATUS_KEY_STONE, ANIM_TheMaster_Still, + STATUS_KEY_SLEEP, ANIM_TheMaster_Sleep, + STATUS_KEY_POISON, ANIM_TheMaster_Still, + STATUS_KEY_STOP, ANIM_TheMaster_Still, + STATUS_KEY_STATIC, ANIM_TheMaster_Still, + STATUS_KEY_PARALYZE, ANIM_TheMaster_Still, + STATUS_KEY_DIZZY, ANIM_TheMaster_Dizzy, + STATUS_KEY_DIZZY, ANIM_TheMaster_Dizzy, STATUS_END, }; s32 N(DefenseTable_8022A2AC)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8022A2B8)[] = { - STATUS_NORMAL, 50, - STATUS_DEFAULT, 50, - STATUS_SLEEP, 40, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 40, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 60, - STATUS_STOP, 70, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, -1, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 50, + STATUS_KEY_DEFAULT, 50, + STATUS_KEY_SLEEP, 40, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 40, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 60, + STATUS_KEY_STOP, 70, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, -1, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022A364)[] = { +ActorPartBlueprint N(ActorParts_8022A364)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 28 }, .opacity = 255, @@ -63,15 +73,13 @@ ActorPartBlueprint N(PartsTable_8022A364)[] = { }, }; -extern EvtScript N(init_8022A3B0); - ActorBlueprint NAMESPACE = { .flags = 0, .type = ACTOR_TYPE_THE_MASTER_1, .level = 0, .maxHP = 50, - .partCount = ARRAY_COUNT( N(PartsTable_8022A364)), - .partsData = N(PartsTable_8022A364), + .partCount = ARRAY_COUNT( N(ActorParts_8022A364)), + .partsData = N(ActorParts_8022A364), .initScript = &N(init_8022A3B0), .statusTable = N(StatusTable_8022A2B8), .escapeChance = 100, @@ -83,15 +91,12 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 35 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 30 }, - .statusMessageOffset = { 10, 30 }, + .statusTextOffset = { 10, 30 }, }; -extern EvtScript N(takeTurn_8022AA54); -extern EvtScript N(idle_8022A494); -extern EvtScript N(handleEvent_8022B2CC); -extern EvtScript N(nextTurn_8022B06C); + EvtScript N(init_8022A3B0) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8022AA54))) @@ -150,14 +155,14 @@ EvtScript N(8022A4A4) = { EVT_SET_CONST(LVar1, ANIM_TheMaster_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Walk) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_OR_EQ(23) @@ -222,24 +227,24 @@ EvtScript N(takeTurn_8022AA54) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 30, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.6)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Idle) EVT_WAIT(10) EVT_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BB) EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BB) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_WindupLoop) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_WindupLoop) EVT_WAIT(10) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_WindupStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_WindupStill) EVT_WAIT(7) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_DownwardStrike) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_DownwardStrike) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 8, TRUE) @@ -253,20 +258,20 @@ EvtScript N(takeTurn_8022AA54) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) EVT_SET(LVar1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Run) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 10, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Idle) EVT_WAIT(3) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Idle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -283,20 +288,20 @@ EvtScript N(takeTurn_8022AA54) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) EVT_SET(LVar1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Run) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 10, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Idle) EVT_WAIT(20) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Idle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -313,7 +318,7 @@ EvtScript N(nextTurn_8022B06C) = { EVT_IF_EQ(LVar0, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_002E, ACTOR_SELF, 1, 0x00A20009, 0x00A20005) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_002E, ACTOR_SELF, PRT_MAIN, 0x00A20009, 0x00A20005) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_END_IF EVT_CASE_EQ(12) @@ -327,14 +332,14 @@ EvtScript N(nextTurn_8022B06C) = { EVT_IF_LE(LVar0, LVar1) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0031, ACTOR_SELF, 1, 0x00A20009, 0x00A20005) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0031, ACTOR_SELF, PRT_MAIN, 0x00A20009, 0x00A20005) EVT_BREAK_SWITCH EVT_END_IF EVT_CALL(GetPlayerHP, LVar0) EVT_IF_LE(LVar0, 5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0032, ACTOR_SELF, 1, 0x00A20009, 0x00A20005) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0032, ACTOR_SELF, PRT_MAIN, 0x00A20009, 0x00A20005) EVT_BREAK_SWITCH EVT_END_IF EVT_END_SWITCH @@ -389,13 +394,13 @@ EvtScript N(handleEvent_8022B2CC) = { EVT_IF_GT(LVarB, 2) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0030, ACTOR_SELF, 1, 0x00A20009, 0x00A20005) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0030, ACTOR_SELF, PRT_MAIN, 0x00A20009, 0x00A20005) EVT_CALL(SetActorVar, ACTOR_SELF, 3, 0) EVT_END_IF EVT_ELSE EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_002F, ACTOR_SELF, 1, 0x00A20009, 0x00A20005) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_002F, ACTOR_SELF, PRT_MAIN, 0x00A20009, 0x00A20005) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) diff --git a/src/battle/area/mac/actor/master2.c b/src/battle/area/mac/actor/master2.c index a6ae9be40c..33741a3bf9 100644 --- a/src/battle/area/mac/actor/master2.c +++ b/src/battle/area/mac/actor/master2.c @@ -5,66 +5,70 @@ #define NAMESPACE b_area_mac_master2 +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_8022B640)[] = { - STATUS_NORMAL, ANIM_TheMaster_Walk, - STATUS_STONE, ANIM_TheMaster_Still, - STATUS_SLEEP, ANIM_TheMaster_Sleep, - STATUS_POISON, ANIM_TheMaster_Still, - STATUS_STOP, ANIM_TheMaster_Still, - STATUS_STATIC, ANIM_TheMaster_Still, - STATUS_PARALYZE, ANIM_TheMaster_Still, - STATUS_DIZZY, ANIM_TheMaster_Dizzy, - STATUS_DIZZY, ANIM_TheMaster_Dizzy, + STATUS_KEY_NORMAL, ANIM_TheMaster_Walk, + STATUS_KEY_STONE, ANIM_TheMaster_Still, + STATUS_KEY_SLEEP, ANIM_TheMaster_Sleep, + STATUS_KEY_POISON, ANIM_TheMaster_Still, + STATUS_KEY_STOP, ANIM_TheMaster_Still, + STATUS_KEY_STATIC, ANIM_TheMaster_Still, + STATUS_KEY_PARALYZE, ANIM_TheMaster_Still, + STATUS_KEY_DIZZY, ANIM_TheMaster_Dizzy, + STATUS_KEY_DIZZY, ANIM_TheMaster_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8022B68C)[] = { - STATUS_NORMAL, ANIM_TheMaster_AscendedWalk, - STATUS_STONE, ANIM_TheMaster_AscendedStill, - STATUS_SLEEP, ANIM_TheMaster_AscendedSleep, - STATUS_POISON, ANIM_TheMaster_AscendedStill, - STATUS_STOP, ANIM_TheMaster_AscendedStill, - STATUS_STATIC, ANIM_TheMaster_AscendedStill, - STATUS_PARALYZE, ANIM_TheMaster_AscendedStill, - STATUS_DIZZY, ANIM_TheMaster_AscendedDizzy, - STATUS_DIZZY, ANIM_TheMaster_AscendedDizzy, + STATUS_KEY_NORMAL, ANIM_TheMaster_AscendedWalk, + STATUS_KEY_STONE, ANIM_TheMaster_AscendedStill, + STATUS_KEY_SLEEP, ANIM_TheMaster_AscendedSleep, + STATUS_KEY_POISON, ANIM_TheMaster_AscendedStill, + STATUS_KEY_STOP, ANIM_TheMaster_AscendedStill, + STATUS_KEY_STATIC, ANIM_TheMaster_AscendedStill, + STATUS_KEY_PARALYZE, ANIM_TheMaster_AscendedStill, + STATUS_KEY_DIZZY, ANIM_TheMaster_AscendedDizzy, + STATUS_KEY_DIZZY, ANIM_TheMaster_AscendedDizzy, STATUS_END, }; s32 N(DefenseTable_8022B6D8)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8022B6E4)[] = { - STATUS_NORMAL, 50, - STATUS_DEFAULT, 50, - STATUS_SLEEP, 30, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 30, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 30, - STATUS_SHRINK, 40, - STATUS_STOP, 50, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -2, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, -1, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 50, + STATUS_KEY_DEFAULT, 50, + STATUS_KEY_SLEEP, 30, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 30, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 30, + STATUS_KEY_SHRINK, 40, + STATUS_KEY_STOP, 50, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -2, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, -1, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022B790)[] = { +ActorPartBlueprint N(ActorParts_8022B790)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 28 }, .opacity = 255, @@ -77,14 +81,18 @@ ActorPartBlueprint N(PartsTable_8022B790)[] = { }; extern EvtScript N(init_8022B7DC); +extern EvtScript N(takeTurn_8022CF48); +extern EvtScript N(idle_8022B8B0); +extern EvtScript N(handleEvent_8022D634); +extern EvtScript N(nextTurn_8022CFFC); ActorBlueprint NAMESPACE = { .flags = 0, .type = ACTOR_TYPE_THE_MASTER_2, .level = 0, .maxHP = 75, - .partCount = ARRAY_COUNT( N(PartsTable_8022B790)), - .partsData = N(PartsTable_8022B790), + .partCount = ARRAY_COUNT( N(ActorParts_8022B790)), + .partsData = N(ActorParts_8022B790), .initScript = &N(init_8022B7DC), .statusTable = N(StatusTable_8022B6E4), .escapeChance = 100, @@ -96,16 +104,11 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 30, 35 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 30 }, - .statusMessageOffset = { 10, 30 }, + .statusTextOffset = { 10, 30 }, }; -extern EvtScript N(takeTurn_8022CF48); -extern EvtScript N(idle_8022B8B0); -extern EvtScript N(handleEvent_8022D634); -extern EvtScript N(nextTurn_8022CFFC); - EvtScript N(init_8022B7DC) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8022CF48))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8022B8B0))) @@ -132,89 +135,89 @@ EvtScript N(8022B8C0) = { EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(9) EVT_CASE_OR_EQ(10) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedHurt) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_END_CASE_GROUP EVT_CASE_EQ(14) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_BurnHurt) EVT_SET_CONST(LVar2, ANIM_TheMaster_BurnStill) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_CASE_EQ(36) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_BurnHurt) EVT_SET_CONST(LVar2, ANIM_TheMaster_BurnStill) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedDefeated) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(11) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedHurt) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_CASE_EQ(47) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedHurt) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedHurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedWalk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedWalk) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_OR_EQ(23) EVT_CASE_OR_EQ(25) EVT_CASE_OR_EQ(31) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedIdle) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_END_CASE_GROUP EVT_CASE_EQ(38) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedHurt) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedDefeated) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(32) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedHurt) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_WAIT(10) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedDefeated) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(33) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedHurt) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedDefeated) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(53) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedIdle) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(49) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedIdle) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(57) - EVT_SET_CONST(LVar0, 0x00000001) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedRun) EVT_SET_CONST(LVar2, ANIM_TheMaster_AscendedHurt) EVT_EXEC_WAIT(EVS_Enemy_ScareAway) @@ -232,21 +235,21 @@ EvtScript N(singleStrike2) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.8)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BD) EVT_THREAD EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BD) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPunch) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPunch) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedKick) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedKick) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BC) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BB) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 0, BS_FLAGS1_10) @@ -258,18 +261,18 @@ EvtScript N(singleStrike2) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -50, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_WAIT(10) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH @@ -301,29 +304,29 @@ EvtScript N(singleStrike2) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.2)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(3) EVT_ADD(LVar0, 20) EVT_SET(LVar1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3B4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_WAIT(20) EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -337,7 +340,7 @@ EvtScript N(doubleStrike2) = { EVT_CALL(SetBattleCamZoom, 200) EVT_CALL(SetBattleCamOffsetZ, 13) EVT_CALL(MoveBattleCamOver, 60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedDownwardStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedDownwardStance) EVT_WAIT(40) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_07) @@ -354,27 +357,27 @@ EvtScript N(doubleStrike2) = { EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -50, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPalmStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPalmStance) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_WAIT(10) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPalmStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPalmStance) EVT_CALL(RunToGoal, ACTOR_SELF, 5, FALSE) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD @@ -394,7 +397,7 @@ EvtScript N(doubleStrike2) = { EVT_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedUppercut) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedUppercut) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.9)) EVT_CALL(JumpToGoal, ACTOR_SELF, 25, FALSE, TRUE, FALSE) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) @@ -431,29 +434,29 @@ EvtScript N(doubleStrike2) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 30, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(3) EVT_ADD(LVar0, 20) EVT_SET(LVar1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3B4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_WAIT(20) EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -488,25 +491,25 @@ EvtScript N(nextTurn_8022CFFC) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_002E, ACTOR_SELF, 1, 0x00A20009, 0x00A20005) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_002E, ACTOR_SELF, PRT_MAIN, 0x00A20009, 0x00A20005) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Cough) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Cough) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_OpenMouth) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_OpenMouth) EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B8) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_PLAY_EFFECT(EFFECT_GATHER_ENERGY_PINK, 1, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 30, 0) EVT_SET(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Still) EVT_LOOP(15) EVT_ADD(LVar0, 24) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, LVar0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_SET(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Still) EVT_LOOP(5) EVT_ADD(LVar0, 18) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, LVar0, 0) @@ -521,25 +524,25 @@ EvtScript N(nextTurn_8022CFFC) = { EVT_WAIT(3) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Still) EVT_LOOP(5) EVT_ADD(LVar0, 36) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, LVar0, 0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedStill) EVT_LOOP(5) EVT_ADD(LVar0, 18) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, LVar0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(15) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B68C))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B68C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0033, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0033, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_END_IF EVT_CASE_EQ(12) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -552,14 +555,14 @@ EvtScript N(nextTurn_8022CFFC) = { EVT_IF_LE(LVar0, LVar1) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0036, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0036, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_BREAK_SWITCH EVT_END_IF EVT_CALL(GetPlayerHP, LVar0) EVT_IF_LE(LVar0, 5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0037, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0037, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_BREAK_SWITCH EVT_END_IF EVT_END_SWITCH @@ -614,13 +617,13 @@ EvtScript N(handleEvent_8022D634) = { EVT_IF_GT(LVarB, 2) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0035, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0035, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_CALL(SetActorVar, ACTOR_SELF, 3, 0) EVT_END_IF EVT_ELSE EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0034, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0034, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) diff --git a/src/battle/area/mac/actor/master3.c b/src/battle/area/mac/actor/master3.c index 9a679c80de..060fc62bac 100644 --- a/src/battle/area/mac/actor/master3.c +++ b/src/battle/area/mac/actor/master3.c @@ -5,66 +5,77 @@ #define NAMESPACE b_area_mac_master3 +extern EvtScript N(init_8022DB60); +extern EvtScript N(takeTurn_80230B20); +extern EvtScript N(idle_8022DC34); +extern EvtScript N(handleEvent_80231408); +extern EvtScript N(nextTurn_80230D44); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations_8022D9A0)[] = { - STATUS_NORMAL, ANIM_TheMaster_Walk, - STATUS_STONE, ANIM_TheMaster_Still, - STATUS_SLEEP, ANIM_TheMaster_Sleep, - STATUS_POISON, ANIM_TheMaster_Still, - STATUS_STOP, ANIM_TheMaster_Still, - STATUS_STATIC, ANIM_TheMaster_Still, - STATUS_PARALYZE, ANIM_TheMaster_Still, - STATUS_DIZZY, ANIM_TheMaster_Dizzy, - STATUS_DIZZY, ANIM_TheMaster_Dizzy, + STATUS_KEY_NORMAL, ANIM_TheMaster_Walk, + STATUS_KEY_STONE, ANIM_TheMaster_Still, + STATUS_KEY_SLEEP, ANIM_TheMaster_Sleep, + STATUS_KEY_POISON, ANIM_TheMaster_Still, + STATUS_KEY_STOP, ANIM_TheMaster_Still, + STATUS_KEY_STATIC, ANIM_TheMaster_Still, + STATUS_KEY_PARALYZE, ANIM_TheMaster_Still, + STATUS_KEY_DIZZY, ANIM_TheMaster_Dizzy, + STATUS_KEY_DIZZY, ANIM_TheMaster_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8022D9EC)[] = { - STATUS_NORMAL, ANIM_TheMaster_AscendedWalk, - STATUS_STONE, ANIM_TheMaster_AscendedStill, - STATUS_SLEEP, ANIM_TheMaster_AscendedSleep, - STATUS_POISON, ANIM_TheMaster_AscendedStill, - STATUS_STOP, ANIM_TheMaster_AscendedStill, - STATUS_STATIC, ANIM_TheMaster_AscendedStill, - STATUS_PARALYZE, ANIM_TheMaster_AscendedStill, - STATUS_DIZZY, ANIM_TheMaster_AscendedDizzy, - STATUS_DIZZY, ANIM_TheMaster_AscendedDizzy, + STATUS_KEY_NORMAL, ANIM_TheMaster_AscendedWalk, + STATUS_KEY_STONE, ANIM_TheMaster_AscendedStill, + STATUS_KEY_SLEEP, ANIM_TheMaster_AscendedSleep, + STATUS_KEY_POISON, ANIM_TheMaster_AscendedStill, + STATUS_KEY_STOP, ANIM_TheMaster_AscendedStill, + STATUS_KEY_STATIC, ANIM_TheMaster_AscendedStill, + STATUS_KEY_PARALYZE, ANIM_TheMaster_AscendedStill, + STATUS_KEY_DIZZY, ANIM_TheMaster_AscendedDizzy, + STATUS_KEY_DIZZY, ANIM_TheMaster_AscendedDizzy, STATUS_END, }; s32 N(DefenseTable_8022DA38)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable_8022DA44)[] = { - STATUS_NORMAL, 50, - STATUS_DEFAULT, 50, - STATUS_SLEEP, 20, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 20, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 20, - STATUS_SHRINK, 20, - STATUS_STOP, 30, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -2, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -2, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, -2, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 50, + STATUS_KEY_DEFAULT, 50, + STATUS_KEY_SLEEP, 20, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 20, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 20, + STATUS_KEY_SHRINK, 20, + STATUS_KEY_STOP, 30, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -2, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -2, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, -2, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022DAF0)[] = { +ActorPartBlueprint N(ActorParts_8022DAF0)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 28 }, .opacity = 255, @@ -76,7 +87,7 @@ ActorPartBlueprint N(PartsTable_8022DAF0)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -88,15 +99,13 @@ ActorPartBlueprint N(PartsTable_8022DAF0)[] = { }, }; -extern EvtScript N(init_8022DB60); - ActorBlueprint NAMESPACE = { .flags = 0, .type = ACTOR_TYPE_THE_MASTER_3, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT( N(PartsTable_8022DAF0)), - .partsData = N(PartsTable_8022DAF0), + .partCount = ARRAY_COUNT( N(ActorParts_8022DAF0)), + .partsData = N(ActorParts_8022DAF0), .initScript = &N(init_8022DB60), .statusTable = N(StatusTable_8022DA44), .escapeChance = 100, @@ -108,16 +117,11 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 70, .coinReward = 0, .size = { 30, 35 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 30 }, - .statusMessageOffset = { 10, 30 }, + .statusTextOffset = { 10, 30 }, }; -extern EvtScript N(takeTurn_80230B20); -extern EvtScript N(idle_8022DC34); -extern EvtScript N(handleEvent_80231408); -extern EvtScript N(nextTurn_80230D44); - EvtScript N(init_8022DB60) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80230B20))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8022DC34))) @@ -149,16 +153,16 @@ EvtScript N(8022DC44) = { EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_END_CASE_GROUP EVT_CASE_EQ(14) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_TheMaster_BurnHurt) EVT_SET_CONST(LVar2, ANIM_TheMaster_BurnStill) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_GOLDEN_FLAMES) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_GOLDEN_FLAMES) EVT_WAIT(1) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 50, 50, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 50, 50, 0, 0) EVT_CASE_EQ(36) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_TheMaster_BurnHurt) EVT_SET_CONST(LVar2, ANIM_TheMaster_BurnStill) @@ -172,11 +176,11 @@ EvtScript N(8022DC44) = { EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedHurt) EVT_CHILD_THREAD EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_WAIT(10) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_GOLDEN_FLAMES) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_GOLDEN_FLAMES) EVT_WAIT(1) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 50, 50, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 50, 50, 0, 0) EVT_END_CHILD_THREAD EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_CASE_EQ(47) @@ -187,14 +191,14 @@ EvtScript N(8022DC44) = { EVT_SET_CONST(LVar1, ANIM_TheMaster_AscendedHurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedWalk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedWalk) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_OR_EQ(23) @@ -257,21 +261,21 @@ EvtScript N(singleStrike3) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.8)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BD) EVT_THREAD EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BD) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPunch) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPunch) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedKick) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedKick) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BC) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BB) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 0, BS_FLAGS1_10) @@ -283,18 +287,18 @@ EvtScript N(singleStrike3) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -50, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_WAIT(10) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH @@ -326,29 +330,29 @@ EvtScript N(singleStrike3) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.2)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(3) EVT_ADD(LVar0, 20) EVT_SET(LVar1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3B4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_WAIT(20) EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -362,7 +366,7 @@ EvtScript N(doubleStrike3) = { EVT_CALL(SetBattleCamZoom, 200) EVT_CALL(SetBattleCamOffsetZ, 13) EVT_CALL(MoveBattleCamOver, 60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedDownwardStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedDownwardStance) EVT_WAIT(40) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_07) @@ -379,27 +383,27 @@ EvtScript N(doubleStrike3) = { EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -50, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPalmStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPalmStance) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_WAIT(10) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPalmStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPalmStance) EVT_CALL(RunToGoal, ACTOR_SELF, 5, FALSE) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD @@ -419,7 +423,7 @@ EvtScript N(doubleStrike3) = { EVT_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedUppercut) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedUppercut) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.9)) EVT_CALL(JumpToGoal, ACTOR_SELF, 25, FALSE, TRUE, FALSE) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) @@ -456,29 +460,29 @@ EvtScript N(doubleStrike3) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 30, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(3) EVT_ADD(LVar0, 20) EVT_SET(LVar1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3B4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_WAIT(20) EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -492,9 +496,9 @@ EvtScript N(tripleStrike3) = { EVT_CALL(SetBattleCamZoom, 200) EVT_CALL(SetBattleCamOffsetZ, 13) EVT_CALL(MoveBattleCamOver, 60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedDownwardStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedDownwardStance) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_003C, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_003C, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_07) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) @@ -510,27 +514,27 @@ EvtScript N(tripleStrike3) = { EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -50, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPalmStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPalmStance) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_WAIT(10) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPalmStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPalmStance) EVT_CALL(RunToGoal, ACTOR_SELF, 5, FALSE) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD @@ -551,7 +555,7 @@ EvtScript N(tripleStrike3) = { EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedUppercut) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedUppercut) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(JumpToGoal, ACTOR_SELF, 25, FALSE, TRUE, FALSE) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) @@ -583,11 +587,11 @@ EvtScript N(tripleStrike3) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 30, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(3) EVT_ADD(LVar0, 20) @@ -598,12 +602,12 @@ EvtScript N(tripleStrike3) = { EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BD) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPunch) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPunch) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3B4) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedKick) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedKick) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 0, 0) @@ -646,29 +650,29 @@ EvtScript N(tripleStrike3) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 30, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(3) EVT_ADD(LVar0, 20) EVT_SET(LVar1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedMidair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedMidair) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3B4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedLand) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedLand) EVT_WAIT(20) EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -681,21 +685,21 @@ EvtScript N(80230240) = { EVT_CALL(SetBattleCamZoom, 200) EVT_CALL(SetBattleCamOffsetZ, 13) EVT_CALL(MoveBattleCamOver, 60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedDownwardStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedDownwardStance) EVT_WAIT(20) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPalmStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPalmStance) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedDownwardStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedDownwardStance) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPunch) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPunch) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedDownwardStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedDownwardStance) EVT_WAIT(15) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(FlyToGoal, ACTOR_SELF, 90, 0, EASING_COS_IN_OUT) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) @@ -710,12 +714,12 @@ EvtScript N(80230240) = { EVT_SET(LVar0, 80) EVT_LOOP(5) EVT_ADD(LVar0, 20) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 80, LVar0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 80, LVar0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_LOOP(5) EVT_SUB(LVar0, 20) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 80, LVar0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 80, LVar0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(10) @@ -732,36 +736,36 @@ EvtScript N(8023059C) = { EVT_CALL(SetBattleCamZoom, 200) EVT_CALL(SetBattleCamOffsetZ, 13) EVT_CALL(MoveBattleCamOver, 60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedDownwardStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedDownwardStance) EVT_SET(LVar0, 80) EVT_LOOP(30) EVT_ADD(LVar0, 2) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 80, LVar0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 80, LVar0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedPunch) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedPunch) EVT_THREAD EVT_SET(LVar0, 140) EVT_LOOP(30) EVT_SUB(LVar0, 2) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 80, LVar0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 80, LVar0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_GOLDEN_FLAMES) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_GOLDEN_FLAMES) EVT_WAIT(1) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 2, 0, 40, 40, 0, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, FALSE) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_2, 0, 40, 40, 0, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 2, 80) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_2, 80) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.1)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 10, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, 1, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.1)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 10, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, 1, TRUE) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 10, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -782,14 +786,14 @@ EvtScript N(80230914) = { EVT_CALL(SetBattleCamZoom, 200) EVT_CALL(SetBattleCamOffsetZ, 13) EVT_CALL(MoveBattleCamOver, 60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedDownwardStance) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedDownwardStance) EVT_SET(LVar0, 80) EVT_LOOP(30) EVT_ADD(LVar0, 2) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 80, LVar0, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 80, LVar0, 0, 0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -865,25 +869,25 @@ EvtScript N(nextTurn_80230D44) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_002E, ACTOR_SELF, 1, 0x00A20009, 0x00A20005) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_002E, ACTOR_SELF, PRT_MAIN, 0x00A20009, 0x00A20005) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Cough) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Cough) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_OpenMouth) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_OpenMouth) EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B8) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_PLAY_EFFECT(EFFECT_GATHER_ENERGY_PINK, 1, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 30, 0) EVT_SET(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Still) EVT_LOOP(15) EVT_ADD(LVar0, 24) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, LVar0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_SET(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Still) EVT_LOOP(5) EVT_ADD(LVar0, 18) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, LVar0, 0) @@ -898,31 +902,31 @@ EvtScript N(nextTurn_80230D44) = { EVT_WAIT(3) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_Still) EVT_LOOP(5) EVT_ADD(LVar0, 36) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, LVar0, 0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedStill) EVT_LOOP(5) EVT_ADD(LVar0, 18) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, LVar0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(15) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022D9EC))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedRun) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedUppercut) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022D9EC))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedRun) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedUppercut) EVT_WAIT(2) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_GOLDEN_FLAMES) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_GOLDEN_FLAMES) EVT_WAIT(1) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 50, 50, 0, 0) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 50, 50, 0, 0) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TheMaster_AscendedIdle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_TheMaster_AscendedIdle) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0038, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0038, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_END_IF EVT_CASE_EQ(12) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -935,14 +939,14 @@ EvtScript N(nextTurn_80230D44) = { EVT_IF_LE(LVar0, LVar1) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_003B, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_003B, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_BREAK_SWITCH EVT_END_IF EVT_CALL(GetPlayerHP, LVar0) EVT_IF_LE(LVar0, 10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_003D, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_003D, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_BREAK_SWITCH EVT_END_IF EVT_END_SWITCH @@ -997,13 +1001,13 @@ EvtScript N(handleEvent_80231408) = { EVT_IF_GT(LVarB, 2) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_003A, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_003A, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_CALL(SetActorVar, ACTOR_SELF, 3, 0) EVT_END_IF EVT_ELSE EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(ActorSpeak, MSG_MAC_Gate_0039, ACTOR_SELF, 1, 0x00A2000A, 0x00A20006) + EVT_CALL(ActorSpeak, MSG_MAC_Gate_0039, ACTOR_SELF, PRT_MAIN, 0x00A2000A, 0x00A20006) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) diff --git a/src/battle/area/mac/area.c b/src/battle/area/mac/area.c index 933ec6bfc3..1be0e5012b 100644 --- a/src/battle/area/mac/area.c +++ b/src/battle/area/mac/area.c @@ -14,36 +14,36 @@ extern Stage N(mac_01); extern Stage N(mac_02); Formation N(Formation_00) = { - { .actor = &N(chan), .home = { .index = 2 }, .priority = 10 }, + ACTOR_BY_IDX(N(chan), BTL_POS_GROUND_C, 10), }; Formation N(Formation_01) = { - { .actor = &N(lee), .home = { .index = 2 }, .priority = 10 }, + ACTOR_BY_IDX(N(lee), BTL_POS_GROUND_C, 10), }; Formation N(Formation_02) = { - { .actor = &N(master1), .home = { .index = 2 }, .priority = 10 }, + ACTOR_BY_IDX(N(master1), BTL_POS_GROUND_C, 10), }; Formation N(Formation_03) = { - { .actor = &N(master2), .home = { .index = 2 }, .priority = 10 }, + ACTOR_BY_IDX(N(master2), BTL_POS_GROUND_C, 10), }; Formation N(Formation_04) = { - { .actor = &N(master3), .home = { .index = 2 }, .priority = 10 }, + ACTOR_BY_IDX(N(master3), BTL_POS_GROUND_C, 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(mac_02), "チェン"), - BATTLE(N(Formation_01), &N(mac_02), "リー"), - BATTLE(N(Formation_02), &N(mac_02), "シショー その1"), - BATTLE(N(Formation_03), &N(mac_02), "シショー その2"), - BATTLE(N(Formation_04), &N(mac_02), "シショー その3"), + BATTLE(N(Formation_00), N(mac_02), "チェン"), + BATTLE(N(Formation_01), N(mac_02), "リー"), + BATTLE(N(Formation_02), N(mac_02), "シショー その1"), + BATTLE(N(Formation_03), N(mac_02), "シショー その2"), + BATTLE(N(Formation_04), N(mac_02), "シショー その3"), {}, }; StageList N(Stages) = { - { "mac_01", &N(mac_01) }, - { "mac_02", &N(mac_02) }, + STAGE("mac_01", N(mac_01)), + STAGE("mac_02", N(mac_02)), {}, }; diff --git a/src/battle/area/mim/actor/forest_fuzzy.c b/src/battle/area/mim/actor/forest_fuzzy.c index cf9db9beb5..d9849b9ba4 100644 --- a/src/battle/area/mim/actor/forest_fuzzy.c +++ b/src/battle/area/mim/actor/forest_fuzzy.c @@ -13,40 +13,44 @@ extern EvtScript N(idle_80218574); extern EvtScript N(handleEvent_80218584); extern Formation N(specialFormation_8021A800); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_802183C0)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_802183CC)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 95, - STATUS_POISON, 90, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 70, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 95, + STATUS_KEY_POISON, 90, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 70, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80218478)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -63,8 +67,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_FOREST_FUZZY, .level = 11, .maxHP = 6, - .partCount = ARRAY_COUNT( N(PartsTable_80218478)), - .partsData = N(PartsTable_80218478), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_80218510), .statusTable = N(StatusTable_802183CC), .escapeChance = 40, @@ -76,21 +80,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 33, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_802184C4)[] = { - STATUS_NORMAL, ANIM_Fuzzy_Forest_Idle, - STATUS_STONE, ANIM_Fuzzy_Forest_Still, - STATUS_SLEEP, ANIM_Fuzzy_Forest_Sleep, - STATUS_POISON, ANIM_Fuzzy_Forest_Idle, - STATUS_STOP, ANIM_Fuzzy_Forest_Still, - STATUS_STATIC, ANIM_Fuzzy_Forest_Idle, - STATUS_PARALYZE, ANIM_Fuzzy_Forest_Still, - STATUS_DIZZY, ANIM_Fuzzy_Forest_Stunned, - STATUS_FEAR, ANIM_Fuzzy_Forest_Stunned, + STATUS_KEY_NORMAL, ANIM_Fuzzy_Forest_Idle, + STATUS_KEY_STONE, ANIM_Fuzzy_Forest_Still, + STATUS_KEY_SLEEP, ANIM_Fuzzy_Forest_Sleep, + STATUS_KEY_POISON, ANIM_Fuzzy_Forest_Idle, + STATUS_KEY_STOP, ANIM_Fuzzy_Forest_Still, + STATUS_KEY_STATIC, ANIM_Fuzzy_Forest_Idle, + STATUS_KEY_PARALYZE, ANIM_Fuzzy_Forest_Still, + STATUS_KEY_DIZZY, ANIM_Fuzzy_Forest_Stunned, + STATUS_KEY_FEAR, ANIM_Fuzzy_Forest_Stunned, STATUS_END, }; @@ -255,9 +259,9 @@ EvtScript N(80218C48) = { EVT_END_LOOP EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2070) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Anim0D) EVT_WAIT(130) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Walk) EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_8021A800)), 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(SetActorPos, LVar0, LVar1, LVar2, LVar3) @@ -265,7 +269,7 @@ EvtScript N(80218C48) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Walk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Walk) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.4)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) @@ -310,7 +314,7 @@ EvtScript N(80219054) = { EVT_GOTO(100) EVT_END_IF EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 50) @@ -318,10 +322,10 @@ EvtScript N(80219054) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Idle) EVT_LABEL(100) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Anim04) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 9, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) @@ -337,11 +341,11 @@ EvtScript N(80219054) = { EVT_SET(LVar1, 0) EVT_SUB(LVar2, 5) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Jump) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 11, FALSE, TRUE, FALSE) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Anim09) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) @@ -362,14 +366,14 @@ EvtScript N(80219054) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Run) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -386,7 +390,7 @@ EvtScript N(80219054) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -3, -12, -15) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Jump) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) @@ -396,9 +400,9 @@ EvtScript N(80219054) = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_MarioB1_Leeching) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Bite) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Bite) EVT_WAIT(21) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Still) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 330) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, -3, -2, 0) @@ -418,7 +422,7 @@ EvtScript N(80219054) = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Idle) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar3) EVT_IF_NE(LVar3, 0) @@ -494,13 +498,13 @@ EvtScript N(80219054) = { EVT_WAIT(5) EVT_CALL(YieldTurn) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Forest_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Forest_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -588,7 +592,7 @@ EvtScript N(8021A45C) = { EVT_CASE_OR_EQ(ACTOR_TYPE_FOREST_FUZZY) EVT_CASE_OR_EQ(ACTOR_TYPE_JUNGLE_FUZZY) EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, LVar0, 0, LVar3) EVT_IF_NE(LVar3, 2) EVT_ADD(LVar9, 1) @@ -597,7 +601,7 @@ EvtScript N(8021A45C) = { EVT_END_CASE_GROUP EVT_CASE_EQ(ACTOR_TYPE_SPEAR_GUY) EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, LVar0, 1, LVar3) EVT_IF_LT(LVar3, 2) EVT_ADD(LVar9, 1) @@ -657,5 +661,5 @@ EvtScript N(takeTurn_8021A61C) = { Vec3i N(vector3D_8021A7F4) = { NPC_DISPOSE_LOCATION }; Formation N(specialFormation_8021A800) = { - { .actor = &NAMESPACE, .home = { .vec = &N(vector3D_8021A7F4) }}, + ACTOR_BY_POS(NAMESPACE, N(vector3D_8021A7F4), 0), }; diff --git a/src/battle/area/mim/actor/piranha_plant.c b/src/battle/area/mim/actor/piranha_plant.c index be763174ec..77a9275f6f 100644 --- a/src/battle/area/mim/actor/piranha_plant.c +++ b/src/battle/area/mim/actor/piranha_plant.c @@ -11,63 +11,67 @@ extern EvtScript N(takeTurn_8021DCD4); extern EvtScript N(idle_8021D4E4); extern EvtScript N(handleEvent_8021D60C); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_8021D330)[] = { - STATUS_NORMAL, ANIM_SmallPiranha_Anim01, - STATUS_STONE, ANIM_SmallPiranha_Anim00, - STATUS_SLEEP, ANIM_SmallPiranha_Anim00, - STATUS_POISON, ANIM_SmallPiranha_Anim01, - STATUS_STOP, ANIM_SmallPiranha_Anim00, - STATUS_STATIC, ANIM_SmallPiranha_Anim01, - STATUS_PARALYZE, ANIM_SmallPiranha_Anim00, - STATUS_DIZZY, ANIM_SmallPiranha_Anim01, - STATUS_FEAR, ANIM_SmallPiranha_Anim01, + STATUS_KEY_NORMAL, ANIM_SmallPiranha_Anim01, + STATUS_KEY_STONE, ANIM_SmallPiranha_Anim00, + STATUS_KEY_SLEEP, ANIM_SmallPiranha_Anim00, + STATUS_KEY_POISON, ANIM_SmallPiranha_Anim01, + STATUS_KEY_STOP, ANIM_SmallPiranha_Anim00, + STATUS_KEY_STATIC, ANIM_SmallPiranha_Anim01, + STATUS_KEY_PARALYZE, ANIM_SmallPiranha_Anim00, + STATUS_KEY_DIZZY, ANIM_SmallPiranha_Anim01, + STATUS_KEY_FEAR, ANIM_SmallPiranha_Anim01, STATUS_END, }; s32 N(unk_missing_8021D37C)[] = { - STATUS_NORMAL, ANIM_SmallPiranha_Anim01, + STATUS_KEY_NORMAL, ANIM_SmallPiranha_Anim01, STATUS_END, }; s32 N(unk_missing_8021D388)[] = { - STATUS_NORMAL, ANIM_SmallPiranha_Anim06, + STATUS_KEY_NORMAL, ANIM_SmallPiranha_Anim06, STATUS_END, }; s32 N(DefenseTable_8021D394)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8021D3A0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 95, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 95, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8021D44C)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 35 }, .opacity = 255, @@ -84,8 +88,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_PIRANHA_PLANT, .level = 11, .maxHP = 5, - .partCount = ARRAY_COUNT( N(PartsTable_8021D44C)), - .partsData = N(PartsTable_8021D44C), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021D498), .statusTable = N(StatusTable_8021D3A0), .escapeChance = 70, @@ -97,9 +101,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 1, .size = { 38, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -7, 33 }, - .statusMessageOffset = { 10, 33 }, + .statusTextOffset = { 10, 33 }, }; EvtScript N(init_8021D498) = { @@ -120,13 +124,13 @@ EvtScript N(8021D4F4) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim04) EVT_WAIT(10) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim03) EVT_WAIT(10) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) EVT_RETURN @@ -207,12 +211,12 @@ EvtScript N(handleEvent_8021D60C) = { EVT_WAIT(20) EVT_END_THREAD EVT_LOOP(40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim01) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim06) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim01) EVT_CASE_EQ(EVENT_DEATH) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_SmallPiranha_Anim09) @@ -231,10 +235,10 @@ EvtScript N(handleEvent_8021D60C) = { EVT_SET_CONST(LVar1, ANIM_SmallPiranha_Anim09) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim04) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_WAIT(8) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN @@ -261,7 +265,7 @@ EvtScript N(takeTurn_8021DCD4) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim04) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) @@ -276,7 +280,7 @@ EvtScript N(takeTurn_8021DCD4) = { EVT_GOTO(123) EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim04) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_WAIT(8) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) @@ -307,9 +311,9 @@ EvtScript N(takeTurn_8021DCD4) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim03) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim05) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -317,16 +321,16 @@ EvtScript N(takeTurn_8021DCD4) = { EVT_SET(LVarA, LVar0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim06) EVT_WAIT(2) EVT_END_IF EVT_THREAD EVT_WAIT(6) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20DE) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim07) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim08) EVT_WAIT(2) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -341,13 +345,13 @@ EvtScript N(takeTurn_8021DCD4) = { EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim06) EVT_WAIT(2) EVT_THREAD EVT_WAIT(6) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20DE) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim07) EVT_WAIT(10) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -357,7 +361,7 @@ EvtScript N(takeTurn_8021DCD4) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SmallPiranha_Anim08) EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) diff --git a/src/battle/area/mim/area.c b/src/battle/area/mim/area.c index 65345d75ae..f2c31da412 100644 --- a/src/battle/area/mim/area.c +++ b/src/battle/area/mim/area.c @@ -11,134 +11,134 @@ extern ActorBlueprint N(bzzap); extern Stage N(mim_01); Formation N(Formation_00) = { - { .actor = &N(forest_fuzzy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(forest_fuzzy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_01) = { - { .actor = &N(forest_fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(forest_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(forest_fuzzy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_02) = { - { .actor = &N(forest_fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(forest_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(forest_fuzzy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(forest_fuzzy), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_D, 7), }; Formation N(Formation_03) = { - { .actor = &N(forest_fuzzy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(piranha_plant), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_C, 9), }; Formation N(Formation_04) = { - { .actor = &N(forest_fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(forest_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(piranha_plant), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_C, 8), }; Formation N(Formation_05) = { - { .actor = &N(forest_fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(forest_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(piranha_plant), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(piranha_plant), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_D, 7), }; Formation N(Formation_06) = { - { .actor = &N(forest_fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(forest_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(forest_fuzzy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(piranha_plant), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_D, 7), }; Formation N(Formation_07) = { - { .actor = &N(forest_fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(piranha_plant), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(forest_fuzzy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(piranha_plant), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_D, 7), }; Formation N(Formation_08) = { - { .actor = &N(piranha_plant), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_B, 10), }; Formation N(Formation_09) = { - { .actor = &N(piranha_plant), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(piranha_plant), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0A) = { - { .actor = &N(piranha_plant), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(piranha_plant), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(piranha_plant), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0B) = { - { .actor = &N(piranha_plant), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(piranha_plant), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(piranha_plant), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(piranha_plant), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0C) = { - { .actor = &N(piranha_plant), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(forest_fuzzy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0D) = { - { .actor = &N(piranha_plant), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(piranha_plant), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(forest_fuzzy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0E) = { - { .actor = &N(piranha_plant), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(forest_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(forest_fuzzy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0F) = { - { .actor = &N(piranha_plant), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(forest_fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(piranha_plant), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(forest_fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(piranha_plant), BTL_POS_GROUND_C, 8), }; Formation N(Formation_10) = { - { .actor = &N(bzzap), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 9 }, + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 9), }; Formation N(Formation_11) = { - { .actor = &N(bzzap), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(bzzap), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(bzzap), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(bzzap), BTL_POS_AIR_C, 8), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(mim_01), "グリーンチョロボンx2"), - BATTLE(N(Formation_01), &N(mim_01), "グリーンチョロボンx3"), - BATTLE(N(Formation_02), &N(mim_01), "グリーンチョロボンx4"), - BATTLE(N(Formation_03), &N(mim_01), "グリーンチョロボン,パックンフラワー"), - BATTLE(N(Formation_04), &N(mim_01), "グリーンチョロボンx2,パックンフラワー"), - BATTLE(N(Formation_05), &N(mim_01), "グリーンチョロボンx2,パックンフラワーx2"), - BATTLE(N(Formation_06), &N(mim_01), "グリーンチョロボンx3,パックンフラワー"), - BATTLE(N(Formation_07), &N(mim_01), "グリーンチョロボン,パックンフラワー,グリーンチョロボン,パックンフラワー"), - BATTLE(N(Formation_08), &N(mim_01), "パックンフラワー"), - BATTLE(N(Formation_09), &N(mim_01), "パックンフラワーx2"), - BATTLE(N(Formation_0A), &N(mim_01), "パックンフラワーx3"), - BATTLE(N(Formation_0B), &N(mim_01), "パックンフラワーx4"), - BATTLE(N(Formation_0C), &N(mim_01), "パックンフラワー,グリーンチョロボン"), - BATTLE(N(Formation_0D), &N(mim_01), "パックンフラワーx2,グリーンチョロボン"), - BATTLE(N(Formation_0E), &N(mim_01), "パックンフラワー,グリーンチョロボンx2"), - BATTLE(N(Formation_0F), &N(mim_01), "パックンフラワー,グリーンチョロボン,パックンフラワー"), - BATTLE(N(Formation_10), &N(mim_01), "ハッチーx2"), - BATTLE(N(Formation_11), &N(mim_01), "ハッチーx3"), + BATTLE(N(Formation_00), N(mim_01), "グリーンチョロボンx2"), + BATTLE(N(Formation_01), N(mim_01), "グリーンチョロボンx3"), + BATTLE(N(Formation_02), N(mim_01), "グリーンチョロボンx4"), + BATTLE(N(Formation_03), N(mim_01), "グリーンチョロボン,パックンフラワー"), + BATTLE(N(Formation_04), N(mim_01), "グリーンチョロボンx2,パックンフラワー"), + BATTLE(N(Formation_05), N(mim_01), "グリーンチョロボンx2,パックンフラワーx2"), + BATTLE(N(Formation_06), N(mim_01), "グリーンチョロボンx3,パックンフラワー"), + BATTLE(N(Formation_07), N(mim_01), "グリーンチョロボン,パックンフラワー,グリーンチョロボン,パックンフラワー"), + BATTLE(N(Formation_08), N(mim_01), "パックンフラワー"), + BATTLE(N(Formation_09), N(mim_01), "パックンフラワーx2"), + BATTLE(N(Formation_0A), N(mim_01), "パックンフラワーx3"), + BATTLE(N(Formation_0B), N(mim_01), "パックンフラワーx4"), + BATTLE(N(Formation_0C), N(mim_01), "パックンフラワー,グリーンチョロボン"), + BATTLE(N(Formation_0D), N(mim_01), "パックンフラワーx2,グリーンチョロボン"), + BATTLE(N(Formation_0E), N(mim_01), "パックンフラワー,グリーンチョロボンx2"), + BATTLE(N(Formation_0F), N(mim_01), "パックンフラワー,グリーンチョロボン,パックンフラワー"), + BATTLE(N(Formation_10), N(mim_01), "ハッチーx2"), + BATTLE(N(Formation_11), N(mim_01), "ハッチーx3"), {}, }; StageList N(Stages) = { - { "mim_01", &N(mim_01) }, + STAGE("mim_01", N(mim_01)), {}, }; diff --git a/src/battle/area/nok/actor/kent_c_koopa.c b/src/battle/area/nok/actor/kent_c_koopa.c index cd48039452..59f1944e9e 100644 --- a/src/battle/area/nok/actor/kent_c_koopa.c +++ b/src/battle/area/nok/actor/kent_c_koopa.c @@ -6,82 +6,94 @@ #define NAMESPACE b_area_nok_kent_c_koopa +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, + PRT_7 = 7, + PRT_8 = 8, + PRT_9 = 9, +}; + s32 N(intTable_80227910)[] = { - 0x00000009, 0x00000010, 0x00000016, 0x0000001A, 0x0000001E, 0x00000020, 0x00000021, 0x00000020, - 0x0000001E, 0x0000001A, 0x00000016, 0x00000010, 0x00000009, 0x00000000, 0x00000004, 0x00000006, - 0x00000007, 0x00000006, 0x00000004, 0x00000000, 0x00000002, 0x00000000, + 9, 16, 22, 26, 30, 32, 33, 32, 30, 26, 22, 16, 9, 0, + 4, 6, 7, 6, 4, 0, + 2, 0, }; s32 N(IdleAnimations_80227968)[] = { - STATUS_NORMAL, ANIM_KentCKoopa_Anim01, - STATUS_STONE, ANIM_KentCKoopa_Anim00, - STATUS_SLEEP, ANIM_KentCKoopa_Anim13, - STATUS_POISON, ANIM_KentCKoopa_Anim01, - STATUS_STOP, ANIM_KentCKoopa_Anim00, - STATUS_STATIC, ANIM_KentCKoopa_Anim00, - STATUS_PARALYZE, ANIM_KentCKoopa_Anim00, - STATUS_DIZZY, ANIM_KentCKoopa_Anim14, - STATUS_FEAR, ANIM_KentCKoopa_Anim00, + STATUS_KEY_NORMAL, ANIM_KentCKoopa_Anim01, + STATUS_KEY_STONE, ANIM_KentCKoopa_Anim00, + STATUS_KEY_SLEEP, ANIM_KentCKoopa_Anim13, + STATUS_KEY_POISON, ANIM_KentCKoopa_Anim01, + STATUS_KEY_STOP, ANIM_KentCKoopa_Anim00, + STATUS_KEY_STATIC, ANIM_KentCKoopa_Anim00, + STATUS_KEY_PARALYZE, ANIM_KentCKoopa_Anim00, + STATUS_KEY_DIZZY, ANIM_KentCKoopa_Anim14, + STATUS_KEY_FEAR, ANIM_KentCKoopa_Anim00, STATUS_END, }; s32 N(IdleAnimations_802279B4)[] = { - STATUS_NORMAL, ANIM_KentCKoopa_Anim1A, - STATUS_STOP, ANIM_KentCKoopa_Anim19, - STATUS_PARALYZE, ANIM_KentCKoopa_Anim19, + STATUS_KEY_NORMAL, ANIM_KentCKoopa_Anim1A, + STATUS_KEY_STOP, ANIM_KentCKoopa_Anim19, + STATUS_KEY_PARALYZE, ANIM_KentCKoopa_Anim19, STATUS_END, }; s32 N(IdleAnimations_802279D0)[] = { - STATUS_NORMAL, ANIM_Coin_Rotate, + STATUS_KEY_NORMAL, ANIM_Coin_Rotate, STATUS_END, }; s32 N(DefenseTable_802279DC)[] = { - ELEMENT_NORMAL, 6, - ELEMENT_BLAST, 6, + ELEMENT_NORMAL, 6, + ELEMENT_BLAST, 6, ELEMENT_END, }; s32 N(DefenseTable_802279F0)[] = { - ELEMENT_NORMAL, 3, + ELEMENT_NORMAL, 3, ELEMENT_END, }; s32 N(DefenseTable_802279FC)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80227A08)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 30, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 30, - STATUS_SHRINK, 40, - STATUS_STOP, 50, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 30, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 30, + STATUS_KEY_SHRINK, 40, + STATUS_KEY_STOP, 50, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80227AB4)[] = { +ActorPartBlueprint N(ActorParts_80227AB4)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 60 }, .opacity = 255, @@ -93,7 +105,7 @@ ActorPartBlueprint N(PartsTable_80227AB4)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 12, 61, 0 }, .targetOffset = { 0, -20 }, .opacity = 255, @@ -105,7 +117,7 @@ ActorPartBlueprint N(PartsTable_80227AB4)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 45, 0, 0 }, .targetOffset = { -70, 26 }, .opacity = 255, @@ -117,7 +129,7 @@ ActorPartBlueprint N(PartsTable_80227AB4)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -129,7 +141,7 @@ ActorPartBlueprint N(PartsTable_80227AB4)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -141,7 +153,7 @@ ActorPartBlueprint N(PartsTable_80227AB4)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -153,7 +165,7 @@ ActorPartBlueprint N(PartsTable_80227AB4)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 7, + .index = PRT_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -165,7 +177,7 @@ ActorPartBlueprint N(PartsTable_80227AB4)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 8, + .index = PRT_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -177,7 +189,7 @@ ActorPartBlueprint N(PartsTable_80227AB4)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 9, + .index = PRT_9, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -196,8 +208,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_KENT_C_KOOPA, .level = 55, .maxHP = 70, - .partCount = ARRAY_COUNT( N(PartsTable_80227AB4)), - .partsData = N(PartsTable_80227AB4), + .partCount = ARRAY_COUNT( N(ActorParts_80227AB4)), + .partsData = N(ActorParts_80227AB4), .initScript = &N(init_80227C20), .statusTable = N(StatusTable_80227A08), .escapeChance = 0, @@ -209,9 +221,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 70, .coinReward = 0, .size = { 90, 70 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -26, 38 }, - .statusMessageOffset = { 2, 63 }, + .statusTextOffset = { 2, 63 }, }; extern EvtScript N(takeTurn_80228A7C); @@ -221,7 +233,7 @@ extern EvtScript N(nextTurn_80227D2C); EvtScript N(init_80227C20) = { EVT_CALL(func_8027D434, ACTOR_SELF, 3, 70) - EVT_CALL(SetPartSize, ACTOR_SELF, 3, 30, 30) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_3, 30, 30) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80228A7C))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80227DD4))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80227E08))) @@ -390,7 +402,7 @@ EvtScript N(handleEvent_80227E08) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar2) EVT_IF_EQ(LVar2, 0) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim0C) EVT_WAIT(8) EVT_END_IF EVT_ELSE @@ -461,7 +473,7 @@ EvtScript N(handleEvent_80227E08) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar2) EVT_IF_EQ(LVar2, 0) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim0C) EVT_WAIT(8) EVT_END_IF EVT_END_IF @@ -481,7 +493,7 @@ EvtScript N(handleEvent_80227E08) = { #include "common/StartRumbleWithParams.inc.c" -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(takeTurn_80228A7C) = { EVT_CALL(SetActorVar, ACTOR_SELF, 4, 2) @@ -501,13 +513,13 @@ EvtScript N(takeTurn_80228A7C) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 36) EVT_ADD(LVar1, 18) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_LOOP(5) EVT_PLAY_EFFECT(EFFECT_SWEAT, 1, LVar0, LVar1, LVar2, 1, 225, 10, 0) EVT_WAIT(5) EVT_END_LOOP EVT_WAIT(30) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -517,17 +529,17 @@ EvtScript N(takeTurn_80228A7C) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 36) EVT_ADD(LVar1, 18) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_LOOP(5) EVT_PLAY_EFFECT(EFFECT_SWEAT, 1, LVar0, LVar1, LVar2, 1, 225, 10, 0) EVT_WAIT(5) EVT_END_LOOP - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim19) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim19) EVT_THREAD EVT_WAIT(3) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -555,16 +567,16 @@ EvtScript N(takeTurn_80228A7C) = { EVT_WAIT(3) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim0C) EVT_WAIT(10) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_802279DC))) - EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, 1, 0, 60) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 0x00020000, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 0x00800000, FALSE) - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, 0x00020004) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, 0x00800004) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80227968))) - EVT_CALL(N(UnkBattleFunc1), -26, 38, 2, 63) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_802279DC))) + EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 60) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 0x00020000, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, 0x00800000, FALSE) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, 0x00020004) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, 0x00800004) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80227968))) + EVT_CALL(N(SetAbsoluteStatusOffsets), -26, 38, 2, 63) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0x0047001C) EVT_END_IF @@ -594,7 +606,7 @@ EvtScript N(shellToss_KentC) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 25) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim0B) EVT_WAIT(10) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -607,7 +619,7 @@ EvtScript N(shellToss_KentC) = { EVT_END_THREAD EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_370) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim0A) EVT_WAIT(10) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 3, BS_FLAGS1_10) EVT_SWITCH(LVarA) @@ -631,10 +643,10 @@ EvtScript N(shellToss_KentC) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(StopSound, SOUND_370) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim0C) EVT_WAIT(8) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -732,10 +744,10 @@ EvtScript N(shellToss_KentC) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(StopSound, SOUND_370) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim0C) EVT_WAIT(8) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -782,7 +794,7 @@ EvtScript N(shellToss_KentC) = { EVT_END_THREAD EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(StopSound, SOUND_370) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim0C) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -790,7 +802,7 @@ EvtScript N(shellToss_KentC) = { EVT_SET_CONST(LVar0, 0x00000001) EVT_SET_CONST(LVar1, ANIM_KentCKoopa_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -811,10 +823,10 @@ EvtScript N(tackle_KentC) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim03) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim01) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E7) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -822,12 +834,12 @@ EvtScript N(tackle_KentC) = { EVT_CASE_OR_EQ(6) EVT_CASE_OR_EQ(5) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim06) EVT_THREAD EVT_WAIT(7) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim07) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim08) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -856,7 +868,7 @@ EvtScript N(tackle_KentC) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) EVT_END_IF EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim01) EVT_SUB(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) @@ -882,12 +894,12 @@ EvtScript N(tackle_KentC) = { EVT_END_LOOP EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim04) - EVT_CALL(SetPartYaw, ACTOR_SELF, 1, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim04) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_MAIN, 180) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim01) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim01) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_SET(LVar3, 180) EVT_LOOP(15) EVT_SUB(LVar3, 12) @@ -900,12 +912,12 @@ EvtScript N(tackle_KentC) = { EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim06) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim07) EVT_WAIT(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim08) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.3)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -944,7 +956,7 @@ EvtScript N(tackle_KentC) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim06) EVT_END_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) @@ -960,7 +972,7 @@ EvtScript N(tackle_KentC) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) EVT_END_IF EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim01) EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) @@ -997,17 +1009,17 @@ EvtScript N(8022AD84) = { }; EvtScript N(flipOver_KentC) = { - EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, 1, 0, 40) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_802279F0))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802279B4))) - EVT_CALL(N(UnkBattleFunc1), -24, 47, 23, 37) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim1C) + EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 40) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_802279F0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802279B4))) + EVT_CALL(N(SetAbsoluteStatusOffsets), -24, 47, 23, 37) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim1C) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0x00470012) + EVT_CALL(SetActorVar, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim12) EVT_THREAD EVT_WAIT(4) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, 0x80000) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 35, 0) EVT_ELSE EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 14, 0) @@ -1020,13 +1032,13 @@ EvtScript N(flipOver_KentC) = { EVT_END_LOOP EVT_END_THREAD EVT_USE_BUF(EVT_PTR(N(intTable_80227910))) - EVT_LOOP(22) + EVT_LOOP(ARRAY_COUNT(N(intTable_80227910))) EVT_BUF_READ1(LVar0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar0, 0) EVT_IF_EQ(LVar0, 0) EVT_THREAD EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) - EVT_IF_NOT_FLAG(LVar3, 0x80000) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) EVT_CALL(N(StartRumbleWithParams), 80, 14) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) EVT_END_IF @@ -1037,13 +1049,13 @@ EvtScript N(flipOver_KentC) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim1D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim1D) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KentCKoopa_Anim1E) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 0x00020000, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, 0x00800000, TRUE) - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, 4) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, 0x00020004) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim1E) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, 4) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_4) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 1) EVT_WAIT(8) EVT_RETURN diff --git a/src/battle/area/nok/area.c b/src/battle/area/nok/area.c index ae4b19473a..077727703f 100644 --- a/src/battle/area/nok/area.c +++ b/src/battle/area/nok/area.c @@ -18,177 +18,177 @@ extern Stage N(nok_03); extern Stage N(nok_04); Formation N(Formation_00) = { - { .actor = &N(goomba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(goomba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(goomba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(goomba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_01) = { - { .actor = &N(goomba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(goomba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(paragoomba), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(paragoomba), .home = { .index = 6 }, .priority = 9 }, + ACTOR_BY_IDX(N(paragoomba), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(paragoomba), BTL_POS_AIR_C, 9), }; Formation N(Formation_03) = { - { .actor = &N(spiked_goomba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(paragoomba), .home = { .index = 6 }, .priority = 9 }, + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(paragoomba), BTL_POS_AIR_C, 9), }; Formation N(Formation_04) = { - { .actor = &N(spiked_goomba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_05) = { - { .actor = &N(spiked_goomba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(goomba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(goomba), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(goomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(goomba), BTL_POS_GROUND_C, 8), }; Formation N(Formation_06) = { - { .actor = &N(spiked_goomba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spiked_goomba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 8), }; Formation N(Formation_07) = { - { .actor = &N(spiked_goomba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spiked_goomba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(spiked_goomba), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_D, 7), }; Formation N(Formation_08) = { - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(goomba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(goomba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_09) = { - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0A) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0B) = { - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0C) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0D) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spiked_goomba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0E) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(paragoomba), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(paragoomba), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(paragoomba), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(paragoomba), BTL_POS_AIR_C, 8), }; Formation N(Formation_0F) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spiked_goomba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(paragoomba), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(paragoomba), BTL_POS_AIR_C, 8), }; Formation N(Formation_10) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(paragoomba), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(paragoomba), BTL_POS_AIR_D, 7), }; Formation N(Formation_11) = { - { .actor = &N(paratroopa), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(paratroopa), .home = { .index = 6 }, .priority = 9 }, + ACTOR_BY_IDX(N(paratroopa), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(paratroopa), BTL_POS_AIR_C, 9), }; Formation N(Formation_12) = { - { .actor = &N(paratroopa), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(paratroopa), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_C, 9), }; Formation N(Formation_13) = { - { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(paratroopa), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 8), }; Formation N(Formation_14) = { - { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spiked_goomba), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(spiked_goomba), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(paratroopa), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(spiked_goomba), BTL_POS_GROUND_D, 7), }; Formation N(Formation_15) = { - { .actor = &N(fuzzy), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_B, 10), }; Formation N(Formation_16) = { - { .actor = &N(fuzzy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(fuzzy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_17) = { - { .actor = &N(fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(fuzzy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(fuzzy), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_D, 7), }; Formation N(Formation_18) = { - { .actor = &N(kent_c_koopa), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(kent_c_koopa), BTL_POS_GROUND_B, 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(nok_02), "クリボーx2"), - BATTLE(N(Formation_01), &N(nok_02), "クリボー,トゲクリボー"), - BATTLE(N(Formation_02), &N(nok_02), "パタクリボーx2"), - BATTLE(N(Formation_03), &N(nok_02), "トゲクリボー、パタクリボー"), - BATTLE(N(Formation_04), &N(nok_02), "トゲクリボーx2"), - BATTLE(N(Formation_05), &N(nok_02), "トゲクリボー、クリボーx2"), - BATTLE(N(Formation_06), &N(nok_02), "トゲクリボーx3"), - BATTLE(N(Formation_07), &N(nok_02), "トゲクリボーx4"), - BATTLE(N(Formation_08), &N(nok_02), "ノコノコ、クリボー"), - BATTLE(N(Formation_09), &N(nok_02), "ノコノコx2"), - BATTLE(N(Formation_0A), &N(nok_02), "ノコノコx3"), - BATTLE(N(Formation_0B), &N(nok_02), "ノコノコ、トゲクリボー"), - BATTLE(N(Formation_0C), &N(nok_02), "ノコノコx2、トゲクリ"), - BATTLE(N(Formation_0D), &N(nok_02), "ノコノコ、トゲクリボーx2"), - BATTLE(N(Formation_0E), &N(nok_02), "ノコノコ、パタクリボーx2"), - BATTLE(N(Formation_0F), &N(nok_02), "ノコノコ、トゲクリボー,パタクリボー"), - BATTLE(N(Formation_10), &N(nok_02), "ノコノコx2、トゲクリボー,パタクリボー"), - BATTLE(N(Formation_11), &N(nok_02), "パタパタx2"), - BATTLE(N(Formation_12), &N(nok_02), "パタパタ、ノコノコ"), - BATTLE(N(Formation_13), &N(nok_02), "パタパタ、ノコノコ、トゲクリボー"), - BATTLE(N(Formation_14), &N(nok_02), "パタパタ、ノコノコ、トゲクリボーx2"), - BATTLE(N(Formation_15), &N(nok_02), "チョロボン"), - BATTLE(N(Formation_16), &N(nok_02), "チョロボンx2"), - BATTLE(N(Formation_17), &N(nok_02), "チョロボンx4"), - BATTLE(N(Formation_18), &N(nok_02), "ゼニノコー"), + BATTLE(N(Formation_00), N(nok_02), "クリボーx2"), + BATTLE(N(Formation_01), N(nok_02), "クリボー,トゲクリボー"), + BATTLE(N(Formation_02), N(nok_02), "パタクリボーx2"), + BATTLE(N(Formation_03), N(nok_02), "トゲクリボー、パタクリボー"), + BATTLE(N(Formation_04), N(nok_02), "トゲクリボーx2"), + BATTLE(N(Formation_05), N(nok_02), "トゲクリボー、クリボーx2"), + BATTLE(N(Formation_06), N(nok_02), "トゲクリボーx3"), + BATTLE(N(Formation_07), N(nok_02), "トゲクリボーx4"), + BATTLE(N(Formation_08), N(nok_02), "ノコノコ、クリボー"), + BATTLE(N(Formation_09), N(nok_02), "ノコノコx2"), + BATTLE(N(Formation_0A), N(nok_02), "ノコノコx3"), + BATTLE(N(Formation_0B), N(nok_02), "ノコノコ、トゲクリボー"), + BATTLE(N(Formation_0C), N(nok_02), "ノコノコx2、トゲクリ"), + BATTLE(N(Formation_0D), N(nok_02), "ノコノコ、トゲクリボーx2"), + BATTLE(N(Formation_0E), N(nok_02), "ノコノコ、パタクリボーx2"), + BATTLE(N(Formation_0F), N(nok_02), "ノコノコ、トゲクリボー,パタクリボー"), + BATTLE(N(Formation_10), N(nok_02), "ノコノコx2、トゲクリボー,パタクリボー"), + BATTLE(N(Formation_11), N(nok_02), "パタパタx2"), + BATTLE(N(Formation_12), N(nok_02), "パタパタ、ノコノコ"), + BATTLE(N(Formation_13), N(nok_02), "パタパタ、ノコノコ、トゲクリボー"), + BATTLE(N(Formation_14), N(nok_02), "パタパタ、ノコノコ、トゲクリボーx2"), + BATTLE(N(Formation_15), N(nok_02), "チョロボン"), + BATTLE(N(Formation_16), N(nok_02), "チョロボンx2"), + BATTLE(N(Formation_17), N(nok_02), "チョロボンx4"), + BATTLE(N(Formation_18), N(nok_02), "ゼニノコー"), {}, }; StageList N(Stages) = { - { "nok_01", &N(nok_01) }, - { "nok_02", &N(nok_02) }, - { "nok_03", &N(nok_03) }, - { "nok_04", &N(nok_04) }, + STAGE("nok_01", N(nok_01)), + STAGE("nok_02", N(nok_02)), + STAGE("nok_03", N(nok_03)), + STAGE("nok_04", N(nok_04)), {}, }; diff --git a/src/battle/area/omo/actor/anti_guy.c b/src/battle/area/omo/actor/anti_guy.c index cd8f2fd3bf..7a0bd26dcf 100644 --- a/src/battle/area/omo/actor/anti_guy.c +++ b/src/battle/area/omo/actor/anti_guy.c @@ -11,44 +11,44 @@ extern EvtScript N(takeTurn_802233AC); extern EvtScript N(idle_80221AAC); extern EvtScript N(handleEvent_80221C20); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_80221910)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8022191C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 60, - STATUS_SHRINK, 50, - STATUS_STOP, 50, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 60, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 50, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -enum PartIDs { - PT_MAIN = 1, -}; - -ActorPartBlueprint N(PartsTable_802219C8)[] = { +ActorPartBlueprint N(ActorParts_802219C8)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = PT_MAIN, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -65,8 +65,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_ANTI_GUY, .level = 42, .maxHP = 50, - .partCount = ARRAY_COUNT( N(PartsTable_802219C8)), - .partsData = N(PartsTable_802219C8), + .partCount = ARRAY_COUNT( N(ActorParts_802219C8)), + .partsData = N(ActorParts_802219C8), .initScript = &N(init_80221A60), .statusTable = N(StatusTable_8022191C), .escapeChance = 50, @@ -78,21 +78,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_80221A14)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Black_Anim01, - STATUS_STONE, ANIM_ShyGuy_Black_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Black_Anim12, - STATUS_POISON, ANIM_ShyGuy_Black_Anim01, - STATUS_STOP, ANIM_ShyGuy_Black_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Black_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Black_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Black_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Black_Anim13, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Black_Anim01, + STATUS_KEY_STONE, ANIM_ShyGuy_Black_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyGuy_Black_Anim12, + STATUS_KEY_POISON, ANIM_ShyGuy_Black_Anim01, + STATUS_KEY_STOP, ANIM_ShyGuy_Black_Anim00, + STATUS_KEY_STATIC, ANIM_ShyGuy_Black_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyGuy_Black_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyGuy_Black_Anim13, + STATUS_KEY_FEAR, ANIM_ShyGuy_Black_Anim13, STATUS_END, }; @@ -104,19 +104,19 @@ EvtScript N(init_80221A60) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_80221AAC) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -129,7 +129,7 @@ EvtScript N(80221BBC) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Black_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01) EVT_RETURN EVT_END }; @@ -237,7 +237,7 @@ EvtScript N(802220FC) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -254,10 +254,10 @@ EvtScript N(802220FC) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -274,14 +274,14 @@ EvtScript N(802220FC) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Black_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -294,14 +294,14 @@ EvtScript N(802220FC) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim05) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) @@ -314,7 +314,7 @@ EvtScript N(802220FC) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(80221BBC)) @@ -333,9 +333,9 @@ EvtScript N(80222824) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -345,7 +345,7 @@ EvtScript N(80222824) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_SUB(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -356,10 +356,10 @@ EvtScript N(80222824) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -371,7 +371,7 @@ EvtScript N(80222824) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -385,24 +385,24 @@ EvtScript N(80222824) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Black_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -444,9 +444,9 @@ EvtScript N(80222824) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349 | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim07) EVT_WAIT(15) EVT_GOTO(2) EVT_LABEL(1) @@ -457,18 +457,18 @@ EvtScript N(80222824) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim10) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim11) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim13) EVT_END_IF EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_LABEL(2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -476,7 +476,7 @@ EvtScript N(80222824) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Black_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Black_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Black_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/omo/actor/blue_shy_guy.c b/src/battle/area/omo/actor/blue_shy_guy.c index 14c835f374..24112c7416 100644 --- a/src/battle/area/omo/actor/blue_shy_guy.c +++ b/src/battle/area/omo/actor/blue_shy_guy.c @@ -11,45 +11,45 @@ extern EvtScript N(takeTurn_8021C7B4); extern EvtScript N(idle_8021AEB4); extern EvtScript N(handleEvent_8021B028); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_8021AD10)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable_8021AD24)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -enum PartIDs { - PT_MAIN = 1, -}; - -ActorPartBlueprint N(PartsTable_8021ADD0)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = PT_MAIN, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -66,8 +66,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SHY_GUY, .level = 14, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_8021ADD0)), - .partsData = N(PartsTable_8021ADD0), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021AE68), .statusTable = N(StatusTable_8021AD24), .escapeChance = 60, @@ -79,21 +79,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 28, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021AE1C)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Blue_Anim01, - STATUS_STONE, ANIM_ShyGuy_Blue_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Blue_Anim12, - STATUS_POISON, ANIM_ShyGuy_Blue_Anim01, - STATUS_STOP, ANIM_ShyGuy_Blue_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Blue_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Blue_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Blue_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Blue_Anim13, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Blue_Anim01, + STATUS_KEY_STONE, ANIM_ShyGuy_Blue_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyGuy_Blue_Anim12, + STATUS_KEY_POISON, ANIM_ShyGuy_Blue_Anim01, + STATUS_KEY_STOP, ANIM_ShyGuy_Blue_Anim00, + STATUS_KEY_STATIC, ANIM_ShyGuy_Blue_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyGuy_Blue_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyGuy_Blue_Anim13, + STATUS_KEY_FEAR, ANIM_ShyGuy_Blue_Anim13, STATUS_END, }; @@ -105,19 +105,19 @@ EvtScript N(init_8021AE68) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_8021AEB4) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -130,7 +130,7 @@ EvtScript N(8021AFC4) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Blue_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim01) EVT_RETURN EVT_END }; @@ -238,7 +238,7 @@ EvtScript N(8021B504) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -255,10 +255,10 @@ EvtScript N(8021B504) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -275,14 +275,14 @@ EvtScript N(8021B504) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Blue_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -295,14 +295,14 @@ EvtScript N(8021B504) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim05) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) @@ -315,7 +315,7 @@ EvtScript N(8021B504) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(8021AFC4)) @@ -334,9 +334,9 @@ EvtScript N(8021BC2C) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim09) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -346,7 +346,7 @@ EvtScript N(8021BC2C) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_SUB(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -357,10 +357,10 @@ EvtScript N(8021BC2C) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim09) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -372,7 +372,7 @@ EvtScript N(8021BC2C) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -386,24 +386,24 @@ EvtScript N(8021BC2C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Blue_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim09) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -445,9 +445,9 @@ EvtScript N(8021BC2C) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349 | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim07) EVT_WAIT(15) EVT_GOTO(2) EVT_LABEL(1) @@ -458,18 +458,18 @@ EvtScript N(8021BC2C) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim10) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim11) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim13) EVT_END_IF EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_LABEL(2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -477,7 +477,7 @@ EvtScript N(8021BC2C) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Blue_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Blue_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Blue_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/omo/actor/green_shy_guy.c b/src/battle/area/omo/actor/green_shy_guy.c index f032d8019c..cff0e6fcc9 100644 --- a/src/battle/area/omo/actor/green_shy_guy.c +++ b/src/battle/area/omo/actor/green_shy_guy.c @@ -11,45 +11,45 @@ extern EvtScript N(takeTurn_802218B4); extern EvtScript N(idle_8021FFB4); extern EvtScript N(handleEvent_80220128); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_8021FE10)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable_8021FE24)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -enum PartIDs { - PT_MAIN = 1, -}; - -ActorPartBlueprint N(PartsTable_8021FED0)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = PT_MAIN, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -66,8 +66,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SHY_GUY, .level = 14, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_8021FED0)), - .partsData = N(PartsTable_8021FED0), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021FF68), .statusTable = N(StatusTable_8021FE24), .escapeChance = 60, @@ -79,21 +79,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 28, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021FF1C)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Green_Anim01, - STATUS_STONE, ANIM_ShyGuy_Green_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Green_Anim12, - STATUS_POISON, ANIM_ShyGuy_Green_Anim01, - STATUS_STOP, ANIM_ShyGuy_Green_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Green_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Green_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Green_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Green_Anim13, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Green_Anim01, + STATUS_KEY_STONE, ANIM_ShyGuy_Green_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyGuy_Green_Anim12, + STATUS_KEY_POISON, ANIM_ShyGuy_Green_Anim01, + STATUS_KEY_STOP, ANIM_ShyGuy_Green_Anim00, + STATUS_KEY_STATIC, ANIM_ShyGuy_Green_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyGuy_Green_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyGuy_Green_Anim13, + STATUS_KEY_FEAR, ANIM_ShyGuy_Green_Anim13, STATUS_END, }; @@ -105,19 +105,19 @@ EvtScript N(init_8021FF68) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_8021FFB4) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -130,7 +130,7 @@ EvtScript N(802200C4) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Green_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim01) EVT_RETURN EVT_END }; @@ -238,7 +238,7 @@ EvtScript N(80220604) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -255,10 +255,10 @@ EvtScript N(80220604) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -275,14 +275,14 @@ EvtScript N(80220604) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Green_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -295,14 +295,14 @@ EvtScript N(80220604) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim05) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) @@ -315,7 +315,7 @@ EvtScript N(80220604) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(802200C4)) @@ -334,9 +334,9 @@ EvtScript N(80220D2C) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim09) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -346,7 +346,7 @@ EvtScript N(80220D2C) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_SUB(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -357,10 +357,10 @@ EvtScript N(80220D2C) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim09) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -372,7 +372,7 @@ EvtScript N(80220D2C) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -386,24 +386,24 @@ EvtScript N(80220D2C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Green_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim09) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -445,9 +445,9 @@ EvtScript N(80220D2C) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349 | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim07) EVT_WAIT(15) EVT_GOTO(2) EVT_LABEL(1) @@ -458,18 +458,18 @@ EvtScript N(80220D2C) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim10) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim11) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim13) EVT_END_IF EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_LABEL(2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -477,7 +477,7 @@ EvtScript N(80220D2C) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Green_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Green_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/omo/actor/groove_guy.c b/src/battle/area/omo/actor/groove_guy.c index b7212f6f8e..48e69c5f68 100644 --- a/src/battle/area/omo/actor/groove_guy.c +++ b/src/battle/area/omo/actor/groove_guy.c @@ -21,60 +21,60 @@ extern Formation N(specialFormation_802273A8); extern Formation N(specialFormation_802273C4); extern Formation N(specialFormation_802273E0); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_802249E0)[] = { - STATUS_NORMAL, ANIM_GrooveGuy_Anim01, - STATUS_STONE, ANIM_GrooveGuy_Anim00, - STATUS_SLEEP, ANIM_GrooveGuy_Anim06, - STATUS_POISON, ANIM_GrooveGuy_Anim01, - STATUS_STOP, ANIM_GrooveGuy_Anim00, - STATUS_STATIC, ANIM_GrooveGuy_Anim01, - STATUS_PARALYZE, ANIM_GrooveGuy_Anim00, - STATUS_DIZZY, ANIM_GrooveGuy_Anim07, - STATUS_FEAR, ANIM_GrooveGuy_Anim07, + STATUS_KEY_NORMAL, ANIM_GrooveGuy_Anim01, + STATUS_KEY_STONE, ANIM_GrooveGuy_Anim00, + STATUS_KEY_SLEEP, ANIM_GrooveGuy_Anim06, + STATUS_KEY_POISON, ANIM_GrooveGuy_Anim01, + STATUS_KEY_STOP, ANIM_GrooveGuy_Anim00, + STATUS_KEY_STATIC, ANIM_GrooveGuy_Anim01, + STATUS_KEY_PARALYZE, ANIM_GrooveGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_GrooveGuy_Anim07, + STATUS_KEY_FEAR, ANIM_GrooveGuy_Anim07, STATUS_END, }; s32 N(DefenseTable_80224A2C)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable_80224A40)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; BSS PlayerStatus D_802310D0; -enum PartIDs { - PT_MAIN = 1, -}; - -ActorPartBlueprint N(PartsTable_80224AEC)[] = { +ActorPartBlueprint N(ActorParts_80224AEC)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = PT_MAIN, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -91,8 +91,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_GROOVE_GUY, .level = 15, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_80224AEC)), - .partsData = N(PartsTable_80224AEC), + .partCount = ARRAY_COUNT( N(ActorParts_80224AEC)), + .partsData = N(ActorParts_80224AEC), .initScript = &N(init_80224B38), .statusTable = N(StatusTable_80224A40), .escapeChance = 50, @@ -104,9 +104,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 2, .size = { 28, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init_80224B38) = { @@ -118,19 +118,19 @@ EvtScript N(init_80224B38) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_80224B9C) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -13, 15, 4, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -13, 15, 4, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, 0, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -143,7 +143,7 @@ EvtScript N(80224CAC) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_GrooveGuy_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim01) EVT_RETURN EVT_END }; @@ -255,7 +255,7 @@ EvtScript N(basicAttack) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -272,7 +272,7 @@ EvtScript N(basicAttack) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim10) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -291,10 +291,10 @@ EvtScript N(basicAttack) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(80224CAC)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -308,7 +308,7 @@ EvtScript N(basicAttack) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim10) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) @@ -328,7 +328,7 @@ EvtScript N(basicAttack) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(80224CAC)) @@ -349,7 +349,7 @@ EvtScript N(sleepySpin) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -358,7 +358,7 @@ EvtScript N(sleepySpin) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E2) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0C) EVT_SET(LVar0, 0) EVT_LOOP(30) EVT_ADD(LVar0, 48) @@ -371,7 +371,7 @@ EvtScript N(sleepySpin) = { EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0B) EVT_WAIT(20) EVT_IF_EQ(LVar0, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -386,7 +386,7 @@ EvtScript N(sleepySpin) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 2, 50), 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 2, 50), 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -404,7 +404,7 @@ EvtScript N(sleepySpin) = { EVT_END_THREAD EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E3) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0B) EVT_SET(LVar0, 0) EVT_LOOP(15) EVT_ADD(LVar0, 24) @@ -413,7 +413,7 @@ EvtScript N(sleepySpin) = { EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0C) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E4) EVT_THREAD @@ -432,7 +432,7 @@ EvtScript N(sleepySpin) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0A) EVT_WAIT(25) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -501,7 +501,7 @@ EvtScript N(countActiveSummoners) = { EVT_SWITCH(LVar2) EVT_CASE_EQ(ACTOR_TYPE_GROOVE_GUY) EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, LVar0, 0, LVar3) EVT_IF_NE(LVar3, 2) EVT_ADD(LVar9, 1) @@ -596,7 +596,7 @@ EvtScript N(randomSummon) = { EVT_EXEC_WAIT(N(802271A0)) EVT_END_SWITCH EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, PT_MAIN, EVT_PTR(N(IdleAnimations_802249E0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802249E0))) EVT_RETURN EVT_END }; @@ -626,55 +626,55 @@ EvtScript N(8022671C) = { EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0C) EVT_WAIT(4) EVT_THREAD EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0B) EVT_WAIT(4) EVT_THREAD EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0C) EVT_WAIT(4) EVT_THREAD EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0D) EVT_WAIT(4) EVT_THREAD EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0C) EVT_WAIT(4) EVT_THREAD EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0B) EVT_WAIT(4) EVT_THREAD EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0C) EVT_WAIT(4) EVT_THREAD EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0D) EVT_WAIT(4) EVT_THREAD EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0C) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) EVT_SETF(LVar3, EVT_FLOAT(1.0)) @@ -698,7 +698,7 @@ EvtScript N(8022671C) = { EVT_ADD(LVar1, 30) EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, LVar0, LVar1, LVar2, 30, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_GrooveGuy_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GrooveGuy_Anim0A) EVT_WAIT(8) EVT_RETURN EVT_END @@ -714,7 +714,7 @@ EvtScript N(80226C00) = { EVT_SET(LVar1, 0) EVT_SET(LVar2, 0) EVT_CALL(SetActorPos, LVarB, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, LVarB, PT_MAIN, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, LVarB, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(SetGoalToIndex, LVarB, LVarA) @@ -722,7 +722,7 @@ EvtScript N(80226C00) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, LVarB, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, LVarB, 0, FALSE) - EVT_CALL(SetAnimation, LVarB, PT_MAIN, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, LVarB, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, LVarB, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, LVarB) @@ -740,7 +740,7 @@ EvtScript N(80226DEC) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_802273C4)), 0) EVT_SET(LVarB, LVar0) - EVT_CALL(SetAnimation, LVarB, PT_MAIN, ANIM_GrooveGuy_Anim0C) + EVT_CALL(SetAnimation, LVarB, PRT_MAIN, ANIM_GrooveGuy_Anim0C) EVT_CALL(SetGoalToIndex, LVarB, LVarA) EVT_CALL(GetGoalPos, LVarB, LVar3, LVar4, LVar5) EVT_ADD(LVar3, 200) @@ -765,14 +765,14 @@ EvtScript N(80226DEC) = { EVT_CALL(SetActorSpeed, LVarB, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, LVarB, 0, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F3) - EVT_CALL(SetAnimation, LVarB, PT_MAIN, ANIM_GrooveGuy_Anim0A) + EVT_CALL(SetAnimation, LVarB, PRT_MAIN, ANIM_GrooveGuy_Anim0A) EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, LVarB, LVar0, LVar1, LVar2) EVT_WAIT(25) - EVT_CALL(SetAnimation, LVarB, PT_MAIN, ANIM_GrooveGuy_Anim01) + EVT_CALL(SetAnimation, LVarB, PRT_MAIN, ANIM_GrooveGuy_Anim01) EVT_CALL(HPBarToHome, LVarB) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -793,7 +793,7 @@ EvtScript N(802271A0) = { EVT_EXEC_WAIT(N(8022671C)) EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_802273E0)), 0) EVT_SET(LVarB, LVar0) - EVT_CALL(SetAnimation, LVarB, PT_MAIN, ANIM_MediGuy_Anim05) + EVT_CALL(SetAnimation, LVarB, PRT_MAIN, ANIM_MediGuy_Anim05) EVT_ADD(LVarA, 4) EVT_CALL(SetGoalToIndex, LVarB, LVarA) EVT_CALL(GetGoalPos, LVarB, LVar3, LVar4, LVar5) @@ -806,7 +806,7 @@ EvtScript N(802271A0) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(SetActorSpeed, LVarB, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, LVarB, 0, FALSE) - EVT_CALL(SetAnimation, LVarB, PT_MAIN, ANIM_MediGuy_Anim01) + EVT_CALL(SetAnimation, LVarB, PRT_MAIN, ANIM_MediGuy_Anim01) EVT_CALL(GetActorPos, LVarB, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, LVarB, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, LVarB) @@ -822,13 +822,13 @@ extern ActorBlueprint A(medi_guy); Vec3i N(vector3D_8022739C) = { 0, 0xFFFFFC18, 0 }; Formation N(specialFormation_802273A8) = { - { .actor = &A(red_shy_guy), .home = { .vec = &N(vector3D_8022739C) }, .priority = 100 }, + ACTOR_BY_POS(A(red_shy_guy), N(vector3D_8022739C), 100), }; Formation N(specialFormation_802273C4) = { - { .actor = &NAMESPACE, .home = { .vec = &N(vector3D_8022739C) }, .priority = 100 }, + ACTOR_BY_POS(NAMESPACE, N(vector3D_8022739C), 100), }; Formation N(specialFormation_802273E0) = { - { .actor = &A(medi_guy), .home = { .vec = &N(vector3D_8022739C) }, .priority = 100 }, + ACTOR_BY_POS(A(medi_guy), N(vector3D_8022739C), 100), }; diff --git a/src/battle/area/omo/actor/pink_shy_guy.c b/src/battle/area/omo/actor/pink_shy_guy.c index da26fd8965..669e33aff8 100644 --- a/src/battle/area/omo/actor/pink_shy_guy.c +++ b/src/battle/area/omo/actor/pink_shy_guy.c @@ -11,45 +11,45 @@ extern EvtScript N(takeTurn_8021FDB4); extern EvtScript N(idle_8021E4B4); extern EvtScript N(handleEvent_8021E628); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_8021E310)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable_8021E324)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -enum PartIDs { - PT_MAIN = 1, -}; - -ActorPartBlueprint N(PartsTable_8021E3D0)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = PT_MAIN, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -66,8 +66,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SHY_GUY, .level = 14, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_8021E3D0)), - .partsData = N(PartsTable_8021E3D0), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021E468), .statusTable = N(StatusTable_8021E324), .escapeChance = 60, @@ -79,21 +79,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 28, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021E41C)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Pink_Anim01, - STATUS_STONE, ANIM_ShyGuy_Pink_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Pink_Anim12, - STATUS_POISON, ANIM_ShyGuy_Pink_Anim01, - STATUS_STOP, ANIM_ShyGuy_Pink_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Pink_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Pink_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Pink_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Pink_Anim13, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Pink_Anim01, + STATUS_KEY_STONE, ANIM_ShyGuy_Pink_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyGuy_Pink_Anim12, + STATUS_KEY_POISON, ANIM_ShyGuy_Pink_Anim01, + STATUS_KEY_STOP, ANIM_ShyGuy_Pink_Anim00, + STATUS_KEY_STATIC, ANIM_ShyGuy_Pink_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyGuy_Pink_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyGuy_Pink_Anim13, + STATUS_KEY_FEAR, ANIM_ShyGuy_Pink_Anim13, STATUS_END, }; @@ -105,19 +105,19 @@ EvtScript N(init_8021E468) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_8021E4B4) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -130,7 +130,7 @@ EvtScript N(8021E5C4) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Pink_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim01) EVT_RETURN EVT_END }; @@ -238,7 +238,7 @@ EvtScript N(8021EB04) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -255,10 +255,10 @@ EvtScript N(8021EB04) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -275,14 +275,14 @@ EvtScript N(8021EB04) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Pink_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -295,14 +295,14 @@ EvtScript N(8021EB04) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim05) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) @@ -315,7 +315,7 @@ EvtScript N(8021EB04) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(8021E5C4)) @@ -334,9 +334,9 @@ EvtScript N(8021F22C) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim09) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -346,7 +346,7 @@ EvtScript N(8021F22C) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_SUB(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -357,10 +357,10 @@ EvtScript N(8021F22C) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim09) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -372,7 +372,7 @@ EvtScript N(8021F22C) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -386,24 +386,24 @@ EvtScript N(8021F22C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Pink_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim09) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -445,9 +445,9 @@ EvtScript N(8021F22C) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349 | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim07) EVT_WAIT(15) EVT_GOTO(2) EVT_LABEL(1) @@ -458,18 +458,18 @@ EvtScript N(8021F22C) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim10) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim11) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim13) EVT_END_IF EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_LABEL(2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -477,7 +477,7 @@ EvtScript N(8021F22C) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Pink_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Pink_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Pink_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/omo/actor/pyro_guy.c b/src/battle/area/omo/actor/pyro_guy.c index e989e8c2f2..17d3b02084 100644 --- a/src/battle/area/omo/actor/pyro_guy.c +++ b/src/battle/area/omo/actor/pyro_guy.c @@ -11,63 +11,63 @@ extern EvtScript N(takeTurn_8022D344); extern EvtScript N(idle_8022CCCC); extern EvtScript N(handleEvent_8022CE60); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_8022CB00)[] = { - STATUS_NORMAL, ANIM_PyroGuy_Anim01, - STATUS_STONE, ANIM_PyroGuy_Anim00, - STATUS_SLEEP, ANIM_PyroGuy_Anim07, - STATUS_POISON, ANIM_PyroGuy_Anim01, - STATUS_STOP, ANIM_PyroGuy_Anim00, - STATUS_STATIC, ANIM_PyroGuy_Anim01, - STATUS_PARALYZE, ANIM_PyroGuy_Anim00, - STATUS_DIZZY, ANIM_PyroGuy_Anim08, - STATUS_FEAR, ANIM_PyroGuy_Anim08, + STATUS_KEY_NORMAL, ANIM_PyroGuy_Anim01, + STATUS_KEY_STONE, ANIM_PyroGuy_Anim00, + STATUS_KEY_SLEEP, ANIM_PyroGuy_Anim07, + STATUS_KEY_POISON, ANIM_PyroGuy_Anim01, + STATUS_KEY_STOP, ANIM_PyroGuy_Anim00, + STATUS_KEY_STATIC, ANIM_PyroGuy_Anim01, + STATUS_KEY_PARALYZE, ANIM_PyroGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_PyroGuy_Anim08, + STATUS_KEY_FEAR, ANIM_PyroGuy_Anim08, STATUS_END, }; s32 N(DefenseTable_8022CB4C)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, -2, - ELEMENT_ICE, -2, - ELEMENT_FIRE, 99, - ELEMENT_SHOCK, 0, - ELEMENT_SMASH, 0, - ELEMENT_BLAST, -1, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, -2, + ELEMENT_ICE, -2, + ELEMENT_FIRE, 99, + ELEMENT_SHOCK, 0, + ELEMENT_SMASH, 0, + ELEMENT_BLAST, -1, ELEMENT_END, }; s32 N(StatusTable_8022CB88)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 80, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -enum PartIDs { - PT_MAIN = 1, -}; - -ActorPartBlueprint N(PartsTable_8022CC34)[] = { +ActorPartBlueprint N(ActorParts_8022CC34)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = PT_MAIN, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -84,8 +84,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_PYRO_GUY, .level = 15, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_8022CC34)), - .partsData = N(PartsTable_8022CC34), + .partCount = ARRAY_COUNT( N(ActorParts_8022CC34)), + .partsData = N(ActorParts_8022CC34), .initScript = &N(init_8022CC80), .statusTable = N(StatusTable_8022CB88), .escapeChance = 60, @@ -97,9 +97,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 1, .size = { 28, 36 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init_8022CC80) = { @@ -110,19 +110,19 @@ EvtScript N(init_8022CC80) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_8022CCCC) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -243,7 +243,7 @@ EvtScript N(takeTurn_8022D344) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_PyroGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_PyroGuy_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -253,7 +253,7 @@ EvtScript N(takeTurn_8022D344) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_PyroGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_PyroGuy_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -267,7 +267,7 @@ EvtScript N(takeTurn_8022D344) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_2EF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_PyroGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_PyroGuy_Anim05) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -287,17 +287,17 @@ EvtScript N(takeTurn_8022D344) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_EXEC_WAIT(N(8022CDDC)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2EF) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_PyroGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_PyroGuy_Anim05) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) @@ -318,7 +318,7 @@ EvtScript N(takeTurn_8022D344) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_PyroGuy_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_PyroGuy_Anim01) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) diff --git a/src/battle/area/omo/actor/sky_guy.c b/src/battle/area/omo/actor/sky_guy.c index b7fca06a54..4d39454bc5 100644 --- a/src/battle/area/omo/actor/sky_guy.c +++ b/src/battle/area/omo/actor/sky_guy.c @@ -16,138 +16,138 @@ extern EvtScript N(idle_8022B19C); extern EvtScript N(handleEvent_8022A398); extern EvtScript N(handleEvent_8022B310); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, +}; + s32 N(IdleAnimations_802294C0)[] = { - STATUS_NORMAL, ANIM_SkyGuy_Anim01, - STATUS_STONE, ANIM_SkyGuy_Anim00, - STATUS_SLEEP, ANIM_SkyGuy_Anim04, - STATUS_POISON, ANIM_SkyGuy_Anim01, - STATUS_STOP, ANIM_SkyGuy_Anim00, - STATUS_STATIC, ANIM_SkyGuy_Anim01, - STATUS_PARALYZE, ANIM_SkyGuy_Anim00, - STATUS_DIZZY, ANIM_SkyGuy_Anim05, - STATUS_FEAR, ANIM_SkyGuy_Anim05, + STATUS_KEY_NORMAL, ANIM_SkyGuy_Anim01, + STATUS_KEY_STONE, ANIM_SkyGuy_Anim00, + STATUS_KEY_SLEEP, ANIM_SkyGuy_Anim04, + STATUS_KEY_POISON, ANIM_SkyGuy_Anim01, + STATUS_KEY_STOP, ANIM_SkyGuy_Anim00, + STATUS_KEY_STATIC, ANIM_SkyGuy_Anim01, + STATUS_KEY_PARALYZE, ANIM_SkyGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_SkyGuy_Anim05, + STATUS_KEY_FEAR, ANIM_SkyGuy_Anim05, STATUS_END, }; s32 N(IdleAnimations_8022950C)[] = { - STATUS_NORMAL, ANIM_SkyGuy_Anim10, - STATUS_STONE, ANIM_SkyGuy_Anim0D, - STATUS_SLEEP, ANIM_SkyGuy_Anim19, - STATUS_POISON, ANIM_SkyGuy_Anim10, - STATUS_STOP, ANIM_SkyGuy_Anim0D, - STATUS_STATIC, ANIM_SkyGuy_Anim10, - STATUS_PARALYZE, ANIM_SkyGuy_Anim0D, - STATUS_DIZZY, ANIM_SkyGuy_Anim10, - STATUS_FEAR, ANIM_SkyGuy_Anim10, + STATUS_KEY_NORMAL, ANIM_SkyGuy_Anim10, + STATUS_KEY_STONE, ANIM_SkyGuy_Anim0D, + STATUS_KEY_SLEEP, ANIM_SkyGuy_Anim19, + STATUS_KEY_POISON, ANIM_SkyGuy_Anim10, + STATUS_KEY_STOP, ANIM_SkyGuy_Anim0D, + STATUS_KEY_STATIC, ANIM_SkyGuy_Anim10, + STATUS_KEY_PARALYZE, ANIM_SkyGuy_Anim0D, + STATUS_KEY_DIZZY, ANIM_SkyGuy_Anim10, + STATUS_KEY_FEAR, ANIM_SkyGuy_Anim10, STATUS_END, }; s32 N(IdleAnimations_80229558)[] = { - STATUS_NORMAL, ANIM_SkyGuy_Anim0F, - STATUS_STONE, ANIM_SkyGuy_Anim0C, - STATUS_SLEEP, ANIM_SkyGuy_Anim18, - STATUS_POISON, ANIM_SkyGuy_Anim0F, - STATUS_STOP, ANIM_SkyGuy_Anim0C, - STATUS_STATIC, ANIM_SkyGuy_Anim0F, - STATUS_PARALYZE, ANIM_SkyGuy_Anim0C, - STATUS_DIZZY, ANIM_SkyGuy_Anim0F, - STATUS_FEAR, ANIM_SkyGuy_Anim0F, + STATUS_KEY_NORMAL, ANIM_SkyGuy_Anim0F, + STATUS_KEY_STONE, ANIM_SkyGuy_Anim0C, + STATUS_KEY_SLEEP, ANIM_SkyGuy_Anim18, + STATUS_KEY_POISON, ANIM_SkyGuy_Anim0F, + STATUS_KEY_STOP, ANIM_SkyGuy_Anim0C, + STATUS_KEY_STATIC, ANIM_SkyGuy_Anim0F, + STATUS_KEY_PARALYZE, ANIM_SkyGuy_Anim0C, + STATUS_KEY_DIZZY, ANIM_SkyGuy_Anim0F, + STATUS_KEY_FEAR, ANIM_SkyGuy_Anim0F, STATUS_END, }; s32 N(IdleAnimations_802295A4)[] = { - STATUS_NORMAL, ANIM_SkyGuy_Anim11, - STATUS_STONE, ANIM_SkyGuy_Anim0E, - STATUS_SLEEP, ANIM_SkyGuy_Anim1A, - STATUS_POISON, ANIM_SkyGuy_Anim11, - STATUS_STOP, ANIM_SkyGuy_Anim0E, - STATUS_STATIC, ANIM_SkyGuy_Anim11, - STATUS_PARALYZE, ANIM_SkyGuy_Anim0E, - STATUS_DIZZY, ANIM_SkyGuy_Anim11, - STATUS_FEAR, ANIM_SkyGuy_Anim11, + STATUS_KEY_NORMAL, ANIM_SkyGuy_Anim11, + STATUS_KEY_STONE, ANIM_SkyGuy_Anim0E, + STATUS_KEY_SLEEP, ANIM_SkyGuy_Anim1A, + STATUS_KEY_POISON, ANIM_SkyGuy_Anim11, + STATUS_KEY_STOP, ANIM_SkyGuy_Anim0E, + STATUS_KEY_STATIC, ANIM_SkyGuy_Anim11, + STATUS_KEY_PARALYZE, ANIM_SkyGuy_Anim0E, + STATUS_KEY_DIZZY, ANIM_SkyGuy_Anim11, + STATUS_KEY_FEAR, ANIM_SkyGuy_Anim11, STATUS_END, }; s32 N(IdleAnimations_802295F0)[] = { - STATUS_NORMAL, ANIM_SkyGuy_Anim0B, + STATUS_KEY_NORMAL, ANIM_SkyGuy_Anim0B, STATUS_END, }; s32 N(DefenseTable_802295FC)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(DefenseTable_80229610)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable_80229624)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(StatusTable_802296D0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -enum PartIDs { - PT_MAIN = 1, - PT_2 = 2, - PT_3 = 3, - PT_4 = 4, - PT_5 = 5, - PT_6 = 6, -}; - -ActorPartBlueprint N(PartsTable_8022977C)[] = { +ActorPartBlueprint N(ActorParts_8022977C)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = PT_MAIN, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 32 }, .opacity = 255, @@ -159,7 +159,7 @@ ActorPartBlueprint N(PartsTable_8022977C)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = PT_2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -171,7 +171,7 @@ ActorPartBlueprint N(PartsTable_8022977C)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = PT_3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 50 }, .opacity = 255, @@ -184,7 +184,7 @@ ActorPartBlueprint N(PartsTable_8022977C)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = PT_4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -196,7 +196,7 @@ ActorPartBlueprint N(PartsTable_8022977C)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = PT_5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -208,7 +208,7 @@ ActorPartBlueprint N(PartsTable_8022977C)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = PT_6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -225,8 +225,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SKY_GUY, .level = 14, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_8022977C)), - .partsData = N(PartsTable_8022977C), + .partCount = ARRAY_COUNT( N(ActorParts_8022977C)), + .partsData = N(ActorParts_8022977C), .initScript = &N(init_8022987C), .statusTable = N(StatusTable_80229624), .escapeChance = 50, @@ -238,9 +238,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 1, .size = { 28, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init_8022987C) = { @@ -249,17 +249,17 @@ EvtScript N(init_8022987C) = { EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8022A398))) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, PT_3, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, PT_4, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, PT_5, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_5, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 5) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PT_3, ACTOR_PART_TARGET_FLAG_4, TRUE) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_TARGET_FLAG_4, TRUE) EVT_RETURN EVT_END }; @@ -284,9 +284,9 @@ EvtScript N(80229A34) = { EVT_ADD(LVar7, 28) EVT_PLAY_EFFECT(EFFECT_BALLOON, 1, LVar7, LVar8, LVar9, EVT_FLOAT(1.0), 150, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_5, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_END_IF EVT_RETURN @@ -294,10 +294,10 @@ EvtScript N(80229A34) = { }; EvtScript N(80229C40) = { - EVT_CALL(SetAnimation, ACTOR_SELF, PT_2, ANIM_SkyGuy_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_3, ANIM_SkyGuy_Anim13) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_4, ANIM_SkyGuy_Anim12) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_5, ANIM_SkyGuy_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SkyGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_SkyGuy_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_4, ANIM_SkyGuy_Anim12) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_SkyGuy_Anim14) EVT_RETURN EVT_END }; @@ -309,9 +309,9 @@ EvtScript N(80229CB0) = { EVT_DIVF(LVar0, EVT_FLOAT(100.0)) EVT_SETF(LVar2, EVT_FLOAT(2.0)) EVT_SUBF(LVar2, LVar0) - EVT_CALL(SetPartScale, ACTOR_SELF, PT_3, LVar2, LVar0, EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, PT_4, LVar2, LVar0, EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, PT_5, LVar2, LVar0, EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, LVar2, LVar0, EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_4, LVar2, LVar0, EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_5, LVar2, LVar0, EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_IF_EQ(LVar1, 1) EVT_GOTO(0) @@ -322,16 +322,16 @@ EvtScript N(80229CB0) = { EVT_DIVF(LVar0, EVT_FLOAT(100.0)) EVT_SETF(LVar2, EVT_FLOAT(2.0)) EVT_SUBF(LVar2, LVar0) - EVT_CALL(SetPartScale, ACTOR_SELF, PT_3, LVar2, LVar0, EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, PT_4, LVar2, LVar0, EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, PT_5, LVar2, LVar0, EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, LVar2, LVar0, EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_4, LVar2, LVar0, EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_5, LVar2, LVar0, EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_IF_EQ(LVar1, 1) EVT_GOTO(1) EVT_END_IF - EVT_CALL(SetPartScale, ACTOR_SELF, PT_3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, PT_4, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, PT_5, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_4, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_5, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_RETURN EVT_END }; @@ -342,28 +342,28 @@ EvtScript N(80229F08) = { EVT_CALL(GetLastElement, LVar0) EVT_SET(LVar0, 65536) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_BLAST | DAMAGE_TYPE_4000 | DAMAGE_TYPE_SPINY_SURGE) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_THREAD EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E1) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_3, ANIM_SkyGuy_Anim2E) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_4, ANIM_SkyGuy_Anim2D) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_5, ANIM_SkyGuy_Anim2F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_SkyGuy_Anim2E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_4, ANIM_SkyGuy_Anim2D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_SkyGuy_Anim2F) EVT_WAIT(30) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_5, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 2) EVT_WAIT(15) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_2, ANIM_SkyGuy_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SkyGuy_Anim00) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_263) EVT_PLAY_EFFECT(EFFECT_EMOTE, 2, 0, LVar0, LVar1, LVar2, 24, 0, 25, 0, 0) EVT_WAIT(25) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_2, ANIM_SkyGuy_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SkyGuy_Anim06) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_2, ANIM_SkyGuy_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SkyGuy_Anim06) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -377,9 +377,9 @@ EvtScript N(80229F08) = { EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) - EVT_CALL(SetPartFlags, ACTOR_SELF, PT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim12) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim12) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 3, LVar0, LVar1, LVar2, 0, 0) EVT_WAIT(40) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) @@ -468,11 +468,11 @@ EvtScript N(handleEvent_8022A398) = { EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_2, ANIM_SkyGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SkyGuy_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_2, ANIM_SkyGuy_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SkyGuy_Anim01) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) @@ -480,12 +480,12 @@ EvtScript N(handleEvent_8022A398) = { EVT_SET_CONST(LVar1, ANIM_SkyGuy_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_4, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_5, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_3, ANIM_SkyGuy_Anim1F) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_4, ANIM_SkyGuy_Anim1E) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_5, ANIM_SkyGuy_Anim20) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_SkyGuy_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_4, ANIM_SkyGuy_Anim1E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_SkyGuy_Anim20) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_SkyGuy_Anim03) EVT_SET_CONST(LVar2, ANIM_SkyGuy_Anim06) @@ -519,17 +519,17 @@ EvtScript N(takeTurn_8022A9D0) = { EVT_CALL(MoveBattleCamOver, 1) EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E7) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_2, ANIM_SkyGuy_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SkyGuy_Anim08) EVT_WAIT(12) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_ADD(LVar2, 2) - EVT_CALL(SetPartPos, ACTOR_SELF, PT_6, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_6, ANIM_SkyGuy_Anim0B) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_SkyGuy_Anim0B) EVT_WAIT(12) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E8) - EVT_CALL(SetPartSounds, ACTOR_SELF, PT_6, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_6, ACTOR_SOUND_JUMP, 0, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_EQ(HIT_RESULT_MISS) @@ -538,10 +538,10 @@ EvtScript N(takeTurn_8022A9D0) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 120) EVT_SET(LVar1, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PT_6, EVT_FLOAT(12.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PT_6, EVT_FLOAT(0.1)) - EVT_CALL(JumpPartTo, ACTOR_SELF, PT_6, LVar0, LVar1, LVar2, 0, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(12.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_EXEC_WAIT(N(80229C40)) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -552,18 +552,18 @@ EvtScript N(takeTurn_8022A9D0) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 50) EVT_SET(LVar1, -5) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PT_6, EVT_FLOAT(14.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PT_6, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, PT_6, LVar0, LVar1, LVar2, 0, 30, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_2, ANIM_SkyGuy_Anim07) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(14.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 30, EASING_LINEAR) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_SkyGuy_Anim07) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 65) EVT_SET(LVar1, -5) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PT_6, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PT_6, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, PT_6, LVar0, LVar1, LVar2, 0, 15, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 15, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_EXEC_WAIT(N(80229C40)) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -572,9 +572,9 @@ EvtScript N(takeTurn_8022A9D0) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PT_6, EVT_FLOAT(14.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PT_6, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, PT_6, LVar0, LVar1, LVar2, 0, 15, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(14.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 15, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) @@ -583,13 +583,13 @@ EvtScript N(takeTurn_8022A9D0) = { EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) EVT_SET(LVar1, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PT_6, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PT_6, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, PT_6, LVar0, LVar1, LVar2, 0, 25, EASING_LINEAR) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PT_6, EVT_FLOAT(4.0)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 25, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(4.0)) EVT_SUB(LVar0, 20) - EVT_CALL(FlyPartTo, ACTOR_SELF, PT_6, LVar0, LVar1, LVar2, 0, 21, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 21, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_EXEC_WAIT(N(80229C40)) @@ -600,15 +600,15 @@ EvtScript N(takeTurn_8022A9D0) = { }; s32 N(IdleAnimations_8022B104)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Red_Anim01, - STATUS_STONE, ANIM_ShyGuy_Red_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Red_Anim12, - STATUS_POISON, ANIM_ShyGuy_Red_Anim01, - STATUS_STOP, ANIM_ShyGuy_Red_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Red_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Red_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Red_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Red_Anim13, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_STONE, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyGuy_Red_Anim12, + STATUS_KEY_POISON, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_STOP, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_STATIC, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyGuy_Red_Anim13, + STATUS_KEY_FEAR, ANIM_ShyGuy_Red_Anim13, STATUS_END, }; @@ -620,19 +620,19 @@ EvtScript N(8022B150) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_8022B19C) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -645,7 +645,7 @@ EvtScript N(8022B2AC) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_RETURN EVT_END }; @@ -753,7 +753,7 @@ EvtScript N(8022B7EC) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -770,10 +770,10 @@ EvtScript N(8022B7EC) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -790,14 +790,14 @@ EvtScript N(8022B7EC) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -810,14 +810,14 @@ EvtScript N(8022B7EC) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) @@ -830,7 +830,7 @@ EvtScript N(8022B7EC) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(8022B2AC)) @@ -849,9 +849,9 @@ EvtScript N(8022BF14) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -861,7 +861,7 @@ EvtScript N(8022BF14) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_SUB(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -872,10 +872,10 @@ EvtScript N(8022BF14) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -887,7 +887,7 @@ EvtScript N(8022BF14) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -901,24 +901,24 @@ EvtScript N(8022BF14) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -960,9 +960,9 @@ EvtScript N(8022BF14) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349 | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim07) EVT_WAIT(15) EVT_GOTO(2) EVT_LABEL(1) @@ -973,18 +973,18 @@ EvtScript N(8022BF14) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim10) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim11) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim13) EVT_END_IF EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_LABEL(2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -992,7 +992,7 @@ EvtScript N(8022BF14) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/omo/actor/spy_guy.c b/src/battle/area/omo/actor/spy_guy.c index eb7143e0d0..9e176c2325 100644 --- a/src/battle/area/omo/actor/spy_guy.c +++ b/src/battle/area/omo/actor/spy_guy.c @@ -11,77 +11,77 @@ extern EvtScript N(takeTurn_802293DC); extern EvtScript N(idle_802276C4); extern EvtScript N(handleEvent_80227ABC); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations_80227400)[] = { - STATUS_NORMAL, ANIM_SpyGuy_Anim03, - STATUS_STONE, ANIM_SpyGuy_Anim01, - STATUS_SLEEP, ANIM_SpyGuy_Anim0F, - STATUS_POISON, ANIM_SpyGuy_Anim03, - STATUS_STOP, ANIM_SpyGuy_Anim01, - STATUS_STATIC, ANIM_SpyGuy_Anim03, - STATUS_PARALYZE, ANIM_SpyGuy_Anim01, - STATUS_DIZZY, ANIM_SpyGuy_Anim12, - STATUS_FEAR, ANIM_SpyGuy_Anim12, + STATUS_KEY_NORMAL, ANIM_SpyGuy_Anim03, + STATUS_KEY_STONE, ANIM_SpyGuy_Anim01, + STATUS_KEY_SLEEP, ANIM_SpyGuy_Anim0F, + STATUS_KEY_POISON, ANIM_SpyGuy_Anim03, + STATUS_KEY_STOP, ANIM_SpyGuy_Anim01, + STATUS_KEY_STATIC, ANIM_SpyGuy_Anim03, + STATUS_KEY_PARALYZE, ANIM_SpyGuy_Anim01, + STATUS_KEY_DIZZY, ANIM_SpyGuy_Anim12, + STATUS_KEY_FEAR, ANIM_SpyGuy_Anim12, STATUS_END, }; s32 N(IdleAnimations_8022744C)[] = { - STATUS_NORMAL, ANIM_SpyGuy_Anim02, - STATUS_STONE, ANIM_SpyGuy_Anim00, - STATUS_SLEEP, ANIM_SpyGuy_Anim0F, - STATUS_POISON, ANIM_SpyGuy_Anim02, - STATUS_STOP, ANIM_SpyGuy_Anim00, - STATUS_STATIC, ANIM_SpyGuy_Anim02, - STATUS_PARALYZE, ANIM_SpyGuy_Anim00, - STATUS_DIZZY, ANIM_SpyGuy_Anim12, - STATUS_FEAR, ANIM_SpyGuy_Anim12, + STATUS_KEY_NORMAL, ANIM_SpyGuy_Anim02, + STATUS_KEY_STONE, ANIM_SpyGuy_Anim00, + STATUS_KEY_SLEEP, ANIM_SpyGuy_Anim0F, + STATUS_KEY_POISON, ANIM_SpyGuy_Anim02, + STATUS_KEY_STOP, ANIM_SpyGuy_Anim00, + STATUS_KEY_STATIC, ANIM_SpyGuy_Anim02, + STATUS_KEY_PARALYZE, ANIM_SpyGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_SpyGuy_Anim12, + STATUS_KEY_FEAR, ANIM_SpyGuy_Anim12, STATUS_END, }; s32 N(IdleAnimations_80227498)[] = { - STATUS_NORMAL, ANIM_SpyGuy_Anim10, + STATUS_KEY_NORMAL, ANIM_SpyGuy_Anim10, STATUS_END, }; s32 N(DefenseTable_802274A4)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable_802274B8)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 80, - STATUS_FEAR, 100, - STATUS_STATIC, 0, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -enum PartIDs { - PT_MAIN = 1, - PT_2 = 2, -}; - -ActorPartBlueprint N(PartsTable_80227564)[] = { +ActorPartBlueprint N(ActorParts_80227564)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = PT_MAIN, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, .opacity = 255, @@ -93,7 +93,7 @@ ActorPartBlueprint N(PartsTable_80227564)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = PT_2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -110,8 +110,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SPY_GUY, .level = 15, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_80227564)), - .partsData = N(PartsTable_80227564), + .partCount = ARRAY_COUNT( N(ActorParts_80227564)), + .partsData = N(ActorParts_80227564), .initScript = &N(init_802275D4), .statusTable = N(StatusTable_802274B8), .escapeChance = 50, @@ -123,9 +123,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 1, .size = { 32, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init_802275D4) = { @@ -137,8 +137,8 @@ EvtScript N(init_802275D4) = { EVT_CALL(GetInstigatorValue, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, PT_MAIN, EVT_PTR(N(IdleAnimations_8022744C))) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim02) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022744C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim02) EVT_END_IF EVT_RETURN EVT_END @@ -160,16 +160,16 @@ EvtScript N(802276D4) = { EVT_RETURN EVT_END_IF EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetActorVar, ACTOR_SELF, 3, 0) EVT_RETURN EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim02) EVT_CASE_EQ(1) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim03) EVT_END_SWITCH EVT_LABEL(0) EVT_CALL(GetBattleFlags, LVar0) @@ -181,26 +181,26 @@ EvtScript N(802276D4) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, PT_MAIN, EVT_PTR(N(IdleAnimations_80227400))) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim17) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80227400))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim17) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.4)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim19) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim19) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim03) EVT_CASE_EQ(1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, PT_MAIN, EVT_PTR(N(IdleAnimations_8022744C))) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim18) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022744C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim18) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.4)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim1A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim1A) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim02) EVT_END_SWITCH EVT_WAIT(10) EVT_CALL(SetActorVar, ACTOR_SELF, 3, 0) @@ -339,21 +339,21 @@ EvtScript N(slingshotAttack) = { EVT_CALL(MoveBattleCamOver, 1) EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E7) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim15) EVT_WAIT(12) EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim16) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_ADD(LVar1, 10) - EVT_CALL(SetPartPos, ACTOR_SELF, PT_2, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, PT_2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E8) - EVT_CALL(SetPartSounds, ACTOR_SELF, PT_2, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_JUMP, 0, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -362,7 +362,7 @@ EvtScript N(slingshotAttack) = { EVT_THREAD EVT_LOOP(0) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(GetPartOffset, ACTOR_SELF, PT_2, LVar3, LVar4, LVar5) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_2, LVar3, LVar4, LVar5) EVT_IF_GT(LVar0, LVar3) EVT_BREAK_LOOP EVT_END_IF @@ -375,14 +375,14 @@ EvtScript N(slingshotAttack) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -100, 0, 0) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PT_2, EVT_FLOAT(14.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PT_2, EVT_FLOAT(0.002)) - EVT_CALL(JumpPartTo, ACTOR_SELF, PT_2, LVar0, LVar1, LVar2, 0, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(14.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.002)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(15) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -391,19 +391,19 @@ EvtScript N(slingshotAttack) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PT_2, EVT_FLOAT(14.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PT_2, EVT_FLOAT(0.002)) - EVT_CALL(JumpPartTo, ACTOR_SELF, PT_2, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(14.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.002)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 0, TRUE) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) - EVT_CALL(GetPartOffset, ACTOR_SELF, PT_2, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 100) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PT_2, EVT_FLOAT(0.7)) - EVT_CALL(JumpPartTo, ACTOR_SELF, PT_2, LVar0, 0, LVar2, 30, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.7)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, 0, LVar2, 30, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(YieldTurn) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -463,14 +463,14 @@ EvtScript N(hammerAttack) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim07) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 70, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim07) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) @@ -478,7 +478,7 @@ EvtScript N(hammerAttack) = { EVT_CALL(AddGoalPos, ACTOR_SELF, 20, 0, 0) EVT_END_IF EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim03) EVT_WAIT(10) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_THREAD @@ -490,7 +490,7 @@ EvtScript N(hammerAttack) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim0A) EVT_WAIT(6) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -498,18 +498,18 @@ EvtScript N(hammerAttack) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_SpyGuy_Anim07) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim0A) EVT_WAIT(5) EVT_WAIT(2) EVT_WAIT(2) @@ -544,20 +544,20 @@ EvtScript N(hammerAttack) = { EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_EXEC(N(80228778)) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 70) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim03) EVT_LABEL(0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_NE(LVar0, 0) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim07) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_CALL(N(GetItemEntityPosition), LVar0, LVar1, LVar2, LVar3) EVT_ADD(LVar1, 20) @@ -570,7 +570,7 @@ EvtScript N(hammerAttack) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20DC) EVT_CALL(N(StartRumbleWithParams), 200, 10) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim09) EVT_WAIT(5) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 2) EVT_SUB(LVar1, 7) @@ -578,13 +578,13 @@ EvtScript N(hammerAttack) = { EVT_WAIT(40) EVT_ELSE EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 70) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim03) EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 10) @@ -608,8 +608,8 @@ EvtScript N(takeTurn_802293DC) = { EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, PT_MAIN, EVT_PTR(N(IdleAnimations_8022744C))) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_SpyGuy_Anim02) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022744C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpyGuy_Anim02) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) EVT_SWITCH(LVar0) diff --git a/src/battle/area/omo/actor/yellow_shy_guy.c b/src/battle/area/omo/actor/yellow_shy_guy.c index bb8167b75c..c83fbeba0a 100644 --- a/src/battle/area/omo/actor/yellow_shy_guy.c +++ b/src/battle/area/omo/actor/yellow_shy_guy.c @@ -11,45 +11,46 @@ extern EvtScript N(takeTurn_8021E2B4); extern EvtScript N(idle_8021C9B4); extern EvtScript N(handleEvent_8021CB28); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(DefenseTable_8021C810)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable_8021C824)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -enum PartIDs { - PT_MAIN = 1, -}; - -ActorPartBlueprint N(PartsTable_8021C8D0)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = PT_MAIN, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -66,8 +67,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SHY_GUY, .level = 14, .maxHP = 7, - .partCount = ARRAY_COUNT( N(PartsTable_8021C8D0)), - .partsData = N(PartsTable_8021C8D0), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021C968), .statusTable = N(StatusTable_8021C824), .escapeChance = 60, @@ -79,21 +80,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 28, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021C91C)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Yellow_Anim01, - STATUS_STONE, ANIM_ShyGuy_Yellow_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Yellow_Anim12, - STATUS_POISON, ANIM_ShyGuy_Yellow_Anim01, - STATUS_STOP, ANIM_ShyGuy_Yellow_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Yellow_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Yellow_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Yellow_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Yellow_Anim13, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Yellow_Anim01, + STATUS_KEY_STONE, ANIM_ShyGuy_Yellow_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyGuy_Yellow_Anim12, + STATUS_KEY_POISON, ANIM_ShyGuy_Yellow_Anim01, + STATUS_KEY_STOP, ANIM_ShyGuy_Yellow_Anim00, + STATUS_KEY_STATIC, ANIM_ShyGuy_Yellow_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyGuy_Yellow_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyGuy_Yellow_Anim13, + STATUS_KEY_FEAR, ANIM_ShyGuy_Yellow_Anim13, STATUS_END, }; @@ -105,19 +106,19 @@ EvtScript N(init_8021C968) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_8021C9B4) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, PT_MAIN, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PT_MAIN, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -130,7 +131,7 @@ EvtScript N(8021CAC4) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Yellow_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim01) EVT_RETURN EVT_END }; @@ -238,7 +239,7 @@ EvtScript N(8021D004) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -255,10 +256,10 @@ EvtScript N(8021D004) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -275,14 +276,14 @@ EvtScript N(8021D004) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Yellow_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -295,14 +296,14 @@ EvtScript N(8021D004) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim05) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) @@ -315,7 +316,7 @@ EvtScript N(8021D004) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(8021CAC4)) @@ -334,9 +335,9 @@ EvtScript N(8021D72C) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim09) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -346,7 +347,7 @@ EvtScript N(8021D72C) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_SUB(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -357,10 +358,10 @@ EvtScript N(8021D72C) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim09) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -372,7 +373,7 @@ EvtScript N(8021D72C) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -386,24 +387,24 @@ EvtScript N(8021D72C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Yellow_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim09) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -445,9 +446,9 @@ EvtScript N(8021D72C) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349 | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim07) EVT_WAIT(15) EVT_GOTO(2) EVT_LABEL(1) @@ -458,18 +459,18 @@ EvtScript N(8021D72C) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim10) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim11) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim13) EVT_END_IF EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PT_MAIN, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_LABEL(2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -477,7 +478,7 @@ EvtScript N(8021D72C) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Yellow_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, PT_MAIN, ANIM_ShyGuy_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Yellow_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/omo/area.c b/src/battle/area/omo/area.c index 2fc774d094..aee3621ee1 100644 --- a/src/battle/area/omo/area.c +++ b/src/battle/area/omo/area.c @@ -27,314 +27,314 @@ extern Stage N(omo_06); extern Stage N(omo_07); Formation N(Formation_00) = { - { .actor = &N(red_shy_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(red_shy_guy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_01) = { - { .actor = &N(blue_shy_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(blue_shy_guy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(blue_shy_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(blue_shy_guy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(yellow_shy_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(yellow_shy_guy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(yellow_shy_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(yellow_shy_guy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_03) = { - { .actor = &N(yellow_shy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(yellow_shy_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(yellow_shy_guy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(yellow_shy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(yellow_shy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(yellow_shy_guy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_04) = { - { .actor = &N(pink_shy_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(pink_shy_guy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(pink_shy_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(pink_shy_guy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_05) = { - { .actor = &N(green_shy_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(green_shy_guy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(green_shy_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(green_shy_guy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_06) = { - { .actor = &N(red_shy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(medi_guy), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_07) = { - { .actor = &N(blue_shy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(groove_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(blue_shy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_08) = { - { .actor = &N(yellow_shy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spy_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(yellow_shy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_09) = { - { .actor = &N(yellow_shy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(green_shy_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(red_shy_guy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(blue_shy_guy), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(yellow_shy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(green_shy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(blue_shy_guy), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0A) = { - { .actor = &N(pink_shy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pyro_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(pink_shy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_0B) = { - { .actor = &N(pink_shy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(groove_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, - { .actor = &N(medi_guy), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(pink_shy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_D, 7), }; Formation N(Formation_0C) = { - { .actor = &N(green_shy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(sky_guy), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(green_shy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_0D) = { - { .actor = &N(sky_guy), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(sky_guy), .home = { .index = 6 }, .priority = 9 }, + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_C, 9), }; Formation N(Formation_0E) = { - { .actor = &N(sky_guy), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(yellow_shy_guy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(yellow_shy_guy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0F) = { - { .actor = &N(sky_guy), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(sky_guy), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(yellow_shy_guy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(yellow_shy_guy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_10) = { - { .actor = &N(sky_guy), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 9 }, + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 9), }; Formation N(Formation_11) = { - { .actor = &N(sky_guy), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(sky_guy), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(spy_guy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_12) = { - { .actor = &N(sky_guy), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(green_shy_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(green_shy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_13) = { - { .actor = &N(sky_guy), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(green_shy_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, - { .actor = &N(medi_guy), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(green_shy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_D, 7), }; Formation N(Formation_14) = { - { .actor = &N(sky_guy), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(groove_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_15) = { - { .actor = &N(spy_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(spy_guy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_16) = { - { .actor = &N(spy_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(pyro_guy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_17) = { - { .actor = &N(spy_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 9 }, + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 9), }; Formation N(Formation_18) = { - { .actor = &N(spy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spy_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_19) = { - { .actor = &N(spy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spy_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spy_guy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(medi_guy), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_D, 7), }; Formation N(Formation_1A) = { - { .actor = &N(spy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spy_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spy_guy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(spy_guy), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_D, 7), }; Formation N(Formation_1B) = { - { .actor = &N(spy_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pyro_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(groove_guy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(medi_guy), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_D, 7), }; Formation N(Formation_1C) = { - { .actor = &N(pyro_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(pyro_guy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_1D) = { - { .actor = &N(pyro_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pyro_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(pyro_guy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_1E) = { - { .actor = &N(pyro_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 9 }, + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 9), }; Formation N(Formation_1F) = { - { .actor = &N(pyro_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pyro_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_20) = { - { .actor = &N(pyro_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pyro_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, - { .actor = &N(medi_guy), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_D, 7), }; Formation N(Formation_21) = { - { .actor = &N(pyro_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(groove_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(pyro_guy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_22) = { - { .actor = &N(pyro_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(spy_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(groove_guy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_23) = { - { .actor = &N(pyro_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(groove_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, - { .actor = &N(medi_guy), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_D, 7), }; Formation N(Formation_24) = { - { .actor = &N(pyro_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pyro_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(spy_guy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spy_guy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_25) = { - { .actor = &N(groove_guy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(groove_guy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_26) = { - { .actor = &N(groove_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(groove_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(groove_guy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_27) = { - { .actor = &N(groove_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(medi_guy), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_28) = { - { .actor = &N(groove_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(groove_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_29) = { - { .actor = &N(groove_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(groove_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(medi_guy), .home = { .index = 6 }, .priority = 8 }, - { .actor = &N(medi_guy), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(medi_guy), BTL_POS_AIR_D, 7), }; Formation N(Formation_2A) = { - { .actor = &N(groove_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(groove_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(pyro_guy), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(pyro_guy), BTL_POS_GROUND_C, 8), }; Formation N(Formation_2B) = { - { .actor = &N(groove_guy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(blue_shy_guy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(sky_guy), .home = { .index = 6 }, .priority = 8 }, + ACTOR_BY_IDX(N(groove_guy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(blue_shy_guy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(sky_guy), BTL_POS_AIR_C, 8), }; Formation N(Formation_2C) = { - { .actor = &N(anti_guy), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(anti_guy), BTL_POS_GROUND_B, 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(omo_04), "あかx2"), - BATTLE(N(Formation_01), &N(omo_04), "あおx2"), - BATTLE(N(Formation_02), &N(omo_04), "きいろx2"), - BATTLE(N(Formation_03), &N(omo_04), "きいろx3"), - BATTLE(N(Formation_04), &N(omo_04), "ももx2"), - BATTLE(N(Formation_05), &N(omo_04), "みどりx2"), - BATTLE(N(Formation_06), &N(omo_04), "あか,かいふくx2"), - BATTLE(N(Formation_07), &N(omo_04), "あお,ダンシング,かいふく"), - BATTLE(N(Formation_08), &N(omo_04), "きいろ,コマンド,かいふく"), - BATTLE(N(Formation_09), &N(omo_04), "きいろ,みどり,あか,あお"), - BATTLE(N(Formation_0A), &N(omo_04), "もも,ファイア,かいふく"), - BATTLE(N(Formation_0B), &N(omo_04), "もも,ダンシング,かいふくx2"), - BATTLE(N(Formation_0C), &N(omo_04), "みどり,バルーン,かいふく"), - BATTLE(N(Formation_0D), &N(omo_04), "バルーンx2"), - BATTLE(N(Formation_0E), &N(omo_04), "バルーン,きいろ"), - BATTLE(N(Formation_0F), &N(omo_04), "バルーンx2,きいろ"), - BATTLE(N(Formation_10), &N(omo_04), "バルーン,かいふく"), - BATTLE(N(Formation_11), &N(omo_04), "バルーンx2,コマンド"), - BATTLE(N(Formation_12), &N(omo_04), "バルーン,みどり,かいふく"), - BATTLE(N(Formation_13), &N(omo_04), "バルーン,みどり,かいふくx2"), - BATTLE(N(Formation_14), &N(omo_04), "バルーン,ダンシング,かいふく"), - BATTLE(N(Formation_15), &N(omo_04), "コマンドx2"), - BATTLE(N(Formation_16), &N(omo_04), "コマンド,ファイア"), - BATTLE(N(Formation_17), &N(omo_04), "コマンド,かいふく"), - BATTLE(N(Formation_18), &N(omo_04), "コマンドx2,かいふく"), - BATTLE(N(Formation_19), &N(omo_04), "コマンドx3,かいふく"), - BATTLE(N(Formation_1A), &N(omo_04), "コマンドx4"), - BATTLE(N(Formation_1B), &N(omo_04), "コマンド,ファイア,ダンシング,かいふく"), - BATTLE(N(Formation_1C), &N(omo_04), "ファイアx2"), - BATTLE(N(Formation_1D), &N(omo_04), "ファイアx3"), - BATTLE(N(Formation_1E), &N(omo_04), "ファイア,かいふく"), - BATTLE(N(Formation_1F), &N(omo_04), "ファイアx2,かいふく"), - BATTLE(N(Formation_20), &N(omo_04), "ファイアx2,かいふくx2"), - BATTLE(N(Formation_21), &N(omo_04), "ファイア,ダンシング,ファイア"), - BATTLE(N(Formation_22), &N(omo_04), "ファイア,コマンド,ダンシング"), - BATTLE(N(Formation_23), &N(omo_04), "ファイア,ダンシング,かいふくx2"), - BATTLE(N(Formation_24), &N(omo_04), "ファイアx2,コマンド"), - BATTLE(N(Formation_25), &N(omo_04), "ダンシングx2"), - BATTLE(N(Formation_26), &N(omo_04), "ダンシングx3"), - BATTLE(N(Formation_27), &N(omo_04), "ダンシング,かいふくx2"), - BATTLE(N(Formation_28), &N(omo_04), "ダンシングx2,かいふく"), - BATTLE(N(Formation_29), &N(omo_04), "ダンシングx2,かいふくx2"), - BATTLE(N(Formation_2A), &N(omo_04), "ダンシングx2,ファイアー"), - BATTLE(N(Formation_2B), &N(omo_04), "ダンシング,あお,バルーン"), - BATTLE(N(Formation_2C), &N(omo_04), "ブラック"), + BATTLE(N(Formation_00), N(omo_04), "あかx2"), + BATTLE(N(Formation_01), N(omo_04), "あおx2"), + BATTLE(N(Formation_02), N(omo_04), "きいろx2"), + BATTLE(N(Formation_03), N(omo_04), "きいろx3"), + BATTLE(N(Formation_04), N(omo_04), "ももx2"), + BATTLE(N(Formation_05), N(omo_04), "みどりx2"), + BATTLE(N(Formation_06), N(omo_04), "あか,かいふくx2"), + BATTLE(N(Formation_07), N(omo_04), "あお,ダンシング,かいふく"), + BATTLE(N(Formation_08), N(omo_04), "きいろ,コマンド,かいふく"), + BATTLE(N(Formation_09), N(omo_04), "きいろ,みどり,あか,あお"), + BATTLE(N(Formation_0A), N(omo_04), "もも,ファイア,かいふく"), + BATTLE(N(Formation_0B), N(omo_04), "もも,ダンシング,かいふくx2"), + BATTLE(N(Formation_0C), N(omo_04), "みどり,バルーン,かいふく"), + BATTLE(N(Formation_0D), N(omo_04), "バルーンx2"), + BATTLE(N(Formation_0E), N(omo_04), "バルーン,きいろ"), + BATTLE(N(Formation_0F), N(omo_04), "バルーンx2,きいろ"), + BATTLE(N(Formation_10), N(omo_04), "バルーン,かいふく"), + BATTLE(N(Formation_11), N(omo_04), "バルーンx2,コマンド"), + BATTLE(N(Formation_12), N(omo_04), "バルーン,みどり,かいふく"), + BATTLE(N(Formation_13), N(omo_04), "バルーン,みどり,かいふくx2"), + BATTLE(N(Formation_14), N(omo_04), "バルーン,ダンシング,かいふく"), + BATTLE(N(Formation_15), N(omo_04), "コマンドx2"), + BATTLE(N(Formation_16), N(omo_04), "コマンド,ファイア"), + BATTLE(N(Formation_17), N(omo_04), "コマンド,かいふく"), + BATTLE(N(Formation_18), N(omo_04), "コマンドx2,かいふく"), + BATTLE(N(Formation_19), N(omo_04), "コマンドx3,かいふく"), + BATTLE(N(Formation_1A), N(omo_04), "コマンドx4"), + BATTLE(N(Formation_1B), N(omo_04), "コマンド,ファイア,ダンシング,かいふく"), + BATTLE(N(Formation_1C), N(omo_04), "ファイアx2"), + BATTLE(N(Formation_1D), N(omo_04), "ファイアx3"), + BATTLE(N(Formation_1E), N(omo_04), "ファイア,かいふく"), + BATTLE(N(Formation_1F), N(omo_04), "ファイアx2,かいふく"), + BATTLE(N(Formation_20), N(omo_04), "ファイアx2,かいふくx2"), + BATTLE(N(Formation_21), N(omo_04), "ファイア,ダンシング,ファイア"), + BATTLE(N(Formation_22), N(omo_04), "ファイア,コマンド,ダンシング"), + BATTLE(N(Formation_23), N(omo_04), "ファイア,ダンシング,かいふくx2"), + BATTLE(N(Formation_24), N(omo_04), "ファイアx2,コマンド"), + BATTLE(N(Formation_25), N(omo_04), "ダンシングx2"), + BATTLE(N(Formation_26), N(omo_04), "ダンシングx3"), + BATTLE(N(Formation_27), N(omo_04), "ダンシング,かいふくx2"), + BATTLE(N(Formation_28), N(omo_04), "ダンシングx2,かいふく"), + BATTLE(N(Formation_29), N(omo_04), "ダンシングx2,かいふくx2"), + BATTLE(N(Formation_2A), N(omo_04), "ダンシングx2,ファイアー"), + BATTLE(N(Formation_2B), N(omo_04), "ダンシング,あお,バルーン"), + BATTLE(N(Formation_2C), N(omo_04), "ブラック"), {}, }; @@ -342,10 +342,10 @@ StageList N(Stages) = { { "omo_01", &N(omo_01) }, { "omo_02", &N(omo_02) }, { "omo_03", &N(omo_03) }, - { "omo_03b", &N(omo_03b) }, + STAGE("omo_03b", N(omo_03b)), { "omo_04", &N(omo_04) }, { "omo_05", &N(omo_05) }, - { "omo_05b", &N(omo_05b) }, + STAGE("omo_05b", N(omo_05b)), { "omo_06", &N(omo_06) }, { "omo_07", &N(omo_07) }, {}, diff --git a/src/battle/area/omo/stage/omo_04.c b/src/battle/area/omo/stage/omo_04.c index ad7fd46d30..86f7551b28 100644 --- a/src/battle/area/omo/stage/omo_04.c +++ b/src/battle/area/omo/stage/omo_04.c @@ -55,10 +55,10 @@ Vec3i N(slot_machine_pos3) = { 20, 56, -68 }; Vec3i N(slot_machine_pos4) = { 53, 56, -68 }; Formation N(fromation_slot_machine) = { - { .actor = &N(slot_machine_start), .home = { .vec = &N(slot_machine_pos1) }, .var0 = 0 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos2) }, .var0 = 1 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos3) }, .var0 = 2 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos4) }, .var0 = 3 }, + ACTOR_BY_POS(N(slot_machine_start), N(slot_machine_pos1), 0, 0), + ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos2), 0, 1), + ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos3), 0, 2), + ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos4), 0, 3), }; #include "battle/common/actor/slot_machine.inc.c" diff --git a/src/battle/area/omo2/actor/general_guy.c b/src/battle/area/omo2/actor/general_guy.c index fd6d87d8cd..be05d7cd4f 100644 --- a/src/battle/area/omo2/actor/general_guy.c +++ b/src/battle/area/omo2/actor/general_guy.c @@ -22,44 +22,49 @@ extern s32 N(IdleAnimations)[]; extern s32 N(IdleAnimations_bomb)[]; extern Formation N(formation_shy_squad); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + #include "common/FadeBackgroundToBlack.inc.c" #include "common/UnfadeBackgroundToBlack.inc.c" s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_20000000, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, .opacity = 255, @@ -71,7 +76,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -84,12 +89,12 @@ ActorPartBlueprint N(parts)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_HIDE_HP_BAR, + .flags = ACTOR_FLAG_NO_HEALTH_BAR, .type = ACTOR_TYPE_GENERAL_GUY, .level = 73, .maxHP = 10, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -101,39 +106,39 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 20, -3 }, + .healthBarOffset = { 20, -3 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_GeneralGuy_Anim02, - STATUS_STONE, ANIM_GeneralGuy_Anim00, - STATUS_SLEEP, ANIM_GeneralGuy_Anim00, - STATUS_POISON, ANIM_GeneralGuy_Anim02, - STATUS_STOP, ANIM_GeneralGuy_Anim00, - STATUS_STATIC, ANIM_GeneralGuy_Anim00, - STATUS_PARALYZE, ANIM_GeneralGuy_Anim00, - STATUS_PARALYZE, ANIM_GeneralGuy_Anim00, - STATUS_DIZZY, ANIM_GeneralGuy_Anim00, - STATUS_DIZZY, ANIM_GeneralGuy_Anim00, - STATUS_FEAR, ANIM_GeneralGuy_Anim00, + STATUS_KEY_NORMAL, ANIM_GeneralGuy_Anim02, + STATUS_KEY_STONE, ANIM_GeneralGuy_Anim00, + STATUS_KEY_SLEEP, ANIM_GeneralGuy_Anim00, + STATUS_KEY_POISON, ANIM_GeneralGuy_Anim02, + STATUS_KEY_STOP, ANIM_GeneralGuy_Anim00, + STATUS_KEY_STATIC, ANIM_GeneralGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_GeneralGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_GeneralGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_GeneralGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_GeneralGuy_Anim00, + STATUS_KEY_FEAR, ANIM_GeneralGuy_Anim00, STATUS_END, }; s32 N(IdleAnimations_bomb)[] = { - STATUS_NORMAL, ANIM_GeneralGuyBomb_Anim00, + STATUS_KEY_NORMAL, ANIM_GeneralGuyBomb_Anim00, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_GeneralGuy_Anim0E, - STATUS_POISON, ANIM_GeneralGuy_Anim0E, - STATUS_STOP, ANIM_GeneralGuy_Anim00, - STATUS_STATIC, ANIM_GeneralGuy_Anim00, - STATUS_PARALYZE, ANIM_GeneralGuy_Anim00, - STATUS_DIZZY, ANIM_GeneralGuy_Anim00, - STATUS_FEAR, ANIM_GeneralGuy_Anim00, + STATUS_KEY_NORMAL, ANIM_GeneralGuy_Anim0E, + STATUS_KEY_POISON, ANIM_GeneralGuy_Anim0E, + STATUS_KEY_STOP, ANIM_GeneralGuy_Anim00, + STATUS_KEY_STATIC, ANIM_GeneralGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_GeneralGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_GeneralGuy_Anim00, + STATUS_KEY_FEAR, ANIM_GeneralGuy_Anim00, STATUS_END, }; @@ -158,7 +163,7 @@ EvtScript N(init) = { EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GeneralGuy_Anim02) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) @@ -303,84 +308,84 @@ EvtScript N(attack_throw_bomb) = { EVT_CALL(MoveBattleCamOver, 30) EVT_END_THREAD EVT_WAIT(5) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206A) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim0B) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206A) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim0B) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_open_hatch)) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GeneralGuy_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GeneralGuy_Anim0B) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 8) EVT_ADD(LVar1, 27) EVT_SUB(LVar2, 4) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_GeneralGuyBomb_Anim00) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_GeneralGuyBomb_Anim00) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GeneralGuy_Anim0A) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GeneralGuy_Anim0A) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(6) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 8) EVT_ADD(LVar1, 20) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_GeneralGuyBomb_Anim01) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_GeneralGuyBomb_Anim01) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_EQ(HIT_RESULT_MISS) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 2, SOUND_2F9) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_2, SOUND_2F9) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 120) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 2, EVT_FLOAT(12.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.1)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 0, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(12.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.1)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_CASE_EQ(HIT_RESULT_LUCKY) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 2, SOUND_2F9) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_2, SOUND_2F9) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 50) EVT_SET(LVar1, -5) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 2, EVT_FLOAT(14.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 0, 30, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(14.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 0, 30, EASING_LINEAR) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 65) EVT_SET(LVar1, -5) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 2, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 0, 15, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 0, 15, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_SWITCH - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 2, SOUND_2F9) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_2, SOUND_2F9) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 2, EVT_FLOAT(14.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 0, 15, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(14.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_2, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 0, 15, EASING_LINEAR) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_BIG_SMOKE_PUFF, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_BOMB_BLAST) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_BOMB_BLAST) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) @@ -388,21 +393,21 @@ EvtScript N(attack_throw_bomb) = { EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GeneralGuy_Anim02) EVT_WAIT(30) EVT_IF_EQ(LVarF, HIT_RESULT_10) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_RETURN EVT_END_IF EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -421,16 +426,16 @@ EvtScript N(attack_lightning_shot) = { EVT_CALL(SetBattleCamOffsetZ, 30) EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(40) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206A) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim0B) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206A) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim0B) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_open_hatch)) EVT_WAIT(10) EVT_CALL(GetActorVar, ACTOR_ENEMY1, 7, LVar0) EVT_IF_NE(LVar0, 0) - EVT_CALL(func_80253734, BTL_DARKNESS_MODE_2) + EVT_CALL(SetDarknessMode, BTL_DARKNESS_MODE_2) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GeneralGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GeneralGuy_Anim03) EVT_WAIT(20) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 6, 1) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -477,13 +482,13 @@ EvtScript N(attack_lightning_shot) = { EVT_END_IF EVT_CALL(GetActorVar, ACTOR_ENEMY1, 7, LVar0) EVT_IF_NE(LVar0, 0) - EVT_CALL(func_80253734, BTL_DARKNESS_MODE_3) + EVT_CALL(SetDarknessMode, BTL_DARKNESS_MODE_3) EVT_END_IF EVT_CALL(N(UnfadeBackgroundToBlack)) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -506,13 +511,13 @@ EvtScript N(attack_lightning_shot) = { EVT_WAIT(12) EVT_CALL(GetActorVar, ACTOR_ENEMY1, 7, LVar0) EVT_IF_NE(LVar0, 0) - EVT_CALL(func_80253734, BTL_DARKNESS_MODE_3) + EVT_CALL(SetDarknessMode, BTL_DARKNESS_MODE_3) EVT_END_IF EVT_CALL(N(UnfadeBackgroundToBlack)) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -530,14 +535,14 @@ EvtScript N(attack_lightning_shot) = { EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GeneralGuy_Anim02) EVT_IF_EQ(LVarF, HIT_RESULT_10) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 6, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_RETURN EVT_END_IF EVT_END_CASE_GROUP @@ -554,13 +559,13 @@ EvtScript N(attack_lightning_shot) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(GetActorVar, ACTOR_ENEMY1, 7, LVar0) EVT_IF_NE(LVar0, 0) - EVT_CALL(func_80253734, BTL_DARKNESS_MODE_3) + EVT_CALL(SetDarknessMode, BTL_DARKNESS_MODE_3) EVT_END_IF EVT_CALL(N(UnfadeBackgroundToBlack)) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -570,7 +575,7 @@ EvtScript N(attack_lightning_shot) = { Vec3i N(summon_pos) = { 240, 0, 0 }; Formation N(formation_shy_squad) = { - { .actor = &b_area_omo2_1_shy_squad, .home = { .vec = &N(summon_pos) }, .priority = 100, } + ACTOR_BY_POS(b_area_omo2_1_shy_squad, N(summon_pos), 100) }; diff --git a/src/battle/area/omo2/actor/light_bulb.c b/src/battle/area/omo2/actor/light_bulb.c index 9d8810153f..6f576119b0 100644 --- a/src/battle/area/omo2/actor/light_bulb.c +++ b/src/battle/area/omo2/actor/light_bulb.c @@ -29,41 +29,45 @@ extern EvtScript N(onHit); extern EvtScript N(shake_tank); extern EvtScript N(onDeath); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 1, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 1, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 35 }, .opacity = 255, @@ -76,12 +80,12 @@ ActorPartBlueprint N(parts)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_80 | ACTOR_FLAG_HIDE_HP_BAR, + .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_80 | ACTOR_FLAG_NO_HEALTH_BAR, .type = ACTOR_TYPE_LIGHT_BULB, .level = 0, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -93,9 +97,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { diff --git a/src/battle/area/omo2/actor/toy_tank.c b/src/battle/area/omo2/actor/toy_tank.c index a05c83cc19..f5271f58ee 100644 --- a/src/battle/area/omo2/actor/toy_tank.c +++ b/src/battle/area/omo2/actor/toy_tank.c @@ -39,6 +39,12 @@ extern Formation N(formation_shy_stack_1); extern Formation N(formation_shy_stack_2); extern Formation N(formation_shy_squad_dup); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + API_CALLABLE(N(UpdateBulbGlow)) { Bytecode *args = script->ptrReadPos; @@ -65,39 +71,39 @@ API_CALLABLE(func_802181F4_52B894) { #include "animation.inc.c" s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 2, + ELEMENT_NORMAL, 2, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 60 }, .opacity = 255, @@ -109,7 +115,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 30, 0 }, .targetOffset = { 0, 50 }, .opacity = 255, @@ -122,7 +128,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { -5, 0, 0 }, .targetOffset = { -10, 20 }, .opacity = 255, @@ -136,12 +142,12 @@ ActorPartBlueprint N(parts)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_HIDE_HP_BAR, + .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_HEALTH_BAR, .type = ACTOR_TYPE_TOY_TANK, .level = 0, .maxHP = 30, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -153,9 +159,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 48, 78 }, - .hpBarOffset = { 20, -3 }, + .healthBarOffset = { 20, -3 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -172,13 +178,13 @@ EvtScript N(init) = { EVT_CALL(SetActorPos, ACTOR_SELF, 85, 0, 0) EVT_CALL(SetHomePos, ACTOR_SELF, 85, 0, 0) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, 85, 30, 0) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, 80, 0, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_2, 85, 30, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, 80, 0, 0) EVT_CALL(LoadAnimatedModel, 0, EVT_PTR(toy_tank_model)) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_idle)) EVT_CALL(EnableModel, 62, FALSE) EVT_CALL(SetAnimatedModelRootPosition, 0, 200, 0, 0) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, 3, ACTOR_PART_TARGET_FLAG_1, TRUE) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_TARGET_FLAG_1, TRUE) EVT_CALL(GetModelCenter, 39) EVT_PLAY_EFFECT(EFFECT_BULB_GLOW, 2, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), LVar5, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 5, LVar5) @@ -231,35 +237,35 @@ EvtScript N(handleEvent) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_HIT_COMBO) EVT_EXEC_WAIT(N(onHit)) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, 2, 0, 35) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, PRT_2, 0, 35) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CASE_OR_EQ(EVENT_BURN_HIT) EVT_EXEC_WAIT(N(onHit)) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, 2, 0, 35) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, PRT_2, 0, 35) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) EVT_EXEC_WAIT(N(onHit)) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, 2, 0, 35) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, PRT_2, 0, 35) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CALL(func_8026E914, LVar0, LVar1) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_WAIT(30) EVT_CASE_EQ(EVENT_IMMUNE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_WAIT(30) EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) @@ -293,9 +299,9 @@ EvtScript N(takeTurn) = { EvtScript N(onHit) = { EVT_CALL(UseIdleAnimation, ACTOR_ENEMY0, FALSE) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim05) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, 2, 0, 50) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim05) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, PRT_2, 0, 50) EVT_EXEC_WAIT(N(shake_tank)) EVT_CALL(GetActorVar, ACTOR_ENEMY0, 1, LVar0) EVT_CALL(GetDamageSource, LVar1) @@ -309,7 +315,7 @@ EvtScript N(onHit) = { EVT_CALL(SetBattleCamTarget, 85, 80, 0) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH4_0072, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim05, ANIM_GeneralGuy_Anim05) + EVT_CALL(ActorSpeak, MSG_CH4_0072, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim05, ANIM_GeneralGuy_Anim05) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_END_IF @@ -323,7 +329,7 @@ EvtScript N(onHit) = { EVT_CALL(SetBattleCamTarget, 85, 80, 0) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH4_0073, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim05, ANIM_GeneralGuy_Anim05) + EVT_CALL(ActorSpeak, MSG_CH4_0073, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim05, ANIM_GeneralGuy_Anim05) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_END_IF @@ -337,7 +343,7 @@ EvtScript N(onHit) = { EVT_CALL(SetBattleCamTarget, 85, 80, 0) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH4_0074, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim05, ANIM_GeneralGuy_Anim05) + EVT_CALL(ActorSpeak, MSG_CH4_0074, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim05, ANIM_GeneralGuy_Anim05) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_END_IF @@ -461,36 +467,36 @@ EvtScript N(update_phase) = { }; EvtScript N(start_stilt_guys_phase) = { - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) EVT_CALL(GetActorVar, ACTOR_ENEMY0, 1, LVar0) EVT_IF_NOT_FLAG(LVar0, 0x1) - EVT_CALL(ActorSpeak, MSG_CH4_0069, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim00, ANIM_GeneralGuy_Anim00) + EVT_CALL(ActorSpeak, MSG_CH4_0069, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim00, ANIM_GeneralGuy_Anim00) EVT_ELSE // shy squad has fleed - EVT_CALL(ActorSpeak, MSG_CH4_006A, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim0C, ANIM_GeneralGuy_Anim02) + EVT_CALL(ActorSpeak, MSG_CH4_006A, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim0C, ANIM_GeneralGuy_Anim02) EVT_END_IF EVT_CALL(LoadBattleSection, 44) EVT_CALL(SummonEnemy, EVT_PTR(N(formation_signal_guy)), 1) EVT_WAIT(60) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_TOY_TANK_MOVE1) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_TOY_TANK_MOVE1) EVT_WAIT(5) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_move_forward)) EVT_CALL(SetAnimatedModelRootPosition, 0, 20, 0, 0) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim03) EVT_WAIT(25) EVT_WAIT(2) EVT_CALL(SetOwnerTarget, LVar0, 1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar1, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim10) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim10) EVT_WAIT(16) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim04) EVT_WAIT(16) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_TOY_TANK_MOVE2) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_TOY_TANK_MOVE2) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) EVT_WAIT(20) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_idle)) EVT_WAIT(26) @@ -500,21 +506,21 @@ EvtScript N(start_stilt_guys_phase) = { EVT_CALL(HPBarToHome, ACTOR_ENEMY0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(func_802535B4, 1) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(EnableBattleStatusBar, TRUE) + EVT_CALL(FreezeBattleState, FALSE) EVT_RETURN EVT_END }; EvtScript N(start_shy_stack_phase) = { - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_ENEMY0) EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(40) EVT_CALL(GetActorVar, ACTOR_ENEMY0, 2, LVar0) EVT_IF_EQ(LVar0, 2) - EVT_CALL(ActorSpeak, MSG_CH4_006E, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim0C, ANIM_GeneralGuy_Anim02) + EVT_CALL(ActorSpeak, MSG_CH4_006E, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim0C, ANIM_GeneralGuy_Anim02) EVT_ELSE EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -539,20 +545,20 @@ EvtScript N(start_shy_stack_phase) = { EVT_CALL(SetBattleCamOffsetZ, 60) EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(40) - EVT_CALL(ActorSpeak, MSG_CH4_006F, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim0C, ANIM_GeneralGuy_Anim02) + EVT_CALL(ActorSpeak, MSG_CH4_006F, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim0C, ANIM_GeneralGuy_Anim02) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_ENEMY3, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY3, EVT_FLOAT(1.5)) EVT_CALL(SetGoalPos, ACTOR_ENEMY3, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_ENEMY3, 10, FALSE, TRUE, FALSE) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY3, FALSE) - EVT_CALL(SetPartScale, ACTOR_ENEMY3, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_ENEMY3, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_ENEMY3, 1, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_ENEMY3, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_ENEMY3, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_ENEMY3, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_ENEMY3, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_ENEMY3, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY3, TRUE) EVT_END_THREAD EVT_THREAD @@ -561,21 +567,21 @@ EvtScript N(start_shy_stack_phase) = { EVT_CALL(SetGoalPos, ACTOR_ENEMY4, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_ENEMY4, 10, FALSE, TRUE, FALSE) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY4, FALSE) - EVT_CALL(SetPartScale, ACTOR_ENEMY4, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_ENEMY4, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_ENEMY4, 1, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_ENEMY4, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_ENEMY4, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_ENEMY4, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_ENEMY4, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_ENEMY4, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY4, TRUE) EVT_END_THREAD - EVT_CALL(ActorSpeak, MSG_CH4_0070, ACTOR_ENEMY4, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH4_0070, ACTOR_ENEMY4, PRT_MAIN, -1, -1) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(func_802535B4, 1) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(EnableBattleStatusBar, TRUE) + EVT_CALL(FreezeBattleState, FALSE) EVT_RETURN EVT_END }; @@ -588,7 +594,7 @@ EvtScript N(summon_stilt_guys) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_0, BTL_CAM_MODEX_1, FALSE) EVT_CALL(GetActorVar, ACTOR_ENEMY0, 2, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(ActorSpeak, MSG_CH4_006B, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim0C, ANIM_GeneralGuy_Anim02) + EVT_CALL(ActorSpeak, MSG_CH4_006B, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim0C, ANIM_GeneralGuy_Anim02) EVT_ELSE EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -611,7 +617,7 @@ EvtScript N(summon_stilt_guys) = { EVT_CALL(SetBattleCamOffsetZ, 60) EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(40) - EVT_CALL(ActorSpeak, MSG_CH4_006C, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim0C, ANIM_GeneralGuy_Anim02) + EVT_CALL(ActorSpeak, MSG_CH4_006C, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim0C, ANIM_GeneralGuy_Anim02) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_ENEMY3, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY3, EVT_FLOAT(1.5)) @@ -624,10 +630,10 @@ EvtScript N(summon_stilt_guys) = { EVT_CALL(SetGoalPos, ACTOR_ENEMY4, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_ENEMY4, 10, FALSE, TRUE, FALSE) EVT_END_THREAD - EVT_CALL(ActorSpeak, MSG_CH4_006D, ACTOR_ENEMY4, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH4_006D, ACTOR_ENEMY4, PRT_MAIN, -1, -1) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_RETURN EVT_END }; @@ -637,10 +643,10 @@ EvtScript N(summon_tank_squad) = { EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) EVT_CALL(SetActorYaw, ACTOR_ENEMY0, 180) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim03) EVT_CALL(SetActorVar, ACTOR_SELF, 6, 0) EVT_WAIT(10) - EVT_CALL(func_80253734, BTL_DARKNESS_MODE_1) + EVT_CALL(SetDarknessMode, BTL_DARKNESS_MODE_1) EVT_CALL(SetActorVar, ACTOR_SELF, 7, 1) EVT_EXEC(N(8022F2BC)) EVT_WAIT(30) @@ -649,14 +655,14 @@ EvtScript N(summon_tank_squad) = { EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_0, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(EndActorSpeech, ACTOR_ENEMY0, 1, -1, -1) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) + EVT_CALL(EndActorSpeech, ACTOR_ENEMY0, PRT_MAIN, -1, -1) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) EVT_CALL(SetActorYaw, ACTOR_ENEMY0, 0) EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) EVT_CALL(LoadBattleSection, 45) EVT_CALL(SummonEnemy, EVT_PTR(N(formation_shy_squad_dup)), 1) EVT_WAIT(155) @@ -665,8 +671,8 @@ EvtScript N(summon_tank_squad) = { EVT_CALL(BattleCamTargetActor, ACTOR_ENEMY0) EVT_CALL(MoveBattleCamOver, 40) EVT_WAIT(40) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim03) - EVT_CALL(EndActorSpeech, ACTOR_ENEMY0, 1, -1, -1) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim03) + EVT_CALL(EndActorSpeech, ACTOR_ENEMY0, PRT_MAIN, -1, -1) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(SetBattleCamZoom, 300) EVT_CALL(BattleCamTargetActor, ACTOR_ENEMY3) @@ -688,45 +694,45 @@ EvtScript N(summon_tank_squad) = { EVT_CALL(SetAnimation, ACTOR_ENEMY3, LVar0, LVar1) EVT_ADD(LVar0, 1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim04) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) EVT_SET(LVar0, 2) EVT_LOOP(15) EVT_CALL(SetAnimation, ACTOR_ENEMY3, LVar0, ANIM_TankGuy_Anim01) EVT_ADD(LVar0, 1) EVT_END_LOOP - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_RETURN EVT_END }; EvtScript N(start_battle_with_tank) = { - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_ENEMY0) EVT_CALL(MoveBattleCamOver, 60) EVT_WAIT(60) - EVT_CALL(ActorSpeak, MSG_CH4_0071, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim00, ANIM_GeneralGuy_Anim00) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim05) - EVT_CALL(EndActorSpeech, ACTOR_ENEMY0, 1, -1, -1) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_20000000, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY2, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY1, 2, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_ENEMY1, ACTOR_FLAG_HIDE_HP_BAR, FALSE) + EVT_CALL(ActorSpeak, MSG_CH4_0071, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim00, ANIM_GeneralGuy_Anim00) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim05) + EVT_CALL(EndActorSpeech, ACTOR_ENEMY0, PRT_MAIN, -1, -1) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_20000000, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY2, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY1, PRT_2, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_ENEMY1, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) EVT_CALL(HPBarToHome, ACTOR_ENEMY1) EVT_CALL(SetActorVar, ACTOR_ENEMY0, 0, 1) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, 2, 0, 35) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, PRT_2, 0, 35) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_206B) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(func_802535B4, 1) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(EnableBattleStatusBar, TRUE) + EVT_CALL(FreezeBattleState, FALSE) EVT_RETURN EVT_END }; @@ -744,7 +750,7 @@ EvtScript N(onDeath) = { EVT_WAIT(45) EVT_WAIT(10) EVT_CALL(UseIdleAnimation, ACTOR_ENEMY0, FALSE) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim05) EVT_WAIT(15) EVT_PLAY_EFFECT(EFFECT_EXPLOSION, 2, 102, 40, 0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) @@ -756,7 +762,7 @@ EvtScript N(onDeath) = { EVT_CALL(SetActorDispOffset, ACTOR_ENEMY0, 0, 0, 0) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim05) EVT_THREAD EVT_WAIT(25) EVT_CALL(SetAnimatedModelRootPosition, 0, 380, 0, 0) @@ -766,18 +772,18 @@ EvtScript N(onDeath) = { EVT_CALL(PlaySoundAtActor, ACTOR_ENEMY0, SOUND_20E4) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim10) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim10) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 18) EVT_CALL(ForceHomePos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_CALL(SetEnemyHP, ACTOR_ENEMY0, 1) - EVT_CALL(SetPartDispOffset, ACTOR_ENEMY0, 1, 0, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_ENEMY0, PRT_MAIN, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_ENEMY0, 0, 0, 0) EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY0, EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_ENEMY0, 12, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim07) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim07) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 6, EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) @@ -858,26 +864,26 @@ EvtScript N(8022F4D0) = { Vec3i N(summon_pos) = { 240, 0, 0 }; Formation N(formation_signal_guy) = { - { .actor = &b_area_omo2_4_signal_guy, .home = { .vec = &N(summon_pos) }, .priority = 95, } + ACTOR_BY_POS(b_area_omo2_4_signal_guy, N(summon_pos), 95) }; Formation N(formation_stilt_guy_1) = { - { .actor = &b_area_omo2_2_stilt_guy, .home = { .vec = &N(summon_pos) }, .priority = 95, } + ACTOR_BY_POS(b_area_omo2_2_stilt_guy, N(summon_pos), 95) }; Formation N(formation_stilt_guy_2) = { - { .actor = &b_area_omo2_2_stilt_guy, .home = { .vec = &N(summon_pos) }, .priority = 90, .var0 = 1, } + ACTOR_BY_POS(b_area_omo2_2_stilt_guy, N(summon_pos), 90, 1) }; Formation N(formation_shy_stack_1) = { - { .actor = &b_area_omo2_3_shy_stack, .home = { .vec = &N(summon_pos) }, .priority = 95, } + ACTOR_BY_POS(b_area_omo2_3_shy_stack, N(summon_pos), 95) }; Formation N(formation_shy_stack_2) = { - { .actor = &b_area_omo2_3_shy_stack, .home = { .vec = &N(summon_pos) }, .priority = 90, .var0 = 1, } + ACTOR_BY_POS(b_area_omo2_3_shy_stack, N(summon_pos), 90, 1) }; Formation N(formation_shy_squad_dup) = { - { .actor = &b_area_omo2_5_shy_squad_dup, .home = { .vec = &N(summon_pos) }, .priority = 95, } + ACTOR_BY_POS(b_area_omo2_5_shy_squad_dup, N(summon_pos), 95) }; diff --git a/src/battle/area/omo2/area.c b/src/battle/area/omo2/area.c index 87f09d94ba..fbea86b2a4 100644 --- a/src/battle/area/omo2/area.c +++ b/src/battle/area/omo2/area.c @@ -10,17 +10,17 @@ extern ActorBlueprint N(light_bulb); extern Stage N(omo_07); Formation N(Formation_01) = { - { .actor = &N(general_guy), .home = { .index = 2 }, .priority = 70, }, - { .actor = &N(toy_tank), .home = { .index = 1 }, .priority = 80, }, - { .actor = &N(light_bulb), .home = { .index = 7 }, .priority = 90, }, + ACTOR_BY_IDX(N(general_guy), BTL_POS_GROUND_C, 70), + ACTOR_BY_IDX(N(toy_tank), BTL_POS_GROUND_B, 80), + ACTOR_BY_IDX(N(light_bulb), BTL_POS_AIR_D, 90), }; BattleList N(Formations) = { - BATTLE(N(Formation_01), &N(omo_07), "しょうぐんヘイホー"), + BATTLE(N(Formation_01), N(omo_07), "しょうぐんヘイホー"), {}, }; StageList N(Stages) = { - { "omo_07", &N(omo_07) }, + STAGE("omo_07", N(omo_07)), {}, }; diff --git a/src/battle/area/omo2_1/actor/shy_squad.c b/src/battle/area/omo2_1/actor/shy_squad.c index 7ff481e293..efa11e5ab1 100644 --- a/src/battle/area/omo2_1/actor/shy_squad.c +++ b/src/battle/area/omo2_1/actor/shy_squad.c @@ -6,6 +6,42 @@ #define NAMESPACE b_area_omo2_1_shy_squad +extern s32 N(IdleAnimations)[]; +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(nextTurn); + +extern EvtScript N(move_squad_to_home); +extern EvtScript N(displace_guy); +extern EvtScript N(displace_guy_2); +extern EvtScript N(onHit); +extern EvtScript N(set_alive_guys_animation); +extern EvtScript N(onDeath); +extern EvtScript N(flee); +extern EvtScript N(next_phase); +extern EvtScript N(updateActorSize); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, + PRT_7 = 7, + PRT_8 = 8, + PRT_9 = 9, + PRT_10 = 10, + PRT_11 = 11, + PRT_12 = 12, + PRT_13 = 13, + PRT_14 = 14, + PRT_15 = 15, + PRT_16 = 16, +}; + enum N(ActorVars) { N(ACTOR_VAR_SQUAD_APPEARED) = 0, N(ACTOR_VAR_TIMES_ATTACKED) = 1, @@ -30,57 +66,40 @@ API_CALLABLE(N(GetActorPartSize)) { return ApiStatus_DONE2; } -extern s32 N(IdleAnimations)[]; -extern EvtScript N(init); -extern EvtScript N(takeTurn); -extern EvtScript N(idle); -extern EvtScript N(handleEvent); -extern EvtScript N(nextTurn); - -extern EvtScript N(move_squad_to_home); -extern EvtScript N(displace_guy); -extern EvtScript N(displace_guy_2); -extern EvtScript N(onHit); -extern EvtScript N(set_alive_guys_animation); -extern EvtScript N(onDeath); -extern EvtScript N(flee); -extern EvtScript N(next_phase); -extern EvtScript N(updateActorSize); - s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -92,7 +111,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -104,7 +123,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -116,7 +135,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -128,7 +147,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -140,7 +159,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -152,7 +171,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 7, + .index = PRT_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -164,7 +183,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 8, + .index = PRT_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -176,7 +195,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 9, + .index = PRT_9, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -188,7 +207,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 10, + .index = PRT_10, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -200,7 +219,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 11, + .index = PRT_11, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -212,7 +231,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 12, + .index = PRT_12, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -224,7 +243,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 13, + .index = PRT_13, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -236,7 +255,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 14, + .index = PRT_14, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -248,7 +267,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 15, + .index = PRT_15, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -260,7 +279,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 16, + .index = PRT_16, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -277,8 +296,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SHY_SQUAD, .level = 0, .maxHP = 15, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -290,23 +309,23 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 28, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_ShySquadGuy_Anim01, - STATUS_STONE, ANIM_ShySquadGuy_Anim00, - STATUS_SLEEP, ANIM_ShySquadGuy_Anim12, - STATUS_POISON, ANIM_ShySquadGuy_Anim01, - STATUS_STOP, ANIM_ShySquadGuy_Anim00, - STATUS_STATIC, ANIM_ShySquadGuy_Anim00, - STATUS_PARALYZE, ANIM_ShySquadGuy_Anim00, - STATUS_PARALYZE, ANIM_ShySquadGuy_Anim00, - STATUS_DIZZY, ANIM_ShySquadGuy_Anim13, - STATUS_DIZZY, ANIM_ShySquadGuy_Anim13, - STATUS_FEAR, ANIM_ShySquadGuy_Anim00, + STATUS_KEY_NORMAL, ANIM_ShySquadGuy_Anim01, + STATUS_KEY_STONE, ANIM_ShySquadGuy_Anim00, + STATUS_KEY_SLEEP, ANIM_ShySquadGuy_Anim12, + STATUS_KEY_POISON, ANIM_ShySquadGuy_Anim01, + STATUS_KEY_STOP, ANIM_ShySquadGuy_Anim00, + STATUS_KEY_STATIC, ANIM_ShySquadGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_ShySquadGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_ShySquadGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_ShySquadGuy_Anim13, + STATUS_KEY_DIZZY, ANIM_ShySquadGuy_Anim13, + STATUS_KEY_FEAR, ANIM_ShySquadGuy_Anim00, STATUS_END, }; @@ -320,96 +339,96 @@ EvtScript N(init) = { EVT_CALL(SetActorVar, ACTOR_SELF, N(ACTOR_VAR_WAS_ATTACKED), 0) EVT_CALL(SetActorVar, ACTOR_SELF, N(ACTOR_VARS_GUYS_KILLED), 0) EVT_CALL(SetActorVar, ACTOR_SELF, N(ACTOR_VAR_TOTAL_DAMAGE), 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 0, 50) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 1, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 0, 50) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 1, -40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 0, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 1, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 0, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 1, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 0, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 1, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 0, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 0, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 1, -40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 0, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 1, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 0, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 1, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 0, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 0, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 1, -40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 0, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 1, -40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 0, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 0, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 1, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 0, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 2, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 3, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 2, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 3, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 2, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 3, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 2, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 3, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 2, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 3, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 2, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 3, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 2, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 3, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 2, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 3, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 2, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 3, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 2, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 3, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 2, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 3, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 2, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 3, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 2, -30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 3, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 2, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 3, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 2, -30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 3, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 4, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 5, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 4, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 5, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 4, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 5, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 4, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 5, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 4, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 5, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 4, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 5, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 4, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 5, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 4, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 5, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 4, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 5, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 4, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 5, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 4, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 5, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 4, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 5, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 4, -30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 5, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 4, -30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 5, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 4, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 5, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 0, 50) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 1, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 0, 50) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 1, -40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 0, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 1, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 0, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 1, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 0, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 1, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 0, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 0, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 1, -40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 0, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 1, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 0, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 1, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 0, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 0, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 1, -40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 0, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 1, -40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 0, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 0, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 1, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 0, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 2, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 3, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 2, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 3, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 2, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 3, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 2, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 3, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 2, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 3, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 2, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 3, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 2, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 3, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 2, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 3, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 2, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 3, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 2, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 3, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 2, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 3, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 2, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 3, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 2, -30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 3, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 2, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 3, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 2, -30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 3, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 4, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 5, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 4, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 5, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 4, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 5, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 4, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 5, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 4, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 5, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 4, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 5, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 4, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 5, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 4, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 5, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 4, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 5, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 4, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 5, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 4, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 5, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 4, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 5, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 4, -30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 5, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 4, -30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 5, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 4, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 5, 20) EVT_CALL(RandInt, 100, LVar0) EVT_ADD(LVar0, 190) EVT_CALL(RandInt, 100, LVar2) @@ -430,7 +449,7 @@ EvtScript N(init) = { EVT_ADD(LVar0, 1) EVT_END_LOOP EVT_CALL(SetActorSize, ACTOR_SELF, EVT_IGNORE_ARG, 72) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 24, 24) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 24, 24) EVT_RETURN EVT_END }; @@ -462,15 +481,15 @@ EvtScript N(nextTurn) = { EVT_CALL(SetBattleCamTarget, 72, 45, 0) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(func_802535B4, 0) - EVT_CALL(ActorSpeak, MSG_CH4_0065, ACTOR_SELF, 9, ANIM_ShySquadGuy_Anim11, ANIM_ShySquadGuy_Anim11) + EVT_CALL(EnableBattleStatusBar, FALSE) + EVT_CALL(ActorSpeak, MSG_CH4_0065, ACTOR_SELF, PRT_9, ANIM_ShySquadGuy_Anim11, ANIM_ShySquadGuy_Anim11) EVT_SET(LVar0, 2) EVT_LOOP(15) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, ANIM_ShySquadGuy_Anim0A) EVT_ADD(LVar0, 1) EVT_END_LOOP - EVT_CALL(EndActorSpeech, ACTOR_SELF, 1, -1, -1) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EndActorSpeech, ACTOR_SELF, PRT_MAIN, -1, -1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_SET(LVar0, 2) EVT_LOOP(15) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, ANIM_ShySquadGuy_Anim01) @@ -1131,9 +1150,9 @@ EvtScript N(attack) = { EVT_END_LOOP EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(GetGoalPos, ACTOR_PLAYER, LVar2, LVar5, LVar3) - EVT_CALL(GetPartMovementVar, ACTOR_SELF, 16, 4, LVar5) + EVT_CALL(GetPartMovementVar, ACTOR_SELF, PRT_16, 4, LVar5) EVT_ADD(LVar2, LVar5) - EVT_CALL(GetPartMovementVar, ACTOR_SELF, 16, 5, LVar5) + EVT_CALL(GetPartMovementVar, ACTOR_SELF, PRT_16, 5, LVar5) EVT_ADD(LVar3, LVar5) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar2, 0, LVar3) EVT_CALL(RunToGoal, ACTOR_SELF, 30, TRUE) @@ -1266,7 +1285,7 @@ EvtScript N(takeTurn) = { }; EvtScript N(flee) = { - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_SET(LVar0, 2) EVT_LOOP(15) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, ANIM_ShySquadGuy_Anim08) @@ -1276,8 +1295,8 @@ EvtScript N(flee) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_CH4_0066, ACTOR_SELF, 1, -1, -1) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(ActorSpeak, MSG_CH4_0066, ACTOR_SELF, PRT_MAIN, -1, -1) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_SET(LVar0, 2) @@ -1324,9 +1343,9 @@ EvtScript N(flee) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 6, EVT_FLOAT(2.5)) EVT_CALL(GetActorVar, ACTOR_SELF, N(ACTOR_VARS_GUYS_KILLED), LVar0) EVT_IF_LT(LVar0, 14) - EVT_CALL(ActorSpeak, MSG_CH4_0067, ACTOR_ENEMY0, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH4_0067, ACTOR_ENEMY0, PRT_MAIN, -1, -1) EVT_ELSE - EVT_CALL(ActorSpeak, MSG_CH4_0068, ACTOR_ENEMY0, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH4_0068, ACTOR_ENEMY0, PRT_MAIN, -1, -1) EVT_END_IF EVT_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_1E2) @@ -1335,7 +1354,7 @@ EvtScript N(flee) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_1E2) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(2.0)) EVT_END_THREAD - EVT_CALL(EndActorSpeech, ACTOR_ENEMY0, 1, -1, -1) + EVT_CALL(EndActorSpeech, ACTOR_ENEMY0, PRT_MAIN, -1, -1) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_WAIT(40) EVT_THREAD @@ -1402,14 +1421,14 @@ EvtScript N(flee) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, TRUE) EVT_EXEC_WAIT(N(next_phase)) EVT_WAIT(10) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END }; EvtScript N(next_phase) = { - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 1, 1) EVT_RETURN EVT_END diff --git a/src/battle/area/omo2_2/actor/stilt_guy.c b/src/battle/area/omo2_2/actor/stilt_guy.c index ab047d8a9f..dfe6ab44d8 100644 --- a/src/battle/area/omo2_2/actor/stilt_guy.c +++ b/src/battle/area/omo2_2/actor/stilt_guy.c @@ -8,15 +8,6 @@ #define NAMESPACE b_area_omo2_2_stilt_guy -#include "common/GetSelectedMoveID.inc.c" - -API_CALLABLE(N(SetActorLevelToZero)) { - get_actor(script->owner1.actorID)->actorBlueprint->level = 0; - return ApiStatus_DONE2; -} - -#include "common/UnkBattleFunc1.inc.c" - extern s32 N(IdleAnimations)[]; extern EvtScript N(init); extern EvtScript N(takeTurn); @@ -32,91 +23,110 @@ extern EvtScript N(shy_guy_takeTurn); extern EvtScript N(shy_guy_idle); extern EvtScript N(shy_guy_handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, + PRT_7 = 7, + PRT_8 = 8, +}; + +#include "common/GetSelectedMoveID.inc.c" + +API_CALLABLE(N(SetActorLevelToZero)) { + get_actor(script->owner1.actorID)->actorBlueprint->level = 0; + return ApiStatus_DONE2; +} + +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_StiltGuy_Anim01, - STATUS_STONE, ANIM_StiltGuy_Anim00, - STATUS_SLEEP, ANIM_StiltGuy_Anim04, - STATUS_POISON, ANIM_StiltGuy_Anim01, - STATUS_STOP, ANIM_StiltGuy_Anim00, - STATUS_STATIC, ANIM_StiltGuy_Anim00, - STATUS_PARALYZE, ANIM_StiltGuy_Anim00, - STATUS_PARALYZE, ANIM_StiltGuy_Anim00, - STATUS_DIZZY, ANIM_StiltGuy_Anim00, - STATUS_FEAR, ANIM_StiltGuy_Anim00, + STATUS_KEY_NORMAL, ANIM_StiltGuy_Anim01, + STATUS_KEY_STONE, ANIM_StiltGuy_Anim00, + STATUS_KEY_SLEEP, ANIM_StiltGuy_Anim04, + STATUS_KEY_POISON, ANIM_StiltGuy_Anim01, + STATUS_KEY_STOP, ANIM_StiltGuy_Anim00, + STATUS_KEY_STATIC, ANIM_StiltGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_StiltGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_StiltGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_StiltGuy_Anim00, + STATUS_KEY_FEAR, ANIM_StiltGuy_Anim00, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_StiltGuyUnfold_Anim00, + STATUS_KEY_NORMAL, ANIM_StiltGuyUnfold_Anim00, STATUS_END, }; s32 N(defenseTable2)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 60, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 60, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 60, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 60, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(statusTable2)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -128,7 +138,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 40 }, .opacity = 255, @@ -140,7 +150,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 74, 0 }, .targetOffset = { 0, -8 }, .opacity = 255, @@ -152,7 +162,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, - .index = 4, + .index = PRT_4, .posOffset = { -2, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -164,7 +174,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -176,7 +186,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000, - .index = 6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -188,7 +198,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000, - .index = 7, + .index = PRT_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -200,7 +210,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000, - .index = 8, + .index = PRT_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -217,8 +227,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_STILT_GUY, .level = 0, .maxHP = 7, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -230,9 +240,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 75 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 70 }, - .statusMessageOffset = { 10, 65 }, + .statusTextOffset = { 10, 65 }, }; EvtScript N(init) = { @@ -241,21 +251,21 @@ EvtScript N(init) = { EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, 4, ACTOR_PART_TARGET_FLAG_1, TRUE) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 24, 30) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_TARGET_FLAG_1, TRUE) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 24, 30) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 8, 0, 13, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 7, 0, 13, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 6, 0, 13, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 5, 0, 13, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_8, 0, 13, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_7, 0, 13, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_6, 0, 13, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_5, 0, 13, 0) EVT_THREAD EVT_SET(LVar0, 90) EVT_SET(LVar1, 270) EVT_LOOP(5) EVT_LOOP(2) EVT_LABEL(0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 8, LVar1, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_8, LVar1, 0, 0) EVT_WAIT(1) EVT_SUB(LVar1, LVar0) EVT_IF_GE(LVar1, -90) @@ -265,11 +275,11 @@ EvtScript N(init) = { EVT_END_LOOP EVT_SUB(LVar0, 15) EVT_END_LOOP - EVT_CALL(SetPartRotation, ACTOR_SELF, 8, -90, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_8, -90, 0, 0) EVT_END_THREAD EVT_THREAD - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 8, EVT_FLOAT(0.6)) - EVT_CALL(SetAnimation, ACTOR_SELF, 8, ANIM_StiltGuyUnfold_Anim03) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_8, EVT_FLOAT(0.6)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_8, ANIM_StiltGuyUnfold_Anim03) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar1) EVT_IF_EQ(LVar1, 0) @@ -280,13 +290,13 @@ EvtScript N(init) = { EVT_CALL(PlaySound, SOUND_306) EVT_END_IF EVT_SUB(LVar2, 13) - EVT_CALL(SetPartPos, ACTOR_SELF, 8, LVar0, 200, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_8, LVar0, 200, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 200, LVar2) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim02) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim0A) - EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_GENERAL_WHISTLE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 8, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(FallPartTo, ACTOR_SELF, 8, LVar0, -9, LVar2, 80) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim0A) + EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, PRT_MAIN, SOUND_GENERAL_WHISTLE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_8, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_8, LVar0, -9, LVar2, 80) EVT_END_THREAD EVT_THREAD EVT_WAIT(15) @@ -295,7 +305,7 @@ EvtScript N(init) = { EVT_LOOP(5) EVT_LOOP(2) EVT_LABEL(1) - EVT_CALL(SetPartRotation, ACTOR_SELF, 7, LVar1, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_7, LVar1, 0, 0) EVT_WAIT(1) EVT_SUB(LVar1, LVar0) EVT_IF_GE(LVar1, 90) @@ -305,11 +315,11 @@ EvtScript N(init) = { EVT_END_LOOP EVT_SUB(LVar0, 15) EVT_END_LOOP - EVT_CALL(SetPartRotation, ACTOR_SELF, 7, 90, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_7, 90, 0, 0) EVT_END_THREAD EVT_THREAD - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 7, EVT_FLOAT(0.6)) - EVT_CALL(SetAnimation, ACTOR_SELF, 7, ANIM_StiltGuyUnfold_Anim02) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_7, EVT_FLOAT(0.6)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_7, ANIM_StiltGuyUnfold_Anim02) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 0) @@ -318,10 +328,10 @@ EvtScript N(init) = { EVT_SET(LVar0, 50) EVT_END_IF EVT_SUB(LVar2, 13) - EVT_CALL(SetPartPos, ACTOR_SELF, 7, LVar0, 200, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_7, LVar0, 200, LVar2) EVT_WAIT(15) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 7, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(FallPartTo, ACTOR_SELF, 7, LVar0, -9, LVar2, 80) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_7, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_7, LVar0, -9, LVar2, 80) EVT_END_THREAD EVT_THREAD EVT_WAIT(30) @@ -330,7 +340,7 @@ EvtScript N(init) = { EVT_LOOP(5) EVT_LOOP(2) EVT_LABEL(2) - EVT_CALL(SetPartRotation, ACTOR_SELF, 6, LVar1, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_6, LVar1, 0, 0) EVT_WAIT(1) EVT_SUB(LVar1, LVar0) EVT_IF_GE(LVar1, -90) @@ -340,11 +350,11 @@ EvtScript N(init) = { EVT_END_LOOP EVT_SUB(LVar0, 15) EVT_END_LOOP - EVT_CALL(SetPartRotation, ACTOR_SELF, 6, -90, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_6, -90, 0, 0) EVT_END_THREAD EVT_THREAD - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.6)) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_StiltGuyUnfold_Anim01) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.6)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_StiltGuyUnfold_Anim01) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 0) @@ -353,10 +363,10 @@ EvtScript N(init) = { EVT_SET(LVar0, 50) EVT_END_IF EVT_SUB(LVar2, 13) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, 200, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_6, LVar0, 200, LVar2) EVT_WAIT(30) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(FallPartTo, ACTOR_SELF, 6, LVar0, -9, LVar2, 80) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_6, LVar0, -9, LVar2, 80) EVT_END_THREAD EVT_THREAD EVT_WAIT(45) @@ -365,7 +375,7 @@ EvtScript N(init) = { EVT_LOOP(5) EVT_LOOP(2) EVT_LABEL(3) - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, LVar1, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_5, LVar1, 0, 0) EVT_WAIT(1) EVT_SUB(LVar1, LVar0) EVT_IF_GE(LVar1, 90) @@ -375,11 +385,11 @@ EvtScript N(init) = { EVT_END_LOOP EVT_SUB(LVar0, 15) EVT_END_LOOP - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, 90, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_5, 90, 0, 0) EVT_END_THREAD EVT_THREAD - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 5, EVT_FLOAT(0.6)) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_StiltGuyUnfold_Anim00) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_5, EVT_FLOAT(0.6)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_StiltGuyUnfold_Anim00) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 0) @@ -388,41 +398,41 @@ EvtScript N(init) = { EVT_SET(LVar0, 50) EVT_END_IF EVT_SUB(LVar2, 13) - EVT_CALL(SetPartPos, ACTOR_SELF, 5, LVar0, 200, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_5, LVar0, 200, LVar2) EVT_WAIT(45) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(FallPartTo, ACTOR_SELF, 5, LVar0, -9, LVar2, 80) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_5, LVar0, -9, LVar2, 80) EVT_WAIT(15) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 7, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 8, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(GetPartOffset, ACTOR_SELF, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_7, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_8, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_8, LVar0, LVar1, LVar2) EVT_ADD(LVar2, 13) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, 0, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 5, LVar0, 0, LVar2) - EVT_CALL(GetPartOffset, ACTOR_SELF, 5, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 5, LVar0, 0, LVar2) - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, 0, 0, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 8, 0, 0, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 7, 0, 0, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 6, 0, 0, 0) - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 5, 0, 0, 0) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 5, SOUND_2065) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_StiltGuyUnfold_Anim05) - EVT_CALL(func_8026ED20, ACTOR_SELF, 5, 1) - EVT_CALL(func_8026EBF8, ACTOR_SELF, 5, 1, 0, 0, 36, 0, 255, 0, 0) - EVT_CALL(func_8026EA7C, ACTOR_SELF, 5, 16) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_5, LVar0, 0, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_5, LVar0, 0, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_5, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_8, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_7, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_6, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_5, 0, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_5, SOUND_2065) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_StiltGuyUnfold_Anim05) + EVT_CALL(func_8026ED20, ACTOR_SELF, PRT_5, 1) + EVT_CALL(SetActorPaletteSwapParams, ACTOR_SELF, PRT_5, SPR_PAL_StiltGuyUnfold_Alt, SPR_PAL_StiltGuyUnfold, 0, 36, 0, 255, 0, 0) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_5, PAL_ADJUST_BLEND_PALSETS) EVT_WAIT(18) - EVT_CALL(func_8026ED20, ACTOR_SELF, 5, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_StiltGuyUnfold_Anim04) + EVT_CALL(func_8026ED20, ACTOR_SELF, PRT_5, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_StiltGuyUnfold_Anim04) EVT_WAIT(5) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(HPBarToHome, ACTOR_SELF) @@ -455,7 +465,7 @@ EvtScript N(return_home) = { EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_StiltGuy_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_StiltGuy_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_StiltGuy_Anim01) EVT_RETURN EVT_END }; @@ -502,7 +512,7 @@ EvtScript N(handleEvent) = { EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_StiltGuy_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_StiltGuy_Anim06) EVT_WAIT(1000) EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) EVT_SET(LVar0, 2) @@ -648,7 +658,7 @@ EvtScript N(attack) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_StiltGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_StiltGuy_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -656,7 +666,7 @@ EvtScript N(attack) = { EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_StiltGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_StiltGuy_Anim04) EVT_WAIT(8) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -665,9 +675,9 @@ EvtScript N(attack) = { EVT_SET(LVarA, LVar0) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_StiltGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_StiltGuy_Anim04) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_StiltGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_StiltGuy_Anim05) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 15) @@ -689,10 +699,10 @@ EvtScript N(attack) = { EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(return_home)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -701,9 +711,9 @@ EvtScript N(attack) = { EVT_END_SWITCH EVT_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_StiltGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_StiltGuy_Anim04) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_StiltGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_StiltGuy_Anim05) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -726,7 +736,7 @@ EvtScript N(attack) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2066) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_StiltGuy_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_StiltGuy_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(return_home)) @@ -740,10 +750,10 @@ EvtScript N(attack) = { EvtScript N(fallOff) = { EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0C) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) @@ -754,19 +764,19 @@ EvtScript N(fallOff) = { EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_THREAD EVT_WAIT(6) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_2067) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_2067) EVT_END_THREAD EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_StiltGuy_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_StiltGuy_Anim08) EVT_SET(LVar0, 0) EVT_LOOP(15) EVT_ADD(LVar0, 6) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_2, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) EVT_END_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_301) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 0, LVar2) @@ -778,7 +788,7 @@ EvtScript N(fallOff) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim10) EVT_WAIT(10) EVT_END_IF EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(shy_guy_takeTurn))) @@ -797,13 +807,13 @@ EvtScript N(fallOff) = { EvtScript N(onDeath) = { EVT_EXEC_WAIT(EVS_Enemy_DeathWithoutRemove) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(GetActorVar, ACTOR_ENEMY1, 2, LVar0) EVT_ADD(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 2, LVar0) EVT_IF_GE(LVar0, 2) - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 100) @@ -861,7 +871,7 @@ EvtScript N(shy_guy_on_spin_smash) = { EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetOwnerTarget, LVar0, LVar1) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_GOTO(1) EVT_LABEL(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) @@ -907,15 +917,15 @@ EvtScript N(shy_guy_on_spin_smash) = { }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Red_Anim01, - STATUS_STONE, ANIM_ShyGuy_Red_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Red_Anim12, - STATUS_POISON, ANIM_ShyGuy_Red_Anim01, - STATUS_STOP, ANIM_ShyGuy_Red_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Red_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Red_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Red_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Red_Anim13, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_STONE, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyGuy_Red_Anim12, + STATUS_KEY_POISON, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_STOP, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_STATIC, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyGuy_Red_Anim13, + STATUS_KEY_FEAR, ANIM_ShyGuy_Red_Anim13, STATUS_END, }; @@ -931,13 +941,13 @@ EvtScript N(shy_guy_idle) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -950,7 +960,7 @@ EvtScript N(shy_guy_return_home) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_RETURN EVT_END }; @@ -1058,7 +1068,7 @@ EvtScript N(shy_guy_attack1) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1075,10 +1085,10 @@ EvtScript N(shy_guy_attack1) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1095,14 +1105,14 @@ EvtScript N(shy_guy_attack1) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -1115,14 +1125,14 @@ EvtScript N(shy_guy_attack1) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) @@ -1135,7 +1145,7 @@ EvtScript N(shy_guy_attack1) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(shy_guy_return_home)) @@ -1154,9 +1164,9 @@ EvtScript N(shy_guy_attack2) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1166,7 +1176,7 @@ EvtScript N(shy_guy_attack2) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_SUB(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1177,10 +1187,10 @@ EvtScript N(shy_guy_attack2) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1192,7 +1202,7 @@ EvtScript N(shy_guy_attack2) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1206,24 +1216,24 @@ EvtScript N(shy_guy_attack2) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1265,9 +1275,9 @@ EvtScript N(shy_guy_attack2) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349 | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim07) EVT_WAIT(15) EVT_GOTO(2) EVT_LABEL(1) @@ -1278,18 +1288,18 @@ EvtScript N(shy_guy_attack2) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim10) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim11) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim13) EVT_END_IF EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_LABEL(2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -1297,7 +1307,7 @@ EvtScript N(shy_guy_attack2) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/omo2_3/actor/shy_stack.c b/src/battle/area/omo2_3/actor/shy_stack.c index 15772a8964..8f644bdc63 100644 --- a/src/battle/area/omo2_3/actor/shy_stack.c +++ b/src/battle/area/omo2_3/actor/shy_stack.c @@ -10,13 +10,6 @@ #define NAMESPACE b_area_omo2_3_shy_stack -API_CALLABLE(func_80231000_54CC70) { - Bytecode* args = script->ptrReadPos; - - evt_get_variable(script, args[1]); - return ApiStatus_DONE2; -} - extern s32 N(IdleAnimations)[]; extern s32 N(IdleAnimations_rock)[]; extern s32 N(IdleAnimations_damage)[]; @@ -34,40 +27,64 @@ extern EvtScript N(onSpinSmash); extern EvtScript N(doSpinSmashHitLastGuy); extern EvtScript N(doSpinSmashHit); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, + PRT_7 = 7, + PRT_8 = 8, + PRT_9 = 9, + PRT_10 = 10, + PRT_11 = 11, + PRT_12 = 12, + PRT_13 = 13, + PRT_14 = 14, +}; + +API_CALLABLE(func_80231000_54CC70) { + Bytecode* args = script->ptrReadPos; + + evt_get_variable(script, args[1]); + return ApiStatus_DONE2; +} + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 60, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 60, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 60, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 60, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -79,7 +96,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 67 }, .opacity = 255, @@ -91,7 +108,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 50 }, .opacity = 255, @@ -103,7 +120,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 33 }, .opacity = 255, @@ -115,7 +132,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 16 }, .opacity = 255, @@ -127,7 +144,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -139,7 +156,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 7, + .index = PRT_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -151,7 +168,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 8, + .index = PRT_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -163,7 +180,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 9, + .index = PRT_9, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -175,7 +192,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 10, + .index = PRT_10, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -187,7 +204,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 11, + .index = PRT_11, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -199,7 +216,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 12, + .index = PRT_12, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -211,7 +228,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 13, + .index = PRT_13, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -223,7 +240,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 14, + .index = PRT_14, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -240,8 +257,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SHY_STACK, .level = 0, .maxHP = 10, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -253,83 +270,83 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 75 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 75 }, - .statusMessageOffset = { 10, 65 }, + .statusTextOffset = { 10, 65 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_ShyStackGuy_Anim04, - STATUS_STONE, ANIM_ShyStackGuy_Anim00, - STATUS_SLEEP, ANIM_ShyStackGuy_Anim00, - STATUS_POISON, ANIM_ShyStackGuy_Anim04, - STATUS_STOP, ANIM_ShyStackGuy_Anim00, - STATUS_STATIC, ANIM_ShyStackGuy_Anim00, - STATUS_PARALYZE, ANIM_ShyStackGuy_Anim00, - STATUS_PARALYZE, ANIM_ShyStackGuy_Anim00, - STATUS_DIZZY, ANIM_ShyStackGuy_Anim0C, - STATUS_DIZZY, ANIM_ShyStackGuy_Anim0C, - STATUS_FEAR, ANIM_ShyStackGuy_Anim00, + STATUS_KEY_NORMAL, ANIM_ShyStackGuy_Anim04, + STATUS_KEY_STONE, ANIM_ShyStackGuy_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyStackGuy_Anim00, + STATUS_KEY_POISON, ANIM_ShyStackGuy_Anim04, + STATUS_KEY_STOP, ANIM_ShyStackGuy_Anim00, + STATUS_KEY_STATIC, ANIM_ShyStackGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_ShyStackGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_ShyStackGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyStackGuy_Anim0C, + STATUS_KEY_DIZZY, ANIM_ShyStackGuy_Anim0C, + STATUS_KEY_FEAR, ANIM_ShyStackGuy_Anim00, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_ShyStackGuy_Anim05, - STATUS_STONE, ANIM_ShyStackGuy_Anim01, - STATUS_SLEEP, ANIM_ShyStackGuy_Anim01, - STATUS_POISON, ANIM_ShyStackGuy_Anim05, - STATUS_STOP, ANIM_ShyStackGuy_Anim01, - STATUS_STATIC, ANIM_ShyStackGuy_Anim01, - STATUS_PARALYZE, ANIM_ShyStackGuy_Anim01, - STATUS_PARALYZE, ANIM_ShyStackGuy_Anim01, - STATUS_DIZZY, ANIM_ShyStackGuy_Anim0D, - STATUS_DIZZY, ANIM_ShyStackGuy_Anim0D, - STATUS_FEAR, ANIM_ShyStackGuy_Anim01, + STATUS_KEY_NORMAL, ANIM_ShyStackGuy_Anim05, + STATUS_KEY_STONE, ANIM_ShyStackGuy_Anim01, + STATUS_KEY_SLEEP, ANIM_ShyStackGuy_Anim01, + STATUS_KEY_POISON, ANIM_ShyStackGuy_Anim05, + STATUS_KEY_STOP, ANIM_ShyStackGuy_Anim01, + STATUS_KEY_STATIC, ANIM_ShyStackGuy_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyStackGuy_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyStackGuy_Anim01, + STATUS_KEY_DIZZY, ANIM_ShyStackGuy_Anim0D, + STATUS_KEY_DIZZY, ANIM_ShyStackGuy_Anim0D, + STATUS_KEY_FEAR, ANIM_ShyStackGuy_Anim01, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_ShyStackGuy_Anim06, - STATUS_STONE, ANIM_ShyStackGuy_Anim02, - STATUS_SLEEP, ANIM_ShyStackGuy_Anim02, - STATUS_POISON, ANIM_ShyStackGuy_Anim06, - STATUS_STOP, ANIM_ShyStackGuy_Anim02, - STATUS_STATIC, ANIM_ShyStackGuy_Anim02, - STATUS_PARALYZE, ANIM_ShyStackGuy_Anim02, - STATUS_PARALYZE, ANIM_ShyStackGuy_Anim02, - STATUS_DIZZY, ANIM_ShyStackGuy_Anim0E, - STATUS_DIZZY, ANIM_ShyStackGuy_Anim0E, - STATUS_FEAR, ANIM_ShyStackGuy_Anim02, + STATUS_KEY_NORMAL, ANIM_ShyStackGuy_Anim06, + STATUS_KEY_STONE, ANIM_ShyStackGuy_Anim02, + STATUS_KEY_SLEEP, ANIM_ShyStackGuy_Anim02, + STATUS_KEY_POISON, ANIM_ShyStackGuy_Anim06, + STATUS_KEY_STOP, ANIM_ShyStackGuy_Anim02, + STATUS_KEY_STATIC, ANIM_ShyStackGuy_Anim02, + STATUS_KEY_PARALYZE, ANIM_ShyStackGuy_Anim02, + STATUS_KEY_PARALYZE, ANIM_ShyStackGuy_Anim02, + STATUS_KEY_DIZZY, ANIM_ShyStackGuy_Anim0E, + STATUS_KEY_DIZZY, ANIM_ShyStackGuy_Anim0E, + STATUS_KEY_FEAR, ANIM_ShyStackGuy_Anim02, STATUS_END, }; s32 N(IdleAnimations4)[] = { - STATUS_NORMAL, ANIM_ShyStackGuy_Anim07, - STATUS_STONE, ANIM_ShyStackGuy_Anim03, - STATUS_SLEEP, ANIM_ShyStackGuy_Anim03, - STATUS_POISON, ANIM_ShyStackGuy_Anim07, - STATUS_STOP, ANIM_ShyStackGuy_Anim03, - STATUS_STATIC, ANIM_ShyStackGuy_Anim03, - STATUS_PARALYZE, ANIM_ShyStackGuy_Anim03, - STATUS_PARALYZE, ANIM_ShyStackGuy_Anim03, - STATUS_DIZZY, ANIM_ShyStackGuy_Anim0F, - STATUS_DIZZY, ANIM_ShyStackGuy_Anim0F, - STATUS_FEAR, ANIM_ShyStackGuy_Anim03, + STATUS_KEY_NORMAL, ANIM_ShyStackGuy_Anim07, + STATUS_KEY_STONE, ANIM_ShyStackGuy_Anim03, + STATUS_KEY_SLEEP, ANIM_ShyStackGuy_Anim03, + STATUS_KEY_POISON, ANIM_ShyStackGuy_Anim07, + STATUS_KEY_STOP, ANIM_ShyStackGuy_Anim03, + STATUS_KEY_STATIC, ANIM_ShyStackGuy_Anim03, + STATUS_KEY_PARALYZE, ANIM_ShyStackGuy_Anim03, + STATUS_KEY_PARALYZE, ANIM_ShyStackGuy_Anim03, + STATUS_KEY_DIZZY, ANIM_ShyStackGuy_Anim0F, + STATUS_KEY_DIZZY, ANIM_ShyStackGuy_Anim0F, + STATUS_KEY_FEAR, ANIM_ShyStackGuy_Anim03, STATUS_END, }; s32 N(IdleAnimations_rock)[] = { - STATUS_NORMAL, ANIM_ShyStackRock_Anim00, + STATUS_KEY_NORMAL, ANIM_ShyStackRock_Anim00, STATUS_END, }; s32 N(IdleAnimations_damage)[] = { - STATUS_NORMAL, ANIM_ShyStackDamage_Anim00, + STATUS_KEY_NORMAL, ANIM_ShyStackDamage_Anim00, STATUS_END, }; s32 N(IdleAnimations_shy_guy)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Red_Anim01, STATUS_END, }; @@ -349,268 +366,268 @@ EvtScript N(init) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 0) EVT_SET(LVar0, 10) - EVT_CALL(SetPartPos, ACTOR_SELF, 14, LVar0, 200, 0) - EVT_CALL(SetPartPos, ACTOR_SELF, 13, LVar0, 200, 0) - EVT_CALL(SetPartPos, ACTOR_SELF, 12, LVar0, 200, 0) - EVT_CALL(SetPartPos, ACTOR_SELF, 11, LVar0, 200, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_14, LVar0, 200, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_13, LVar0, 200, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_12, LVar0, 200, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_11, LVar0, 200, 0) EVT_THREAD EVT_WAIT(5) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 14, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_14, SOUND_301) EVT_END_THREAD EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 14, ANIM_ShyGuy_Red_Anim0A) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 14, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 14, EVT_FLOAT(1.0)) - EVT_CALL(SetPartSounds, ACTOR_SELF, 14, ACTOR_SOUND_JUMP, 0, 0) - EVT_CALL(FallPartTo, ACTOR_SELF, 14, LVar0, 0, 0, 36) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 14, SOUND_2064) - EVT_CALL(SetAnimation, ACTOR_SELF, 14, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_14, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_14, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_14, EVT_FLOAT(1.0)) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_14, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_14, LVar0, 0, 0, 36) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_14, SOUND_2064) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_14, ANIM_ShyGuy_Red_Anim07) EVT_END_THREAD EVT_THREAD EVT_WAIT(36) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 13, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_13, SOUND_301) EVT_END_THREAD EVT_THREAD EVT_WAIT(31) - EVT_CALL(SetAnimation, ACTOR_SELF, 13, ANIM_ShyGuy_Red_Anim0A) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 13, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 13, EVT_FLOAT(1.0)) - EVT_CALL(SetPartSounds, ACTOR_SELF, 13, ACTOR_SOUND_JUMP, 0, 0) - EVT_CALL(FallPartTo, ACTOR_SELF, 13, LVar0, 18, 0, 32) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 13, SOUND_2064) - EVT_CALL(SetAnimation, ACTOR_SELF, 13, ANIM_ShyGuy_Red_Anim07) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -3, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_13, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_13, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_13, EVT_FLOAT(1.0)) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_13, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_13, LVar0, 18, 0, 32) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_13, SOUND_2064) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_13, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -3, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -5, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -5, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -3, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -3, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, 0, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, 0, 0) EVT_END_THREAD EVT_THREAD EVT_WAIT(67) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 12, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_12, SOUND_301) EVT_END_THREAD EVT_THREAD EVT_WAIT(62) - EVT_CALL(SetAnimation, ACTOR_SELF, 12, ANIM_ShyGuy_Red_Anim0A) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 12, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 12, EVT_FLOAT(1.0)) - EVT_CALL(SetPartSounds, ACTOR_SELF, 12, ACTOR_SOUND_JUMP, 0, 0) - EVT_CALL(FallPartTo, ACTOR_SELF, 12, LVar0, 36, 0, 28) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 12, SOUND_2064) - EVT_CALL(SetAnimation, ACTOR_SELF, 12, ANIM_ShyGuy_Red_Anim07) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -2, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -4, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_12, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_12, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_12, EVT_FLOAT(1.0)) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_12, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_12, LVar0, 36, 0, 28) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_12, SOUND_2064) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_12, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -4, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -3, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -6, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -3, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -6, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -2, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -4, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -4, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, 0, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, 0, 0) EVT_END_THREAD EVT_THREAD EVT_WAIT(98) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 11, SOUND_301) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_11, SOUND_301) EVT_END_THREAD EVT_THREAD EVT_WAIT(93) - EVT_CALL(SetAnimation, ACTOR_SELF, 11, ANIM_ShyGuy_Red_Anim0A) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 11, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 11, EVT_FLOAT(1.0)) - EVT_CALL(SetPartSounds, ACTOR_SELF, 11, ACTOR_SOUND_JUMP, 0, 0) - EVT_CALL(FallPartTo, ACTOR_SELF, 11, LVar0, 54, 0, 24) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 11, SOUND_2064) - EVT_CALL(SetAnimation, ACTOR_SELF, 11, ANIM_ShyGuy_Red_Anim07) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 12, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -1, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -2, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 11, 0, -3, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_11, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_11, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_11, EVT_FLOAT(1.0)) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_11, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(FallPartTo, ACTOR_SELF, PRT_11, LVar0, 54, 0, 24) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_11, SOUND_2064) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_11, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_12, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -1, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_11, 0, -3, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 12, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -2, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -3, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 11, 0, -5, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_12, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -3, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_11, 0, -5, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 12, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -1, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -2, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 11, 0, -3, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_12, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -1, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_11, 0, -3, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 12, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 11, 0, 0, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_12, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_11, 0, 0, 0) EVT_WAIT(7) - EVT_CALL(GetPartOffset, ACTOR_SELF, 14, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_14, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 11, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 12, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 13, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 14, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_11, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_12, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_13, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_14, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_END_THREAD EVT_ELSE - EVT_CALL(SetPartPos, ACTOR_SELF, 14, 200, 0, 47) - EVT_CALL(SetPartPos, ACTOR_SELF, 13, 200, 0, 47) - EVT_CALL(SetPartPos, ACTOR_SELF, 12, 200, 0, 47) - EVT_CALL(SetPartPos, ACTOR_SELF, 11, 200, 0, 47) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_14, 200, 0, 47) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_13, 200, 0, 47) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_12, 200, 0, 47) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_11, 200, 0, 47) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 14, ANIM_ShyGuy_Red_Anim04) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 14, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 14, EVT_FLOAT(4.0)) - EVT_CALL(RunPartTo, ACTOR_SELF, 14, 55, 0, 47, FALSE) - EVT_CALL(RunPartTo, ACTOR_SELF, 14, 50, 0, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 14, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_14, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_14, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_14, EVT_FLOAT(4.0)) + EVT_CALL(RunPartTo, ACTOR_SELF, PRT_14, 55, 0, 47, FALSE) + EVT_CALL(RunPartTo, ACTOR_SELF, PRT_14, 50, 0, 0, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_14, ANIM_ShyGuy_Red_Anim07) EVT_END_THREAD EVT_THREAD EVT_WAIT(31) - EVT_CALL(SetAnimation, ACTOR_SELF, 13, ANIM_ShyGuy_Red_Anim04) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 13, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 13, EVT_FLOAT(4.0)) - EVT_CALL(RunPartTo, ACTOR_SELF, 13, 55, 0, 47, 36) - EVT_CALL(SetAnimation, ACTOR_SELF, 13, ANIM_ShyGuy_Red_Anim09) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 13, EVT_FLOAT(1.0)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 13, 50, 18, 0, 20, TRUE) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 13, SOUND_2064) - EVT_CALL(SetAnimation, ACTOR_SELF, 13, ANIM_ShyGuy_Red_Anim07) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -3, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_13, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_13, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_13, EVT_FLOAT(4.0)) + EVT_CALL(RunPartTo, ACTOR_SELF, PRT_13, 55, 0, 47, 36) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_13, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_13, EVT_FLOAT(1.0)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_13, 50, 18, 0, 20, TRUE) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_13, SOUND_2064) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_13, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -3, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -5, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -5, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -3, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -3, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, 0, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, 0, 0) EVT_END_THREAD EVT_THREAD EVT_WAIT(77) - EVT_CALL(SetAnimation, ACTOR_SELF, 13, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_13, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_THREAD EVT_WAIT(62) - EVT_CALL(SetAnimation, ACTOR_SELF, 12, ANIM_ShyGuy_Red_Anim04) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 12, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 12, EVT_FLOAT(4.0)) - EVT_CALL(RunPartTo, ACTOR_SELF, 12, 55, 0, 47, 36) - EVT_CALL(SetAnimation, ACTOR_SELF, 12, ANIM_ShyGuy_Red_Anim09) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 12, EVT_FLOAT(1.0)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 12, 50, 36, 0, 20, TRUE) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 12, SOUND_2064) - EVT_CALL(SetAnimation, ACTOR_SELF, 12, ANIM_ShyGuy_Red_Anim07) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -2, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -3, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_12, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_12, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_12, EVT_FLOAT(4.0)) + EVT_CALL(RunPartTo, ACTOR_SELF, PRT_12, 55, 0, 47, 36) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_12, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_12, EVT_FLOAT(1.0)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_12, 50, 36, 0, 20, TRUE) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_12, SOUND_2064) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_12, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -3, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -3, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -5, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -3, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -5, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -2, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -3, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -3, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, 0, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, 0, 0) EVT_END_THREAD EVT_THREAD EVT_WAIT(108) - EVT_CALL(SetAnimation, ACTOR_SELF, 12, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_12, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 11, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_11, ANIM_ShyGuy_Red_Anim04) EVT_WAIT(143) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 11, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_11, ANIM_ShyGuy_Red_Anim09) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 11, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_11, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_THREAD EVT_WAIT(133) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_ADD(LVar1, -3) - EVT_CALL(SetPartPos, ACTOR_SELF, 11, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim05) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 11, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_11, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim05) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_11, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_ADD(LVar0, -20) EVT_ADD(LVar1, 18) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 11, EVT_FLOAT(0.6)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 11, LVar0, LVar1, LVar2, 20, TRUE) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 11, EVT_FLOAT(0.3)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 11, 50, 54, 0, 30, TRUE) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 11, SOUND_2064) - EVT_CALL(SetAnimation, ACTOR_SELF, 11, ANIM_ShyGuy_Red_Anim07) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim04) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 12, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -1, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -2, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 11, 0, -3, 0) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_11, EVT_FLOAT(0.6)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_11, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_11, EVT_FLOAT(0.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_11, 50, 54, 0, 30, TRUE) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_11, SOUND_2064) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_11, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim04) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_12, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -1, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_11, 0, -3, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 12, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -2, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -3, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 11, 0, -5, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_12, EVT_FLOAT(1.2), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -3, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_11, 0, -5, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 12, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, -1, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, -2, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 11, 0, -3, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_12, EVT_FLOAT(1.1), EVT_FLOAT(0.9), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, -1, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, -2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_11, 0, -3, 0) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 13, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 12, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 13, 0, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 12, 0, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 11, 0, 0, 0) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_14, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_13, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_12, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_13, 0, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_12, 0, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_11, 0, 0, 0) EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_GeneralGuy_Anim03) - EVT_CALL(GetPartOffset, ACTOR_SELF, 14, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_GeneralGuy_Anim03) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_14, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 11, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 12, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 13, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 14, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_11, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_12, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_13, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_14, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -969,14 +986,14 @@ EvtScript N(fall_apart) = { EVT_CALL(SetActorVar, ACTOR_SELF, 4, ANIM_ShyStackGuy_Anim11) EVT_CALL(SetActorVar, ACTOR_SELF, 5, ANIM_ShyStackGuy_Anim15) EVT_CALL(SetActorVar, ACTOR_SELF, 6, ANIM_ShyStackGuy_Anim1C) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) EVT_CALL(SetActorSize, ACTOR_SELF, 62, EVT_IGNORE_ARG) - EVT_CALL(func_8026DA94, ACTOR_SELF, 0, -20, 0, -20) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 57, 30) + EVT_CALL(SetActorStatusOffsets, ACTOR_SELF, 0, -20, 0, -20) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 57, 30) EVT_CASE_EQ(1) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 2) EVT_CALL(SetActorVar, ACTOR_SELF, 1, ANIM_ShyStackGuy_Anim02) @@ -985,14 +1002,14 @@ EvtScript N(fall_apart) = { EVT_CALL(SetActorVar, ACTOR_SELF, 4, ANIM_ShyStackGuy_Anim12) EVT_CALL(SetActorVar, ACTOR_SELF, 5, ANIM_ShyStackGuy_Anim16) EVT_CALL(SetActorVar, ACTOR_SELF, 6, ANIM_ShyStackGuy_Anim1D) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations3))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations3))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) EVT_CALL(SetActorSize, ACTOR_SELF, 44, EVT_IGNORE_ARG) - EVT_CALL(func_8026DA94, ACTOR_SELF, 0, -40, 0, -40) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 39, 30) + EVT_CALL(SetActorStatusOffsets, ACTOR_SELF, 0, -40, 0, -40) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 39, 30) EVT_CASE_EQ(2) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 3) EVT_CALL(SetActorVar, ACTOR_SELF, 1, ANIM_ShyStackGuy_Anim03) @@ -1001,14 +1018,14 @@ EvtScript N(fall_apart) = { EVT_CALL(SetActorVar, ACTOR_SELF, 4, ANIM_ShyStackGuy_Anim13) EVT_CALL(SetActorVar, ACTOR_SELF, 5, ANIM_ShyStackGuy_Anim17) EVT_CALL(SetActorVar, ACTOR_SELF, 6, ANIM_ShyStackGuy_Anim1E) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations4))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations4))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) EVT_CALL(SetActorSize, ACTOR_SELF, 26, EVT_IGNORE_ARG) - EVT_CALL(func_8026DA94, ACTOR_SELF, 0, -60, 0, -60) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 21, 30) + EVT_CALL(SetActorStatusOffsets, ACTOR_SELF, 0, -60, 0, -60) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 21, 30) EVT_END_SWITCH EVT_RETURN EVT_END @@ -1066,10 +1083,10 @@ EvtScript N(doSpinSmashHit) = { EVT_CALL(func_80231000_54CC70, EVT_PTR("X"), LVar0) EVT_CALL(func_80231000_54CC70, EVT_PTR("Y"), LVar1) EVT_CALL(func_80231000_54CC70, EVT_PTR("Z"), LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 10, ANIM_ShyStackDamage_Anim00) - EVT_CALL(SetPartPos, ACTOR_SELF, 10, LVar0, LVar1, LVar2) - EVT_CALL(SetPartRotation, ACTOR_SELF, 10, 0, 0, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 10, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_10, ANIM_ShyStackDamage_Anim00) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_10, 0, 0, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_10, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_EXEC_WAIT(N(fall_apart)) EVT_SET_CONST(LVar0, 1) EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) @@ -1104,12 +1121,12 @@ EvtScript N(doSpinSmashHit) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 10, EVT_FLOAT(0.1)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 10, EVT_FLOAT(7.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_10, EVT_FLOAT(0.1)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_10, EVT_FLOAT(7.0)) EVT_CALL(func_80231000_54CC70, EVT_PTR("TX"), LVar0) EVT_CALL(func_80231000_54CC70, EVT_PTR("TY"), LVar1) EVT_CALL(func_80231000_54CC70, EVT_PTR("TZ"), LVar2) - EVT_CALL(JumpPartTo, ACTOR_SELF, 10, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2, 0, TRUE) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_END_THREAD @@ -1119,13 +1136,13 @@ EvtScript N(doSpinSmashHit) = { EVT_GOTO(1) EVT_LABEL(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 10, EVT_FLOAT(0.1)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 10, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_10, EVT_FLOAT(0.1)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_10, EVT_FLOAT(6.0)) EVT_CALL(GetActorSize, ACTOR_SELF, LVar0, LVar3) EVT_DIV(LVar3, 2) EVT_SET(LVar4, 70) EVT_SUB(LVar4, LVar3) - EVT_CALL(GetPartOffset, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_SET(LVar5, LVar4) EVT_SUB(LVar5, LVar0) EVT_IF_LT(LVar5, 6) @@ -1133,23 +1150,23 @@ EvtScript N(doSpinSmashHit) = { EVT_ELSE EVT_SET(LVar5, 0) EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 10, LVar4, LVar1, LVar2, LVar5, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_10, LVar4, LVar1, LVar2, LVar5, TRUE) EVT_SUB(LVar4, 18) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 10, EVT_FLOAT(1.5)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 10, EVT_FLOAT(3.0)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 10, LVar4, LVar1, LVar2, 12, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 10, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(GetPartOffset, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_10, EVT_FLOAT(1.5)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_10, EVT_FLOAT(3.0)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_10, LVar4, LVar1, LVar2, 12, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_10, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 10) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 10, SOUND_DEATH) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_10, SOUND_DEATH) EVT_PLAY_EFFECT(EFFECT_BIG_SMOKE_PUFF, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0) EVT_SET(LVar0, 0) EVT_LOOP(12) - EVT_CALL(SetPartRotation, ACTOR_SELF, 10, LVar0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_10, LVar0, 0, 0) EVT_ADD(LVar0, 8) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 10, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_10, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_RETURN EVT_END }; @@ -1157,16 +1174,16 @@ EvtScript N(doSpinSmashHit) = { EvtScript N(80235168) = { EVT_CALL(GetDamageSource, LVar0) EVT_IF_EQ(LVar0, DMG_SRC_FIRE_SHELL) - EVT_CALL(SetAnimation, ACTOR_SELF, 10, ANIM_ShyStackDamage_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_10, ANIM_ShyStackDamage_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 10, ANIM_ShyStackDamage_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_10, ANIM_ShyStackDamage_Anim00) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(func_80231000_54CC70, EVT_PTR("X"), LVar0) EVT_CALL(func_80231000_54CC70, EVT_PTR("Y"), LVar1) EVT_CALL(func_80231000_54CC70, EVT_PTR("Z"), LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 10, LVar0, LVar1, LVar2) - EVT_CALL(SetPartRotation, ACTOR_SELF, 10, 0, 0, 0) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_10, 0, 0, 0) EVT_EXEC_WAIT(N(fall_apart)) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar1) EVT_SWITCH(LVar1) @@ -1177,25 +1194,25 @@ EvtScript N(80235168) = { EVT_CASE_DEFAULT EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 10, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_10, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_EXEC_WAIT(N(lower_actor_pos)) EVT_THREAD EVT_SET(LVar0, 0) EVT_LOOP(30) EVT_ADD(LVar0, 24) - EVT_CALL(SetPartYaw, ACTOR_SELF, 10, LVar0) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_10, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartYaw, ACTOR_SELF, 10, LVar0) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_10, LVar0) EVT_END_THREAD - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 10, EVT_FLOAT(3.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 10, EVT_FLOAT(0.5)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_10, EVT_FLOAT(3.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_10, EVT_FLOAT(0.5)) EVT_CALL(GetActorSize, ACTOR_SELF, LVar0, LVar3) EVT_DIV(LVar3, 2) EVT_SET(LVar4, 70) EVT_SUB(LVar4, LVar3) - EVT_CALL(GetPartOffset, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_SET(LVar5, LVar4) EVT_SUB(LVar5, LVar0) EVT_IF_LT(LVar5, 6) @@ -1203,28 +1220,28 @@ EvtScript N(80235168) = { EVT_ELSE EVT_SET(LVar5, 0) EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 10, LVar4, LVar1, LVar2, LVar5, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_10, LVar4, LVar1, LVar2, LVar5, TRUE) EVT_SET(LVar1, 0) EVT_SUB(LVar0, 10) - EVT_CALL(JumpPartTo, ACTOR_SELF, 10, LVar0, LVar1, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2, 10, TRUE) EVT_WAIT(20) - EVT_CALL(GetPartOffset, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 10) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 10, SOUND_DEATH) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_10, SOUND_DEATH) EVT_PLAY_EFFECT(EFFECT_BIG_SMOKE_PUFF, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0) EVT_SET(LVar0, 0) EVT_LOOP(12) - EVT_CALL(SetPartRotation, ACTOR_SELF, 10, LVar0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_10, LVar0, 0, 0) EVT_ADD(LVar0, 8) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 10, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 10, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_10, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_10, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_BURN_HIT) EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4) EVT_DIV(LVar3, 2) @@ -1234,7 +1251,7 @@ EvtScript N(80235168) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, LVar3, 10, 0) EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_CALL(GetActorVar, ACTOR_SELF, 5, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CASE_DEFAULT EVT_END_SWITCH EVT_RETURN @@ -1250,10 +1267,10 @@ EvtScript N(takeTurn) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(GetActorVar, ACTOR_SELF, 6, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(20) EVT_ADD(LVar0, 4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E7) EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E8) @@ -1337,10 +1354,10 @@ EvtScript N(takeTurn) = { EvtScript N(launch_rock) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarF) EVT_IF_FLAG(LVarF, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 7, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 8, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 9, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_7, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_8, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_9, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) @@ -1361,10 +1378,10 @@ EvtScript N(launch_rock) = { EVT_SET(LVar2, 6) EVT_END_SWITCH EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 7, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 8, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 9, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_7, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_8, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_9, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) @@ -1434,12 +1451,12 @@ EvtScript N(launch_rock) = { EvtScript N(onDeath) = { EVT_EXEC_WAIT(EVS_Enemy_DeathWithoutRemove) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(GetActorVar, ACTOR_ENEMY1, 3, LVar0) EVT_ADD(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 3, LVar0) EVT_IF_GE(LVar0, 2) - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_END_IF EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN @@ -1447,7 +1464,7 @@ EvtScript N(onDeath) = { }; EvtScript N(onSpinSmashLaunchDeath) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_SET(LVar2, 0) @@ -1470,12 +1487,12 @@ EvtScript N(onSpinSmashLaunchDeath) = { EVT_ADD(LVar3, 8) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(GetActorVar, ACTOR_ENEMY1, 3, LVar0) EVT_ADD(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 3, LVar0) EVT_IF_GE(LVar0, 2) - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_END_IF EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN diff --git a/src/battle/area/omo2_4/actor/signal_guy.c b/src/battle/area/omo2_4/actor/signal_guy.c index 80bf50d0bc..5c3e27947e 100644 --- a/src/battle/area/omo2_4/actor/signal_guy.c +++ b/src/battle/area/omo2_4/actor/signal_guy.c @@ -13,40 +13,44 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_20000000, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -63,8 +67,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SIGNAL_GUY, .level = 0, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -76,13 +80,13 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_MarshalGuy_Anim01, + STATUS_KEY_NORMAL, ANIM_MarshalGuy_Anim01, STATUS_END, }; @@ -94,17 +98,17 @@ EvtScript N(init) = { EVT_CALL(ForceHomePos, ACTOR_SELF, 180, 0, 0) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MarshalGuy_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MarshalGuy_Anim0F) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, 0, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_GENERAL_WHISTLE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MarshalGuy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MarshalGuy_Anim04) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MarshalGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MarshalGuy_Anim05) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MarshalGuy_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MarshalGuy_Anim09) EVT_END_THREAD EVT_RETURN EVT_END @@ -134,16 +138,16 @@ EvtScript N(handleEvent) = { EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_SPIKE_TAUNT) EVT_CASE_OR_EQ(EVENT_DEATH) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MarshalGuy_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MarshalGuy_Anim0A) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 35) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MarshalGuy_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MarshalGuy_Anim02) EVT_WAIT(24) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MarshalGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MarshalGuy_Anim03) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_ADD(LVar1, 10) @@ -153,9 +157,9 @@ EvtScript N(handleEvent) = { EVT_END_LOOP EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MarshalGuy_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MarshalGuy_Anim0C) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_STEAM_EMITTER) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_STEAM_EMITTER) EVT_CALL(SetGoalPos, ACTOR_SELF, -200, 0, 20) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(RemoveActorDecoration, ACTOR_SELF, LVar0, 0) @@ -181,7 +185,7 @@ EvtScript N(handleEvent) = { EVT_RETURN EVT_CASE_DEFAULT EVT_SET_CONST(LVar1, ANIM_MarshalGuy_Anim0A) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_WAIT(20) EVT_END_SWITCH EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) diff --git a/src/battle/area/omo2_5/actor/shy_squad_dup.c b/src/battle/area/omo2_5/actor/shy_squad_dup.c index 5715bef114..c2ed628804 100644 --- a/src/battle/area/omo2_5/actor/shy_squad_dup.c +++ b/src/battle/area/omo2_5/actor/shy_squad_dup.c @@ -23,40 +23,59 @@ extern EvtScript N(run_away); extern EvtScript N(attack); extern EvtScript N(run_squad_to_pos); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, + PRT_7 = 7, + PRT_8 = 8, + PRT_9 = 9, + PRT_10 = 10, + PRT_11 = 11, + PRT_12 = 12, + PRT_13 = 13, + PRT_14 = 14, + PRT_15 = 15, + PRT_16 = 16, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -68,7 +87,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -80,7 +99,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -92,7 +111,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -104,7 +123,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -116,7 +135,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -128,7 +147,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 7, + .index = PRT_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -140,7 +159,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 8, + .index = PRT_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -152,7 +171,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 9, + .index = PRT_9, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -164,7 +183,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 10, + .index = PRT_10, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -176,7 +195,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 11, + .index = PRT_11, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -188,7 +207,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 12, + .index = PRT_12, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -200,7 +219,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 13, + .index = PRT_13, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -212,7 +231,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 14, + .index = PRT_14, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -224,7 +243,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 15, + .index = PRT_15, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -236,7 +255,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 16, + .index = PRT_16, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -253,8 +272,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SHY_SQUAD_DUP, .level = 0, .maxHP = 15, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -266,20 +285,20 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_TankGuy_Anim01, - STATUS_STOP, ANIM_TankGuy_Anim00, + STATUS_KEY_NORMAL, ANIM_TankGuy_Anim01, + STATUS_KEY_STOP, ANIM_TankGuy_Anim00, STATUS_END, }; s32 N(IdleAnimations_watt)[] = { - STATUS_NORMAL, ANIM_TankGuy_Anim07, - STATUS_STOP, ANIM_TankGuy_Anim00, + STATUS_KEY_NORMAL, ANIM_TankGuy_Anim07, + STATUS_KEY_STOP, ANIM_TankGuy_Anim00, STATUS_END, }; @@ -291,96 +310,96 @@ EvtScript N(init) = { EVT_CALL(SetActorVar, ACTOR_SELF, 3, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 4, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 15, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 0, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 0, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 1, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 0, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 1, -40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 0, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 1, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 0, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 0, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 1, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 0, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 1, -40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 0, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 1, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 0, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 1, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 0, 50) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 1, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 0, 50) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 1, -40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 0, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 1, -40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 0, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 0, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 1, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 0, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 2, -30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 3, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 2, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 3, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 2, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 3, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 2, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 3, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 2, -30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 3, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 2, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 3, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 2, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 3, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 2, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 3, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 2, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 3, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 2, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 3, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 2, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 3, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 2, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 3, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 2, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 3, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 2, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 3, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 2, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 3, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 4, -30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 5, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 4, -30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 5, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 4, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 5, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 4, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 5, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 4, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 5, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 4, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 5, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 4, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 5, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 4, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 5, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 4, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 10, 5, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 4, -20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 11, 5, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 4, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 12, 5, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 4, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 13, 5, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 4, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 14, 5, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 4, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 15, 5, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 4, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 16, 5, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 0, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 0, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 1, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 0, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 1, -40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 0, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 1, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 0, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 0, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 1, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 0, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 1, -40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 0, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 1, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 0, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 1, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 0, 50) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 1, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 0, 50) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 1, -40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 0, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 1, -40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 0, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 0, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 1, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 0, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 2, -30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 3, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 2, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 3, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 2, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 3, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 2, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 3, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 2, -30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 3, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 2, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 3, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 2, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 3, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 2, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 3, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 2, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 3, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 2, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 3, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 2, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 3, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 2, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 3, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 2, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 3, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 2, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 3, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 2, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 3, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 4, -30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 5, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 4, -30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 5, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 4, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 5, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 4, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 5, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 4, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 5, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 4, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 5, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 4, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 5, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 4, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 5, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 4, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_10, 5, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 4, -20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_11, 5, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 4, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_12, 5, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 4, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_13, 5, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 4, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_14, 5, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 4, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_15, 5, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 4, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_16, 5, 0) EVT_SET(LVar0, 2) EVT_LOOP(15) EVT_CALL(SetPartPos, ACTOR_SELF, LVar0, 185, 0, 47) @@ -426,14 +445,14 @@ EvtScript N(idle) = { EVT_LABEL(0) EVT_CALL(GetCurrentPartnerID, LVar0) EVT_IF_EQ(LVar0, PARTNER_WATT) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_watt))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_watt))) EVT_SET(LVar0, 2) EVT_LOOP(15) EVT_CALL(SetIdleAnimations, ACTOR_SELF, LVar0, EVT_PTR(N(IdleAnimations_watt))) EVT_ADD(LVar0, 1) EVT_END_LOOP EVT_ELSE - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_SET(LVar0, 2) EVT_LOOP(15) EVT_CALL(SetIdleAnimations, ACTOR_SELF, LVar0, EVT_PTR(N(IdleAnimations))) @@ -1006,7 +1025,7 @@ EvtScript N(takeTurn) = { }; EvtScript N(next_phase) = { - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(SetActorVar, ACTOR_ENEMY1, 4, 1) EVT_RETURN EVT_END @@ -1080,9 +1099,9 @@ EvtScript N(attack) = { EVT_END_LOOP EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(GetGoalPos, ACTOR_PLAYER, LVar2, LVar5, LVar3) - EVT_CALL(GetPartMovementVar, ACTOR_SELF, 2, 4, LVar5) + EVT_CALL(GetPartMovementVar, ACTOR_SELF, PRT_2, 4, LVar5) EVT_ADD(LVar2, LVar5) - EVT_CALL(GetPartMovementVar, ACTOR_SELF, 2, 5, LVar5) + EVT_CALL(GetPartMovementVar, ACTOR_SELF, PRT_2, 5, LVar5) EVT_ADD(LVar3, LVar5) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar2, 0, LVar3) EVT_CALL(RunToGoal, ACTOR_SELF, 30, FALSE) @@ -1200,9 +1219,9 @@ EvtScript N(run_squad_to_pos) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar2, LVar5, LVar3) - EVT_CALL(GetPartMovementVar, ACTOR_SELF, 2, 4, LVar5) + EVT_CALL(GetPartMovementVar, ACTOR_SELF, PRT_2, 4, LVar5) EVT_ADD(LVar2, LVar5) - EVT_CALL(GetPartMovementVar, ACTOR_SELF, 2, 5, LVar5) + EVT_CALL(GetPartMovementVar, ACTOR_SELF, PRT_2, 5, LVar5) EVT_ADD(LVar3, LVar5) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar2, 0, LVar3) EVT_CALL(RunToGoal, ACTOR_SELF, 30, FALSE) diff --git a/src/battle/area/omo2_6/actor/shy_guy_dup.c b/src/battle/area/omo2_6/actor/shy_guy_dup.c index 6dd9ad271b..7c7a2e286f 100644 --- a/src/battle/area/omo2_6/actor/shy_guy_dup.c +++ b/src/battle/area/omo2_6/actor/shy_guy_dup.c @@ -12,40 +12,52 @@ extern EvtScript N(idle); extern EvtScript N(handleEvent); extern EvtScript N(run_to_pos); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, + PRT_7 = 7, + PRT_8 = 8, + PRT_9 = 9, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -57,7 +69,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -69,7 +81,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -81,7 +93,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -93,7 +105,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -105,7 +117,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -117,7 +129,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 7, + .index = PRT_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -129,7 +141,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 8, + .index = PRT_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -141,7 +153,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 9, + .index = PRT_9, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -154,12 +166,12 @@ ActorPartBlueprint N(parts)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_HIDE_HP_BAR, + .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_HEALTH_BAR, .type = ACTOR_TYPE_SHY_GUY_DUP, .level = 0, .maxHP = 10, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -171,23 +183,23 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 30 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_TankGuy_Anim01, - STATUS_STONE, ANIM_TankGuy_Anim00, - STATUS_SLEEP, ANIM_TankGuy_Anim00, - STATUS_POISON, ANIM_TankGuy_Anim01, - STATUS_STOP, ANIM_TankGuy_Anim00, - STATUS_STATIC, ANIM_TankGuy_Anim00, - STATUS_PARALYZE, ANIM_TankGuy_Anim00, - STATUS_PARALYZE, ANIM_TankGuy_Anim00, - STATUS_DIZZY, ANIM_TankGuy_Anim01, - STATUS_DIZZY, ANIM_TankGuy_Anim01, - STATUS_FEAR, ANIM_TankGuy_Anim00, + STATUS_KEY_NORMAL, ANIM_TankGuy_Anim01, + STATUS_KEY_STONE, ANIM_TankGuy_Anim00, + STATUS_KEY_SLEEP, ANIM_TankGuy_Anim00, + STATUS_KEY_POISON, ANIM_TankGuy_Anim01, + STATUS_KEY_STOP, ANIM_TankGuy_Anim00, + STATUS_KEY_STATIC, ANIM_TankGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_TankGuy_Anim00, + STATUS_KEY_PARALYZE, ANIM_TankGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_TankGuy_Anim01, + STATUS_KEY_DIZZY, ANIM_TankGuy_Anim01, + STATUS_KEY_FEAR, ANIM_TankGuy_Anim00, STATUS_END, }; @@ -195,22 +207,22 @@ EvtScript N(init) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 0, 0) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 2, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 0, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 3, 1, -30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 0, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 4, 1, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 0, 20) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 5, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 0, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 6, 1, 10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 0, 30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 7, 1, -30) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 0, 40) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 8, 1, -10) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 0, 50) - EVT_CALL(SetPartMovementVar, ACTOR_SELF, 9, 1, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 0, 0) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_2, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 0, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_3, 1, -30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 0, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_4, 1, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 0, 20) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_5, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 0, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_6, 1, 10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 0, 30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_7, 1, -30) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 0, 40) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_8, 1, -10) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 0, 50) + EVT_CALL(SetPartMovementVar, ACTOR_SELF, PRT_9, 1, 10) EVT_SET(LVar0, 2) EVT_LOOP(8) EVT_CALL(SetPartPos, ACTOR_SELF, LVar0, 185, 0, 47) diff --git a/src/battle/area/omo3/actor/big_lantern_ghost.c b/src/battle/area/omo3/actor/big_lantern_ghost.c index 00ac89de5f..a9ad5dabf1 100644 --- a/src/battle/area/omo3/actor/big_lantern_ghost.c +++ b/src/battle/area/omo3/actor/big_lantern_ghost.c @@ -21,18 +21,23 @@ extern EvtScript N(checkExtinguish); extern EvtScript N(onDeath); extern EvtScript N(returnHome); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + enum N(ActorVars) { - N(VAR_LANTERN_BRIGHTNESS) = 0, + N(VAR_LANTERN_BRIGHTNESS) = 0, N(VAR_DARKENING) = 1, - N(VAR_LANTERN_X) = 2, - N(VAR_LANTERN_Y) = 3, - N(VAR_LANTERN_Z) = 4, - N(VAR_EXTINGUISHED_ONCE) = 5, - N(VAR_6) = 6, - N(VAR_SPEAK_FLAGS) = 7, - N(VAR_EFFECT) = 10, - N(VAR_MOVE_ID) = 11, - N(VAR_LIGHT_BEAM_COUNTER) = 12, + N(VAR_LANTERN_X) = 2, + N(VAR_LANTERN_Y) = 3, + N(VAR_LANTERN_Z) = 4, + N(VAR_EXTINGUISHED_ONCE) = 5, + N(VAR_6) = 6, + N(VAR_SPEAK_FLAGS) = 7, + N(VAR_EFFECT) = 10, + N(VAR_MOVE_ID) = 11, + N(VAR_LIGHT_BEAM_COUNTER) = 12, N(VAR_HIT_SOUND_COUNTER) = 13, }; @@ -43,44 +48,44 @@ enum N(MoveIds) { }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(defenseTable2)[] = { - ELEMENT_NORMAL, 99, + ELEMENT_NORMAL, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 40, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 60, - STATUS_SHRINK, 0, - STATUS_STOP, 60, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 40, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 60, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 60, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 54 }, .opacity = 255, @@ -92,7 +97,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000, - .index = 2, + .index = PRT_2, .posOffset = { -40, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -110,8 +115,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BIG_LANTERN_GHOST, .level = 42, .maxHP = 40, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -123,22 +128,22 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { 86, 60 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -30, 55 }, - .statusMessageOffset = { 20, 45 }, + .statusTextOffset = { 20, 45 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BigLanternGhost_Anim01, - STATUS_STONE, ANIM_BigLanternGhost_Anim00, - STATUS_SLEEP, ANIM_BigLanternGhost_Anim0C, - STATUS_POISON, ANIM_BigLanternGhost_Anim01, - STATUS_STOP, ANIM_BigLanternGhost_Anim00, - STATUS_STATIC, ANIM_BigLanternGhost_Anim00, - STATUS_PARALYZE, ANIM_BigLanternGhost_Anim00, - STATUS_PARALYZE, ANIM_BigLanternGhost_Anim00, - STATUS_DIZZY, ANIM_BigLanternGhost_Anim0D, - STATUS_FEAR, ANIM_BigLanternGhost_Anim0D, + STATUS_KEY_NORMAL, ANIM_BigLanternGhost_Anim01, + STATUS_KEY_STONE, ANIM_BigLanternGhost_Anim00, + STATUS_KEY_SLEEP, ANIM_BigLanternGhost_Anim0C, + STATUS_KEY_POISON, ANIM_BigLanternGhost_Anim01, + STATUS_KEY_STOP, ANIM_BigLanternGhost_Anim00, + STATUS_KEY_STATIC, ANIM_BigLanternGhost_Anim00, + STATUS_KEY_PARALYZE, ANIM_BigLanternGhost_Anim00, + STATUS_KEY_PARALYZE, ANIM_BigLanternGhost_Anim00, + STATUS_KEY_DIZZY, ANIM_BigLanternGhost_Anim0D, + STATUS_KEY_FEAR, ANIM_BigLanternGhost_Anim0D, STATUS_END, }; @@ -315,7 +320,7 @@ EvtScript N(nextTurn) = { EVT_CALL(SetBattleCamOffsetZ, 40) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_CH4_0051, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim05, ANIM_BigLanternGhost_Anim01) + EVT_CALL(ActorSpeak, MSG_CH4_0051, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim05, ANIM_BigLanternGhost_Anim01) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_END_IF EVT_CASE_EQ(PHASE_ENEMY_BEGIN) @@ -540,20 +545,20 @@ EvtScript N(attackHeavyJump) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim06) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_3E7, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(6) EVT_CASE_OR_EQ(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim10) EVT_THREAD EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim11) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -568,7 +573,7 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 12, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim01) EVT_SUB(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) @@ -584,10 +589,10 @@ EvtScript N(attackHeavyJump) = { EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim10) EVT_THREAD EVT_WAIT(7) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim11) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -608,7 +613,7 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim10) EVT_END_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) @@ -617,7 +622,7 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 12, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37D) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim01) EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) @@ -650,10 +655,10 @@ EvtScript N(attackLightBeam) = { EVT_ADD(LVar0, 80) EVT_SET(LVar1, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim06) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim01) EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_05) EVT_CALL(SetBattleCamZoom, 350) @@ -661,7 +666,7 @@ EvtScript N(attackLightBeam) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2EB) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim0F) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), LVar5) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), 11) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_X), LVar0) @@ -703,13 +708,13 @@ EvtScript N(attackLightBeam) = { EVT_CASE_DEFAULT EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarE, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarE, DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(2) EVT_CALL(ActorExists, ACTOR_PARTNER, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarD, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarD, DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_END_SWITCH EVT_WAIT(40) @@ -728,7 +733,7 @@ EvtScript N(attackLightBeam) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3A7) EVT_END_SWITCH EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim14) EVT_WAIT(60) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_EXEC_WAIT(N(returnHome)) @@ -756,9 +761,9 @@ EvtScript N(extinguish) = { EVT_CALL(GetEnemyMaxHP, ACTOR_SELF, LVar0) EVT_CALL(GetActorHP, ACTOR_SELF, LVar1) EVT_IF_EQ(LVar0, LVar1) - EVT_CALL(ActorSpeak, MSG_CH4_0053, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim05, ANIM_BigLanternGhost_Anim01) + EVT_CALL(ActorSpeak, MSG_CH4_0053, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim05, ANIM_BigLanternGhost_Anim01) EVT_ELSE - EVT_CALL(ActorSpeak, MSG_CH4_0052, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim05, ANIM_BigLanternGhost_Anim01) + EVT_CALL(ActorSpeak, MSG_CH4_0052, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim05, ANIM_BigLanternGhost_Anim01) EVT_END_IF EVT_END_IF EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) @@ -769,13 +774,13 @@ EvtScript N(extinguish) = { EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3CF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim0F) EVT_WAIT(8) EVT_THREAD EVT_WAIT(2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3D0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim0E) EVT_WAIT(5) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), 2) EVT_THREAD @@ -798,7 +803,7 @@ EvtScript N(extinguish) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim01) EVT_EXEC_WAIT(N(setGhostNoTarget)) EVT_WAIT(30) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -843,7 +848,7 @@ EvtScript N(returnHome) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim07) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BigLanternGhost_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BigLanternGhost_Anim01) EVT_RETURN EVT_END }; @@ -852,11 +857,11 @@ EvtScript N(setGhostNoTarget) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_LANTERN_BRIGHTNESS), LVar0) EVT_SWITCH(LVar0) EVT_CASE_LT(5) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CASE_LT(8) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CASE_DEFAULT - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_END_SWITCH EVT_RETURN EVT_END diff --git a/src/battle/area/omo3/area.c b/src/battle/area/omo3/area.c index 12f3931ae1..637296cfc5 100644 --- a/src/battle/area/omo3/area.c +++ b/src/battle/area/omo3/area.c @@ -26,82 +26,82 @@ extern ActorBlueprint N(red_shy_guy); Vec3i N(big_lantern_ghost_pos) = { 30, 0, 10 }; Formation N(Formation_00) = { - { .actor = &N(big_lantern_ghost), .home = { .vec = &N(big_lantern_ghost_pos) }, .priority = 10, }, + ACTOR_BY_POS(N(big_lantern_ghost), N(big_lantern_ghost_pos), 10), }; Formation N(Formation_01) = { - { .actor = &N(goomba), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(goomba), BTL_POS_GROUND_B, 10), }; Formation N(Formation_02) = { - { .actor = &N(goomba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(goomba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(goomba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(goomba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_03) = { - { .actor = &N(clubba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(clubba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(clubba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_04) = { - { .actor = &N(fuzzy), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(fuzzy), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_C, 9), }; Formation N(Formation_05) = { - { .actor = &N(fuzzy), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(fuzzy), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(fuzzy), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(fuzzy), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(fuzzy), BTL_POS_GROUND_D, 7), }; Formation N(Formation_06) = { - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(hammer_bro), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_C, 9), }; Formation N(Formation_07) = { - { .actor = &N(hammer_bro), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(hammer_bro), BTL_POS_GROUND_B, 10), }; Formation N(Formation_08) = { - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 10, .var1 = 1 }, - { .actor = &N(pokey), .home = { .index = 2 }, .priority = 9, .var1 = 1 }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 10, 0, 1), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_C, 9, 0, 1), }; Formation N(Formation_09) = { - { .actor = &N(koopatrol), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(koopatrol), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(koopatrol), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0A) = { - { .actor = &N(red_shy_guy), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(red_shy_guy), BTL_POS_GROUND_B, 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(omo_03), "ビッグカンテラくん"), - BATTLE(N(Formation_01), &N(omo_04), "クリボー(ピーチへん)"), - BATTLE(N(Formation_02), &N(omo_04), "クリボーx2(ピーチへん)"), - BATTLE(N(Formation_03), &N(omo_04), "ガボンへいx2(ピーチへん)"), - BATTLE(N(Formation_04), &N(omo_04), "チョロボンx2(ピーチへん)"), - BATTLE(N(Formation_05), &N(omo_04), "チョロボンx4(ピーチへん)"), - BATTLE(N(Formation_06), &N(omo_04), "ハンマーブロスx2(ピーチへん)"), - BATTLE(N(Formation_07), &N(omo_04), "ハンマーブロス(ピーチへん)"), - BATTLE(N(Formation_08), &N(omo_04), "サンボx2(ピーチへん)"), - BATTLE(N(Formation_09), &N(omo_04), "トゲノコx2(ピーチへん)"), - BATTLE(N(Formation_0A), &N(omo_01), "ヘイホー"), + BATTLE(N(Formation_00), N(omo_03), "ビッグカンテラくん"), + BATTLE(N(Formation_01), N(omo_04), "クリボー(ピーチへん)"), + BATTLE(N(Formation_02), N(omo_04), "クリボーx2(ピーチへん)"), + BATTLE(N(Formation_03), N(omo_04), "ガボンへいx2(ピーチへん)"), + BATTLE(N(Formation_04), N(omo_04), "チョロボンx2(ピーチへん)"), + BATTLE(N(Formation_05), N(omo_04), "チョロボンx4(ピーチへん)"), + BATTLE(N(Formation_06), N(omo_04), "ハンマーブロスx2(ピーチへん)"), + BATTLE(N(Formation_07), N(omo_04), "ハンマーブロス(ピーチへん)"), + BATTLE(N(Formation_08), N(omo_04), "サンボx2(ピーチへん)"), + BATTLE(N(Formation_09), N(omo_04), "トゲノコx2(ピーチへん)"), + BATTLE(N(Formation_0A), N(omo_01), "ヘイホー"), {}, }; StageList N(Stages) = { - { "omo_01", &N(omo_01) }, - { "omo_02", &N(omo_02) }, - { "omo_03", &N(omo_03) }, - { "omo_03b", &N(omo_03b) }, - { "omo_04", &N(omo_04) }, - { "omo_05", &N(omo_05) }, - { "omo_05b", &N(omo_05b) }, - { "omo_06", &N(omo_06) }, - { "omo_07", &N(omo_07) }, + STAGE("omo_01", N(omo_01)), + STAGE("omo_02", N(omo_02)), + STAGE("omo_03", N(omo_03)), + STAGE("omo_03b", N(omo_03b)), + STAGE("omo_04", N(omo_04)), + STAGE("omo_05", N(omo_05)), + STAGE("omo_05b", N(omo_05b)), + STAGE("omo_06", N(omo_06)), + STAGE("omo_07", N(omo_07)), {}, }; diff --git a/src/battle/area/omo3/stage/omo_04.c b/src/battle/area/omo3/stage/omo_04.c index fad5c15ca0..1d9638575c 100644 --- a/src/battle/area/omo3/stage/omo_04.c +++ b/src/battle/area/omo3/stage/omo_04.c @@ -55,10 +55,10 @@ Vec3i N(slot_machine_pos3) = { 20, 56, -68 }; Vec3i N(slot_machine_pos4) = { 53, 56, -68 }; Formation N(fromation_slot_machine) = { - { .actor = &N(slot_machine_start), .home = { .vec = &N(slot_machine_pos1) }, .var0 = 0 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos2) }, .var0 = 1 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos3) }, .var0 = 2 }, - { .actor = &N(slot_machine_stop), .home = { .vec = &N(slot_machine_pos4) }, .var0 = 3 }, + ACTOR_BY_POS(N(slot_machine_start), N(slot_machine_pos1), 0, 0), + ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos2), 0, 1), + ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos3), 0, 2), + ACTOR_BY_POS(N(slot_machine_stop), N(slot_machine_pos4), 0, 3), }; #include "battle/common/actor/slot_machine.inc.c" diff --git a/src/battle/area/pra/actor/albino_dino.c b/src/battle/area/pra/actor/albino_dino.c index 103b373b9e..c502fbbe31 100644 --- a/src/battle/area/pra/actor/albino_dino.c +++ b/src/battle/area/pra/actor/albino_dino.c @@ -11,54 +11,58 @@ extern EvtScript N(idle); extern EvtScript N(takeTurn); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_AlbinoDino_Idle, - STATUS_STONE, ANIM_AlbinoDino_Still, - STATUS_SLEEP, ANIM_AlbinoDino_Idle, - STATUS_POISON, ANIM_AlbinoDino_Idle, - STATUS_STOP, ANIM_AlbinoDino_Still, - STATUS_STATIC, ANIM_AlbinoDino_Idle, - STATUS_PARALYZE, ANIM_AlbinoDino_Still, - STATUS_DIZZY, ANIM_AlbinoDino_Still, - STATUS_FEAR, ANIM_AlbinoDino_Still, + STATUS_KEY_NORMAL, ANIM_AlbinoDino_Idle, + STATUS_KEY_STONE, ANIM_AlbinoDino_Still, + STATUS_KEY_SLEEP, ANIM_AlbinoDino_Idle, + STATUS_KEY_POISON, ANIM_AlbinoDino_Idle, + STATUS_KEY_STOP, ANIM_AlbinoDino_Still, + STATUS_KEY_STATIC, ANIM_AlbinoDino_Idle, + STATUS_KEY_PARALYZE, ANIM_AlbinoDino_Still, + STATUS_KEY_DIZZY, ANIM_AlbinoDino_Still, + STATUS_KEY_FEAR, ANIM_AlbinoDino_Still, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 4, - ELEMENT_FIRE, 99, + ELEMENT_NORMAL, 4, + ELEMENT_FIRE, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 75, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -9, 46 }, .opacity = 255, @@ -75,8 +79,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_ALBINO_DINO, .level = 23, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 40, @@ -88,9 +92,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 64, 56 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -22, 24 }, - .statusMessageOffset = { 11, 40 }, + .statusTextOffset = { 11, 40 }, }; EvtScript N(init) = { @@ -107,11 +111,11 @@ EvtScript N(idle) = { }; EvtScript N(returnHome) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_AlbinoDino_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_AlbinoDino_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_AlbinoDino_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_AlbinoDino_Idle) EVT_RETURN EVT_END }; @@ -249,7 +253,7 @@ EvtScript N(takeTurn) = { EVT_WAIT(4) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_AlbinoDino_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_AlbinoDino_Run) EVT_WAIT(20) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarF, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarF) @@ -270,11 +274,11 @@ EvtScript N(takeTurn) = { EVT_END_IF EVT_WAIT(40) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(returnHome)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -295,7 +299,8 @@ EvtScript N(takeTurn) = { EVT_KILL_THREAD(LVar9) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, STATUS_FLAG_8 | 0x00000010, 4, BS_FLAGS1_SP_EVT_ACTIVE) + // invalid status field has 24% chance, but no status and doesn't have STATUS_FLAG_80000000 set + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, 24, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -306,7 +311,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2FD) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_AlbinoDino_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_AlbinoDino_Idle) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 3, EVT_FLOAT(1.0)) EVT_WAIT(10) EVT_CALL(YieldTurn) diff --git a/src/battle/area/pra/area.c b/src/battle/area/pra/area.c index e8b281b7f1..ec85d3d276 100644 --- a/src/battle/area/pra/area.c +++ b/src/battle/area/pra/area.c @@ -30,14 +30,14 @@ Vec3i N(pos_swoopula)[] = { }; Formation N(Formation_01) = { - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[1] }, .priority = 10 }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[2] }, .priority = 9 }, + ACTOR_BY_POS(N(swoopula), N(pos_swoopula)[1], 10), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula)[2], 9), }; Formation N(Formation_02) = { - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[0] }, .priority = 10 }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[1] }, .priority = 9 }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[2] }, .priority = 8 }, + ACTOR_BY_POS(N(swoopula), N(pos_swoopula)[0], 10), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula)[1], 9), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula)[2], 8), }; Vec3i N(pos_swoopula_2)[] = { @@ -48,10 +48,10 @@ Vec3i N(pos_swoopula_2)[] = { }; Formation N(Formation_03) = { - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_2)[0] }, .priority = 10 }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_2)[1] }, .priority = 9 }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_2)[2] }, .priority = 8 }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_2)[3] }, .priority = 7 }, + ACTOR_BY_POS(N(swoopula), N(pos_swoopula_2)[0], 10), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula_2)[1], 9), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula_2)[2], 8), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula_2)[3], 7), }; Vec3i N(pos_swoopula_3)[] = { @@ -63,100 +63,100 @@ Vec3i N(pos_swoopula_3)[] = { Vec3i N(pos_magikoopa) = { 120, 55, 25 }; Formation N(Formation_04) = { - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_3)[0] }, .priority = 10, .var0 = 0xFFFFFFFF }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_3)[1] }, .priority = 9, .var0 = 0xFFFFFFFF }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula_3)[2] }, .priority = 8, .var0 = 0xFFFFFFFF }, - { .actor = &N(yellow_magikoopa_flying), .home = { .vec = &N(pos_magikoopa) }, .priority = 7 }, + ACTOR_BY_POS(N(swoopula), N(pos_swoopula_3)[0], 10, 0xFFFFFFFF), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula_3)[1], 9, 0xFFFFFFFF), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula_3)[2], 8, 0xFFFFFFFF), + ACTOR_BY_POS(N(yellow_magikoopa_flying), N(pos_magikoopa), 7), }; Formation N(Formation_05) = { - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 10), }; Formation N(Formation_06) = { - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_07) = { - { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(white_clubba), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_C, 8), }; Formation N(Formation_08) = { - { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[2] }, .priority = 8 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula)[2], 8), }; Formation N(Formation_09) = { - { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(yellow_magikoopa), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(yellow_magikoopa), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0A) = { - { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(white_magikoopa), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(white_magikoopa), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0B) = { - { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(white_magikoopa), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(red_magikoopa), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(white_magikoopa), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(red_magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0C) = { - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(gray_magikoopa), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(gray_magikoopa), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0D) = { - { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(white_clubba), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(green_magikoopa), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(green_magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0E) = { - { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(green_magikoopa), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(white_magikoopa_flying), .home = { .index = 7 }, .priority = 7 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(green_magikoopa), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(white_magikoopa_flying), BTL_POS_AIR_D, 7), }; Formation N(Formation_0F) = { - { .actor = &N(albino_dino), .home = { .index = 1 }, .priority = 10, } + ACTOR_BY_IDX(N(albino_dino), BTL_POS_GROUND_B, 10) }; BattleList N(Formations) = { - BATTLE(N(Formation_01), &N(pra_01), "バサバサチュルルx2"), - BATTLE(N(Formation_02), &N(pra_01), "バサバサチュルルx3"), - BATTLE(N(Formation_03), &N(pra_01), "バサバサチュルルx4"), - BATTLE(N(Formation_04), &N(pra_01), "バサバサチュルルx3,イエローカメック(そら)"), - BATTLE(N(Formation_05), &N(pra_01), "ホワイトガボン"), - BATTLE(N(Formation_06), &N(pra_01), "ホワイトガボンx2"), - BATTLE(N(Formation_07), &N(pra_01), "ホワイトガボンx3"), - BATTLE(N(Formation_08), &N(pra_01), "ホワイトガボンx2,バサバサチュルル"), - BATTLE(N(Formation_09), &N(pra_01), "ホワイトガボンx2,イエローカメック"), - BATTLE(N(Formation_0A), &N(pra_01), "ホワイトガボンx2,ホワイトカメック"), - BATTLE(N(Formation_0B), &N(pra_01), "ホワイトガボンx2,ホワイトカメック,レッドカメック"), - BATTLE(N(Formation_0C), &N(pra_01), "ホワイトガボン,グレイカメック"), - BATTLE(N(Formation_0D), &N(pra_01), "ホワイトガボンx3,グリーンカメック"), - BATTLE(N(Formation_0E), &N(pra_01), "ホワイトガボンx2,グリーンカメック,ホワイトカメック(そら)"), - BATTLE(N(Formation_0F), &N(pra_01), "セキゾー"), + BATTLE(N(Formation_01), N(pra_01), "バサバサチュルルx2"), + BATTLE(N(Formation_02), N(pra_01), "バサバサチュルルx3"), + BATTLE(N(Formation_03), N(pra_01), "バサバサチュルルx4"), + BATTLE(N(Formation_04), N(pra_01), "バサバサチュルルx3,イエローカメック(そら)"), + BATTLE(N(Formation_05), N(pra_01), "ホワイトガボン"), + BATTLE(N(Formation_06), N(pra_01), "ホワイトガボンx2"), + BATTLE(N(Formation_07), N(pra_01), "ホワイトガボンx3"), + BATTLE(N(Formation_08), N(pra_01), "ホワイトガボンx2,バサバサチュルル"), + BATTLE(N(Formation_09), N(pra_01), "ホワイトガボンx2,イエローカメック"), + BATTLE(N(Formation_0A), N(pra_01), "ホワイトガボンx2,ホワイトカメック"), + BATTLE(N(Formation_0B), N(pra_01), "ホワイトガボンx2,ホワイトカメック,レッドカメック"), + BATTLE(N(Formation_0C), N(pra_01), "ホワイトガボン,グレイカメック"), + BATTLE(N(Formation_0D), N(pra_01), "ホワイトガボンx3,グリーンカメック"), + BATTLE(N(Formation_0E), N(pra_01), "ホワイトガボンx2,グリーンカメック,ホワイトカメック(そら)"), + BATTLE(N(Formation_0F), N(pra_01), "セキゾー"), {}, }; StageList N(Stages) = { - { "pra_01", &N(pra_01) }, - { "pra_02", &N(pra_02) }, - { "pra_03", &N(pra_03) }, - { "pra_03b", &N(pra_03b) }, - { "pra_03c", &N(pra_03c) }, - { "pra_04", &N(pra_04) }, + STAGE("pra_01", N(pra_01)), + STAGE("pra_02", N(pra_02)), + STAGE("pra_03", N(pra_03)), + STAGE("pra_03b", N(pra_03b)), + STAGE("pra_03c", N(pra_03c)), + STAGE("pra_04", N(pra_04)), {}, }; diff --git a/src/battle/area/pra/stage/pra_04.c b/src/battle/area/pra/stage/pra_04.c index ca37fb8f70..87b6d1b8b1 100644 --- a/src/battle/area/pra/stage/pra_04.c +++ b/src/battle/area/pra/stage/pra_04.c @@ -31,7 +31,7 @@ EvtScript N(802321A0) = { EVT_SET(LVar1, 0) EVT_LOOP(0) EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_MAIN, LVar0, 0) - EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_AUX, LVar1, 0) + EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_AUX, LVar1, 0) EVT_ADD(LVar0, LVarB) EVT_ADD(LVar1, LVarC) EVT_WAIT(1) @@ -49,7 +49,7 @@ EvtScript N(8023228C) = { EVT_SET(LVar1, 0) EVT_LOOP(0) EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_MAIN, 0, LVar0) - EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_AUX, 0, LVar1) + EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_AUX, 0, LVar1) EVT_ADD(LVar0, LVarB) EVT_ADD(LVar1, LVarC) EVT_WAIT(1) diff --git a/src/battle/area/pra2/actor/crystal_bit.c b/src/battle/area/pra2/actor/crystal_bit.c index 4c2ca7e2a5..13cb26f26f 100644 --- a/src/battle/area/pra2/actor/crystal_bit.c +++ b/src/battle/area/pra2/actor/crystal_bit.c @@ -12,57 +12,62 @@ extern EvtScript N(idle); extern EvtScript N(handleEvent); extern EvtScript N(nextTurn); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations_1)[] = { - STATUS_NORMAL, ANIM_CrystalKing_Anim0A, + STATUS_KEY_NORMAL, ANIM_CrystalKing_Anim0A, STATUS_END, }; s32 N(IdleAnimations_2)[] = { - STATUS_NORMAL, ANIM_CrystalKing_Anim0B, + STATUS_KEY_NORMAL, ANIM_CrystalKing_Anim0B, STATUS_END, }; s32 N(IdleAnimations_3)[] = { - STATUS_NORMAL, ANIM_CrystalKing_Anim0C, + STATUS_KEY_NORMAL, ANIM_CrystalKing_Anim0C, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_FIRE, 0, - ELEMENT_ICE, 99, + ELEMENT_NORMAL, 0, + ELEMENT_FIRE, 0, + ELEMENT_ICE, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts_1)[] = { +ActorPartBlueprint N(ActorParts_1)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, .opacity = 255, @@ -74,7 +79,7 @@ ActorPartBlueprint N(parts_1)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_2, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -34 }, .opacity = 255, @@ -86,10 +91,10 @@ ActorPartBlueprint N(parts_1)[] = { }, }; -ActorPartBlueprint N(parts_2)[] = { +ActorPartBlueprint N(ActorParts_2)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, .opacity = 255, @@ -101,7 +106,7 @@ ActorPartBlueprint N(parts_2)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_2, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -34 }, .opacity = 255, @@ -113,10 +118,10 @@ ActorPartBlueprint N(parts_2)[] = { }, }; -ActorPartBlueprint N(parts_3)[] = { +ActorPartBlueprint N(ActorParts_3)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, .opacity = 255, @@ -128,7 +133,7 @@ ActorPartBlueprint N(parts_3)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_2, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -34 }, .opacity = 255, @@ -145,8 +150,8 @@ ActorBlueprint N(1) = { .type = ACTOR_TYPE_CRYSTAL_BIT, .level = 0, .maxHP = 1, - .partCount = ARRAY_COUNT(N(parts_1)), - .partsData = N(parts_1), + .partCount = ARRAY_COUNT(N(ActorParts_1)), + .partsData = N(ActorParts_1), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -158,9 +163,9 @@ ActorBlueprint N(1) = { .powerBounceChance = 90, .coinReward = 0, .size = { 18, 15 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; ActorBlueprint N(2) = { @@ -168,8 +173,8 @@ ActorBlueprint N(2) = { .type = ACTOR_TYPE_CRYSTAL_BIT, .level = 0, .maxHP = 1, - .partCount = ARRAY_COUNT(N(parts_2)), - .partsData = N(parts_2), + .partCount = ARRAY_COUNT(N(ActorParts_2)), + .partsData = N(ActorParts_2), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -181,9 +186,9 @@ ActorBlueprint N(2) = { .powerBounceChance = 90, .coinReward = 0, .size = { 18, 15 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; ActorBlueprint N(3) = { @@ -191,8 +196,8 @@ ActorBlueprint N(3) = { .type = ACTOR_TYPE_CRYSTAL_BIT, .level = 0, .maxHP = 1, - .partCount = ARRAY_COUNT(N(parts_3)), - .partsData = N(parts_3), + .partCount = ARRAY_COUNT(N(ActorParts_3)), + .partsData = N(ActorParts_3), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -204,9 +209,9 @@ ActorBlueprint N(3) = { .powerBounceChance = 90, .coinReward = 0, .size = { 18, 15 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -259,7 +264,7 @@ EvtScript N(handleEvent) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_BURN_HIT) @@ -287,14 +292,14 @@ EvtScript N(handleEvent) = { EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) EVT_SET_CONST(LVar0, 1) - EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(GetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) @@ -303,15 +308,15 @@ EvtScript N(handleEvent) = { EVT_CALL(GetOwnerID, LVar0) EVT_CALL(GetActorVar, ACTOR_ENEMY0, 4, LVar1) EVT_IF_EQ(LVar0, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim05) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_ENEMY0, 5, LVar1) EVT_IF_EQ(LVar0, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim06) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_ENEMY0, 6, LVar1) EVT_IF_EQ(LVar0, LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim07) EVT_END_IF EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(RandInt, 360, LVar0) @@ -328,7 +333,7 @@ EvtScript N(handleEvent) = { EVT_SET(LVar0, 255) EVT_LOOP(20) EVT_SUB(LVar0, 12) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -356,7 +361,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar2, -1) EVT_END_IF EVT_EXEC_WAIT(EVS_Enemy_BurnHit) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar1, LVar2, LVar3) @@ -377,7 +382,7 @@ EvtScript N(handleEvent) = { EVT_SET(LVar0, 255) EVT_LOOP(20) EVT_SUB(LVar0, 12) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) diff --git a/src/battle/area/pra2/actor/crystal_king.c b/src/battle/area/pra2/actor/crystal_king.c index 00c2b7c7e2..3ebdf7eca3 100644 --- a/src/battle/area/pra2/actor/crystal_king.c +++ b/src/battle/area/pra2/actor/crystal_king.c @@ -6,6 +6,10 @@ #define NAMESPACE b_area_pra2_crystal_king +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + enum N(StatusFlags) { N(FLAG_IGNORE_IMMUNE) = 0x01, N(FLAG_LOW_HP) = 0x02, @@ -56,50 +60,50 @@ extern EvtScript N(NormalAttack); extern EvtScript N(Heal); s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_CrystalKing_Anim09, - STATUS_SLEEP, ANIM_CrystalKing_Anim1B, - STATUS_DIZZY, ANIM_CrystalKing_Anim1A, - STATUS_PARALYZE, ANIM_CrystalKing_Anim00, - STATUS_STOP, ANIM_CrystalKing_Anim00, + STATUS_KEY_NORMAL, ANIM_CrystalKing_Anim09, + STATUS_KEY_SLEEP, ANIM_CrystalKing_Anim1B, + STATUS_KEY_DIZZY, ANIM_CrystalKing_Anim1A, + STATUS_KEY_PARALYZE, ANIM_CrystalKing_Anim00, + STATUS_KEY_STOP, ANIM_CrystalKing_Anim00, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 2, - ELEMENT_FIRE, 0, - ELEMENT_ICE, 99, + ELEMENT_NORMAL, 2, + ELEMENT_FIRE, 0, + ELEMENT_ICE, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 30, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 40, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 40, - STATUS_SHRINK, 0, - STATUS_STOP, 50, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 30, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 40, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 40, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 50, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_8 | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 54 }, .opacity = 255, @@ -116,8 +120,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_CRYSTAL_KING, .level = 85, .maxHP = 70, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -129,9 +133,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 70, .coinReward = 0, .size = { 56, 56 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 40 }, - .statusMessageOffset = { 15, 40 }, + .statusTextOffset = { 15, 40 }, }; EvtScript N(init) = { @@ -170,12 +174,12 @@ API_CALLABLE(func_80218280_6609D0) { Bytecode* args = script->ptrReadPos; EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args); - effect->data.huffPuffBreath->primR = 0xF8; - effect->data.huffPuffBreath->primG = 0xF8; - effect->data.huffPuffBreath->primB = 0xFF; - effect->data.huffPuffBreath->envR = 0x80; - effect->data.huffPuffBreath->envG = 0xE0; - ((HuffPuffBreathFXData*)effect->data.huffPuffBreath)->envB = 0xFF; + effect->data.huffPuffBreath->primR = 248; + effect->data.huffPuffBreath->primG = 248; + effect->data.huffPuffBreath->primB = 255; + effect->data.huffPuffBreath->envR = 128; + effect->data.huffPuffBreath->envG = 224; + effect->data.huffPuffBreath->envB = 255; return ApiStatus_DONE2; } @@ -196,12 +200,12 @@ API_CALLABLE(func_80218344_660A94) { Bytecode* args = script->ptrReadPos; EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++); - effect->data.coldBreath->unk_18 = 0xFF; - effect->data.coldBreath->unk_1C = 0xFF; - effect->data.coldBreath->unk_20 = 0xFF; - effect->data.coldBreath->unk_28 = 0xC8; - effect->data.coldBreath->unk_2C = 0xF0; - effect->data.coldBreath->unk_30 = 0xFF; + effect->data.coldBreath->unk_18 = 255; + effect->data.coldBreath->unk_1C = 255; + effect->data.coldBreath->unk_20 = 255; + effect->data.coldBreath->unk_28 = 200; + effect->data.coldBreath->unk_2C = 240; + effect->data.coldBreath->unk_30 = 255; return ApiStatus_DONE2; } @@ -244,7 +248,7 @@ EvtScript N(idle) = { EVT_IF_EQ(LVar3, TRUE) EVT_CALL(N(CosInterpMinMax), LVarF, LVar4, EVT_FLOAT(128.0), EVT_FLOAT(254.0), 20, 0, 0) EVT_SET(LVar4, LVar4) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar4) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar4) EVT_CALL(SetPartAlpha, LVar1, 1, LVar4) EVT_CALL(SetPartAlpha, LVar2, 1, LVar4) EVT_ADD(LVarF, 1) @@ -385,7 +389,7 @@ EvtScript N(OnHit) = { EVT_CASE_OR_EQ(N(PHASE_BEGIN)) EVT_CASE_OR_EQ(N(PHASE_SUMMONED_BITS)) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_SHRINK | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED | STATUS_FLAG_SHRINK) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LVar0) EVT_CALL(ActorExists, LVar0, LVar1) EVT_IF_EQ(LVar1, TRUE) @@ -411,7 +415,7 @@ EvtScript N(OnHit) = { EVT_RETURN EVT_END_SWITCH EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS) EVT_LABEL(0) EVT_CALL(GetBattleFlags, LVar0) EVT_IF_FLAG(LVar0, BS_FLAGS1_100) @@ -433,8 +437,8 @@ EvtScript N(OnHit) = { EVT_GOTO(1) EVT_END_IF EVT_END_IF - EVT_CALL(func_8027D32C, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim19) + EVT_CALL(HideHealthBar, ACTOR_SELF) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim19) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_IF_NE(LVar1, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -457,12 +461,12 @@ EvtScript N(OnHit) = { EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_END_IF EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim0E) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim0E) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, 70, 0, 5) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim09) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -509,7 +513,7 @@ EvtScript N(OnDeath) = { EVT_RETURN EVT_END_SWITCH EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS) EVT_LABEL(0) EVT_CALL(GetBattleFlags, LVar0) EVT_IF_FLAG(LVar0, BS_FLAGS1_100) @@ -546,7 +550,7 @@ EvtScript N(handleEvent) = { EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LVar0) EVT_BITWISE_OR_CONST(LVar0, N(FLAG_NOT_IDLE)) EVT_CALL(SetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LVar0) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_HIT_COMBO) @@ -561,7 +565,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_CrystalKing_Anim19) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim09) EVT_END_THREAD EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LVar0) @@ -572,7 +576,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_CrystalKing_Anim19) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim09) EVT_END_THREAD EVT_END_IF EVT_SET_CONST(LVar0, 1) @@ -587,7 +591,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_CrystalKing_Anim19) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim09) EVT_END_THREAD EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LVar0) @@ -598,7 +602,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_CrystalKing_Anim19) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim09) EVT_END_THREAD EVT_END_IF EVT_SET_CONST(LVar0, 1) @@ -632,7 +636,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_CrystalKing_Anim20) EVT_SET_CONST(LVar2, ANIM_CrystalKing_Anim21) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim19) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim19) EVT_EXEC_WAIT(N(OnHit)) EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) @@ -649,7 +653,7 @@ EvtScript N(handleEvent) = { EVT_RETURN EVT_END_IF EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_EXEC_WAIT(N(OnHit)) EVT_RETURN EVT_END_IF @@ -772,11 +776,11 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) EVT_IF_LE(LVar0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim0E) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, 70, 0, 5) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim09) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -934,7 +938,7 @@ EvtScript N(AttackIcyBreath) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim13) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -952,7 +956,7 @@ EvtScript N(AttackIcyBreath) = { EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1C) EVT_WAIT(3) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35D) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -1009,7 +1013,7 @@ EvtScript N(AttackIcyBreath) = { EVT_END_THREAD EVT_WAIT(60) EVT_CALL(StopSound, SOUND_35D) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim15) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ICE | DAMAGE_TYPE_NO_CONTACT, 0, 0, 8, BS_FLAGS1_SP_EVT_ACTIVE) @@ -1031,7 +1035,7 @@ EvtScript N(AttackIceBolt) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim13) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -1049,7 +1053,7 @@ EvtScript N(AttackIceBolt) = { EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1C) EVT_WAIT(3) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -1088,7 +1092,7 @@ EvtScript N(AttackIceBolt) = { EVT_PLAY_EFFECT(EFFECT_LIGHTNING_BOLT, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, EVT_FLOAT(1.0), 20, 0) EVT_CALL(func_802182E4_660A34, LVarF) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim15) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF @@ -1130,11 +1134,11 @@ EvtScript N(AttackIceBolt) = { EVT_WAIT(7) EVT_THREAD EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim15) EVT_END_THREAD EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ICE | DAMAGE_TYPE_NO_CONTACT, 0, 0x00000002 | STATUS_FLAG_4 | STATUS_FLAG_8 | 0x00000010 | STATUS_FLAG_20 | STATUS_FLAG_40 | 0x00000080 | STATUS_FLAG_200 | STATUS_FLAG_FROZEN, 6, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ICE | DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_IGNORE_RES(STATUS_FLAG_FROZEN, 2), 6, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -1153,27 +1157,27 @@ EvtScript N(AttackIceBolt) = { }; s32 N(clone_statusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 30, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 40, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 40, - STATUS_SHRINK, 0, - STATUS_STOP, 50, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 30, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 40, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 40, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 50, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; @@ -1195,8 +1199,8 @@ ActorBlueprint N(clone) = { .type = ACTOR_TYPE_CRYSTAL_CLONE, .level = 0, .maxHP = 70, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(clone_init), .statusTable = N(clone_statusTable), .escapeChance = 0, @@ -1208,15 +1212,15 @@ ActorBlueprint N(clone) = { .powerBounceChance = 0, .coinReward = 0, .size = { 56, 56 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 40 }, - .statusMessageOffset = { 15, 40 }, + .statusTextOffset = { 15, 40 }, }; Vec3i N(pos_crystal_clone) = { NPC_DISPOSE_LOCATION }; Formation N(clone_formation) = { - { .actor = &N(clone), .home = { .vec = &N(pos_crystal_clone) }, .priority = 0 }, + ACTOR_BY_POS(N(clone), N(pos_crystal_clone), 0), }; EvtScript N(MakeIllusions) = { @@ -1242,7 +1246,7 @@ EvtScript N(MakeIllusions) = { EVT_CALL(CopyBuffs, ACTOR_SELF, LVar0) EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LVar0) EVT_IF_FLAG(LVar0, N(FLAG_LOW_HP)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1D) EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E7) EVT_CALL(GetActorPos, ACTOR_SELF, LVar7, LVar8, LVar9) @@ -1255,7 +1259,7 @@ EvtScript N(MakeIllusions) = { EVT_IF_EQ(LVar1, 1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim09) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, TRUE) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LVar0) EVT_CALL(SetActorFlagBits, LVar0, ACTOR_FLAG_FLYING, TRUE) @@ -1271,8 +1275,8 @@ EvtScript N(MakeIllusions) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LVarA) EVT_CALL(SetActorPos, LVarA, LVar0, LVar1, LVar2) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim09) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LVar0) EVT_CALL(UseIdleAnimation, LVar0, FALSE) EVT_CALL(SetAnimation, LVar0, 1, ANIM_CrystalKing_Anim00) @@ -1306,7 +1310,7 @@ EvtScript N(MakeIllusions) = { EVT_CALL(MakeLerp, 255, 128, 30, EASING_COS_IN_OUT) EVT_LABEL(1) EVT_CALL(UpdateLerp) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE1_ID), LVar2) EVT_CALL(SetPartAlpha, LVar2, 1, LVar0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CLONE2_ID), LVar2) @@ -1412,15 +1416,15 @@ EvtScript N(MakeIllusions) = { }; Formation N(formation_bit_1) = { - { .actor = &b_area_pra2_crystal_bit_1, .home = { .vec = &N(pos_crystal_clone) }, .priority = 0 }, + ACTOR_BY_POS(b_area_pra2_crystal_bit_1, N(pos_crystal_clone), 0), }; Formation N(formation_bit_2) = { - { .actor = &b_area_pra2_crystal_bit_2, .home = { .vec = &N(pos_crystal_clone) }, .priority = 0 }, + ACTOR_BY_POS(b_area_pra2_crystal_bit_2, N(pos_crystal_clone), 0), }; Formation N(formation_bit_3) = { - { .actor = &b_area_pra2_crystal_bit_3, .home = { .vec = &N(pos_crystal_clone) }, .priority = 0 }, + ACTOR_BY_POS(b_area_pra2_crystal_bit_3, N(pos_crystal_clone), 0), }; s32 N(array_1)[16] = { }; @@ -1486,7 +1490,7 @@ EvtScript N(SummonCrystalBits) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 15) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1E) EVT_WAIT(20) EVT_CALL(SummonEnemy, EVT_PTR(N(formation_bit_1)), 0) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LVar0) @@ -1503,7 +1507,7 @@ EvtScript N(SummonCrystalBits) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LVar0) EVT_CALL(SetPartScale, LVar0, 1, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1F) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DE) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LVar0) EVT_SETF(LVar1, EVT_FLOAT(42.0)) @@ -1562,7 +1566,7 @@ EvtScript N(AttackIcyBreathWithClones) = { EVT_CALL(SetBattleCamTarget, 70, 0, 5) EVT_END_IF EVT_CALL(MoveBattleCamOver, 15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim13) EVT_CALL(SetAnimation, LVarA, 1, ANIM_CrystalKing_Anim13) EVT_CALL(SetAnimation, LVarB, 1, ANIM_CrystalKing_Anim13) EVT_WAIT(10) @@ -1600,7 +1604,7 @@ EvtScript N(AttackIcyBreathWithClones) = { EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1C) EVT_CALL(SetAnimation, LVarA, 1, ANIM_CrystalKing_Anim1C) EVT_CALL(SetAnimation, LVarB, 1, ANIM_CrystalKing_Anim1C) EVT_WAIT(3) @@ -1715,7 +1719,7 @@ EvtScript N(AttackIcyBreathWithClones) = { EVT_END_IF EVT_WAIT(60) EVT_CALL(StopSound, SOUND_35D) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim15) EVT_CALL(SetAnimation, LVarA, 1, ANIM_CrystalKing_Anim15) EVT_CALL(SetAnimation, LVarB, 1, ANIM_CrystalKing_Anim15) EVT_WAIT(2) @@ -1849,7 +1853,7 @@ EvtScript N(NormalAttack) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1C) EVT_WAIT(20) EVT_CALL(N(StartRumbleWithParams), 70, 60) EVT_THREAD @@ -1880,7 +1884,7 @@ EvtScript N(NormalAttack) = { EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim13) EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) @@ -1892,28 +1896,28 @@ EvtScript N(NormalAttack) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LVar0) EVT_CALL(ActorExists, LVar0, LVar1) EVT_IF_EQ(LVar1, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1C) EVT_EXEC_GET_TID(N(RemoveCrystalBit), LVarA) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim15) EVT_WAIT(6) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LVar0) EVT_CALL(ActorExists, LVar0, LVar1) EVT_IF_EQ(LVar1, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1C) EVT_EXEC_GET_TID(N(RemoveCrystalBit), LVarA) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim15) EVT_WAIT(6) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LVar0) EVT_CALL(ActorExists, LVar0, LVar1) EVT_IF_EQ(LVar1, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1C) EVT_EXEC_GET_TID(N(RemoveCrystalBit), LVarA) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim15) EVT_WAIT(6) EVT_END_IF EVT_LABEL(1) @@ -1933,28 +1937,28 @@ EvtScript N(NormalAttack) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT1_ID), LVar0) EVT_CALL(ActorExists, LVar0, LVar1) EVT_IF_EQ(LVar1, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1C) EVT_EXEC_GET_TID(N(AttackWithCrystalBit), LVarA) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim15) EVT_WAIT(6) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT2_ID), LVar0) EVT_CALL(ActorExists, LVar0, LVar1) EVT_IF_EQ(LVar1, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1C) EVT_EXEC_GET_TID(N(AttackWithCrystalBit), LVarA) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim15) EVT_WAIT(6) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_BIT3_ID), LVar0) EVT_CALL(ActorExists, LVar0, LVar1) EVT_IF_EQ(LVar1, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1C) EVT_EXEC_GET_TID(N(AttackWithCrystalBit), LVarA) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim15) EVT_WAIT(6) EVT_END_IF EVT_LABEL(4) @@ -2002,7 +2006,7 @@ EvtScript N(Heal) = { EVT_END_IF EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim1D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim1D) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(SetAnimation, LVarA, 1, ANIM_CrystalKing_Anim1D) EVT_CALL(SetAnimation, LVarB, 1, ANIM_CrystalKing_Anim1D) @@ -2033,25 +2037,25 @@ EvtScript N(Heal) = { EVT_END_IF EVT_IF_EQ(LocalFlag(0), 0) EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, ACTOR_SELF, 20, FALSE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_ELSE EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, ACTOR_SELF, 20, TRUE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, LVarA, 20, TRUE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, LVarB, 20, TRUE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(SetAnimation, LVarA, 1, ANIM_CrystalKing_Anim09) EVT_CALL(SetAnimation, LVarB, 1, ANIM_CrystalKing_Anim09) diff --git a/src/battle/area/pra2/area.c b/src/battle/area/pra2/area.c index 6f43db2c22..4c228b1c36 100644 --- a/src/battle/area/pra2/area.c +++ b/src/battle/area/pra2/area.c @@ -19,18 +19,18 @@ Vec3i N(pos_crystal_bit_2) = { 112, 52, -5 }; Vec3i N(pos_crystal_bit_3) = { 42, 85, -10 }; Formation N(Formation_01) = { - { .actor = &N(crystal_king), .home = { .vec = &N(pos_crystal_king) }, .priority = 10 }, - { .actor = &N(crystal_bit_1), .home = { .vec = &N(pos_crystal_bit_1) }, .priority = 9 }, - { .actor = &N(crystal_bit_2), .home = { .vec = &N(pos_crystal_bit_2) }, .priority = 8 }, - { .actor = &N(crystal_bit_3), .home = { .vec = &N(pos_crystal_bit_3) }, .priority = 7 }, + ACTOR_BY_POS(N(crystal_king), N(pos_crystal_king), 10), + ACTOR_BY_POS(N(crystal_bit_1), N(pos_crystal_bit_1), 9), + ACTOR_BY_POS(N(crystal_bit_2), N(pos_crystal_bit_2), 8), + ACTOR_BY_POS(N(crystal_bit_3), N(pos_crystal_bit_3), 7), }; BattleList N(Formations) = { - BATTLE(N(Formation_01), &N(sam_04), "パラレラー"), + BATTLE(N(Formation_01), N(sam_04), "パラレラー"), {}, }; StageList N(Stages) = { - { "sam_04", &N(sam_04) }, + STAGE("sam_04", N(sam_04)), {}, }; diff --git a/src/battle/area/pra3/area.c b/src/battle/area/pra3/area.c index 9ee42b7774..451b4370c9 100644 --- a/src/battle/area/pra3/area.c +++ b/src/battle/area/pra3/area.c @@ -24,97 +24,97 @@ Vec3i N(pos_swoopula)[] = { }; Formation N(Formation_01) = { - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[0] }, .priority = 10 }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[1] }, .priority = 9 }, - { .actor = &N(duplighost), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_POS(N(swoopula), N(pos_swoopula)[0], 10), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula)[1], 9), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_C, 8), }; Formation N(Formation_02) = { - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 10), }; Formation N(Formation_03) = { - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(duplighost), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_C, 9), }; Formation N(Formation_04) = { - { .actor = &N(duplighost), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(duplighost), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_C, 8), }; Formation N(Formation_05) = { - { .actor = &N(duplighost), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(duplighost), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(duplighost), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_D, 7), }; Formation N(Formation_06) = { - { .actor = &N(duplighost), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[2] }, .priority = 8 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 9), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula)[2], 8), }; Formation N(Formation_07) = { - { .actor = &N(duplighost), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(swoopula), .home = { .vec = &N(pos_swoopula)[1] }, .priority = 9 }, - { .actor = &N(duplighost), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_A, 10), + ACTOR_BY_POS(N(swoopula), N(pos_swoopula)[1], 9), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_C, 8), }; Formation N(Formation_08) = { - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(red_magikoopa), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(red_magikoopa), BTL_POS_GROUND_C, 9), }; Formation N(Formation_09) = { - { .actor = &N(duplighost), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(red_magikoopa), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(red_magikoopa), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0A) = { - { .actor = &N(duplighost), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(duplighost), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0B) = { - { .actor = &N(duplighost), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(gray_magikoopa), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(red_magikoopa), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(gray_magikoopa), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(red_magikoopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0C) = { - { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(duplighost), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_C, 8), }; BattleList N(Formations) = { - BATTLE(N(Formation_01), &N(pra_01), "バサバサチュルルx2,バケバケ"), - BATTLE(N(Formation_02), &N(pra_01), "バケバケ"), - BATTLE(N(Formation_03), &N(pra_01), "バケバケx2"), - BATTLE(N(Formation_04), &N(pra_01), "バケバケx3"), - BATTLE(N(Formation_05), &N(pra_01), "バケバケx4"), - BATTLE(N(Formation_06), &N(pra_01), "バケバケx2,バサバサチュルル"), - BATTLE(N(Formation_07), &N(pra_01), "バケバケ,バサバサチュルル,バケバケ"), - BATTLE(N(Formation_08), &N(pra_01), "バケバケ,レッドカメック"), - BATTLE(N(Formation_09), &N(pra_01), "バケバケx2,レッドカメック"), - BATTLE(N(Formation_0A), &N(pra_01), "バケバケ,ホワイトガボン,バケバケ"), - BATTLE(N(Formation_0B), &N(pra_01), "バケバケx2,グレイカメック,レッドカメック"), - BATTLE(N(Formation_0C), &N(pra_01), "ホワイトガボンx2,バケバケ"), + BATTLE(N(Formation_01), N(pra_01), "バサバサチュルルx2,バケバケ"), + BATTLE(N(Formation_02), N(pra_01), "バケバケ"), + BATTLE(N(Formation_03), N(pra_01), "バケバケx2"), + BATTLE(N(Formation_04), N(pra_01), "バケバケx3"), + BATTLE(N(Formation_05), N(pra_01), "バケバケx4"), + BATTLE(N(Formation_06), N(pra_01), "バケバケx2,バサバサチュルル"), + BATTLE(N(Formation_07), N(pra_01), "バケバケ,バサバサチュルル,バケバケ"), + BATTLE(N(Formation_08), N(pra_01), "バケバケ,レッドカメック"), + BATTLE(N(Formation_09), N(pra_01), "バケバケx2,レッドカメック"), + BATTLE(N(Formation_0A), N(pra_01), "バケバケ,ホワイトガボン,バケバケ"), + BATTLE(N(Formation_0B), N(pra_01), "バケバケx2,グレイカメック,レッドカメック"), + BATTLE(N(Formation_0C), N(pra_01), "ホワイトガボンx2,バケバケ"), {}, }; StageList N(Stages) = { - { "pra_01", &N(pra_01) }, - { "pra_02", &N(pra_02) }, - { "pra_03", &N(pra_03) }, - { "pra_03b", &N(pra_03b) }, - { "pra_03c", &N(pra_03c) }, - { "pra_04", &N(pra_04) }, + STAGE("pra_01", N(pra_01)), + STAGE("pra_02", N(pra_02)), + STAGE("pra_03", N(pra_03)), + STAGE("pra_03b", N(pra_03b)), + STAGE("pra_03c", N(pra_03c)), + STAGE("pra_04", N(pra_04)), {}, }; diff --git a/src/battle/area/sam/actor/frost_piranha.c b/src/battle/area/sam/actor/frost_piranha.c index c07404f81a..e0d8e63b37 100644 --- a/src/battle/area/sam/actor/frost_piranha.c +++ b/src/battle/area/sam/actor/frost_piranha.c @@ -13,55 +13,59 @@ extern EvtScript N(handleEvent); extern EvtScript N(attack_bite); extern EvtScript N(attack_icy_breath); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_LargePiranha_Frost_Anim01, - STATUS_STONE, ANIM_LargePiranha_Frost_Anim00, - STATUS_SLEEP, ANIM_LargePiranha_Frost_Anim00, - STATUS_POISON, ANIM_LargePiranha_Frost_Anim01, - STATUS_STOP, ANIM_LargePiranha_Frost_Anim00, - STATUS_STATIC, ANIM_LargePiranha_Frost_Anim00, - STATUS_PARALYZE, ANIM_LargePiranha_Frost_Anim00, - STATUS_PARALYZE, ANIM_LargePiranha_Frost_Anim00, - STATUS_DIZZY, ANIM_LargePiranha_Frost_Anim0F, + STATUS_KEY_NORMAL, ANIM_LargePiranha_Frost_Anim01, + STATUS_KEY_STONE, ANIM_LargePiranha_Frost_Anim00, + STATUS_KEY_SLEEP, ANIM_LargePiranha_Frost_Anim00, + STATUS_KEY_POISON, ANIM_LargePiranha_Frost_Anim01, + STATUS_KEY_STOP, ANIM_LargePiranha_Frost_Anim00, + STATUS_KEY_STATIC, ANIM_LargePiranha_Frost_Anim00, + STATUS_KEY_PARALYZE, ANIM_LargePiranha_Frost_Anim00, + STATUS_KEY_PARALYZE, ANIM_LargePiranha_Frost_Anim00, + STATUS_KEY_DIZZY, ANIM_LargePiranha_Frost_Anim0F, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_FIRE, -2, - ELEMENT_ICE, 99, + ELEMENT_NORMAL, 0, + ELEMENT_FIRE, -2, + ELEMENT_ICE, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 95, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 85, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 95, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 85, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -15, 50 }, .opacity = 255, @@ -78,8 +82,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_FROST_PIRANHA, .level = 22, .maxHP = 10, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 70, @@ -91,9 +95,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 1, .size = { 60, 52 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -22, 32 }, - .statusMessageOffset = { 1, 44 }, + .statusTextOffset = { 1, 44 }, }; EvtScript N(init) = { @@ -104,19 +108,19 @@ EvtScript N(init) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_DIZZY) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -27, 33) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 5, -11) - EVT_CALL(N(UnkBattleFunc1), -37, 9, -7, 31) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -27, 33) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 5, -11) + EVT_CALL(N(SetAbsoluteStatusOffsets), -37, 9, -7, 31) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -15, 50) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 3, -14) - EVT_CALL(N(UnkBattleFunc1), -22, 32, 1, 44) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -15, 50) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 3, -14) + EVT_CALL(N(SetAbsoluteStatusOffsets), -22, 32, 1, 44) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -126,10 +130,10 @@ EvtScript N(idle) = { EvtScript N(return_home) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim01) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END @@ -256,7 +260,7 @@ EvtScript N(attack_bite) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim18) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_WAIT(8) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -281,15 +285,15 @@ EvtScript N(attack_bite) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim17) EVT_WAIT(8) EVT_ELSE EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -301,7 +305,7 @@ EvtScript N(attack_bite) = { EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim01) EVT_END_IF EVT_THREAD EVT_WAIT(8) @@ -311,11 +315,11 @@ EvtScript N(attack_bite) = { EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim05) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim06) EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim07) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF @@ -327,32 +331,32 @@ EvtScript N(attack_bite) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim18) EVT_WAIT(10) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim17) EVT_WAIT(10) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) EVT_ELSE - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(return_home)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim05) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim06) EVT_WAIT(1) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -363,7 +367,7 @@ EvtScript N(attack_bite) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim07) EVT_WAIT(20) EVT_CALL(YieldTurn) EVT_CALL(GetBattlePhase, LVar0) @@ -371,13 +375,13 @@ EvtScript N(attack_bite) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim18) EVT_WAIT(10) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim17) EVT_WAIT(10) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) EVT_ELSE @@ -401,9 +405,9 @@ EvtScript N(attack_icy_breath) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -415,8 +419,8 @@ EvtScript N(attack_icy_breath) = { EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim01) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim0B) EVT_WAIT(11) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3AB) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -433,27 +437,27 @@ EvtScript N(attack_icy_breath) = { EVT_END_IF EVT_CALL(N(UnkEffect6FFunc), LVar2, LVar0, LVar1, LVar2, LVar3, 30, 120, 0, 120) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim0C) EVT_WAIT(5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_ICE, STATUS_FLAG_FROZEN, 1, BS_FLAGS1_10) //@bug malformed status word EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim0D) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(14) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(return_home)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -468,7 +472,7 @@ EvtScript N(attack_icy_breath) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Frost_Anim0D) EVT_WAIT(20) EVT_CALL(YieldTurn) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) diff --git a/src/battle/area/sam/actor/gulpit.c b/src/battle/area/sam/actor/gulpit.c index 9662607513..385bad732d 100644 --- a/src/battle/area/sam/actor/gulpit.c +++ b/src/battle/area/sam/actor/gulpit.c @@ -11,63 +11,69 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(IdleAnimations1)[] = { - STATUS_NORMAL, ANIM_Gulpit_Anim01, - STATUS_STONE, ANIM_Gulpit_Anim00, - STATUS_SLEEP, ANIM_Gulpit_Anim0F, - STATUS_POISON, ANIM_Gulpit_Anim01, - STATUS_STOP, ANIM_Gulpit_Anim00, - STATUS_STATIC, ANIM_Gulpit_Anim01, - STATUS_PARALYZE, ANIM_Gulpit_Anim00, - STATUS_DIZZY, ANIM_Gulpit_Anim0E, - STATUS_FEAR, ANIM_Gulpit_Anim0E, + STATUS_KEY_NORMAL, ANIM_Gulpit_Anim01, + STATUS_KEY_STONE, ANIM_Gulpit_Anim00, + STATUS_KEY_SLEEP, ANIM_Gulpit_Anim0F, + STATUS_KEY_POISON, ANIM_Gulpit_Anim01, + STATUS_KEY_STOP, ANIM_Gulpit_Anim00, + STATUS_KEY_STATIC, ANIM_Gulpit_Anim01, + STATUS_KEY_PARALYZE, ANIM_Gulpit_Anim00, + STATUS_KEY_DIZZY, ANIM_Gulpit_Anim0E, + STATUS_KEY_FEAR, ANIM_Gulpit_Anim0E, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_Gulpit_Anim10, + STATUS_KEY_NORMAL, ANIM_Gulpit_Anim10, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_Gulpit_Anim12, + STATUS_KEY_NORMAL, ANIM_Gulpit_Anim12, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 80, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 10, - STATUS_PARALYZE, 80, - STATUS_SHRINK, 75, - STATUS_STOP, 85, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 80, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 10, + STATUS_KEY_PARALYZE, 80, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 85, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -7, 48 }, .opacity = 255, @@ -79,7 +85,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -91,7 +97,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -108,8 +114,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_GULPIT, .level = 22, .maxHP = 12, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 60, @@ -121,9 +127,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 53, 50 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -3, 37 }, - .statusMessageOffset = { 10, 45 }, + .statusTextOffset = { 10, 45 }, }; EvtScript N(init) = { @@ -143,7 +149,7 @@ EvtScript N(returnHome) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Gulpit_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim01) EVT_RETURN EVT_END }; @@ -258,7 +264,7 @@ EvtScript N(attack_lick) = { EVT_SET(LVar1, 0) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) @@ -268,13 +274,13 @@ EvtScript N(attack_lick) = { EVT_END_IF EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim01) EVT_WAIT(10) EVT_THREAD EVT_WAIT(3) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EE) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim04) EVT_WAIT(9) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -288,9 +294,9 @@ EvtScript N(attack_lick) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -325,33 +331,33 @@ EvtScript N(attack_rock) = { EVT_CALL(GetActorPos, LVarA, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) EVT_SUB(LVar2, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim02) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim01) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EE) EVT_CALL(GetActorVar, LVarA, 0, LVar0) EVT_SET(LVarB, LVar0) EVT_SWITCH(LVarB) EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim05) EVT_WAIT(3) EVT_CALL(RemoveActor, LVarA) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim06) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim07) EVT_SET(LVarA, 2) EVT_CASE_EQ(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim08) EVT_WAIT(3) EVT_CALL(RemoveActor, LVarA) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim09) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim0A) EVT_SET(LVarA, 3) EVT_END_SWITCH EVT_CALL(SetPartSounds, ACTOR_SELF, LVarA, ACTOR_SOUND_JUMP, 985, 0) @@ -378,9 +384,9 @@ EvtScript N(attack_rock) = { EVT_END_IF EVT_WAIT(15) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -408,7 +414,7 @@ EvtScript N(attack_rock) = { EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim01) EVT_CALL(GetPartOffset, ACTOR_SELF, LVarA, LVar0, LVar1, LVar2) EVT_ADD(LVar0, -100) EVT_CALL(SetPartJumpGravity, ACTOR_SELF, LVarA, EVT_FLOAT(1.0)) diff --git a/src/battle/area/sam/actor/gulpit_rocks.c b/src/battle/area/sam/actor/gulpit_rocks.c index f8c3e8f5ec..e62e929700 100644 --- a/src/battle/area/sam/actor/gulpit_rocks.c +++ b/src/battle/area/sam/actor/gulpit_rocks.c @@ -11,50 +11,54 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Gulpit_Anim10, + STATUS_KEY_NORMAL, ANIM_Gulpit_Anim10, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_Gulpit_Anim12, + STATUS_KEY_NORMAL, ANIM_Gulpit_Anim12, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 14 }, .opacity = 255, @@ -67,12 +71,12 @@ ActorPartBlueprint N(parts)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_ATTACK, + .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_GULPIT_ROCKS, .level = 0, .maxHP = 1, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -84,9 +88,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 0, .size = { 32, 18 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -96,13 +100,13 @@ EvtScript N(init) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim10) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim10) EVT_CALL(GetActorVar, ACTOR_SELF, 0, 0) EVT_CALL(SetActorSize, ACTOR_SELF, 24, 15) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim12) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim12) EVT_CALL(GetActorVar, ACTOR_SELF, 0, 1) EVT_CALL(SetActorSize, ACTOR_SELF, 10, 8) EVT_END_SWITCH @@ -161,9 +165,9 @@ EvtScript N(handleEvent) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim11) EVT_CASE_EQ(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Gulpit_Anim13) EVT_END_SWITCH EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar0, LVar1, LVar2, 0, 0) diff --git a/src/battle/area/sam/area.c b/src/battle/area/sam/area.c index 348fcd14d4..7605690d55 100644 --- a/src/battle/area/sam/area.c +++ b/src/battle/area/sam/area.c @@ -83,154 +83,154 @@ Vec3i N(pos_rocks_8)[] = { }; Formation N(Formation_01) = { - { .actor = &N(duplighost), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(duplighost), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(duplighost), BTL_POS_GROUND_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(gulpit), .home = { .index = 1 }, .priority = 20 }, - { .actor = &N(gulpit), .home = { .index = 2 }, .priority = 19 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_1)[0] }, .priority = 9 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_1)[1] }, .priority = 8 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_1)[2] }, .priority = 7, .var0 = 1 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_1)[3] }, .priority = 6 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_1)[4] }, .priority = 5, .var0 = 1 }, + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_B, 20), + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_C, 19), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_1)[0], 9), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_1)[1], 8), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_1)[2], 7, 1), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_1)[3], 6), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_1)[4], 5, 1), }; Formation N(Formation_03) = { - { .actor = &N(gulpit), .home = { .index = 0 }, .priority = 20 }, - { .actor = &N(gulpit), .home = { .index = 1 }, .priority = 19 }, - { .actor = &N(gulpit), .home = { .index = 2 }, .priority = 18 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_2)[0] }, .priority = 9 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_2)[1] }, .priority = 8 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_2)[2] }, .priority = 7, .var0 = 1 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_2)[3] }, .priority = 6 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_2)[4] }, .priority = 5, .var0 = 1 }, + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_A, 20), + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_B, 19), + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_C, 18), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_2)[0], 9), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_2)[1], 8), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_2)[2], 7, 1), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_2)[3], 6), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_2)[4], 5, 1), }; Formation N(Formation_04) = { - { .actor = &N(gulpit), .home = { .index = 0 }, .priority = 20 }, - { .actor = &N(gulpit), .home = { .index = 1 }, .priority = 19 }, - { .actor = &N(frost_piranha), .home = { .index = 2 }, .priority = 18 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_3)[0] }, .priority = 9 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_3)[1] }, .priority = 8 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_3)[2] }, .priority = 7, .var0 = 1 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_3)[3] }, .priority = 6 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_3)[4] }, .priority = 5, .var0 = 1 }, + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_A, 20), + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_B, 19), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_C, 18), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_3)[0], 9), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_3)[1], 8), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_3)[2], 7, 1), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_3)[3], 6), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_3)[4], 5, 1), }; Formation N(Formation_05) = { - { .actor = &N(gulpit), .home = { .index = 0 }, .priority = 20 }, - { .actor = &N(frost_piranha), .home = { .index = 1 }, .priority = 19 }, - { .actor = &N(gulpit), .home = { .index = 2 }, .priority = 18 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_4)[0] }, .priority = 9 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_4)[1] }, .priority = 8 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_4)[2] }, .priority = 7, .var0 = 1 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_4)[3] }, .priority = 6 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_4)[4] }, .priority = 5, .var0 = 1 }, + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_A, 20), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_B, 19), + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_C, 18), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_4)[0], 9), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_4)[1], 8), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_4)[2], 7, 1), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_4)[3], 6), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_4)[4], 5, 1), }; Formation N(Formation_06) = { - { .actor = &N(gulpit), .home = { .index = 0 }, .priority = 20 }, - { .actor = &N(frost_piranha), .home = { .index = 1 }, .priority = 19 }, - { .actor = &N(gulpit), .home = { .index = 2 }, .priority = 18 }, - { .actor = &N(frost_piranha), .home = { .index = 3 }, .priority = 17 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_5)[0] }, .priority = 9 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_5)[1] }, .priority = 8 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_5)[2] }, .priority = 7, .var0 = 1 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_5)[3] }, .priority = 6 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_5)[4] }, .priority = 5, .var0 = 1 }, + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_A, 20), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_B, 19), + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_C, 18), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_D, 17), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_5)[0], 9), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_5)[1], 8), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_5)[2], 7, 1), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_5)[3], 6), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_5)[4], 5, 1), }; Formation N(Formation_07) = { - { .actor = &N(frost_piranha), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(frost_piranha), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_C, 9), }; Formation N(Formation_08) = { - { .actor = &N(frost_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(frost_piranha), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(frost_piranha), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(frost_piranha), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_D, 7), }; Formation N(Formation_09) = { - { .actor = &N(frost_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(frost_piranha), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(gulpit), .home = { .index = 2 }, .priority = 9 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_6)[0] }, .priority = 9 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_6)[1] }, .priority = 8 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_6)[2] }, .priority = 7, .var0 = 1 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_6)[3] }, .priority = 6 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_6)[4] }, .priority = 5, .var0 = 1 }, + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_C, 9), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_6)[0], 9), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_6)[1], 8), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_6)[2], 7, 1), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_6)[3], 6), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_6)[4], 5, 1), }; Formation N(Formation_0A) = { - { .actor = &N(frost_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(gulpit), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(frost_piranha), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_7)[0] }, .priority = 9 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_7)[1] }, .priority = 8 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_7)[2] }, .priority = 7, .var0 = 1 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_7)[3] }, .priority = 6 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_7)[4] }, .priority = 5, .var0 = 1 }, + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_C, 8), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_7)[0], 9), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_7)[1], 8), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_7)[2], 7, 1), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_7)[3], 6), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_7)[4], 5, 1), }; Formation N(Formation_0B) = { - { .actor = &N(frost_piranha), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(gulpit), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(frost_piranha), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(gulpit), .home = { .index = 3 }, .priority = 7 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_8)[0] }, .priority = 9 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_8)[1] }, .priority = 8 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_8)[2] }, .priority = 7, .var0 = 1 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_8)[3] }, .priority = 6 }, - { .actor = &N(gulpit_rocks), .home = { .vec = &N(pos_rocks_8)[4] }, .priority = 5, .var0 = 1 }, + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(gulpit), BTL_POS_GROUND_D, 7), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_8)[0], 9), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_8)[1], 8), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_8)[2], 7, 1), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_8)[3], 6), + ACTOR_BY_POS(N(gulpit_rocks), N(pos_rocks_8)[4], 5, 1), }; Formation N(Formation_0C) = { - { .actor = &N(white_clubba), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(white_clubba), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0D) = { - { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(frost_piranha), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(white_clubba), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(frost_piranha), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0E) = { - { .actor = &N(white_clubba), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(frost_piranha), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(white_clubba), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(gray_magikoopa), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(frost_piranha), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(white_clubba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(gray_magikoopa), BTL_POS_GROUND_D, 7), }; BattleList N(Formations) = { - BATTLE(N(Formation_01), &N(sam_01), "バケバケx2"), - BATTLE(N(Formation_02), &N(sam_01), "ゴックンx2"), - BATTLE(N(Formation_03), &N(sam_01), "ゴックンx3"), - BATTLE(N(Formation_04), &N(sam_01), "ゴックンx2,アイスパックン"), - BATTLE(N(Formation_05), &N(sam_01), "ゴックン,アイスパックン,ゴックン"), - BATTLE(N(Formation_06), &N(sam_01), "ゴックン,アイスパックン,ゴックン,アイスパックン"), - BATTLE(N(Formation_07), &N(sam_01), "アイスパックンx2"), - BATTLE(N(Formation_08), &N(sam_01), "アイスパックンx4"), - BATTLE(N(Formation_09), &N(sam_01), "アイスパックンx2,ゴックン"), - BATTLE(N(Formation_0A), &N(sam_01), "アイスパックン,ゴックン,アイスパックン"), - BATTLE(N(Formation_0B), &N(sam_01), "アイスパックン,ゴックン,アイスパックン,ゴックン"), - BATTLE(N(Formation_0C), &N(sam_01), "ホワイトガボンx2"), - BATTLE(N(Formation_0D), &N(sam_01), "ホワイトガボン,パックン,ガボン,パックン"), - BATTLE(N(Formation_0E), &N(sam_01), "ホワイトガボン,パックン,ガボン,グレイカメック"), + BATTLE(N(Formation_01), N(sam_01), "バケバケx2"), + BATTLE(N(Formation_02), N(sam_01), "ゴックンx2"), + BATTLE(N(Formation_03), N(sam_01), "ゴックンx3"), + BATTLE(N(Formation_04), N(sam_01), "ゴックンx2,アイスパックン"), + BATTLE(N(Formation_05), N(sam_01), "ゴックン,アイスパックン,ゴックン"), + BATTLE(N(Formation_06), N(sam_01), "ゴックン,アイスパックン,ゴックン,アイスパックン"), + BATTLE(N(Formation_07), N(sam_01), "アイスパックンx2"), + BATTLE(N(Formation_08), N(sam_01), "アイスパックンx4"), + BATTLE(N(Formation_09), N(sam_01), "アイスパックンx2,ゴックン"), + BATTLE(N(Formation_0A), N(sam_01), "アイスパックン,ゴックン,アイスパックン"), + BATTLE(N(Formation_0B), N(sam_01), "アイスパックン,ゴックン,アイスパックン,ゴックン"), + BATTLE(N(Formation_0C), N(sam_01), "ホワイトガボンx2"), + BATTLE(N(Formation_0D), N(sam_01), "ホワイトガボン,パックン,ガボン,パックン"), + BATTLE(N(Formation_0E), N(sam_01), "ホワイトガボン,パックン,ガボン,グレイカメック"), {}, }; StageList N(Stages) = { - { "sam_01", &N(sam_01) }, - { "sam_02", &N(sam_02) }, - { "sam_02b", &N(sam_02b) }, - { "sam_02c", &N(sam_02c) }, - { "sam_02d", &N(sam_02d) }, - { "sam_03", &N(sam_03) }, + STAGE("sam_01", N(sam_01)), + STAGE("sam_02", N(sam_02)), + STAGE("sam_02b", N(sam_02b)), + STAGE("sam_02c", N(sam_02c)), + STAGE("sam_02d", N(sam_02d)), + STAGE("sam_03", N(sam_03)), {}, }; diff --git a/src/battle/area/sam2/actor/monstar.c b/src/battle/area/sam2/actor/monstar.c index 845299b6e2..78fc788a1f 100644 --- a/src/battle/area/sam2/actor/monstar.c +++ b/src/battle/area/sam2/actor/monstar.c @@ -18,43 +18,48 @@ extern EvtScript N(nextTurn); extern EvtScript N(OnBurn); extern EvtScript N(OnDeath); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_COSMIC, 99, + ELEMENT_NORMAL, 0, + ELEMENT_COSMIC, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; extern s32 N(IdleAnimations)[]; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -66,7 +71,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_2, .posOffset = { 0, 50, 0 }, .targetOffset = { -6, 20 }, .opacity = 255, @@ -83,8 +88,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_MONSTAR, .level = 45, .maxHP = 20, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -96,27 +101,27 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 0, .size = { 100, 98 }, - .hpBarOffset = { 0, 16 }, + .healthBarOffset = { 0, 16 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Monstar_Idle1, - STATUS_STONE, ANIM_Monstar_Still, - STATUS_SLEEP, ANIM_Monstar_Idle1, - STATUS_POISON, ANIM_Monstar_Idle1, - STATUS_STOP, ANIM_Monstar_Still, - STATUS_STATIC, ANIM_Monstar_Idle1, - STATUS_PARALYZE, ANIM_Monstar_Still, - STATUS_PARALYZE, ANIM_Monstar_Still, - STATUS_DIZZY, ANIM_Monstar_Idle1, - STATUS_DIZZY, ANIM_Monstar_Idle1, + STATUS_KEY_NORMAL, ANIM_Monstar_Idle1, + STATUS_KEY_STONE, ANIM_Monstar_Still, + STATUS_KEY_SLEEP, ANIM_Monstar_Idle1, + STATUS_KEY_POISON, ANIM_Monstar_Idle1, + STATUS_KEY_STOP, ANIM_Monstar_Still, + STATUS_KEY_STATIC, ANIM_Monstar_Idle1, + STATUS_KEY_PARALYZE, ANIM_Monstar_Still, + STATUS_KEY_PARALYZE, ANIM_Monstar_Still, + STATUS_KEY_DIZZY, ANIM_Monstar_Idle1, + STATUS_KEY_DIZZY, ANIM_Monstar_Idle1, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_Monstar_GatherStrength1, + STATUS_KEY_NORMAL, ANIM_Monstar_GatherStrength1, STATUS_END, }; @@ -325,8 +330,8 @@ EvtScript N(unused) = { EVT_CALL(SetBattleCamOffsetZ, 5) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Monstar_GatherStrength1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_GatherStrength1) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 40) EVT_SUB(LVar2, 5) @@ -353,11 +358,11 @@ EvtScript N(attack) = { EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Monstar_GatherStrength1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_GatherStrength1) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Monstar_GatherStrength2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_GatherStrength2) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Monstar_GatherStrength3) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_GatherStrength3) EVT_END_THREAD EVT_THREAD EVT_CALL(N(UnkBackgroundFunc3)) @@ -415,15 +420,15 @@ EvtScript N(attack) = { EVT_ADD(LVar1, 50) EVT_ADD(LVar2, 5) EVT_PLAY_EFFECT(EFFECT_RADIAL_SHIMMER, 11, LVar0, LVar1, LVar2, EVT_FLOAT(0.8), 160, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Monstar_Release) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_Release) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 0, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_WAIT(170) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Monstar_Idle1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_Idle1) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CALL(MakeLerp, 200, 0, 60, EASING_LINEAR) EVT_LABEL(1) EVT_CALL(UpdateLerp) @@ -448,8 +453,8 @@ EvtScript N(attack) = { EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Monstar_Idle1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_Idle1) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CALL(MakeLerp, 200, 0, 60, EASING_LINEAR) EVT_LABEL(2) EVT_CALL(UpdateLerp) @@ -484,13 +489,13 @@ EvtScript N(takeTurn) = { EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(ActorSpeak, MSG_CH7_00E5, ACTOR_SELF, 1, ANIM_Monstar_Talk, ANIM_Monstar_Talk) + EVT_CALL(ActorSpeak, MSG_CH7_00E5, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_Talk, ANIM_Monstar_Talk) EVT_CASE_EQ(1) - EVT_CALL(ActorSpeak, MSG_CH7_00E6, ACTOR_SELF, 1, ANIM_Monstar_Talk, ANIM_Monstar_Talk) + EVT_CALL(ActorSpeak, MSG_CH7_00E6, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_Talk, ANIM_Monstar_Talk) EVT_CASE_EQ(2) - EVT_CALL(ActorSpeak, MSG_CH7_00E7, ACTOR_SELF, 1, ANIM_Monstar_Talk, ANIM_Monstar_Talk) + EVT_CALL(ActorSpeak, MSG_CH7_00E7, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_Talk, ANIM_Monstar_Talk) EVT_CASE_DEFAULT - EVT_CALL(ActorSpeak, MSG_CH7_00E6, ACTOR_SELF, 1, ANIM_Monstar_Talk, ANIM_Monstar_Talk) + EVT_CALL(ActorSpeak, MSG_CH7_00E6, ACTOR_SELF, PRT_MAIN, ANIM_Monstar_Talk, ANIM_Monstar_Talk) EVT_END_SWITCH EVT_CALL(AddActorVar, ACTOR_SELF, 3, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -501,7 +506,7 @@ EvtScript N(takeTurn) = { }; EvtScript N(OnDeath) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_IF_NE(LVar1, -1) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) @@ -529,7 +534,7 @@ EvtScript N(OnDeath) = { EVT_END_CASE_GROUP EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_IF_NE(LVar2, -12345) + EVT_IF_NE(LVar2, EXEC_DEATH_NO_SPINNING) EVT_SET(LVar2, 0) EVT_LOOP(24) EVT_CALL(SetActorYaw, ACTOR_SELF, LVar2) diff --git a/src/battle/area/sam2/area.c b/src/battle/area/sam2/area.c index 1d0075423a..a27573b674 100644 --- a/src/battle/area/sam2/area.c +++ b/src/battle/area/sam2/area.c @@ -17,26 +17,26 @@ extern Stage N(sam_03); Vec3i N(80223490) = { 75, 16, 5 }; Formation N(Formation_01) = { - { .actor = &N(monstar), .home = { .vec = &N(80223490) }, .priority = 10 }, + ACTOR_BY_POS(N(monstar), N(80223490), 10), }; Formation N(Formation_02) = { - { .actor = &N(paragoomba), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(gray_magikoopa), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(paragoomba), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(gray_magikoopa), BTL_POS_GROUND_C, 9), }; BattleList N(Formations) = { - BATTLE(N(Formation_01), &N(sam_03), "かいぶつ"), - BATTLE(N(Formation_02), &N(sam_01), "パタクリ,グレイカメック(チェックよう)"), + BATTLE(N(Formation_01), N(sam_03), "かいぶつ"), + BATTLE(N(Formation_02), N(sam_01), "パタクリ,グレイカメック(チェックよう)"), {}, }; StageList N(Stages) = { - { "sam_01", &N(sam_01) }, - { "sam_02", &N(sam_02) }, - { "sam_02b", &N(sam_02b) }, - { "sam_02c", &N(sam_02c) }, - { "sam_02d", &N(sam_02d) }, - { "sam_03", &N(sam_03) }, + STAGE("sam_01", N(sam_01)), + STAGE("sam_02", N(sam_02)), + STAGE("sam_02b", N(sam_02b)), + STAGE("sam_02c", N(sam_02c)), + STAGE("sam_02d", N(sam_02d)), + STAGE("sam_03", N(sam_03)), {}, }; diff --git a/src/battle/area/sbk/area.c b/src/battle/area/sbk/area.c index e5a7ebd53e..d58a7a17c5 100644 --- a/src/battle/area/sbk/area.c +++ b/src/battle/area/sbk/area.c @@ -9,126 +9,126 @@ extern ActorBlueprint N(bandit); extern Stage N(sbk_02); Formation N(Formation_00) = { - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 10), }; Formation N(Formation_01) = { - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(pokey), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_C, 9), }; Formation N(Formation_02) = { - { .actor = &N(pokey), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(pokey), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_C, 8), }; Formation N(Formation_03) = { - { .actor = &N(pokey), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(pokey), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(pokey), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_D, 7), }; Formation N(Formation_04) = { - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(bandit), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_C, 9), }; Formation N(Formation_05) = { - { .actor = &N(pokey), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bandit), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_C, 8), }; Formation N(Formation_06) = { - { .actor = &N(pokey), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bandit), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(bandit), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_D, 7), }; Formation N(Formation_07) = { - { .actor = &N(pokey), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bandit), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(pokey), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_C, 8), }; Formation N(Formation_08) = { - { .actor = &N(pokey), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bandit), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(pokey), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_D, 7), }; Formation N(Formation_09) = { - { .actor = &N(bandit), .home = { .index = 1 }, .priority = 10 }, + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_B, 10), }; Formation N(Formation_0A) = { - { .actor = &N(bandit), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(bandit), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0B) = { - { .actor = &N(bandit), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bandit), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bandit), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0C) = { - { .actor = &N(bandit), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bandit), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bandit), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(bandit), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0D) = { - { .actor = &N(bandit), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(pokey), .home = { .index = 2 }, .priority = 9 }, + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0E) = { - { .actor = &N(bandit), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bandit), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(pokey), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_C, 8), }; Formation N(Formation_0F) = { - { .actor = &N(bandit), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bandit), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(pokey), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(pokey), .home = { .index = 3 }, .priority = 7 }, + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_D, 7), }; Formation N(Formation_10) = { - { .actor = &N(bandit), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(pokey), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bandit), .home = { .index = 2 }, .priority = 8 }, + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(pokey), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(bandit), BTL_POS_GROUND_C, 8), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(sbk_02), "サンボ"), - BATTLE(N(Formation_01), &N(sbk_02), "サンボx2"), - BATTLE(N(Formation_02), &N(sbk_02), "サンボx3"), - BATTLE(N(Formation_03), &N(sbk_02), "きいろサンボx4"), - BATTLE(N(Formation_04), &N(sbk_02), "サンボ,ボロドー"), - BATTLE(N(Formation_05), &N(sbk_02), "サンボx2,ボロドー"), - BATTLE(N(Formation_06), &N(sbk_02), "サンボx2,ボロドーx2"), - BATTLE(N(Formation_07), &N(sbk_02), "サンボ,ボロドー,サンボ"), - BATTLE(N(Formation_08), &N(sbk_02), "サンボx2,ボロドー,サンボ"), - BATTLE(N(Formation_09), &N(sbk_02), "ボロドー"), - BATTLE(N(Formation_0A), &N(sbk_02), "ボロドーx2"), - BATTLE(N(Formation_0B), &N(sbk_02), "ボロドーx3"), - BATTLE(N(Formation_0C), &N(sbk_02), "ボロドーx4"), - BATTLE(N(Formation_0D), &N(sbk_02), "ボロドー,サンボ"), - BATTLE(N(Formation_0E), &N(sbk_02), "ボロドーx2,サンボ"), - BATTLE(N(Formation_0F), &N(sbk_02), "ボロドーx2,サンボx2"), - BATTLE(N(Formation_10), &N(sbk_02), "ボロドー,サンボ,ボロドー"), + BATTLE(N(Formation_00), N(sbk_02), "サンボ"), + BATTLE(N(Formation_01), N(sbk_02), "サンボx2"), + BATTLE(N(Formation_02), N(sbk_02), "サンボx3"), + BATTLE(N(Formation_03), N(sbk_02), "きいろサンボx4"), + BATTLE(N(Formation_04), N(sbk_02), "サンボ,ボロドー"), + BATTLE(N(Formation_05), N(sbk_02), "サンボx2,ボロドー"), + BATTLE(N(Formation_06), N(sbk_02), "サンボx2,ボロドーx2"), + BATTLE(N(Formation_07), N(sbk_02), "サンボ,ボロドー,サンボ"), + BATTLE(N(Formation_08), N(sbk_02), "サンボx2,ボロドー,サンボ"), + BATTLE(N(Formation_09), N(sbk_02), "ボロドー"), + BATTLE(N(Formation_0A), N(sbk_02), "ボロドーx2"), + BATTLE(N(Formation_0B), N(sbk_02), "ボロドーx3"), + BATTLE(N(Formation_0C), N(sbk_02), "ボロドーx4"), + BATTLE(N(Formation_0D), N(sbk_02), "ボロドー,サンボ"), + BATTLE(N(Formation_0E), N(sbk_02), "ボロドーx2,サンボ"), + BATTLE(N(Formation_0F), N(sbk_02), "ボロドーx2,サンボx2"), + BATTLE(N(Formation_10), N(sbk_02), "ボロドー,サンボ,ボロドー"), {}, }; StageList N(Stages) = { - { "sbk_01", &N(sbk_02) }, + STAGE("sbk_01", N(sbk_02)), {}, }; diff --git a/src/battle/area/tik/actor/dark_koopa.c b/src/battle/area/tik/actor/dark_koopa.c index ca6f5332e6..7575a40eea 100644 --- a/src/battle/area/tik/actor/dark_koopa.c +++ b/src/battle/area/tik/actor/dark_koopa.c @@ -13,49 +13,53 @@ extern EvtScript N(handleEvent); extern s32 N(IdleAnimations)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 2, - ELEMENT_SMASH, 2, - ELEMENT_JUMP, 2, - ELEMENT_WATER, 2, - ELEMENT_BLAST, 2, + ELEMENT_NORMAL, 2, + ELEMENT_SMASH, 2, + ELEMENT_JUMP, 2, + ELEMENT_WATER, 2, + ELEMENT_BLAST, 2, ELEMENT_END, }; -s32 N(DefenseTable_flipped)[] = { - ELEMENT_NORMAL, 0, +s32 N(DefenseTable_Flipped)[] = { + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 60, - STATUS_FROZEN, 100, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 60, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 36 }, .opacity = 255, @@ -72,8 +76,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_DARK_KOOPA, .level = 18, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 60, @@ -85,73 +89,73 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 2, .size = { 28, 36 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 32 }, - .statusMessageOffset = { 5, 32 }, + .statusTextOffset = { 5, 32 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Dark_Idle, - STATUS_STONE, ANIM_KoopaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Dark_Idle, - STATUS_STOP, ANIM_KoopaTroopa_Dark_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Dark_Idle, - STATUS_PARALYZE, ANIM_KoopaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Dark_Idle, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Dark_Idle, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Dark_Idle, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Dark_Stunned, STATUS_END, }; s32 N(IdleAnimations_step)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Dark_Walk, - STATUS_STONE, ANIM_KoopaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Dark_Walk, - STATUS_STOP, ANIM_KoopaTroopa_Dark_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Dark_Walk, - STATUS_PARALYZE, ANIM_KoopaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Dark_Stunned, STATUS_END, }; s32 N(IdleAnimations_active)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Dark_Scramble, - STATUS_STONE, ANIM_KoopaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Dark_Scramble, - STATUS_STOP, ANIM_KoopaTroopa_Dark_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Dark_Scramble, - STATUS_PARALYZE, ANIM_KoopaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Dark_Scramble, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Dark_Scramble, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Dark_Scramble, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Dark_Stunned, STATUS_END, }; s32 N(IdleAnimations_step_active)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Dark_Walk, - STATUS_STONE, ANIM_KoopaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Dark_Walk, - STATUS_STOP, ANIM_KoopaTroopa_Dark_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Dark_Walk, - STATUS_PARALYZE, ANIM_KoopaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Dark_Stunned, STATUS_END, }; s32 N(IdleAnimations_flipped)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Dark_ToppleStruggle, - STATUS_STONE, ANIM_KoopaTroopa_Dark_ToppleStill, - STATUS_SLEEP, ANIM_KoopaTroopa_Dark_ToppleSleep, - STATUS_POISON, ANIM_KoopaTroopa_Dark_ToppleStruggle, - STATUS_STOP, ANIM_KoopaTroopa_Dark_ToppleStill, - STATUS_STATIC, ANIM_KoopaTroopa_Dark_ToppleStruggle, - STATUS_PARALYZE, ANIM_KoopaTroopa_Dark_ToppleStill, - STATUS_DIZZY, ANIM_KoopaTroopa_Dark_ToppleStunned, - STATUS_FEAR, ANIM_KoopaTroopa_Dark_ToppleStunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Dark_ToppleStruggle, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Dark_ToppleStill, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Dark_ToppleSleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Dark_ToppleStruggle, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Dark_ToppleStill, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Dark_ToppleStruggle, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Dark_ToppleStill, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Dark_ToppleStunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Dark_ToppleStunned, STATUS_END, }; @@ -164,35 +168,35 @@ EvtScript N(init) = { EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_active))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Scramble) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_active))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Scramble) EVT_END_IF EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_RETURN EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(updateOffsets) = { EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(1) EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_DIZZY) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -4) - EVT_CALL(N(UnkBattleFunc1), -15, 32, 5, 32) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 32) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -4) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 32, 5, 32) EVT_END_IF EVT_END_CASE_GROUP EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(3) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_RETURN @@ -216,7 +220,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -225,9 +229,9 @@ EvtScript N(idle) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_step))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_step_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_step_active))) EVT_END_SWITCH EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) @@ -237,12 +241,12 @@ EvtScript N(idle) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_active))) EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(3) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_LOOP(20) @@ -258,7 +262,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -267,9 +271,9 @@ EvtScript N(idle) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_step))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_step_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_step_active))) EVT_END_SWITCH EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) @@ -279,12 +283,12 @@ EvtScript N(idle) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_active))) EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(3) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_LOOP(50) @@ -300,7 +304,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(3) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(3) EVT_END_IF @@ -326,9 +330,9 @@ EvtScript N(idle) = { EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD EVT_WAIT(8) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 1, ACTOR_DECORATION_WHIRLWIND) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 1, ACTOR_DECORATION_WHIRLWIND) EVT_WAIT(15) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) EVT_WAIT(8) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_CASE_EQ(0) @@ -345,11 +349,11 @@ s32 N(bounceTable)[] = { 9, 16, 22, 26, 30, 32, 33, 32, 30, 26, 22, 16, 9, 0, 4, EvtScript N(handleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_END_IF EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) @@ -395,12 +399,12 @@ EvtScript N(handleEvent) = { EVT_CALL(SetActorVar, ACTOR_SELF, 8, 3) EVT_END_SWITCH EVT_CALL(SetActorVar, ACTOR_SELF, 9, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Hurt) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(4) @@ -424,8 +428,8 @@ EvtScript N(handleEvent) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ToppleStruggle) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(0.5)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ToppleStruggle) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(0.5)) EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Dark_Hurt) @@ -457,8 +461,8 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Dark_ShellEnter) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellExit) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellExit) EVT_WAIT(10) EVT_END_IF EVT_END_CASE_GROUP @@ -574,12 +578,12 @@ EvtScript N(attackShellToss) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellSpin) EVT_ELSE EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellEnter) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellEnter) EVT_WAIT(10) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -591,7 +595,7 @@ EvtScript N(attackShellToss) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellSpin) EVT_WAIT(10) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF @@ -607,7 +611,7 @@ EvtScript N(attackShellToss) = { EVT_CALL(AddGoalPos, ACTOR_SELF, -40, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellExit) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellExit) EVT_WAIT(8) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) @@ -615,15 +619,15 @@ EvtScript N(attackShellToss) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_BeginPanic1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_BeginPanic1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_BeginPanic2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_BeginPanic2) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Panic) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Panic) EVT_WAIT(6) EVT_SUB(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -631,13 +635,13 @@ EvtScript N(attackShellToss) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Panic) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Panic) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -666,13 +670,13 @@ EvtScript N(attackShellToss) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellExit) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellExit) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Dark_Run) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -701,12 +705,12 @@ EvtScript N(attackDizzyTornado) = { EVT_ELSE EVT_CALL(AddGoalPos, ACTOR_SELF, 20, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Scramble) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Scramble) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellEnter) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellEnter) EVT_WAIT(10) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -718,18 +722,18 @@ EvtScript N(attackDizzyTornado) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellSpin) EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2026) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 1, ACTOR_DECORATION_WHIRLWIND) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 1, ACTOR_DECORATION_WHIRLWIND) EVT_WAIT(40) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, 0, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellExit) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellExit) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) EVT_WAIT(10) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -738,20 +742,20 @@ EvtScript N(attackDizzyTornado) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Panic) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Panic) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Scramble) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Scramble) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_ALL, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 2, 60), 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_ALL, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 2, 60), 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -769,8 +773,8 @@ EvtScript N(attackDizzyTornado) = { EVT_END_IF EVT_END_THREAD EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellExit) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellExit) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) EVT_WAIT(10) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -778,7 +782,7 @@ EvtScript N(attackDizzyTornado) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Dark_Run) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Scramble) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Scramble) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -796,21 +800,21 @@ EvtScript N(standUp) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 9, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_WAIT(30) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(0.5)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(0.5)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(0.5)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(0.5)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ToppleStruggle) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ToppleStruggle) EVT_SET(LVar0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD @@ -828,19 +832,19 @@ EvtScript N(standUp) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -4) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 32) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -4) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(2) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CASE_EQ(3) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_active))) EVT_END_SWITCH EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -861,20 +865,20 @@ EvtScript N(takeTurn) = { EVT_CALL(RandInt, 1000, LVar0) EVT_IF_LT(LVar0, 300) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_active))) EVT_END_IF EVT_CASE_EQ(1) EVT_EXEC_WAIT(N(attackDizzyTornado)) EVT_CALL(RandInt, 1000, LVar0) EVT_IF_LT(LVar0, 300) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_active))) EVT_END_IF EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(3) diff --git a/src/battle/area/tik/actor/dark_paratroopa.c b/src/battle/area/tik/actor/dark_paratroopa.c index 02a42dffa1..fd4d8a258d 100644 --- a/src/battle/area/tik/actor/dark_paratroopa.c +++ b/src/battle/area/tik/actor/dark_paratroopa.c @@ -22,79 +22,85 @@ extern s32 N(IdleAnimations)[]; extern s32 N(IdleAnimations2)[]; extern s32 N(IdleAnimations3)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 2, - ELEMENT_SMASH, 2, - ELEMENT_JUMP, 2, - ELEMENT_WATER, 2, - ELEMENT_BLAST, 2, + ELEMENT_NORMAL, 2, + ELEMENT_SMASH, 2, + ELEMENT_JUMP, 2, + ELEMENT_WATER, 2, + ELEMENT_BLAST, 2, ELEMENT_END, }; s32 N(defenseTable2)[] = { - ELEMENT_NORMAL, 2, + ELEMENT_NORMAL, 2, ELEMENT_END, }; s32 N(DefenseTable_koopa_flipped)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_koopa)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 60, - STATUS_FROZEN, 100, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 60, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 60, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 60, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 36 }, .opacity = 255, @@ -106,7 +112,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -4, 36 }, .opacity = 255, @@ -118,7 +124,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 32 }, .opacity = 255, @@ -135,8 +141,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_DARK_PARATROOPA, .level = 18, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -148,47 +154,47 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 2, .size = { 50, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 29 }, - .statusMessageOffset = { 8, 30 }, + .statusTextOffset = { 8, 30 }, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_ParaTroopa_Dark_Idle, - STATUS_STONE, ANIM_ParaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_ParaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_ParaTroopa_Dark_Still, - STATUS_STOP, ANIM_ParaTroopa_Dark_Still, - STATUS_STATIC, ANIM_ParaTroopa_Dark_Idle, - STATUS_PARALYZE, ANIM_ParaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_ParaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_ParaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_ParaTroopa_Dark_Idle, + STATUS_KEY_STONE, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_ParaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_STOP, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_ParaTroopa_Dark_Idle, + STATUS_KEY_PARALYZE, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_ParaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_ParaTroopa_Dark_Stunned, STATUS_END, }; s32 N(IdleAnimations_step)[] = { - STATUS_NORMAL, ANIM_ParaTroopa_Dark_Idle, - STATUS_STONE, ANIM_ParaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_ParaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_ParaTroopa_Dark_Still, - STATUS_STOP, ANIM_ParaTroopa_Dark_Still, - STATUS_STATIC, ANIM_ParaTroopa_Dark_Idle, - STATUS_PARALYZE, ANIM_ParaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_ParaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_ParaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_ParaTroopa_Dark_Idle, + STATUS_KEY_STONE, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_ParaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_STOP, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_ParaTroopa_Dark_Idle, + STATUS_KEY_PARALYZE, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_ParaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_ParaTroopa_Dark_Stunned, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_ParaTroopa_Dark_WingsStill, - STATUS_STONE, ANIM_ParaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_ParaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_ParaTroopa_Dark_Still, - STATUS_STOP, ANIM_ParaTroopa_Dark_Still, - STATUS_STATIC, ANIM_ParaTroopa_Dark_WingsStill, - STATUS_PARALYZE, ANIM_ParaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_ParaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_ParaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_ParaTroopa_Dark_WingsStill, + STATUS_KEY_STONE, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_ParaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_STOP, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_ParaTroopa_Dark_WingsStill, + STATUS_KEY_PARALYZE, ANIM_ParaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_ParaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_ParaTroopa_Dark_Stunned, STATUS_END, }; @@ -209,17 +215,17 @@ EvtScript N(init) = { }; #include "common/StartRumbleWithParams.inc.c" -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(updateOffsets) = { EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_DIZZY) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, 0, 25) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 3, -6) - EVT_CALL(N(UnkBattleFunc1), -19, 25, 4, 28) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, 0, 25) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_2, 3, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -19, 25, 4, 28) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -2, 36) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 0, -7) - EVT_CALL(N(UnkBattleFunc1), -10, 29, 8, 30) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, -2, 36) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_2, 0, -7) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 29, 8, 30) EVT_END_IF EVT_RETURN EVT_END @@ -233,7 +239,7 @@ EvtScript N(idle) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) EVT_EXEC_WAIT(N(updateOffsets)) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -242,15 +248,15 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_step))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) EVT_EXEC_WAIT(N(updateOffsets)) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -259,15 +265,15 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_step))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations2))) EVT_LOOP(40) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) EVT_EXEC_WAIT(N(updateOffsets)) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -279,11 +285,11 @@ EvtScript N(idle) = { }; EvtScript N(returnHome) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_Idle) EVT_RETURN EVT_END }; @@ -431,7 +437,7 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_05) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 30, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) @@ -445,7 +451,7 @@ EvtScript N(takeTurn) = { EVT_SET(LVarA, LVar0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_Windup) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_Windup) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(AddGoalPos, ACTOR_SELF, 6, 6, 0) @@ -459,7 +465,7 @@ EvtScript N(takeTurn) = { EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_ShellDive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_ShellDive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_LINEAR) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 30) @@ -484,13 +490,13 @@ EvtScript N(takeTurn) = { EVT_SUB(LVar0, 30) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_Hurt) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 30) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_Hurt) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -502,11 +508,11 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(returnHome)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -514,7 +520,7 @@ EvtScript N(takeTurn) = { EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_Windup) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_Windup) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(AddGoalPos, ACTOR_SELF, 6, 6, 0) @@ -525,7 +531,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_ShellDive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_ShellDive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) @@ -536,7 +542,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 30, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_ShellHit) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_ShellHit) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 10, 0) EVT_SET(LVar0, 0) @@ -550,7 +556,7 @@ EvtScript N(takeTurn) = { EVT_END_LOOP EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, -10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Dark_Idle) EVT_END_THREAD EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 30, EASING_LINEAR) EVT_WAIT(10) @@ -566,16 +572,16 @@ EvtScript N(takeTurn) = { }; EvtScript N(fall) = { - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, 0, 0, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, 0, 0, 0) + EVT_CALL(HideHealthBar, ACTOR_SELF) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 8) EVT_SUB(LVar2, 2) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Hurt) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Hurt) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_301, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) EVT_IF_EQ(LVarA, 0) @@ -594,12 +600,12 @@ EvtScript N(fall) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(10) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_ELSE EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -608,12 +614,12 @@ EvtScript N(fall) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_THREAD EVT_LOOP(10) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_CALL(N(StartRumbleWithParams), 150, 7) EVT_THREAD @@ -626,7 +632,7 @@ EvtScript N(fall) = { EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Idle) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_koopa))) EVT_CALL(BindNextTurn, ACTOR_SELF, 0) @@ -643,67 +649,67 @@ EvtScript N(fall) = { }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Dark_Idle, - STATUS_STONE, ANIM_KoopaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Dark_Idle, - STATUS_STOP, ANIM_KoopaTroopa_Dark_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Dark_Idle, - STATUS_PARALYZE, ANIM_KoopaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Dark_Idle, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Dark_Idle, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Dark_Idle, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Dark_Stunned, STATUS_END, }; s32 N(IdleAnimations_koopa_step)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Dark_Walk, - STATUS_STONE, ANIM_KoopaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Dark_Walk, - STATUS_STOP, ANIM_KoopaTroopa_Dark_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Dark_Walk, - STATUS_PARALYZE, ANIM_KoopaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Dark_Stunned, STATUS_END, }; s32 N(IdleAnimations_koopa_active)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Dark_Scramble, - STATUS_STONE, ANIM_KoopaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Dark_Scramble, - STATUS_STOP, ANIM_KoopaTroopa_Dark_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Dark_Scramble, - STATUS_PARALYZE, ANIM_KoopaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Dark_Scramble, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Dark_Scramble, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Dark_Scramble, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Dark_Stunned, STATUS_END, }; s32 N(IdleAnimations_koopa_step_active)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Dark_Walk, - STATUS_STONE, ANIM_KoopaTroopa_Dark_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Dark_Walk, - STATUS_STOP, ANIM_KoopaTroopa_Dark_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Dark_Walk, - STATUS_PARALYZE, ANIM_KoopaTroopa_Dark_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Dark_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Dark_Walk, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Dark_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Dark_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Dark_Stunned, STATUS_END, }; s32 N(IdleAnimations_koopa_flipped)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Dark_ToppleStruggle, - STATUS_STONE, ANIM_KoopaTroopa_Dark_ToppleStill, - STATUS_SLEEP, ANIM_KoopaTroopa_Dark_ToppleSleep, - STATUS_POISON, ANIM_KoopaTroopa_Dark_ToppleStruggle, - STATUS_STOP, ANIM_KoopaTroopa_Dark_ToppleStill, - STATUS_STATIC, ANIM_KoopaTroopa_Dark_ToppleStruggle, - STATUS_PARALYZE, ANIM_KoopaTroopa_Dark_ToppleStill, - STATUS_DIZZY, ANIM_KoopaTroopa_Dark_ToppleStunned, - STATUS_FEAR, ANIM_KoopaTroopa_Dark_ToppleStunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Dark_ToppleStruggle, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Dark_ToppleStill, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Dark_ToppleSleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Dark_ToppleStruggle, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Dark_ToppleStill, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Dark_ToppleStruggle, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Dark_ToppleStill, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Dark_ToppleStunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Dark_ToppleStunned, STATUS_END, }; @@ -716,8 +722,8 @@ EvtScript N(init_koopa) = { EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_active))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Scramble) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_active))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Scramble) EVT_END_IF EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_RETURN @@ -729,20 +735,20 @@ EvtScript N(updateOffsets_koopa) = { EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(1) EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_DIZZY) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -4) - EVT_CALL(N(UnkBattleFunc1), -15, 32, 5, 32) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 32) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -4) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 32, 5, 32) EVT_END_IF EVT_END_CASE_GROUP EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(3) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_RETURN @@ -766,7 +772,7 @@ EvtScript N(idle_koopa) = { EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -775,9 +781,9 @@ EvtScript N(idle_koopa) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_step))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_step_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_step_active))) EVT_END_SWITCH EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) @@ -787,12 +793,12 @@ EvtScript N(idle_koopa) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_active))) EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(3) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_flipped))) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_LOOP(20) @@ -808,7 +814,7 @@ EvtScript N(idle_koopa) = { EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -817,9 +823,9 @@ EvtScript N(idle_koopa) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_step))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_step_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_step_active))) EVT_END_SWITCH EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) @@ -829,12 +835,12 @@ EvtScript N(idle_koopa) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_active))) EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(3) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_flipped))) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_LOOP(50) @@ -850,7 +856,7 @@ EvtScript N(idle_koopa) = { EVT_WAIT(1) EVT_GOTO(3) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(3) EVT_END_IF @@ -876,9 +882,9 @@ EvtScript N(idle_koopa) = { EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD EVT_WAIT(8) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 1, ACTOR_DECORATION_WHIRLWIND) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 1, ACTOR_DECORATION_WHIRLWIND) EVT_WAIT(15) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) EVT_WAIT(8) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_CASE_EQ(0) @@ -895,11 +901,11 @@ s32 N(bounceTable)[] = { 9, 16, 22, 26, 30, 32, 33, 32, 30, 26, 22, 16, 9, 0, 4, EvtScript N(handleEvent_koopa) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_END_IF EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) @@ -945,12 +951,12 @@ EvtScript N(handleEvent_koopa) = { EVT_CALL(SetActorVar, ACTOR_SELF, 8, 3) EVT_END_SWITCH EVT_CALL(SetActorVar, ACTOR_SELF, 9, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_koopa_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_flipped))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_koopa_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_flipped))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Hurt) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(4) @@ -974,8 +980,8 @@ EvtScript N(handleEvent_koopa) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ToppleStruggle) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(0.5)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ToppleStruggle) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(0.5)) EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Dark_Hurt) @@ -1007,8 +1013,8 @@ EvtScript N(handleEvent_koopa) = { EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Dark_ShellEnter) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellExit) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellExit) EVT_WAIT(10) EVT_END_IF EVT_END_CASE_GROUP @@ -1124,12 +1130,12 @@ EvtScript N(koopa_attackShellToss) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellSpin) EVT_ELSE EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellEnter) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellEnter) EVT_WAIT(10) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1141,7 +1147,7 @@ EvtScript N(koopa_attackShellToss) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellSpin) EVT_WAIT(10) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF @@ -1157,7 +1163,7 @@ EvtScript N(koopa_attackShellToss) = { EVT_CALL(AddGoalPos, ACTOR_SELF, -40, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellExit) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellExit) EVT_WAIT(8) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) @@ -1165,15 +1171,15 @@ EvtScript N(koopa_attackShellToss) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_BeginPanic1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_BeginPanic1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_BeginPanic2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_BeginPanic2) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Panic) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Panic) EVT_WAIT(6) EVT_SUB(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1181,13 +1187,13 @@ EvtScript N(koopa_attackShellToss) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Panic) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Panic) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -1216,13 +1222,13 @@ EvtScript N(koopa_attackShellToss) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellExit) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellExit) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Dark_Run) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -1251,12 +1257,12 @@ EvtScript N(koopa_attackDizzyTornado) = { EVT_ELSE EVT_CALL(AddGoalPos, ACTOR_SELF, 20, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Scramble) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Scramble) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellEnter) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellEnter) EVT_WAIT(10) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1268,18 +1274,18 @@ EvtScript N(koopa_attackDizzyTornado) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellSpin) EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2026) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 1, ACTOR_DECORATION_WHIRLWIND) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 1, ACTOR_DECORATION_WHIRLWIND) EVT_WAIT(40) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, 0, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellExit) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellExit) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) EVT_WAIT(10) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -1288,20 +1294,20 @@ EvtScript N(koopa_attackDizzyTornado) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Panic) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Panic) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Scramble) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Scramble) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_ALL, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 2, 60), 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_ALL, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 2, 60), 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -1319,8 +1325,8 @@ EvtScript N(koopa_attackDizzyTornado) = { EVT_END_IF EVT_END_THREAD EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ShellExit) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ShellExit) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 1) EVT_WAIT(10) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1328,7 +1334,7 @@ EvtScript N(koopa_attackDizzyTornado) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Dark_Run) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_Scramble) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_Scramble) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -1346,21 +1352,21 @@ EvtScript N(koopa_standUp) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 9, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_WAIT(30) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(0.5)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(0.5)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(0.5)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(0.5)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Dark_ToppleStruggle) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Dark_ToppleStruggle) EVT_SET(LVar0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD @@ -1378,19 +1384,19 @@ EvtScript N(koopa_standUp) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -4) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 32) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -4) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(2) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CASE_EQ(3) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_active))) EVT_END_SWITCH EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -1411,20 +1417,20 @@ EvtScript N(takeTurn_koopa) = { EVT_CALL(RandInt, 1000, LVar0) EVT_IF_LT(LVar0, 300) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_active))) EVT_END_IF EVT_CASE_EQ(1) EVT_EXEC_WAIT(N(koopa_attackDizzyTornado)) EVT_CALL(RandInt, 1000, LVar0) EVT_IF_LT(LVar0, 300) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_koopa_active))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_koopa_active))) EVT_END_IF EVT_CASE_OR_EQ(2) EVT_CASE_OR_EQ(3) diff --git a/src/battle/area/tik/actor/gloomba.c b/src/battle/area/tik/actor/gloomba.c index c67d9f0ae7..2c074530e6 100644 --- a/src/battle/area/tik/actor/gloomba.c +++ b/src/battle/area/tik/actor/gloomba.c @@ -12,40 +12,44 @@ extern EvtScript N(handleEvent); extern s32 N(IdleAnimations)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 80, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -62,8 +66,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_GLOOMBA, .level = 11, .maxHP = 7, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 70, @@ -75,34 +79,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 24, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Goomba_Dark_Idle, - STATUS_STONE, ANIM_Goomba_Dark_Still, - STATUS_SLEEP, ANIM_Goomba_Dark_Sleep, - STATUS_POISON, ANIM_Goomba_Dark_Idle, - STATUS_STOP, ANIM_Goomba_Dark_Still, - STATUS_STATIC, ANIM_Goomba_Dark_Idle, - STATUS_PARALYZE, ANIM_Goomba_Dark_Still, - STATUS_DIZZY, ANIM_Goomba_Dark_Dizzy, - STATUS_FEAR, ANIM_Goomba_Dark_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Dark_Idle, + STATUS_KEY_STONE, ANIM_Goomba_Dark_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Dark_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Dark_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Dark_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Dark_Idle, + STATUS_KEY_PARALYZE, ANIM_Goomba_Dark_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Dark_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Dark_Dizzy, STATUS_END, }; s32 N(IdleAnimations_step)[] = { - STATUS_NORMAL, ANIM_Goomba_Dark_Run, - STATUS_STONE, ANIM_Goomba_Dark_Still, - STATUS_SLEEP, ANIM_Goomba_Dark_Sleep, - STATUS_POISON, ANIM_Goomba_Dark_Idle, - STATUS_STOP, ANIM_Goomba_Dark_Still, - STATUS_STATIC, ANIM_Goomba_Dark_Run, - STATUS_PARALYZE, ANIM_Goomba_Dark_Still, - STATUS_DIZZY, ANIM_Goomba_Dark_Dizzy, - STATUS_FEAR, ANIM_Goomba_Dark_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Dark_Run, + STATUS_KEY_STONE, ANIM_Goomba_Dark_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Dark_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Dark_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Dark_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Dark_Run, + STATUS_KEY_PARALYZE, ANIM_Goomba_Dark_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Dark_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Dark_Dizzy, STATUS_END, }; @@ -121,7 +125,7 @@ EvtScript N(idle) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -130,14 +134,14 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_step))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -146,14 +150,14 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_step))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -210,14 +214,14 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Goomba_Dark_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(EVENT_SHOCK_DEATH) @@ -246,12 +250,12 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 1) @@ -274,7 +278,7 @@ EvtScript N(handleEvent) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -290,18 +294,18 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -329,10 +333,10 @@ EvtScript N(takeTurn) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -341,14 +345,14 @@ EvtScript N(takeTurn) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Hurt) EVT_WAIT(HIT_RESULT_LUCKY) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -363,26 +367,26 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -405,10 +409,10 @@ EvtScript N(takeTurn) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Tense) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Tense) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -425,7 +429,7 @@ EvtScript N(takeTurn) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -438,15 +442,15 @@ EvtScript N(takeTurn) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/tik/actor/paragloomba.c b/src/battle/area/tik/actor/paragloomba.c index 3c06f5353c..ff3639fd14 100644 --- a/src/battle/area/tik/actor/paragloomba.c +++ b/src/battle/area/tik/actor/paragloomba.c @@ -22,70 +22,77 @@ extern s32 N(IdleAnimations)[]; extern s32 N(IdleAnimations_left_wing)[]; extern s32 N(IdleAnimations_right_wing)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(defenseTable2)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_gloomba)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 80, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 80, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 80, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 80, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 80, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -97,7 +104,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -109,7 +116,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { -16, 24 }, .opacity = 255, @@ -121,7 +128,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { -16, 24 }, .opacity = 255, @@ -138,8 +145,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_PARAGLOOMBA, .level = 11, .maxHP = 7, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 65, @@ -151,44 +158,44 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 36, 26 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Dark_Idle, - STATUS_STONE, ANIM_Paragoomba_Dark_Still, - STATUS_SLEEP, ANIM_Paragoomba_Dark_Sleep, - STATUS_POISON, ANIM_Paragoomba_Dark_Idle, - STATUS_STOP, ANIM_Paragoomba_Dark_Still, - STATUS_STATIC, ANIM_Paragoomba_Dark_Idle, - STATUS_PARALYZE, ANIM_Paragoomba_Dark_Still, - STATUS_DIZZY, ANIM_Paragoomba_Dark_Dizzy, - STATUS_FEAR, ANIM_Paragoomba_Dark_Dizzy, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Dark_Idle, + STATUS_KEY_STONE, ANIM_Paragoomba_Dark_Still, + STATUS_KEY_SLEEP, ANIM_Paragoomba_Dark_Sleep, + STATUS_KEY_POISON, ANIM_Paragoomba_Dark_Idle, + STATUS_KEY_STOP, ANIM_Paragoomba_Dark_Still, + STATUS_KEY_STATIC, ANIM_Paragoomba_Dark_Idle, + STATUS_KEY_PARALYZE, ANIM_Paragoomba_Dark_Still, + STATUS_KEY_DIZZY, ANIM_Paragoomba_Dark_Dizzy, + STATUS_KEY_FEAR, ANIM_Paragoomba_Dark_Dizzy, STATUS_END, }; s32 N(IdleAnimations_step)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Dark_Run, - STATUS_STONE, ANIM_Paragoomba_Dark_Still, - STATUS_SLEEP, ANIM_Paragoomba_Dark_Sleep, - STATUS_POISON, ANIM_Paragoomba_Dark_Idle, - STATUS_STOP, ANIM_Paragoomba_Dark_Still, - STATUS_STATIC, ANIM_Paragoomba_Dark_Run, - STATUS_PARALYZE, ANIM_Paragoomba_Dark_Still, - STATUS_DIZZY, ANIM_Paragoomba_Dark_Dizzy, - STATUS_FEAR, ANIM_Paragoomba_Dark_Dizzy, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Dark_Run, + STATUS_KEY_STONE, ANIM_Paragoomba_Dark_Still, + STATUS_KEY_SLEEP, ANIM_Paragoomba_Dark_Sleep, + STATUS_KEY_POISON, ANIM_Paragoomba_Dark_Idle, + STATUS_KEY_STOP, ANIM_Paragoomba_Dark_Still, + STATUS_KEY_STATIC, ANIM_Paragoomba_Dark_Run, + STATUS_KEY_PARALYZE, ANIM_Paragoomba_Dark_Still, + STATUS_KEY_DIZZY, ANIM_Paragoomba_Dark_Dizzy, + STATUS_KEY_FEAR, ANIM_Paragoomba_Dark_Dizzy, STATUS_END, }; s32 N(IdleAnimations_left_wing)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Dark_LWingStill, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Dark_LWingStill, STATUS_END, }; s32 N(IdleAnimations_right_wing)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Dark_RWingStill, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Dark_RWingStill, STATUS_END, }; @@ -207,7 +214,7 @@ EvtScript N(idle) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -216,13 +223,13 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_step))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -233,11 +240,11 @@ EvtScript N(idle) = { EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations))) EVT_LOOP(40) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -253,7 +260,7 @@ EvtScript N(returnHome) = { EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Idle) EVT_RETURN EVT_END }; @@ -308,7 +315,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_Paragoomba_Dark_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Dizzy) EVT_EXEC_WAIT(N(returnHome)) EVT_CASE_EQ(EVENT_SHOCK_DEATH) EVT_SET_CONST(LVar0, 2) @@ -339,7 +346,7 @@ EvtScript N(handleEvent) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Run) EVT_EXEC_WAIT(N(returnHome)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) @@ -378,7 +385,7 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -397,7 +404,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Dive) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -408,7 +415,7 @@ EvtScript N(takeTurn) = { EVT_SET(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_QUADRATIC_OUT) EVT_THREAD EVT_LOOP(4) @@ -416,23 +423,23 @@ EvtScript N(takeTurn) = { EVT_WAIT(4) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Miss) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 2, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Miss) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_2, EVT_FLOAT(3.0)) EVT_WAIT(10) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(10) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 2, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0)) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Run) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(returnHome)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -447,7 +454,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Dive) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -455,7 +462,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_END_SWITCH EVT_WAIT(2) @@ -467,12 +474,12 @@ EvtScript N(takeTurn) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(5) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dark_Run) EVT_EXEC_WAIT(N(returnHome)) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -485,21 +492,21 @@ EvtScript N(takeTurn) = { #include "common/StartRumbleWithParams.inc.c" EvtScript N(fall) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, 4, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(HideHealthBar, ACTOR_SELF) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, -9, 7, -2) - EVT_CALL(SetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 4, 11, 7, -2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_3, -9, 7, -2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_4, 11, 7, -2) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_BurnStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_BurnStill) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Hurt) EVT_END_IF EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_301, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -514,7 +521,7 @@ EvtScript N(fall) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, 15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Hurt) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -525,21 +532,21 @@ EvtScript N(fall) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(10) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(GetIndexFromHome, ACTOR_SELF, LVar0) EVT_MOD(LVar0, 4) EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_gloomba))) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_GLOOMBA) @@ -552,28 +559,28 @@ EvtScript N(fall) = { }; s32 N(IdleAnimations_gloomba)[] = { - STATUS_NORMAL, ANIM_Goomba_Dark_Idle, - STATUS_STONE, ANIM_Goomba_Dark_Still, - STATUS_SLEEP, ANIM_Goomba_Dark_Sleep, - STATUS_POISON, ANIM_Goomba_Dark_Idle, - STATUS_STOP, ANIM_Goomba_Dark_Still, - STATUS_STATIC, ANIM_Goomba_Dark_Idle, - STATUS_PARALYZE, ANIM_Goomba_Dark_Still, - STATUS_DIZZY, ANIM_Goomba_Dark_Dizzy, - STATUS_FEAR, ANIM_Goomba_Dark_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Dark_Idle, + STATUS_KEY_STONE, ANIM_Goomba_Dark_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Dark_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Dark_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Dark_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Dark_Idle, + STATUS_KEY_PARALYZE, ANIM_Goomba_Dark_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Dark_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Dark_Dizzy, STATUS_END, }; s32 N(IdleAnimations_gloomba_step)[] = { - STATUS_NORMAL, ANIM_Goomba_Dark_Run, - STATUS_STONE, ANIM_Goomba_Dark_Still, - STATUS_SLEEP, ANIM_Goomba_Dark_Sleep, - STATUS_POISON, ANIM_Goomba_Dark_Idle, - STATUS_STOP, ANIM_Goomba_Dark_Still, - STATUS_STATIC, ANIM_Goomba_Dark_Run, - STATUS_PARALYZE, ANIM_Goomba_Dark_Still, - STATUS_DIZZY, ANIM_Goomba_Dark_Dizzy, - STATUS_FEAR, ANIM_Goomba_Dark_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Dark_Run, + STATUS_KEY_STONE, ANIM_Goomba_Dark_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Dark_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Dark_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Dark_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Dark_Run, + STATUS_KEY_PARALYZE, ANIM_Goomba_Dark_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Dark_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Dark_Dizzy, STATUS_END, }; @@ -592,7 +599,7 @@ EvtScript N(idle_gloomba) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -601,14 +608,14 @@ EvtScript N(idle_gloomba) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_gloomba_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_gloomba_step))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_gloomba))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_gloomba))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -617,14 +624,14 @@ EvtScript N(idle_gloomba) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_gloomba_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_gloomba_step))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_gloomba))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_gloomba))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -681,14 +688,14 @@ EvtScript N(handleEvent_gloomba) = { EVT_SET_CONST(LVar1, ANIM_Goomba_Dark_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(EVENT_SHOCK_DEATH) @@ -717,12 +724,12 @@ EvtScript N(handleEvent_gloomba) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 1) @@ -745,7 +752,7 @@ EvtScript N(handleEvent_gloomba) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -761,18 +768,18 @@ EvtScript N(takeTurn_gloomba) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -800,10 +807,10 @@ EvtScript N(takeTurn_gloomba) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -812,14 +819,14 @@ EvtScript N(takeTurn_gloomba) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -834,26 +841,26 @@ EvtScript N(takeTurn_gloomba) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -876,10 +883,10 @@ EvtScript N(takeTurn_gloomba) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Tense) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Tense) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -896,7 +903,7 @@ EvtScript N(takeTurn_gloomba) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -909,15 +916,15 @@ EvtScript N(takeTurn_gloomba) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dark_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dark_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/tik/actor/spiked_gloomba.c b/src/battle/area/tik/actor/spiked_gloomba.c index 30ef4d631a..16112c8fb1 100644 --- a/src/battle/area/tik/actor/spiked_gloomba.c +++ b/src/battle/area/tik/actor/spiked_gloomba.c @@ -13,40 +13,44 @@ extern EvtScript N(handleEvent); extern s32 N(IdleAnimations)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 80, - STATUS_FROZEN, 100, - STATUS_DIZZY, 80, - STATUS_FEAR, 80, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 80, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 80, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -63,8 +67,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SPIKED_GLOOMBA, .level = 12, .maxHP = 7, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 65, @@ -76,34 +80,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 24, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_SpikedGoomba_Dark_Idle, - STATUS_STONE, ANIM_SpikedGoomba_Dark_Still, - STATUS_SLEEP, ANIM_SpikedGoomba_Dark_Sleep, - STATUS_POISON, ANIM_SpikedGoomba_Dark_Idle, - STATUS_STOP, ANIM_SpikedGoomba_Dark_Still, - STATUS_STATIC, ANIM_SpikedGoomba_Dark_Idle, - STATUS_PARALYZE, ANIM_SpikedGoomba_Dark_Still, - STATUS_DIZZY, ANIM_SpikedGoomba_Dark_Dizzy, - STATUS_FEAR, ANIM_SpikedGoomba_Dark_Dizzy, + STATUS_KEY_NORMAL, ANIM_SpikedGoomba_Dark_Idle, + STATUS_KEY_STONE, ANIM_SpikedGoomba_Dark_Still, + STATUS_KEY_SLEEP, ANIM_SpikedGoomba_Dark_Sleep, + STATUS_KEY_POISON, ANIM_SpikedGoomba_Dark_Idle, + STATUS_KEY_STOP, ANIM_SpikedGoomba_Dark_Still, + STATUS_KEY_STATIC, ANIM_SpikedGoomba_Dark_Idle, + STATUS_KEY_PARALYZE, ANIM_SpikedGoomba_Dark_Still, + STATUS_KEY_DIZZY, ANIM_SpikedGoomba_Dark_Dizzy, + STATUS_KEY_FEAR, ANIM_SpikedGoomba_Dark_Dizzy, STATUS_END, }; s32 N(IdleAnimations_step)[] = { - STATUS_NORMAL, ANIM_SpikedGoomba_Dark_Run, - STATUS_STONE, ANIM_SpikedGoomba_Dark_Still, - STATUS_SLEEP, ANIM_SpikedGoomba_Dark_Sleep, - STATUS_POISON, ANIM_SpikedGoomba_Dark_Idle, - STATUS_STOP, ANIM_SpikedGoomba_Dark_Still, - STATUS_STATIC, ANIM_SpikedGoomba_Dark_Run, - STATUS_PARALYZE, ANIM_SpikedGoomba_Dark_Still, - STATUS_DIZZY, ANIM_SpikedGoomba_Dark_Dizzy, - STATUS_FEAR, ANIM_SpikedGoomba_Dark_Dizzy, + STATUS_KEY_NORMAL, ANIM_SpikedGoomba_Dark_Run, + STATUS_KEY_STONE, ANIM_SpikedGoomba_Dark_Still, + STATUS_KEY_SLEEP, ANIM_SpikedGoomba_Dark_Sleep, + STATUS_KEY_POISON, ANIM_SpikedGoomba_Dark_Idle, + STATUS_KEY_STOP, ANIM_SpikedGoomba_Dark_Still, + STATUS_KEY_STATIC, ANIM_SpikedGoomba_Dark_Run, + STATUS_KEY_PARALYZE, ANIM_SpikedGoomba_Dark_Still, + STATUS_KEY_DIZZY, ANIM_SpikedGoomba_Dark_Dizzy, + STATUS_KEY_FEAR, ANIM_SpikedGoomba_Dark_Dizzy, STATUS_END, }; @@ -122,7 +126,7 @@ EvtScript N(idle) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -131,14 +135,14 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_step))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -147,14 +151,14 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_step))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_step))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -211,14 +215,14 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_SpikedGoomba_Dark_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(EVENT_SHOCK_DEATH) @@ -247,12 +251,12 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 1) @@ -275,8 +279,8 @@ EvtScript N(handleEvent) = { EVT_RETURN EVT_CASE_EQ(EVENT_SPIKE_TAUNT) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Laugh) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Laugh) EVT_END_IF EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -290,7 +294,7 @@ EvtScript N(handleEvent) = { EVT_WAIT(20) EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -306,18 +310,18 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -345,10 +349,10 @@ EvtScript N(takeTurn) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -357,14 +361,14 @@ EvtScript N(takeTurn) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -379,26 +383,26 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -421,10 +425,10 @@ EvtScript N(takeTurn) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Midair) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -441,7 +445,7 @@ EvtScript N(takeTurn) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -456,19 +460,19 @@ EvtScript N(takeTurn) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar0) EVT_IF_GT(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Laugh) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Laugh) EVT_WAIT(15) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Idle) EVT_WAIT(3) EVT_END_IF EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dark_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dark_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/tik/area.c b/src/battle/area/tik/area.c index 4db20a3e99..28c026a210 100644 --- a/src/battle/area/tik/area.c +++ b/src/battle/area/tik/area.c @@ -19,189 +19,189 @@ extern Stage N(tik_04); extern Stage N(tik_05); Formation N(Formation_00) = { - { .actor = &N(dark_koopa), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(dark_koopa), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_C, 9), }; Formation N(Formation_01) = { - { .actor = &N(dark_koopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(dark_koopa), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dark_koopa), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_C, 8), }; Formation N(Formation_02) = { - { .actor = &N(dark_koopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(dark_koopa), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dark_koopa), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(dark_koopa), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_D, 7), }; Formation N(Formation_03) = { - { .actor = &N(dark_koopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(dark_paratroopa), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(dark_paratroopa), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(dark_paratroopa), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(dark_paratroopa), BTL_POS_AIR_C, 8), }; Formation N(Formation_04) = { - { .actor = &N(dark_koopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(spike_top), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_C, 8), }; Formation N(Formation_05) = { - { .actor = &N(dark_koopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dark_koopa), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_C, 8), }; Formation N(Formation_06) = { - { .actor = &N(dark_koopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(spiny), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(spiny), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 8), }; Formation N(Formation_07) = { - { .actor = &N(dark_koopa), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(spiny), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(dark_koopa), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(spiny), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(dark_koopa), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_D, 7), }; Formation N(Formation_08) = { - { .actor = &N(dark_paratroopa), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(dark_paratroopa), .home = { .index = 6 }, .priority = 9, }, + ACTOR_BY_IDX(N(dark_paratroopa), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(dark_paratroopa), BTL_POS_AIR_C, 9), }; Formation N(Formation_09) = { - { .actor = &N(dark_paratroopa), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(dark_paratroopa), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(dark_paratroopa), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(dark_paratroopa), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(dark_paratroopa), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(dark_paratroopa), BTL_POS_AIR_C, 8), }; Formation N(Formation_0A) = { - { .actor = &N(gloomba), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(gloomba), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(gloomba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(gloomba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0B) = { - { .actor = &N(gloomba), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(gloomba), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(gloomba), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(gloomba), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(gloomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(gloomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(gloomba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(gloomba), BTL_POS_GROUND_D, 7), }; Formation N(Formation_0C) = { - { .actor = &N(paragloomba), .home = { .index = 4 }, .priority = 10, }, - { .actor = &N(paragloomba), .home = { .index = 5 }, .priority = 9, }, - { .actor = &N(paragloomba), .home = { .index = 6 }, .priority = 8, }, + ACTOR_BY_IDX(N(paragloomba), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(N(paragloomba), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(N(paragloomba), BTL_POS_AIR_C, 8), }; Formation N(Formation_0D) = { - { .actor = &N(paragloomba), .home = { .index = 5 }, .priority = 10, }, - { .actor = &N(spiked_gloomba), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(paragloomba), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(N(spiked_gloomba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0E) = { - { .actor = &N(spiked_gloomba), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(spiked_gloomba), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(spiked_gloomba), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(spiked_gloomba), BTL_POS_GROUND_C, 9), }; Formation N(Formation_0F) = { - { .actor = &N(spiked_gloomba), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(gloomba), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(gloomba), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(spiked_gloomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(gloomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(gloomba), BTL_POS_GROUND_C, 8), }; Formation N(Formation_10) = { - { .actor = &N(spiked_gloomba), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(buzzy_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(buzzy_beetle), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(spiked_gloomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_C, 8), }; Formation N(Formation_11) = { - { .actor = &N(spiked_gloomba), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(buzzy_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(spiked_gloomba), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(buzzy_beetle), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(spiked_gloomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiked_gloomba), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_D, 7), }; Formation N(Formation_12) = { - { .actor = &N(spiked_gloomba), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(buzzy_beetle), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(paragloomba), .home = { .index = 6 }, .priority = 8, }, - { .actor = &N(buzzy_beetle), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(spiked_gloomba), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(paragloomba), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_D, 7), }; Formation N(Formation_13) = { - { .actor = &N(spike_top), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(spike_top), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(spike_top), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_D, 7), }; Formation N(Formation_14) = { - { .actor = &N(spike_top), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(spike_top), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(spike_top), BTL_POS_GROUND_C, 9), }; Formation N(Formation_15) = { - { .actor = &N(buzzy_beetle), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(spiked_gloomba), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(buzzy_beetle), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spiked_gloomba), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(buzzy_beetle), BTL_POS_GROUND_C, 8), }; Formation N(Formation_16) = { - { .actor = &N(spiny), .home = { .index = 1 }, .priority = 10, }, - { .actor = &N(spiny), .home = { .index = 2 }, .priority = 9, }, + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 9), }; Formation N(Formation_17) = { - { .actor = &N(spiny), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(spiny), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(spiny), .home = { .index = 2 }, .priority = 8, }, + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 8), }; Formation N(Formation_18) = { - { .actor = &N(spiny), .home = { .index = 0 }, .priority = 10, }, - { .actor = &N(spiny), .home = { .index = 1 }, .priority = 9, }, - { .actor = &N(spiny), .home = { .index = 2 }, .priority = 8, }, - { .actor = &N(spiny), .home = { .index = 3 }, .priority = 7, }, + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(N(spiny), BTL_POS_GROUND_D, 7), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(tik_01), "ヤミノコノコx2"), - BATTLE(N(Formation_01), &N(tik_01), "ヤミノコノコx3"), - BATTLE(N(Formation_02), &N(tik_01), "ヤミノコノコx4"), - BATTLE(N(Formation_03), &N(tik_01), "ヤミノコノコ,ヤミパタパタx2"), - BATTLE(N(Formation_04), &N(tik_01), "ヤミノコノコ,トゲメットx2"), - BATTLE(N(Formation_05), &N(tik_01), "ヤミノコノコ,トゲメット,ヤミノコノコ"), - BATTLE(N(Formation_06), &N(tik_01), "ヤミノコノコ,トゲゾーx2"), - BATTLE(N(Formation_07), &N(tik_01), "ヤミノコノコ,トゲゾー,ヤミノコノコ,トゲゾー"), - BATTLE(N(Formation_08), &N(tik_01), "ヤミパタパタx2"), - BATTLE(N(Formation_09), &N(tik_01), "ヤミパタパタx3"), - BATTLE(N(Formation_0A), &N(tik_01), "ヤミクリボーx2"), - BATTLE(N(Formation_0B), &N(tik_01), "ヤミクリボーx4"), - BATTLE(N(Formation_0C), &N(tik_01), "ヤミパタクリx3"), - BATTLE(N(Formation_0D), &N(tik_01), "ヤミパタクリ,ヤミトゲクリ"), - BATTLE(N(Formation_0E), &N(tik_01), "ヤミトゲクリx2"), - BATTLE(N(Formation_0F), &N(tik_01), "ヤミトゲクリ,ヤミクリボーx2"), - BATTLE(N(Formation_10), &N(tik_01), "ヤミトゲクリ,メットx2"), - BATTLE(N(Formation_11), &N(tik_01), "ヤミトゲクリ,メット,ヤミトゲクリ,メット"), - BATTLE(N(Formation_12), &N(tik_01), "ヤミトゲクリ,メット,ヤミパタクリ,メット"), - BATTLE(N(Formation_13), &N(tik_01), "トゲメットx4"), - BATTLE(N(Formation_14), &N(tik_01), "トゲメットx2"), - BATTLE(N(Formation_15), &N(tik_01), "メット,ヤミトゲクリ,メット"), - BATTLE(N(Formation_16), &N(tik_01), "トゲゾーx2"), - BATTLE(N(Formation_17), &N(tik_01), "トゲゾーx3"), - BATTLE(N(Formation_18), &N(tik_01), "トゲゾーx4"), + BATTLE(N(Formation_00), N(tik_01), "ヤミノコノコx2"), + BATTLE(N(Formation_01), N(tik_01), "ヤミノコノコx3"), + BATTLE(N(Formation_02), N(tik_01), "ヤミノコノコx4"), + BATTLE(N(Formation_03), N(tik_01), "ヤミノコノコ,ヤミパタパタx2"), + BATTLE(N(Formation_04), N(tik_01), "ヤミノコノコ,トゲメットx2"), + BATTLE(N(Formation_05), N(tik_01), "ヤミノコノコ,トゲメット,ヤミノコノコ"), + BATTLE(N(Formation_06), N(tik_01), "ヤミノコノコ,トゲゾーx2"), + BATTLE(N(Formation_07), N(tik_01), "ヤミノコノコ,トゲゾー,ヤミノコノコ,トゲゾー"), + BATTLE(N(Formation_08), N(tik_01), "ヤミパタパタx2"), + BATTLE(N(Formation_09), N(tik_01), "ヤミパタパタx3"), + BATTLE(N(Formation_0A), N(tik_01), "ヤミクリボーx2"), + BATTLE(N(Formation_0B), N(tik_01), "ヤミクリボーx4"), + BATTLE(N(Formation_0C), N(tik_01), "ヤミパタクリx3"), + BATTLE(N(Formation_0D), N(tik_01), "ヤミパタクリ,ヤミトゲクリ"), + BATTLE(N(Formation_0E), N(tik_01), "ヤミトゲクリx2"), + BATTLE(N(Formation_0F), N(tik_01), "ヤミトゲクリ,ヤミクリボーx2"), + BATTLE(N(Formation_10), N(tik_01), "ヤミトゲクリ,メットx2"), + BATTLE(N(Formation_11), N(tik_01), "ヤミトゲクリ,メット,ヤミトゲクリ,メット"), + BATTLE(N(Formation_12), N(tik_01), "ヤミトゲクリ,メット,ヤミパタクリ,メット"), + BATTLE(N(Formation_13), N(tik_01), "トゲメットx4"), + BATTLE(N(Formation_14), N(tik_01), "トゲメットx2"), + BATTLE(N(Formation_15), N(tik_01), "メット,ヤミトゲクリ,メット"), + BATTLE(N(Formation_16), N(tik_01), "トゲゾーx2"), + BATTLE(N(Formation_17), N(tik_01), "トゲゾーx3"), + BATTLE(N(Formation_18), N(tik_01), "トゲゾーx4"), {}, }; StageList N(Stages) = { - { "tik_01", &N(tik_01) }, - { "tik_02", &N(tik_02) }, - { "tik_03", &N(tik_03) }, - { "tik_04", &N(tik_04) }, - { "tik_05", &N(tik_05) }, + STAGE("tik_01", N(tik_01)), + STAGE("tik_02", N(tik_02)), + STAGE("tik_03", N(tik_03)), + STAGE("tik_04", N(tik_04)), + STAGE("tik_05", N(tik_05)), {}, }; diff --git a/src/battle/area/tik2/actor/blooper.c b/src/battle/area/tik2/actor/blooper.c index 82a66e7de8..3c17d6e3dc 100644 --- a/src/battle/area/tik2/actor/blooper.c +++ b/src/battle/area/tik2/actor/blooper.c @@ -5,9 +5,22 @@ #define NAMESPACE b_area_tik2_blooper +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(onDeath); +extern EvtScript N(attackSpinDrop); +extern EvtScript N(attackInkBlast); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + EvtScript N(FloatToPos) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_IF_GT(LVarB, 20) EVT_SUB(LVarB, 20) @@ -34,8 +47,8 @@ EvtScript N(FloatToPos) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, LVar3, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -57,8 +70,8 @@ EvtScript N(FloatToPos) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, LVar3, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -81,81 +94,73 @@ EvtScript N(FloatToHome) = { EVT_END }; -extern EvtScript N(init); -extern EvtScript N(takeTurn); -extern EvtScript N(idle); -extern EvtScript N(handleEvent); -extern EvtScript N(onDeath); -extern EvtScript N(attackSpinDrop); -extern EvtScript N(attackInkBlast); - s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Blooper_Anim00, - STATUS_STOP, ANIM_Blooper_Anim00, - STATUS_SLEEP, ANIM_Blooper_Anim07, - STATUS_PARALYZE, ANIM_Blooper_Anim08, - STATUS_PARALYZE, ANIM_Blooper_Anim00, - STATUS_DIZZY, ANIM_Blooper_Anim08, - STATUS_SHRINK, ANIM_Blooper_Anim00, + STATUS_KEY_NORMAL, ANIM_Blooper_Anim00, + STATUS_KEY_STOP, ANIM_Blooper_Anim00, + STATUS_KEY_SLEEP, ANIM_Blooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim08, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim00, + STATUS_KEY_DIZZY, ANIM_Blooper_Anim08, + STATUS_KEY_SHRINK, ANIM_Blooper_Anim00, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_Blooper_Anim0C, - STATUS_STOP, ANIM_Blooper_Anim00, - STATUS_SLEEP, ANIM_Blooper_Anim07, - STATUS_PARALYZE, ANIM_Blooper_Anim08, - STATUS_PARALYZE, ANIM_Blooper_Anim00, - STATUS_DIZZY, ANIM_Blooper_Anim08, - STATUS_SHRINK, ANIM_Blooper_Anim0C, + STATUS_KEY_NORMAL, ANIM_Blooper_Anim0C, + STATUS_KEY_STOP, ANIM_Blooper_Anim00, + STATUS_KEY_SLEEP, ANIM_Blooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim08, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim00, + STATUS_KEY_DIZZY, ANIM_Blooper_Anim08, + STATUS_KEY_SHRINK, ANIM_Blooper_Anim0C, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_Blooper_Anim00, - STATUS_STOP, ANIM_Blooper_Anim00, - STATUS_SLEEP, ANIM_Blooper_Anim07, - STATUS_PARALYZE, ANIM_Blooper_Anim08, - STATUS_PARALYZE, ANIM_Blooper_Anim00, - STATUS_DIZZY, ANIM_Blooper_Anim08, - STATUS_SHRINK, ANIM_Blooper_Anim00, + STATUS_KEY_NORMAL, ANIM_Blooper_Anim00, + STATUS_KEY_STOP, ANIM_Blooper_Anim00, + STATUS_KEY_SLEEP, ANIM_Blooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim08, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim00, + STATUS_KEY_DIZZY, ANIM_Blooper_Anim08, + STATUS_KEY_SHRINK, ANIM_Blooper_Anim00, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 80, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 90, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 50 }, .opacity = 255, @@ -167,7 +172,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 20, 0 }, .targetOffset = { 0, 30 }, .opacity = 255, @@ -184,8 +189,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BLOOPER, .level = 44, .maxHP = 30, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -197,9 +202,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 0, .size = { 57, 61 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { 0, 22 }, - .statusMessageOffset = { 15, 55 }, + .statusTextOffset = { 15, 55 }, }; EvtScript N(init) = { @@ -227,10 +232,10 @@ EvtScript N(idle) = { EVT_IF_GE(LVar4, LVar1) EVT_GOTO(11) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -248,10 +253,10 @@ EvtScript N(idle) = { EVT_IF_GE(LVar4, LVar1) EVT_GOTO(12) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -263,7 +268,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations3))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations3))) EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, -10) @@ -421,7 +426,7 @@ EvtScript N(attackSpinDrop) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0D) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -452,7 +457,7 @@ EvtScript N(attackSpinDrop) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0D) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) @@ -464,9 +469,9 @@ EvtScript N(attackSpinDrop) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim04) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) @@ -492,8 +497,8 @@ EvtScript N(attackInkBlast) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 85) EVT_ADD(LVar1, 45) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_IF_GT(LVarB, 30) EVT_SUB(LVarB, 30) @@ -524,8 +529,8 @@ EvtScript N(attackInkBlast) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, 15, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -535,7 +540,7 @@ EvtScript N(attackInkBlast) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(FlyToGoal, ACTOR_SELF, 15, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim03) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 30) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.2)) @@ -562,7 +567,7 @@ EvtScript N(attackInkBlast) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_EXEC_WAIT(N(FloatToHome)) @@ -576,7 +581,7 @@ EvtScript N(attackInkBlast) = { EVT_CALL(SetDamageSource, DMG_SRC_INK_BLAST) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_EXEC_WAIT(N(FloatToHome)) diff --git a/src/battle/area/tik2/actor/blooper_baby.c b/src/battle/area/tik2/actor/blooper_baby.c index 7580b00ee6..d0f31a255d 100644 --- a/src/battle/area/tik2/actor/blooper_baby.c +++ b/src/battle/area/tik2/actor/blooper_baby.c @@ -7,9 +7,20 @@ #define NAMESPACE b_area_tik2_blooper_baby +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(onDeath); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + EvtScript N(FloatToPos) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim01) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_IF_GT(LVarB, 20) EVT_SUB(LVarB, 20) @@ -36,8 +47,8 @@ EvtScript N(FloatToPos) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, LVar3, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim01) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -59,8 +70,8 @@ EvtScript N(FloatToPos) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, LVar3, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim01) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -83,79 +94,73 @@ EvtScript N(FloatToHome) = { EVT_END }; -extern EvtScript N(init); -extern EvtScript N(takeTurn); -extern EvtScript N(idle); -extern EvtScript N(handleEvent); -extern EvtScript N(onDeath); - s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BabyBlooper_Anim00, - STATUS_STOP, ANIM_BabyBlooper_Anim00, - STATUS_SLEEP, ANIM_BabyBlooper_Anim06, - STATUS_PARALYZE, ANIM_BabyBlooper_Anim07, - STATUS_PARALYZE, ANIM_BabyBlooper_Anim00, - STATUS_DIZZY, ANIM_BabyBlooper_Anim07, - STATUS_SHRINK, ANIM_BabyBlooper_Anim00, + STATUS_KEY_NORMAL, ANIM_BabyBlooper_Anim00, + STATUS_KEY_STOP, ANIM_BabyBlooper_Anim00, + STATUS_KEY_SLEEP, ANIM_BabyBlooper_Anim06, + STATUS_KEY_PARALYZE, ANIM_BabyBlooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_BabyBlooper_Anim00, + STATUS_KEY_DIZZY, ANIM_BabyBlooper_Anim07, + STATUS_KEY_SHRINK, ANIM_BabyBlooper_Anim00, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_BabyBlooper_Anim01, - STATUS_STOP, ANIM_BabyBlooper_Anim00, - STATUS_SLEEP, ANIM_BabyBlooper_Anim06, - STATUS_PARALYZE, ANIM_BabyBlooper_Anim07, - STATUS_PARALYZE, ANIM_BabyBlooper_Anim00, - STATUS_DIZZY, ANIM_BabyBlooper_Anim07, - STATUS_SHRINK, ANIM_BabyBlooper_Anim01, + STATUS_KEY_NORMAL, ANIM_BabyBlooper_Anim01, + STATUS_KEY_STOP, ANIM_BabyBlooper_Anim00, + STATUS_KEY_SLEEP, ANIM_BabyBlooper_Anim06, + STATUS_KEY_PARALYZE, ANIM_BabyBlooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_BabyBlooper_Anim00, + STATUS_KEY_DIZZY, ANIM_BabyBlooper_Anim07, + STATUS_KEY_SHRINK, ANIM_BabyBlooper_Anim01, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_BabyBlooper_Anim00, - STATUS_STOP, ANIM_BabyBlooper_Anim00, - STATUS_SLEEP, ANIM_BabyBlooper_Anim06, - STATUS_PARALYZE, ANIM_BabyBlooper_Anim07, - STATUS_PARALYZE, ANIM_BabyBlooper_Anim00, - STATUS_DIZZY, ANIM_BabyBlooper_Anim07, - STATUS_SHRINK, ANIM_BabyBlooper_Anim00, + STATUS_KEY_NORMAL, ANIM_BabyBlooper_Anim00, + STATUS_KEY_STOP, ANIM_BabyBlooper_Anim00, + STATUS_KEY_SLEEP, ANIM_BabyBlooper_Anim06, + STATUS_KEY_PARALYZE, ANIM_BabyBlooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_BabyBlooper_Anim00, + STATUS_KEY_DIZZY, ANIM_BabyBlooper_Anim07, + STATUS_KEY_SHRINK, ANIM_BabyBlooper_Anim00, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 0, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 85 }, .opacity = 255, @@ -167,7 +172,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 27, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -184,8 +189,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BLOOPER_BABY, .level = 0, .maxHP = 6, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -197,9 +202,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 95, .coinReward = 0, .size = { 28, 25 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -12, 20 }, - .statusMessageOffset = { 10, 25 }, + .statusTextOffset = { 10, 25 }, }; #include "common/StartRumbleWithParams.inc.c" @@ -210,8 +215,8 @@ EvtScript N(init) = { EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35F) EVT_CALL(N(StartRumbleWithParams), 80, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim01) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 10) EVT_SUB(LVar2, 10) @@ -251,10 +256,10 @@ EvtScript N(idle) = { EVT_IF_GE(LVar4, LVar1) EVT_GOTO(11) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim00) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim00) EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim01) EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -272,10 +277,10 @@ EvtScript N(idle) = { EVT_IF_GE(LVar4, LVar1) EVT_GOTO(12) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim00) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim00) EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim01) EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -287,7 +292,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations3))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations3))) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, -5) @@ -410,7 +415,7 @@ EvtScript N(takeTurn) = { EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim02) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -433,7 +438,7 @@ EvtScript N(takeTurn) = { EVT_END_CASE_GROUP EVT_CASE_OR_EQ(HIT_RESULT_HIT_STATIC) EVT_CASE_OR_EQ(HIT_RESULT_IMMUNE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim02) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) @@ -457,7 +462,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetBattleCamTarget, LVar0, LVar1, LVar2) EVT_CALL(SetBattleCamZoom, 325) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim02) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -466,7 +471,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim08) EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_03, 0x00007FFF) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_STOP_LEECH) @@ -658,9 +663,9 @@ EvtScript N(takeTurn) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BabyBlooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim00) EVT_END_IF EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) diff --git a/src/battle/area/tik2/actor/electro_blooper.c b/src/battle/area/tik2/actor/electro_blooper.c index 00bddc4eda..c65f055f8d 100644 --- a/src/battle/area/tik2/actor/electro_blooper.c +++ b/src/battle/area/tik2/actor/electro_blooper.c @@ -6,9 +6,27 @@ #define NAMESPACE b_area_tik2_electro_blooper +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(updateEffect); +extern EvtScript N(discharge); +extern EvtScript N(onDeath); +extern EvtScript N(electricCharge); +extern EvtScript N(attackElectricDrop); +extern EvtScript N(attackSpinDrop); +extern EvtScript N(attackInkBlast); +extern EvtScript N(charge); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + EvtScript N(FloatToPos) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_IF_GT(LVarB, 20) EVT_SUB(LVarB, 20) @@ -35,8 +53,8 @@ EvtScript N(FloatToPos) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, LVar3, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -58,8 +76,8 @@ EvtScript N(FloatToPos) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, LVar3, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -82,111 +100,98 @@ EvtScript N(FloatToHome) = { EVT_END }; -extern EvtScript N(init); -extern EvtScript N(takeTurn); -extern EvtScript N(idle); -extern EvtScript N(handleEvent); -extern EvtScript N(updateEffect); -extern EvtScript N(discharge); -extern EvtScript N(onDeath); -extern EvtScript N(electricCharge); -extern EvtScript N(attackElectricDrop); -extern EvtScript N(attackSpinDrop); -extern EvtScript N(attackInkBlast); -extern EvtScript N(charge); - s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Blooper_Anim00, - STATUS_STOP, ANIM_Blooper_Anim00, - STATUS_SLEEP, ANIM_Blooper_Anim07, - STATUS_PARALYZE, ANIM_Blooper_Anim08, - STATUS_PARALYZE, ANIM_Blooper_Anim00, - STATUS_DIZZY, ANIM_Blooper_Anim08, - STATUS_SHRINK, ANIM_Blooper_Anim00, + STATUS_KEY_NORMAL, ANIM_Blooper_Anim00, + STATUS_KEY_STOP, ANIM_Blooper_Anim00, + STATUS_KEY_SLEEP, ANIM_Blooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim08, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim00, + STATUS_KEY_DIZZY, ANIM_Blooper_Anim08, + STATUS_KEY_SHRINK, ANIM_Blooper_Anim00, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_Blooper_Anim0C, - STATUS_STOP, ANIM_Blooper_Anim00, - STATUS_SLEEP, ANIM_Blooper_Anim07, - STATUS_PARALYZE, ANIM_Blooper_Anim08, - STATUS_PARALYZE, ANIM_Blooper_Anim00, - STATUS_DIZZY, ANIM_Blooper_Anim08, - STATUS_SHRINK, ANIM_Blooper_Anim0C, + STATUS_KEY_NORMAL, ANIM_Blooper_Anim0C, + STATUS_KEY_STOP, ANIM_Blooper_Anim00, + STATUS_KEY_SLEEP, ANIM_Blooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim08, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim00, + STATUS_KEY_DIZZY, ANIM_Blooper_Anim08, + STATUS_KEY_SHRINK, ANIM_Blooper_Anim0C, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_Blooper_Anim00, - STATUS_STOP, ANIM_Blooper_Anim00, - STATUS_SLEEP, ANIM_Blooper_Anim07, - STATUS_PARALYZE, ANIM_Blooper_Anim08, - STATUS_PARALYZE, ANIM_Blooper_Anim00, - STATUS_DIZZY, ANIM_Blooper_Anim08, - STATUS_SHRINK, ANIM_Blooper_Anim00, + STATUS_KEY_NORMAL, ANIM_Blooper_Anim00, + STATUS_KEY_STOP, ANIM_Blooper_Anim00, + STATUS_KEY_SLEEP, ANIM_Blooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim08, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim00, + STATUS_KEY_DIZZY, ANIM_Blooper_Anim08, + STATUS_KEY_SHRINK, ANIM_Blooper_Anim00, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 60, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 80, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 60, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; s32 N(StatusTable_charged)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 25, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 30, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 70, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 25, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 30, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 70, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 80 }, .opacity = 255, @@ -198,7 +203,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 20, 0 }, .targetOffset = { 0, 60 }, .opacity = 255, @@ -215,8 +220,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_ELECTRO_BLOOPER1, .level = 50, .maxHP = 50, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -228,9 +233,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 0, .size = { 95, 105 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { 0, 40 }, - .statusMessageOffset = { 25, 85 }, + .statusTextOffset = { 25, 85 }, }; #include "common/StartRumbleWithParams.inc.c" @@ -329,10 +334,10 @@ EvtScript N(idle) = { EVT_IF_GE(LVar4, LVar1) EVT_GOTO(11) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -350,10 +355,10 @@ EvtScript N(idle) = { EVT_IF_GE(LVar4, LVar1) EVT_GOTO(12) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -365,7 +370,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations3))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations3))) EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, -10) @@ -528,11 +533,11 @@ EvtScript N(electricCharge) = { EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 40, EVT_FLOAT(0.3)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0A) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0B) EVT_WAIT(10) EVT_EXEC_WAIT(N(charge)) EVT_WAIT(20) @@ -584,7 +589,7 @@ EvtScript N(attackSpinDrop) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0D) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -615,7 +620,7 @@ EvtScript N(attackSpinDrop) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0D) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) @@ -627,9 +632,9 @@ EvtScript N(attackSpinDrop) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim04) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) @@ -681,7 +686,7 @@ EvtScript N(attackElectricDrop) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0D) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -712,7 +717,7 @@ EvtScript N(attackElectricDrop) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0D) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) @@ -727,9 +732,9 @@ EvtScript N(attackElectricDrop) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim04) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) @@ -752,8 +757,8 @@ EvtScript N(attackInkBlast) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 85) EVT_ADD(LVar1, 45) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_IF_GT(LVarB, 30) EVT_SUB(LVarB, 30) @@ -784,8 +789,8 @@ EvtScript N(attackInkBlast) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, 15, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -795,7 +800,7 @@ EvtScript N(attackInkBlast) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(FlyToGoal, ACTOR_SELF, 15, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim03) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 30) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.2)) @@ -822,7 +827,7 @@ EvtScript N(attackInkBlast) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_EXEC_WAIT(N(FloatToHome)) @@ -836,7 +841,7 @@ EvtScript N(attackInkBlast) = { EVT_CALL(SetDamageSource, DMG_SRC_INK_BLAST) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_EXEC_WAIT(N(FloatToHome)) @@ -864,9 +869,9 @@ EvtScript N(charge) = { EVT_PLAY_EFFECT(EFFECT_SNAKING_STATIC, 0, LVar0, LVar1, LVar2, LVar3, -1, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 1, LVarF) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_35C) - EVT_CALL(SetPartEventFlags, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED | ACTOR_EVENT_FLAG_ELECTRIFIED) - EVT_CALL(func_8026ED20, ACTOR_SELF, 1, 1) - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 4) + EVT_CALL(SetPartEventFlags, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED | ACTOR_EVENT_FLAG_ELECTRIFIED) + EVT_CALL(func_8026ED20, ACTOR_SELF, PRT_MAIN, 1) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_STATIC) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_charged))) EVT_RETURN EVT_END @@ -884,8 +889,8 @@ EvtScript N(discharge) = { EVT_CALL(RemoveEffect, LVar0) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_END_IF - EVT_CALL(SetPartEventFlags, ACTOR_SELF, 2, 0) - EVT_CALL(func_8026ED20, ACTOR_SELF, 1, 0) + EVT_CALL(SetPartEventFlags, ACTOR_SELF, PRT_2, 0) + EVT_CALL(func_8026ED20, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) EVT_RETURN EVT_END diff --git a/src/battle/area/tik2/actor/super_blooper.c b/src/battle/area/tik2/actor/super_blooper.c index 4e40d2299d..5a656a3f25 100644 --- a/src/battle/area/tik2/actor/super_blooper.c +++ b/src/battle/area/tik2/actor/super_blooper.c @@ -7,9 +7,30 @@ extern ActorBlueprint b_area_tik2_blooper_baby; +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(onDeath); +extern EvtScript N(makeBabies); +extern EvtScript N(getEnraged); +extern EvtScript N(attackEnragedDrops); +extern EvtScript N(attackSpinDrop); +extern EvtScript N(attackInkBlast); +extern EvtScript N(enrage); +extern EvtScript N(unEnrage); + +extern Formation N(formation_baby_1); +extern Formation N(formation_baby_2); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + EvtScript N(FloatToPos) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_IF_GT(LVarB, 20) EVT_SUB(LVarB, 20) @@ -36,8 +57,8 @@ EvtScript N(FloatToPos) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, LVar3, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -59,8 +80,8 @@ EvtScript N(FloatToPos) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, LVar3, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -83,114 +104,98 @@ EvtScript N(FloatToHome) = { EVT_END }; -extern EvtScript N(init); -extern EvtScript N(takeTurn); -extern EvtScript N(idle); -extern EvtScript N(handleEvent); -extern EvtScript N(onDeath); -extern EvtScript N(makeBabies); -extern EvtScript N(getEnraged); -extern EvtScript N(attackEnragedDrops); -extern EvtScript N(attackSpinDrop); -extern EvtScript N(attackInkBlast); -extern EvtScript N(enrage); -extern EvtScript N(unEnrage); - -extern Formation N(formation_baby_1); -extern Formation N(formation_baby_2); - s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Blooper_Anim00, - STATUS_STOP, ANIM_Blooper_Anim00, - STATUS_SLEEP, ANIM_Blooper_Anim07, - STATUS_PARALYZE, ANIM_Blooper_Anim08, - STATUS_PARALYZE, ANIM_Blooper_Anim00, - STATUS_DIZZY, ANIM_Blooper_Anim08, - STATUS_SHRINK, ANIM_Blooper_Anim00, + STATUS_KEY_NORMAL, ANIM_Blooper_Anim00, + STATUS_KEY_STOP, ANIM_Blooper_Anim00, + STATUS_KEY_SLEEP, ANIM_Blooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim08, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim00, + STATUS_KEY_DIZZY, ANIM_Blooper_Anim08, + STATUS_KEY_SHRINK, ANIM_Blooper_Anim00, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_Blooper_Anim0C, - STATUS_STOP, ANIM_Blooper_Anim00, - STATUS_SLEEP, ANIM_Blooper_Anim07, - STATUS_PARALYZE, ANIM_Blooper_Anim08, - STATUS_PARALYZE, ANIM_Blooper_Anim00, - STATUS_DIZZY, ANIM_Blooper_Anim08, - STATUS_SHRINK, ANIM_Blooper_Anim0C, + STATUS_KEY_NORMAL, ANIM_Blooper_Anim0C, + STATUS_KEY_STOP, ANIM_Blooper_Anim00, + STATUS_KEY_SLEEP, ANIM_Blooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim08, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim00, + STATUS_KEY_DIZZY, ANIM_Blooper_Anim08, + STATUS_KEY_SHRINK, ANIM_Blooper_Anim0C, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_Blooper_Anim00, - STATUS_STOP, ANIM_Blooper_Anim00, - STATUS_SLEEP, ANIM_Blooper_Anim07, - STATUS_PARALYZE, ANIM_Blooper_Anim08, - STATUS_PARALYZE, ANIM_Blooper_Anim00, - STATUS_DIZZY, ANIM_Blooper_Anim08, - STATUS_SHRINK, ANIM_Blooper_Anim00, + STATUS_KEY_NORMAL, ANIM_Blooper_Anim00, + STATUS_KEY_STOP, ANIM_Blooper_Anim00, + STATUS_KEY_SLEEP, ANIM_Blooper_Anim07, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim08, + STATUS_KEY_PARALYZE, ANIM_Blooper_Anim00, + STATUS_KEY_DIZZY, ANIM_Blooper_Anim08, + STATUS_KEY_SHRINK, ANIM_Blooper_Anim00, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 40, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 60, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 50, - STATUS_SHRINK, 70, - STATUS_STOP, 60, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 40, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 60, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 50, + STATUS_KEY_SHRINK, 70, + STATUS_KEY_STOP, 60, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; s32 N(StatusTable_enraged)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 80 }, .opacity = 255, @@ -202,7 +207,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 20, 0 }, .targetOffset = { 0, 60 }, .opacity = 255, @@ -219,8 +224,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SUPER_BLOOPER1, .level = 65, .maxHP = 70, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -232,9 +237,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 0, .size = { -111, -88 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { 0, 60 }, - .statusMessageOffset = { 40, 80 }, + .statusTextOffset = { 40, 80 }, }; #include "common/StartRumbleWithParams.inc.c" @@ -284,10 +289,10 @@ EvtScript N(idle) = { EVT_IF_GE(LVar4, LVar1) EVT_GOTO(11) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -305,10 +310,10 @@ EvtScript N(idle) = { EVT_IF_GE(LVar4, LVar1) EVT_GOTO(12) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(SetActorIdleJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -320,7 +325,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations3))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations3))) EVT_CALL(SetIdleGoalToHome, ACTOR_SELF) EVT_CALL(GetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, -10) @@ -513,7 +518,7 @@ EvtScript N(attackSpinDrop) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0D) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -542,7 +547,7 @@ EvtScript N(attackSpinDrop) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0D) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) @@ -552,9 +557,9 @@ EvtScript N(attackSpinDrop) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim04) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) @@ -577,8 +582,8 @@ EvtScript N(attackInkBlast) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 85) EVT_ADD(LVar1, 45) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_IF_GT(LVarB, 30) EVT_SUB(LVarB, 30) @@ -602,8 +607,8 @@ EvtScript N(attackInkBlast) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar7, LVar8, LVar9) EVT_CALL(FlyToGoal, ACTOR_SELF, 15, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -613,7 +618,7 @@ EvtScript N(attackInkBlast) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(FlyToGoal, ACTOR_SELF, 15, -2, EASING_CUBIC_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim03) EVT_CALL(GetActorPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_SUB(LVarB, 30) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.2)) @@ -637,7 +642,7 @@ EvtScript N(attackInkBlast) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_EXEC_WAIT(N(FloatToHome)) @@ -651,7 +656,7 @@ EvtScript N(attackInkBlast) = { EVT_CALL(SetDamageSource, DMG_SRC_INK_BLAST) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_EXEC_WAIT(N(FloatToHome)) @@ -683,7 +688,7 @@ EvtScript N(makeBabies) = { EVT_CALL(SetBattleCamOffsetZ, 65) EVT_CALL(SetBattleCamZoom, 240) EVT_CALL(MoveBattleCamOver, 15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim09) EVT_WAIT(15) EVT_CALL(N(StartRumbleWithParams), 100, 20) EVT_THREAD @@ -694,7 +699,7 @@ EvtScript N(makeBabies) = { EVT_CALL(SetBattleCamOffsetZ, 80) EVT_CALL(SetBattleCamZoom, 150) EVT_CALL(MoveBattleCamOver, 15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0A) EVT_WAIT(15) EVT_CALL(N(StartRumbleWithParams), 150, 20) EVT_THREAD @@ -705,11 +710,11 @@ EvtScript N(makeBabies) = { EVT_CALL(SetBattleCamOffsetZ, 95) EVT_CALL(SetBattleCamZoom, 60) EVT_CALL(MoveBattleCamOver, 15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0B) EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim03) EVT_WAIT(10) EVT_CALL(ActorExists, ACTOR_ENEMY1, LVar1) EVT_IF_EQ(LVar1, 0) @@ -722,7 +727,7 @@ EvtScript N(makeBabies) = { EVT_CALL(SummonEnemy, EVT_PTR(N(formation_baby_2)), 0) EVT_END_IF EVT_WAIT(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0C) EVT_CALL(N(UnfadeBackgroundToBlack)) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -748,11 +753,11 @@ EvtScript N(getEnraged) = { EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 40, EVT_FLOAT(0.3)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0A) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0B) EVT_WAIT(10) EVT_EXEC_WAIT(N(enrage)) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -787,7 +792,7 @@ EvtScript N(attackEnragedDrops) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0D) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -817,7 +822,7 @@ EvtScript N(attackEnragedDrops) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim0D) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) @@ -851,9 +856,9 @@ EvtScript N(attackEnragedDrops) = { EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim04) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Blooper_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Blooper_Anim00) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) @@ -871,20 +876,20 @@ EvtScript N(attackEnragedDrops) = { EvtScript N(enrage) = { EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(func_8026ED20, ACTOR_SELF, 1, 1) - EVT_CALL(func_8026EBF8, ACTOR_SELF, 1, 0, 2, 0, 6, 12, 6, 0, 0) - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 15) + EVT_CALL(func_8026ED20, ACTOR_SELF, PRT_MAIN, 1) + EVT_CALL(SetActorPaletteSwapParams, ACTOR_SELF, PRT_MAIN, SPR_PAL_Blooper, SPR_PAL_Blooper_Supercharged, 0, 6, 12, 6, 0, 0) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_enraged))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_RETURN EVT_END }; EvtScript N(unEnrage) = { EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(func_8026ED20, ACTOR_SELF, 1, 0) + EVT_CALL(func_8026ED20, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_RETURN EVT_END }; @@ -892,9 +897,9 @@ EvtScript N(unEnrage) = { Vec3i N(baby_pos) = { 400, 0, 0 }; Formation N(formation_baby_1) = { - { .actor = &b_area_tik2_blooper_baby, .home = { .vec = &N(baby_pos) }, .priority = 95, .var0 = 30, .var1 = 68, }, + ACTOR_BY_POS(b_area_tik2_blooper_baby, N(baby_pos), 95, 30, 68), }; Formation N(formation_baby_2) = { - { .actor = &b_area_tik2_blooper_baby, .home = { .vec = &N(baby_pos) }, .priority = 94, .var0 = 134, .var1 = 45, }, + ACTOR_BY_POS(b_area_tik2_blooper_baby, N(baby_pos), 94, 134, 45), }; diff --git a/src/battle/area/tik2/area.c b/src/battle/area/tik2/area.c index 7606351343..6b0768d05f 100644 --- a/src/battle/area/tik2/area.c +++ b/src/battle/area/tik2/area.c @@ -16,31 +16,31 @@ extern Stage N(tik_05); Vec3i N(blooper_pos) = { 80, 45, -10 }; Formation N(Formation_00) = { - { .actor = &N(blooper), .home = { .vec = &N(blooper_pos) }, .priority = 10, }, + ACTOR_BY_POS(N(blooper), N(blooper_pos), 10), }; Formation N(Formation_01) = { - { .actor = &N(electro_blooper), .home = { .vec = &N(blooper_pos) }, .priority = 10, }, + ACTOR_BY_POS(N(electro_blooper), N(blooper_pos), 10), }; Formation N(Formation_02) = { - { .actor = &N(super_blooper), .home = { .vec = &N(blooper_pos) }, .priority = 10, }, + ACTOR_BY_POS(N(super_blooper), N(blooper_pos), 10), }; // ソ is encoded as 0x83 0x5C, so it needs another backslash to be interpreted as valid escape sequence // TODO modify iconv instead of strings in this file BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(tik_01), "ゲッソ\ー"), - BATTLE(N(Formation_01), &N(tik_01), "ビリビリゲッソ\ー"), - BATTLE(N(Formation_02), &N(tik_01), "ビッグゲッソ\ー チビゲッソ\ー"), + BATTLE(N(Formation_00), N(tik_01), "ゲッソ\ー"), + BATTLE(N(Formation_01), N(tik_01), "ビリビリゲッソ\ー"), + BATTLE(N(Formation_02), N(tik_01), "ビッグゲッソ\ー チビゲッソ\ー"), {}, }; StageList N(Stages) = { - { "tik_01", &N(tik_01) }, - { "tik_02", &N(tik_02) }, - { "tik_03", &N(tik_03) }, - { "tik_04", &N(tik_04) }, - { "tik_05", &N(tik_05) }, + STAGE("tik_01", N(tik_01)), + STAGE("tik_02", N(tik_02)), + STAGE("tik_03", N(tik_03)), + STAGE("tik_04", N(tik_04)), + STAGE("tik_05", N(tik_05)), {}, }; diff --git a/src/battle/area/tik3/area.c b/src/battle/area/tik3/area.c index c33baa626e..9a1fd721cb 100644 --- a/src/battle/area/tik3/area.c +++ b/src/battle/area/tik3/area.c @@ -13,40 +13,40 @@ extern Stage N(tik_04); extern Stage N(tik_05); Formation N(Formation_00) = { - { .actor = &N(swooper), .home = { .index = 13 }, .priority = 10, }, - { .actor = &N(swooper), .home = { .index = 14 }, .priority = 9, }, + ACTOR_BY_IDX(N(swooper), BTL_POS_TOP_B, 10), + ACTOR_BY_IDX(N(swooper), BTL_POS_TOP_C, 9), }; Formation N(Formation_01) = { - { .actor = &N(swooper), .home = { .index = 12 }, .priority = 10, }, - { .actor = &N(swooper), .home = { .index = 13 }, .priority = 9, }, - { .actor = &N(swooper), .home = { .index = 14 }, .priority = 8, }, + ACTOR_BY_IDX(N(swooper), BTL_POS_TOP_A, 10), + ACTOR_BY_IDX(N(swooper), BTL_POS_TOP_B, 9), + ACTOR_BY_IDX(N(swooper), BTL_POS_TOP_C, 8), }; Formation N(Formation_02) = { - { .actor = &N(swoopula), .home = { .index = 13 }, .priority = 10, }, - { .actor = &N(swoopula), .home = { .index = 14 }, .priority = 9, }, + ACTOR_BY_IDX(N(swoopula), BTL_POS_TOP_B, 10), + ACTOR_BY_IDX(N(swoopula), BTL_POS_TOP_C, 9), }; Formation N(Formation_03) = { - { .actor = &N(swoopula), .home = { .index = 12 }, .priority = 10, }, - { .actor = &N(swoopula), .home = { .index = 13 }, .priority = 9, }, - { .actor = &N(swoopula), .home = { .index = 14 }, .priority = 8, }, + ACTOR_BY_IDX(N(swoopula), BTL_POS_TOP_A, 10), + ACTOR_BY_IDX(N(swoopula), BTL_POS_TOP_B, 9), + ACTOR_BY_IDX(N(swoopula), BTL_POS_TOP_C, 8), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(tik_01), "バサバサx2"), - BATTLE(N(Formation_01), &N(tik_01), "バサバサx3"), - BATTLE(N(Formation_02), &N(tik_01), "バサバサチュルルx2"), - BATTLE(N(Formation_03), &N(tik_01), "バサバサチュルルx3"), + BATTLE(N(Formation_00), N(tik_01), "バサバサx2"), + BATTLE(N(Formation_01), N(tik_01), "バサバサx3"), + BATTLE(N(Formation_02), N(tik_01), "バサバサチュルルx2"), + BATTLE(N(Formation_03), N(tik_01), "バサバサチュルルx3"), {}, }; StageList N(Stages) = { - { "tik_01", &N(tik_01) }, - { "tik_02", &N(tik_02) }, - { "tik_03", &N(tik_03) }, - { "tik_04", &N(tik_04) }, - { "tik_05", &N(tik_05) }, + STAGE("tik_01", N(tik_01)), + STAGE("tik_02", N(tik_02)), + STAGE("tik_03", N(tik_03)), + STAGE("tik_04", N(tik_04)), + STAGE("tik_05", N(tik_05)), {}, }; diff --git a/src/battle/area/trd_part_1/actor/bill_blaster.c b/src/battle/area/trd_part_1/actor/bill_blaster.c index f8cbccd17a..da41ce60a8 100644 --- a/src/battle/area/trd_part_1/actor/bill_blaster.c +++ b/src/battle/area/trd_part_1/actor/bill_blaster.c @@ -1,67 +1,79 @@ -#include "common.h" -#include "effects.h" -#include "battle/battle.h" -#include "script_api/battle.h" +#include "../area.h" #include "sprite/npc/BillBlaster.h" -#define AREA b_area_trd_part_1 - #define NAMESPACE A(bill_blaster) -s32 N(DefenseTable_80219D20)[] = { - ELEMENT_NORMAL, 1, +extern EvtScript N(EVS_Init); +extern EvtScript N(EVS_Idle); +extern EvtScript N(EVS_TakeTurn); +extern EvtScript N(EVS_HandleEvent); +extern s32 N(DefaultAnims)[]; +extern EvtScript N(EVS_Move_FireBullet); +extern EvtScript N(EVS_Move_CheckForBullet); +extern ActorBlueprint A(bullet_bill); +extern Formation N(BulletBillSummon); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_TARGET = 2, +}; + +enum N(ActorVars) { + AVAR_BulletID = 0, + AVAR_HasBullet = 8, +}; + +s32 N(DefenseTable)[] = { + ELEMENT_NORMAL, 1, ELEMENT_END, }; -s32 N(StatusTable_80219D2C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 100, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 50, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, +s32 N(StatusTable)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 50, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -extern s32 N(IdleAnimations_80219E48)[]; -extern EvtScript N(init_80219E6C); - -ActorPartBlueprint N(PartsTable_80219DD8)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -6, 29 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80219E48), - .defenseTable = N(DefenseTable_80219D20), + .idleAnimations = N(DefaultAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -9 }, }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_TARGET, .posOffset = { 100, 0, 0 }, .targetOffset = { -106, 29 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80219E48), - .defenseTable = N(DefenseTable_80219D20), + .idleAnimations = N(DefaultAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -9 }, @@ -73,10 +85,10 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BILL_BLASTER, .level = 10, .maxHP = 4, - .partCount = ARRAY_COUNT( N(PartsTable_80219DD8)), - .partsData = N(PartsTable_80219DD8), - .initScript = &N(init_80219E6C), - .statusTable = N(StatusTable_80219D2C), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), + .initScript = &N(EVS_Init), + .statusTable = N(StatusTable), .escapeChance = 0, .airLiftChance = 20, .hurricaneChance = 15, @@ -86,88 +98,84 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 55, 32 }, - .hpBarOffset = { 8, 0 }, + .healthBarOffset = { 8, 0 }, .statusIconOffset = { -24, 20 }, - .statusMessageOffset = { 5, 25 }, + .statusTextOffset = { 5, 25 }, }; -s32 N(IdleAnimations_80219E48)[] = { - STATUS_NORMAL, ANIM_BillBlaster_Anim01, - STATUS_STONE, ANIM_BillBlaster_Anim00, - STATUS_STOP, ANIM_BillBlaster_Anim00, - STATUS_PARALYZE, ANIM_BillBlaster_Anim00, +s32 N(DefaultAnims)[] = { + STATUS_KEY_NORMAL, ANIM_BillBlaster_Anim01, + STATUS_KEY_STONE, ANIM_BillBlaster_Anim00, + STATUS_KEY_STOP, ANIM_BillBlaster_Anim00, + STATUS_KEY_PARALYZE, ANIM_BillBlaster_Anim00, STATUS_END, }; -extern EvtScript N(takeTurn_8021A200); -extern EvtScript N(idle_80219ED0); -extern EvtScript N(handleEvent_80219EE0); - -EvtScript N(init_80219E6C) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021A200))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80219ED0))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80219EE0))) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) +EvtScript N(EVS_Init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(EVS_TakeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(EVS_Idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HasBullet, FALSE) EVT_RETURN EVT_END }; -EvtScript N(idle_80219ED0) = { +EvtScript N(EVS_Idle) = { EVT_RETURN EVT_END }; -EvtScript N(handleEvent_80219EE0) = { +EvtScript N(EVS_HandleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim03) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim03) EVT_SET_CONST(LVar2, -1) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim03) EVT_SET_CONST(LVar2, -1) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim03) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim01) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim03) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_WAIT(10) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim03) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim03) EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim03) EVT_EXEC_WAIT(EVS_Enemy_BlowAway) EVT_RETURN @@ -179,18 +187,15 @@ EvtScript N(handleEvent_80219EE0) = { EVT_END }; -extern EvtScript N(8021A2BC); -extern EvtScript N(8021A470); - -EvtScript N(takeTurn_8021A200) = { +EvtScript N(EVS_TakeTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_HasBullet, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_EXEC_WAIT(N(8021A2BC)) + EVT_EXEC_WAIT(N(EVS_Move_FireBullet)) EVT_CASE_EQ(1) - EVT_EXEC_WAIT(N(8021A470)) + EVT_EXEC_WAIT(N(EVS_Move_CheckForBullet)) EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -198,18 +203,15 @@ EvtScript N(takeTurn_8021A200) = { EVT_END }; -extern Formation N(specialFormation_8021A4E8); - -API_CALLABLE(func_80218000_4A10A0) { - N(specialFormation_8021A4E8)[0].var0 = 1; - N(specialFormation_8021A4E8)[0].var1 = script->owner1.actorID; +API_CALLABLE(N(SetBulletInitVars)) { + N(BulletBillSummon)[0].var0 = TRUE; + N(BulletBillSummon)[0].var1 = script->owner1.actorID; return ApiStatus_DONE2; } - -EvtScript N(8021A2BC) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BillBlaster_Anim02) +EvtScript N(EVS_Move_FireBullet) = { + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BillBlaster_Anim02) EVT_WAIT(13) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.0)) @@ -223,28 +225,26 @@ EvtScript N(8021A2BC) = { EVT_PLAY_EFFECT(EFFECT_00, LVar0, LVar1, LVar2, 2, 5, 0, 2, 0) EVT_PLAY_EFFECT(EFFECT_00, LVar0, LVar1, LVar2, 2, 5, 2, 2, 0) EVT_WAIT(2) - EVT_CALL(func_80218000_4A10A0) - EVT_CALL(SummonEnemy, EVT_PTR(N(specialFormation_8021A4E8)), 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, LVar0) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) + EVT_CALL(N(SetBulletInitVars)) + EVT_CALL(SummonEnemy, EVT_PTR(N(BulletBillSummon)), 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_BulletID, LVar0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HasBullet, TRUE) EVT_RETURN EVT_END }; -EvtScript N(8021A470) = { - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) +EvtScript N(EVS_Move_CheckForBullet) = { + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_BulletID, LVar0) EVT_CALL(ActorExists, LVar0, LVar1) EVT_IF_EQ(LVar1, FALSE) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HasBullet, FALSE) EVT_END_IF EVT_RETURN EVT_END }; -extern ActorBlueprint A(bullet_bill); +Vec3i N(DefaultPos) = { NPC_DISPOSE_LOCATION }; -Vec3i N(vector3D_8021A4DC) = { NPC_DISPOSE_LOCATION, }; - -Formation N(specialFormation_8021A4E8) = { - { .actor = &A(bullet_bill), .home = { .vec = &N(vector3D_8021A4DC) }, .priority = 100 }, +Formation N(BulletBillSummon) = { + ACTOR_BY_POS(A(bullet_bill), N(DefaultPos), 100), }; diff --git a/src/battle/area/trd_part_1/actor/bob_omb.c b/src/battle/area/trd_part_1/actor/bob_omb.c index 33d2b896f5..bd788398ce 100644 --- a/src/battle/area/trd_part_1/actor/bob_omb.c +++ b/src/battle/area/trd_part_1/actor/bob_omb.c @@ -1,118 +1,133 @@ -#include "common.h" -#include "effects.h" -#include "battle/battle.h" -#include "script_api/battle.h" +#include "../area.h" #include "sprite/npc/Bobomb.h" -#define NAMESPACE b_area_trd_part_1_bob_omb +#define NAMESPACE A(bob_omb) -s32 N(IdleAnimations_8021A510)[] = { - STATUS_NORMAL, ANIM_Bobomb_Anim02, - STATUS_STONE, ANIM_Bobomb_Anim00, - STATUS_SLEEP, ANIM_Bobomb_Anim18, - STATUS_POISON, ANIM_Bobomb_Anim04, - STATUS_STOP, ANIM_Bobomb_Anim00, - STATUS_STATIC, ANIM_Bobomb_Anim02, - STATUS_PARALYZE, ANIM_Bobomb_Anim00, - STATUS_DIZZY, ANIM_Bobomb_Anim1C, - STATUS_FEAR, ANIM_Bobomb_Anim1C, +extern EvtScript N(EVS_Init); +extern EvtScript N(EVS_Idle); +extern EvtScript N(EVS_TakeTurn); +extern EvtScript N(EVS_HandleEvent); +extern EvtScript N(EVS_HandleEvent_Ignited); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + +enum N(ActorVars) { + AVAR_0 = 0, + AVAR_Ignited = 8, +}; + +enum N(ActorParams) { + DMG_TACKLE = 1, + DMG_EXPLOSION = 2, +}; + +s32 N(DefaultAnims)[] = { + STATUS_KEY_NORMAL, ANIM_Bobomb_Anim02, + STATUS_KEY_STONE, ANIM_Bobomb_Anim00, + STATUS_KEY_SLEEP, ANIM_Bobomb_Anim18, + STATUS_KEY_POISON, ANIM_Bobomb_Anim04, + STATUS_KEY_STOP, ANIM_Bobomb_Anim00, + STATUS_KEY_STATIC, ANIM_Bobomb_Anim02, + STATUS_KEY_PARALYZE, ANIM_Bobomb_Anim00, + STATUS_KEY_DIZZY, ANIM_Bobomb_Anim1C, + STATUS_KEY_FEAR, ANIM_Bobomb_Anim1C, STATUS_END, }; -s32 N(IdleAnimations_8021A55C)[] = { - STATUS_NORMAL, ANIM_Bobomb_Anim05, - STATUS_STONE, ANIM_Bobomb_Anim01, - STATUS_SLEEP, ANIM_Bobomb_Anim18, - STATUS_POISON, ANIM_Bobomb_Anim05, - STATUS_STOP, ANIM_Bobomb_Anim01, - STATUS_STATIC, ANIM_Bobomb_Anim03, - STATUS_PARALYZE, ANIM_Bobomb_Anim01, - STATUS_DIZZY, ANIM_Bobomb_Anim1D, - STATUS_FEAR, ANIM_Bobomb_Anim1D, +s32 N(IgnitedAnims)[] = { + STATUS_KEY_NORMAL, ANIM_Bobomb_Anim05, + STATUS_KEY_STONE, ANIM_Bobomb_Anim01, + STATUS_KEY_SLEEP, ANIM_Bobomb_Anim18, + STATUS_KEY_POISON, ANIM_Bobomb_Anim05, + STATUS_KEY_STOP, ANIM_Bobomb_Anim01, + STATUS_KEY_STATIC, ANIM_Bobomb_Anim03, + STATUS_KEY_PARALYZE, ANIM_Bobomb_Anim01, + STATUS_KEY_DIZZY, ANIM_Bobomb_Anim1D, + STATUS_KEY_FEAR, ANIM_Bobomb_Anim1D, STATUS_END, }; -s32 N(DefenseTable_8021A5A8)[] = { - ELEMENT_NORMAL, 0, +s32 N(DefenseTable)[] = { + ELEMENT_NORMAL, 0, ELEMENT_END, }; -s32 N(StatusTable_8021A5B4)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 75, - STATUS_POISON, 0, - STATUS_FROZEN, 100, - STATUS_DIZZY, 80, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 80, - STATUS_SHRINK, 90, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, +s32 N(StatusTable)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 75, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 80, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 80, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -s32 N(StatusTable_8021A660)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 40, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 40, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, +s32 N(StatusTable_Ignited)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 40, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 40, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8021A70C)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_8021A510), - .defenseTable = N(DefenseTable_8021A5A8), + .idleAnimations = N(DefaultAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -9 }, }, }; -extern EvtScript N(init_8021A758); - ActorBlueprint NAMESPACE = { .flags = 0, .type = ACTOR_TYPE_BOB_OMB, .level = 6, .maxHP = 3, - .partCount = ARRAY_COUNT( N(PartsTable_8021A70C)), - .partsData = N(PartsTable_8021A70C), - .initScript = &N(init_8021A758), - .statusTable = N(StatusTable_8021A5B4), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), + .initScript = &N(EVS_Init), + .statusTable = N(StatusTable), .escapeChance = 70, .airLiftChance = 90, .hurricaneChance = 90, @@ -122,85 +137,79 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 34, 35 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; -extern EvtScript N(takeTurn_8021C89C); -extern EvtScript N(idle_8021A7D4); -extern EvtScript N(handleEvent_8021ACE8); - -EvtScript N(init_8021A758) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_8021C89C))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_8021A7D4))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021ACE8))) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) +EvtScript N(EVS_Init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(EVS_TakeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(EVS_Idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Ignited, FALSE) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_0, FALSE) EVT_RETURN EVT_END }; -EvtScript N(idle_8021A7D4) = { +EvtScript N(EVS_Idle) = { EVT_RETURN EVT_END }; -extern EvtScript N(handleEvent_8021B4A8); - -EvtScript N(ignite) = { +EvtScript N(EVS_Ignite) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_RETURN EVT_END_IF EVT_LABEL(0) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021A55C))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021B4A8))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT, TRUE) - EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_8021A660))) - EVT_CALL(PlayLoopingSoundAtActor, ACTOR_SELF, 0, 0x80000001) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim05) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Ignited, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IgnitedAnims))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent_Ignited))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT, TRUE) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_Ignited))) + EVT_CALL(PlayLoopingSoundAtActor, ACTOR_SELF, 0, SOUND_80000001) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim05) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, 0, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(func_8026ED20, ACTOR_SELF, 1, 1) - EVT_CALL(func_8026EBF8, ACTOR_SELF, 1, 0, 2, 0, 10, 0, 10, 0, 0) - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 15) + EVT_CALL(func_8026ED20, ACTOR_SELF, PRT_MAIN, 1) + EVT_CALL(SetActorPaletteSwapParams, ACTOR_SELF, PRT_MAIN, SPR_PAL_Bobomb, SPR_PAL_Bobomb_Burst, 0, 10, 0, 10, 0, 0) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_WAIT(3) EVT_CALL(StopLoopingSoundAtActor, ACTOR_SELF, 0) EVT_RETURN EVT_END }; -EvtScript N(8021A9C8) = { - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_8021ACE8))) - EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021A510))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT, FALSE) - EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_8021A5B4))) +EvtScript N(EVS_Defuse) = { + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Ignited, FALSE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefaultAnims))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT, FALSE) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar2, 2) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 3, LVar0, LVar1, LVar2, 0, 0) EVT_CALL(StopLoopingSoundAtActor, ACTOR_SELF, 0) - EVT_CALL(func_8026ED20, ACTOR_SELF, 1, 0) + EVT_CALL(func_8026ED20, ACTOR_SELF, PRT_MAIN, 0) EVT_RETURN EVT_END }; -EvtScript N(8021AAE8) = { - EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) - EVT_IF_EQ(LVar0, 1) +EvtScript N(EVS_Cleanup) = { + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Ignited, LVar0) + EVT_IF_EQ(LVar0, TRUE) EVT_CALL(StopLoopingSoundAtActor, ACTOR_SELF, 0) - EVT_CALL(func_8026ED20, ACTOR_SELF, 1, 0) + EVT_CALL(func_8026ED20, ACTOR_SELF, PRT_MAIN, 0) EVT_END_IF EVT_RETURN EVT_END }; -EvtScript N(8021AB54) = { - EVT_EXEC_WAIT(N(8021AAE8)) +EvtScript N(EVS_Explode) = { + EVT_EXEC_WAIT(N(EVS_Cleanup)) EVT_CALL(StartRumble, 11) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.75)) @@ -219,7 +228,7 @@ EvtScript N(8021AB54) = { EVT_END }; -EvtScript N(handleEvent_8021ACE8) = { +EvtScript N(EVS_HandleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) @@ -227,135 +236,135 @@ EvtScript N(handleEvent_8021ACE8) = { EVT_CASE_EQ(EVENT_HIT_COMBO) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, 0) - EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) + EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_0, TRUE) EVT_END_IF - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CASE_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVarE) EVT_IF_FLAG(LVarE, DAMAGE_TYPE_SHOCK) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim10) EVT_SET_CONST(LVar2, ANIM_Bobomb_Anim11) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim11) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_ELSE - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, 0) - EVT_EXEC_WAIT(N(ignite)) + EVT_EXEC_WAIT(N(EVS_Ignite)) EVT_END_IF EVT_END_IF EVT_CASE_OR_EQ(EVENT_BURN_HIT) EVT_CASE_OR_EQ(EVENT_BURN_DEATH) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim10) EVT_SET_CONST(LVar2, ANIM_Bobomb_Anim11) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim11) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, 0) - EVT_EXEC_WAIT(N(ignite)) + EVT_EXEC_WAIT(N(EVS_Ignite)) EVT_END_IF EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) - EVT_EXEC_WAIT(N(8021AAE8)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Cleanup)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_OR_EQ(EVENT_SHOCK_HIT) EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim10) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_ZERO_DAMAGE) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim02) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim02) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_IF_EQ(LVar0, 1) - EVT_EXEC_WAIT(N(ignite)) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_0, LVar0) + EVT_IF_EQ(LVar0, TRUE) + EVT_EXEC_WAIT(N(EVS_Ignite)) EVT_END_IF EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) EVT_CALL(GetLastElement, LVarE) EVT_IF_FLAG(LVarE, DAMAGE_TYPE_SHOCK) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim10) EVT_SET_CONST(LVar2, ANIM_Bobomb_Anim11) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim11) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_ELSE - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_WAIT(10) - EVT_EXEC_WAIT(N(8021AAE8)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Cleanup)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_END_IF EVT_RETURN EVT_CASE_EQ(EVENT_EXPLODE_TRIGGER) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim10) EVT_SET_CONST(LVar2, ANIM_Bobomb_Anim11) EVT_EXEC_WAIT(EVS_Enemy_BurnHit) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim11) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim02) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim06) EVT_SET_CONST(LVar2, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_ScareAway) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim1C) EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim1C) EVT_EXEC_WAIT(EVS_Enemy_BlowAway) EVT_RETURN @@ -367,7 +376,7 @@ EvtScript N(handleEvent_8021ACE8) = { EVT_END }; -EvtScript N(handleEvent_8021B4A8) = { +EvtScript N(EVS_HandleEvent_Ignited) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) @@ -375,12 +384,12 @@ EvtScript N(handleEvent_8021B4A8) = { EVT_CASE_EQ(EVENT_HIT_COMBO) EVT_CALL(GetLastElement, LVarE) EVT_IF_FLAG(LVarE, DAMAGE_TYPE_WATER) - EVT_EXEC_WAIT(N(8021A9C8)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Defuse)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_ELSE - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0F) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_END_IF @@ -388,30 +397,30 @@ EvtScript N(handleEvent_8021B4A8) = { EVT_CALL(GetLastElement, LVarE) EVT_SWITCH(LVarE) EVT_CASE_FLAG(DAMAGE_TYPE_WATER) - EVT_EXEC_WAIT(N(8021A9C8)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Defuse)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CASE_FLAG(DAMAGE_TYPE_SHOCK) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim10) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim11) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_DEFAULT - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0F) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) EVT_IF_GT(LVar0, 0) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim11) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END_IF @@ -421,76 +430,76 @@ EvtScript N(handleEvent_8021B4A8) = { EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_HIT) EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_DEATH) EVT_CASE_OR_EQ(EVENT_EXPLODE_TRIGGER) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim11) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END_CASE_GROUP EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim03) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) EVT_CALL(GetLastElement, LVarE) EVT_IF_FLAG(LVarE, DAMAGE_TYPE_WATER) - EVT_EXEC_WAIT(N(8021A9C8)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Defuse)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_ELSE - EVT_EXEC_WAIT(N(8021AB54)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim11) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_END_IF EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_OR_EQ(EVENT_SHOCK_HIT) EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim11) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim03) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_EXEC_WAIT(N(8021AAE8)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Cleanup)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim06) EVT_SET_CONST(LVar2, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(EVS_Enemy_ScareAway) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim1D) EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetDamageSource, LVar0) EVT_IF_EQ(LVar0, DMG_SRC_HURRICANE) - EVT_EXEC_WAIT(N(8021A9C8)) - EVT_SET_CONST(LVar0, 1) + EVT_EXEC_WAIT(N(EVS_Defuse)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim1C) EVT_ELSE EVT_CHILD_THREAD EVT_WAIT(100) - EVT_EXEC_WAIT(N(8021AB54)) + EVT_EXEC_WAIT(N(EVS_Explode)) EVT_END_CHILD_THREAD - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim1D) EVT_END_IF EVT_EXEC_WAIT(EVS_Enemy_BlowAway) EVT_RETURN EVT_CASE_EQ(EVENT_UP_AND_AWAY) - EVT_EXEC_WAIT(N(8021A9C8)) + EVT_EXEC_WAIT(N(EVS_Defuse)) EVT_CASE_DEFAULT EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -499,25 +508,25 @@ EvtScript N(handleEvent_8021B4A8) = { EVT_END }; -EvtScript N(tackleAttack) = { +EvtScript N(EVS_Attack_Tackle) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim06) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim02) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim06) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -530,7 +539,7 @@ EvtScript N(tackleAttack) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim1C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim1C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) @@ -550,13 +559,13 @@ EvtScript N(tackleAttack) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim06) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim06) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim02) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim02) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END_CASE_GROUP @@ -564,22 +573,22 @@ EvtScript N(tackleAttack) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1)) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim14) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4) EVT_PLAY_EFFECT(EFFECT_FLASHING_BOX_SHOCKWAVE, 0, LVar0, LVar1, LVar2, LVar4, LVar3, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_HIT_SHOCK) EVT_WAIT(20) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_BLAST, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_BLAST, 0, 0, DMG_EXPLOSION, BS_FLAGS1_SP_EVT_ACTIVE) EVT_RETURN EVT_END_SWITCH EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1)) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim02) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, DMG_TACKLE, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim02) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -598,46 +607,46 @@ EvtScript N(tackleAttack) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_WAIT(4) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim06) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim02) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(blastAttack) = { +EvtScript N(EVS_Attack_Blast) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(PlayLoopingSoundAtActor, ACTOR_SELF, 0, 0x80000001) + EVT_CALL(PlayLoopingSoundAtActor, ACTOR_SELF, 0, SOUND_80000001) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim07) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 80, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, -1, 14, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 90) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim07) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 30) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim11) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim11) EVT_WAIT(10) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -645,44 +654,44 @@ EvtScript N(blastAttack) = { EVT_WAIT(10) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, -1) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim07) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 10, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim14) EVT_WAIT(15) EVT_SET(LVarA, 1) - EVT_EXEC_WAIT(N(8021AB54)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim11) + EVT_EXEC_WAIT(N(EVS_Explode)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bobomb_Anim11) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT, 0, 0, DMG_EXPLOSION, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(15) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim11) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END }; -EvtScript N(takeTurn_8021C89C) = { +EvtScript N(EVS_TakeTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_EXEC_WAIT(N(tackleAttack)) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Ignited, LVar0) + EVT_IF_FALSE(LVar0) + EVT_EXEC_WAIT(N(EVS_Attack_Tackle)) EVT_ELSE - EVT_EXEC_WAIT(N(blastAttack)) + EVT_EXEC_WAIT(N(EVS_Attack_Blast)) EVT_RETURN EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/area/trd_part_1/actor/bullet_bill.c b/src/battle/area/trd_part_1/actor/bullet_bill.c index fcc53306c9..3786e2db82 100644 --- a/src/battle/area/trd_part_1/actor/bullet_bill.c +++ b/src/battle/area/trd_part_1/actor/bullet_bill.c @@ -1,53 +1,67 @@ -#include "common.h" -#include "effects.h" -#include "battle/battle.h" -#include "script_api/battle.h" +#include "../area.h" #include "sprite/npc/BulletBill.h" -#define NAMESPACE b_area_trd_part_1_bullet_bill +#define NAMESPACE A(bullet_bill) -s32 N(DefenseTable_80218F60)[] = { - ELEMENT_NORMAL, 0, +extern s32 N(DefaultAnims)[]; +extern EvtScript N(EVS_Init); +extern EvtScript N(EVS_TakeTurn); +extern EvtScript N(EVS_Idle); +extern EvtScript N(EVS_HandleEvent); +extern EvtScript N(EVS_MakeExplosionFX); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + +enum N(ActorVars) { + AVAR_FiredFromBlaster = 0, + AVAR_BlasterID = 1, // actorID of Bill Blaster that fired this Bullet Bill +}; + +enum N(ActorParams) { + DMG_IMPACT = 2, +}; + +s32 N(DefenseTable)[] = { + ELEMENT_NORMAL, 0, ELEMENT_END, }; -s32 N(StatusTable_80218F6C)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 100, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, +s32 N(StatusTable)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -extern s32 N(IdleAnimations_80219064)[]; -extern EvtScript N(init_80219088); - -ActorPartBlueprint N(PartsTable_80219018)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, .opacity = 255, - .idleAnimations = N(IdleAnimations_80219064), - .defenseTable = N(DefenseTable_80218F60), + .idleAnimations = N(DefaultAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_FIRE_EXPLODE, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -6 }, @@ -59,10 +73,10 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BULLET_BILL, .level = 5, .maxHP = 2, - .partCount = ARRAY_COUNT( N(PartsTable_80219018)), - .partsData = N(PartsTable_80219018), - .initScript = &N(init_80219088), - .statusTable = N(StatusTable_80218F6C), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), + .initScript = &N(EVS_Init), + .statusTable = N(StatusTable), .escapeChance = 50, .airLiftChance = 100, .hurricaneChance = 100, @@ -72,36 +86,32 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 0, .size = { 28, 22 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; -s32 N(IdleAnimations_80219064)[] = { - STATUS_NORMAL, ANIM_BulletBill_Anim01, - STATUS_STONE, ANIM_BulletBill_Anim00, - STATUS_STOP, ANIM_BulletBill_Anim00, - STATUS_PARALYZE, ANIM_BulletBill_Anim00, +s32 N(DefaultAnims)[] = { + STATUS_KEY_NORMAL, ANIM_BulletBill_Anim01, + STATUS_KEY_STONE, ANIM_BulletBill_Anim00, + STATUS_KEY_STOP, ANIM_BulletBill_Anim00, + STATUS_KEY_PARALYZE, ANIM_BulletBill_Anim00, STATUS_END, }; -extern EvtScript N(takeTurn_802197C0); -extern EvtScript N(idle_80219380); -extern EvtScript N(handleEvent_802193E8); - -EvtScript N(init_80219088) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_802197C0))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80219380))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_802193E8))) - EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) - EVT_IF_EQ(LVar0, 0) +EvtScript N(EVS_Init) = { + EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(EVS_TakeTurn))) + EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(EVS_Idle))) + EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_FiredFromBlaster, LVar0) + EVT_IF_FALSE(LVar0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 16) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_ELSE - EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_BlasterID, LVar0) EVT_CALL(GetActorPos, LVar0, LVar1, LVar2, LVar3) EVT_CALL(GetStatusFlags, LVar0, LVar4) EVT_IF_FLAG(LVar4, STATUS_FLAG_SHRINK) @@ -120,10 +130,10 @@ EvtScript N(init_80219088) = { EVT_CALL(GetActorPos, LVar0, LVar1, LVarB, LVarC) EVT_SUB(LVar1, 90) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.01)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BulletBill_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BulletBill_Anim03) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BulletBill_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BulletBill_Anim01) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar1, LVar2, LVar3) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_END_IF @@ -131,92 +141,90 @@ EvtScript N(init_80219088) = { EVT_END }; -EvtScript N(idle_80219380) = { +EvtScript N(EVS_Idle) = { EVT_RETURN EVT_END }; -extern EvtScript N(80219BE0); - -EvtScript N(80219390) = { - EVT_EXEC_WAIT(N(80219BE0)) - EVT_SET_CONST(LVar0, 1) +EvtScript N(EVS_Explode) = { + EVT_EXEC_WAIT(N(EVS_MakeExplosionFX)) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim07) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END }; -EvtScript N(handleEvent_802193E8) = { +EvtScript N(EVS_HandleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_HIT_COMBO) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim05) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CASE_EQ(EVENT_HIT) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim05) EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_EXEC_WAIT(N(80219390)) + EVT_EXEC_WAIT(N(EVS_Explode)) EVT_RETURN EVT_CASE_EQ(EVENT_BURN_DEATH) - EVT_EXEC_WAIT(N(80219390)) + EVT_EXEC_WAIT(N(EVS_Explode)) EVT_RETURN EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) - EVT_EXEC_WAIT(N(80219390)) + EVT_EXEC_WAIT(N(EVS_Explode)) EVT_RETURN EVT_CASE_EQ(EVENT_SPIN_SMASH_DEATH) - EVT_EXEC_WAIT(N(80219390)) + EVT_EXEC_WAIT(N(EVS_Explode)) EVT_RETURN EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim05) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) - EVT_EXEC_WAIT(N(80219390)) + EVT_EXEC_WAIT(N(EVS_Explode)) EVT_RETURN EVT_CASE_EQ(EVENT_SHOCK_DEATH) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim05) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) - EVT_EXEC_WAIT(N(80219390)) + EVT_EXEC_WAIT(N(EVS_Explode)) EVT_RETURN EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim01) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim05) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_EXEC_WAIT(N(80219390)) + EVT_EXEC_WAIT(N(EVS_Explode)) EVT_RETURN EVT_CASE_EQ(EVENT_EXPLODE_TRIGGER) - EVT_EXEC_WAIT(N(80219390)) + EVT_EXEC_WAIT(N(EVS_Explode)) EVT_RETURN EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim05) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_EXEC_WAIT(N(80219390)) + EVT_EXEC_WAIT(N(EVS_Explode)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim03) EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim03) EVT_EXEC_WAIT(EVS_Enemy_BlowAway) EVT_RETURN @@ -228,7 +236,7 @@ EvtScript N(handleEvent_802193E8) = { EVT_END }; -EvtScript N(takeTurn_802197C0) = { +EvtScript N(EVS_TakeTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) @@ -236,7 +244,7 @@ EvtScript N(takeTurn_802197C0) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BulletBill_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BulletBill_Anim04) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) @@ -260,7 +268,7 @@ EvtScript N(takeTurn_802197C0) = { EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN @@ -274,21 +282,21 @@ EvtScript N(takeTurn_802197C0) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.01)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 12, FALSE, TRUE, FALSE) - EVT_EXEC_WAIT(N(80219BE0)) + EVT_EXEC_WAIT(N(EVS_MakeExplosionFX)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, DMG_IMPACT, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_SET_CONST(LVar0, 1) + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BulletBill_Anim07) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END }; -EvtScript N(80219BE0) = { +EvtScript N(EVS_MakeExplosionFX) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar2, 2) EVT_PLAY_EFFECT(EFFECT_SMOKE_RING, 0, LVar0, LVar1, LVar2, 0) diff --git a/src/battle/area/trd_part_1/actor/koopa_troopa.c b/src/battle/area/trd_part_1/actor/koopa_troopa.c index e4d3daeb65..8bf2f01f88 100644 --- a/src/battle/area/trd_part_1/actor/koopa_troopa.c +++ b/src/battle/area/trd_part_1/actor/koopa_troopa.c @@ -1,5 +1,5 @@ -#include "common.h" - -#define NAMESPACE b_area_trd_part_1_koopa_troopa +#include "../area.h" +//TODO migrate into include +#define NAMESPACE A(koopa_troopa) #include "battle/common/actor/koopa_troopa.inc.c" diff --git a/src/battle/area/trd_part_1/actor/paratroopa.c b/src/battle/area/trd_part_1/actor/paratroopa.c index 439fc8ff49..822160dafe 100644 --- a/src/battle/area/trd_part_1/actor/paratroopa.c +++ b/src/battle/area/trd_part_1/actor/paratroopa.c @@ -1,5 +1,5 @@ -#include "common.h" - -#define NAMESPACE b_area_trd_part_1_paratroopa +#include "../area.h" +//TODO migrate into include +#define NAMESPACE A(paratroopa) #include "battle/common/actor/paratroopa.inc.c" diff --git a/src/battle/area/trd_part_1/area.c b/src/battle/area/trd_part_1/area.c index 0858b3347f..a487174c6c 100644 --- a/src/battle/area/trd_part_1/area.c +++ b/src/battle/area/trd_part_1/area.c @@ -1,235 +1,229 @@ -#include "common.h" -#include "battle/battle.h" -#include "script_api/battle.h" +#include "area.h" -#define NAMESPACE b_area_trd_part_1 +extern ActorBlueprint A(koopa_troopa); +extern ActorBlueprint A(paratroopa); +extern ActorBlueprint A(bob_omb); +extern ActorBlueprint A(bill_blaster); +extern ActorBlueprint A(bullet_bill); -extern ActorBlueprint N(koopa_troopa); -extern ActorBlueprint N(paratroopa); -extern ActorBlueprint N(bob_omb); -extern ActorBlueprint N(bill_blaster); -extern ActorBlueprint N(bullet_bill); +extern Stage A(trd_00); +extern Stage A(trd_01); +extern Stage A(trd_02); +extern Stage A(trd_02b); +extern Stage A(trd_02c); +extern Stage A(trd_02d); +extern Stage A(trd_03); +extern Stage A(trd_04); +extern Stage A(trd_05); +extern Stage A(trd_05b); +extern Stage A(trd_05c); +extern Stage A(trd_05d); +extern Stage A(trd_05e); +extern Stage A(trd_05f); -extern Stage N(trd_00); -extern Stage N(trd_01); -extern Stage N(trd_02); -extern Stage N(trd_02b); -extern Stage N(trd_02c); -extern Stage N(trd_02d); -extern Stage N(trd_03); -extern Stage N(trd_04); -extern Stage N(trd_05); -extern Stage N(trd_05b); -extern Stage N(trd_05c); -extern Stage N(trd_05d); -extern Stage N(trd_05e); -extern Stage N(trd_05f); - -Formation N(Formation_00) = { - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 10 }, +Formation A(Formation_00) = { + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_B, 10), }; -Formation N(Formation_01) = { - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 9 }, +Formation A(Formation_01) = { + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_C, 9), }; -Formation N(Formation_02) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 8 }, +Formation A(Formation_02) = { + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_C, 8), }; -Formation N(Formation_03) = { - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 9 }, +Formation A(Formation_03) = { + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 9), }; -Formation N(Formation_04) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, +Formation A(Formation_04) = { + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 8), }; -Formation N(Formation_05) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(bob_omb), .home = { .index = 3 }, .priority = 7 }, +Formation A(Formation_05) = { + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_D, 7), }; -Formation N(Formation_06) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, +Formation A(Formation_06) = { + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 8), }; -Formation N(Formation_07) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(bob_omb), .home = { .index = 3 }, .priority = 7 }, +Formation A(Formation_07) = { + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_D, 7), }; -Formation N(Formation_08) = { - { .actor = &N(paratroopa), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(paratroopa), .home = { .index = 6 }, .priority = 9 }, +Formation A(Formation_08) = { + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_C, 9), }; -Formation N(Formation_09) = { - { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(paratroopa), .home = { .index = 5 }, .priority = 9 }, - { .actor = &N(paratroopa), .home = { .index = 6 }, .priority = 8 }, +Formation A(Formation_09) = { + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_B, 9), + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_C, 8), }; -Formation N(Formation_0A) = { - { .actor = &N(paratroopa), .home = { .index = 5 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 9 }, +Formation A(Formation_0A) = { + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_B, 10), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_C, 9), }; -Formation N(Formation_0B) = { - { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(paratroopa), .home = { .index = 6 }, .priority = 8 }, +Formation A(Formation_0B) = { + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_C, 8), }; -Formation N(Formation_0C) = { - { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(paratroopa), .home = { .index = 6 }, .priority = 8 }, - { .actor = &N(koopa_troopa), .home = { .index = 3 }, .priority = 7 }, +Formation A(Formation_0C) = { + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_C, 8), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_D, 7), }; -Formation N(Formation_0D) = { - { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 9 }, +Formation A(Formation_0D) = { + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 9), }; -Formation N(Formation_0E) = { - { .actor = &N(paratroopa), .home = { .index = 4 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 9 }, - { .actor = &N(bob_omb), .home = { .index = 3 }, .priority = 8 }, +Formation A(Formation_0E) = { + ACTOR_BY_IDX(A(paratroopa), BTL_POS_AIR_A, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 9), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_D, 8), }; -Formation N(Formation_0F) = { - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 10 }, +Formation A(Formation_0F) = { + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 10), }; -Formation N(Formation_10) = { - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 9 }, +Formation A(Formation_10) = { + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 9), }; -Formation N(Formation_11) = { - { .actor = &N(bob_omb), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, +Formation A(Formation_11) = { + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 8), }; -Formation N(Formation_12) = { - { .actor = &N(bob_omb), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, - { .actor = &N(bob_omb), .home = { .index = 3 }, .priority = 7 }, +Formation A(Formation_12) = { + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 8), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_D, 7), }; -Formation N(Formation_13) = { - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 9 }, +Formation A(Formation_13) = { + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_C, 9), }; -Formation N(Formation_14) = { - { .actor = &N(bob_omb), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 8 }, +Formation A(Formation_14) = { + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_C, 8), }; -Formation N(Formation_15) = { - { .actor = &N(bob_omb), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(koopa_troopa), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(koopa_troopa), .home = { .index = 2 }, .priority = 8 }, +Formation A(Formation_15) = { + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_C, 8), }; -Formation N(Formation_16) = { - { .actor = &N(koopa_troopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bob_omb), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bob_omb), .home = { .index = 2 }, .priority = 8 }, +Formation A(Formation_16) = { + ACTOR_BY_IDX(A(koopa_troopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(bob_omb), BTL_POS_GROUND_C, 8), }; -Vec3i N(vector3D_80218B90) = { 50, 0, -20, }; +Vec3i A(BlasterPos1) = { 50, 0, -20 }; +Vec3i A(BlasterPos2) = { 80, 0, 0 }; +Vec3i A(BlasterPos3) = { 110, 0, 20 }; -Vec3i N(vector3D_80218B9C) = { 80, 0, 0, }; - -Vec3i N(vector3D_80218BA8) = { 110, 0, 20, }; - -Formation N(Formation_17) = { - { .actor = &N(bill_blaster), .home = { .vec = &N(vector3D_80218B90) }, .priority = 10 }, - { .actor = &N(bill_blaster), .home = { .vec = &N(vector3D_80218B9C) }, .priority = 9 }, - { .actor = &N(bill_blaster), .home = { .vec = &N(vector3D_80218BA8) }, .priority = 9 }, +Formation A(Formation_17) = { + ACTOR_BY_POS(A(bill_blaster), A(BlasterPos1), 10), + ACTOR_BY_POS(A(bill_blaster), A(BlasterPos2), 9), + ACTOR_BY_POS(A(bill_blaster), A(BlasterPos3), 9), }; -Formation N(Formation_18) = { - { .actor = &N(bullet_bill), .home = { .index = 1 }, .priority = 10 }, - { .actor = &N(bullet_bill), .home = { .index = 2 }, .priority = 9 }, +Formation A(Formation_18) = { + ACTOR_BY_IDX(A(bullet_bill), BTL_POS_GROUND_B, 10), + ACTOR_BY_IDX(A(bullet_bill), BTL_POS_GROUND_C, 9), }; -Formation N(Formation_19) = { - { .actor = &N(bullet_bill), .home = { .index = 1 }, .priority = 10 }, +Formation A(Formation_19) = { + ACTOR_BY_IDX(A(bullet_bill), BTL_POS_GROUND_B, 10), }; -Formation N(Formation_1A) = { - { .actor = &N(bullet_bill), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(bullet_bill), .home = { .index = 1 }, .priority = 9 }, - { .actor = &N(bullet_bill), .home = { .index = 2 }, .priority = 8 }, +Formation A(Formation_1A) = { + ACTOR_BY_IDX(A(bullet_bill), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(A(bullet_bill), BTL_POS_GROUND_B, 9), + ACTOR_BY_IDX(A(bullet_bill), BTL_POS_GROUND_C, 8), }; -BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(trd_01), "ノコノコ"), - BATTLE(N(Formation_01), &N(trd_01), "ノコノコx2"), - BATTLE(N(Formation_02), &N(trd_01), "ノコノコx3"), - BATTLE(N(Formation_03), &N(trd_01), "ノコノコ,ボムへい"), - BATTLE(N(Formation_04), &N(trd_01), "ノコノコ,ボムへいx2"), - BATTLE(N(Formation_05), &N(trd_01), "ノコノコ,ボムへいx3"), - BATTLE(N(Formation_06), &N(trd_01), "ノコノコx2,ボムへい"), - BATTLE(N(Formation_07), &N(trd_01), "ノコノコx2,ボムへいx2"), - BATTLE(N(Formation_08), &N(trd_01), "パタパタx2"), - BATTLE(N(Formation_09), &N(trd_01), "パタパタx3"), - BATTLE(N(Formation_0A), &N(trd_01), "パタパタ,ノコノコ"), - BATTLE(N(Formation_0B), &N(trd_01), "パタパタ,ノコノコ,パタパタ"), - BATTLE(N(Formation_0C), &N(trd_01), "パタパタ,ノコノコ,パタパタ,ノコノコ"), - BATTLE(N(Formation_0D), &N(trd_01), "パタパタ,ボムヘイx2"), - BATTLE(N(Formation_0E), &N(trd_01), "パタパタ,ボムヘイx3"), - BATTLE(N(Formation_0F), &N(trd_01), "ボムへい"), - BATTLE(N(Formation_10), &N(trd_01), "ボムへいx2"), - BATTLE(N(Formation_11), &N(trd_01), "ボムへいx3"), - BATTLE(N(Formation_12), &N(trd_01), "ボムへいx4"), - BATTLE(N(Formation_13), &N(trd_01), "ボムへい,ノコノコ"), - BATTLE(N(Formation_14), &N(trd_01), "ボムへいx2,ノコノコ"), - BATTLE(N(Formation_15), &N(trd_01), "ボムへい,ノコノコx2"), - BATTLE(N(Formation_16), &N(trd_01), "ノコノコ,ボムへいx2"), - BATTLE(N(Formation_17), &N(trd_01), "キラーたいほうx3"), - BATTLE(N(Formation_18), &N(trd_01), "キラーx2"), - BATTLE(N(Formation_19), &N(trd_01), "キラー"), - BATTLE(N(Formation_1A), &N(trd_01), "キラーx3"), +BattleList A(Formations) = { + BATTLE(A(Formation_00), A(trd_01), "ノコノコ"), + BATTLE(A(Formation_01), A(trd_01), "ノコノコx2"), + BATTLE(A(Formation_02), A(trd_01), "ノコノコx3"), + BATTLE(A(Formation_03), A(trd_01), "ノコノコ,ボムへい"), + BATTLE(A(Formation_04), A(trd_01), "ノコノコ,ボムへいx2"), + BATTLE(A(Formation_05), A(trd_01), "ノコノコ,ボムへいx3"), + BATTLE(A(Formation_06), A(trd_01), "ノコノコx2,ボムへい"), + BATTLE(A(Formation_07), A(trd_01), "ノコノコx2,ボムへいx2"), + BATTLE(A(Formation_08), A(trd_01), "パタパタx2"), + BATTLE(A(Formation_09), A(trd_01), "パタパタx3"), + BATTLE(A(Formation_0A), A(trd_01), "パタパタ,ノコノコ"), + BATTLE(A(Formation_0B), A(trd_01), "パタパタ,ノコノコ,パタパタ"), + BATTLE(A(Formation_0C), A(trd_01), "パタパタ,ノコノコ,パタパタ,ノコノコ"), + BATTLE(A(Formation_0D), A(trd_01), "パタパタ,ボムヘイx2"), + BATTLE(A(Formation_0E), A(trd_01), "パタパタ,ボムヘイx3"), + BATTLE(A(Formation_0F), A(trd_01), "ボムへい"), + BATTLE(A(Formation_10), A(trd_01), "ボムへいx2"), + BATTLE(A(Formation_11), A(trd_01), "ボムへいx3"), + BATTLE(A(Formation_12), A(trd_01), "ボムへいx4"), + BATTLE(A(Formation_13), A(trd_01), "ボムへい,ノコノコ"), + BATTLE(A(Formation_14), A(trd_01), "ボムへいx2,ノコノコ"), + BATTLE(A(Formation_15), A(trd_01), "ボムへい,ノコノコx2"), + BATTLE(A(Formation_16), A(trd_01), "ノコノコ,ボムへいx2"), + BATTLE(A(Formation_17), A(trd_01), "キラーたいほうx3"), + BATTLE(A(Formation_18), A(trd_01), "キラーx2"), + BATTLE(A(Formation_19), A(trd_01), "キラー"), + BATTLE(A(Formation_1A), A(trd_01), "キラーx3"), {}, }; -StageList N(Stages) = { - { "trd_00", &N(trd_00) }, - { "trd_01", &N(trd_01) }, - { "trd_02", &N(trd_02) }, - { "trd_02b", &N(trd_02b) }, - { "trd_02c", &N(trd_02c) }, - { "trd_02d", &N(trd_02d) }, - { "trd_03", &N(trd_03) }, - { "trd_04", &N(trd_04) }, - { "trd_05", &N(trd_05) }, - { "trd_05b", &N(trd_05b) }, - { "trd_05c", &N(trd_05c) }, - { "trd_05d", &N(trd_05d) }, - { "trd_05e", &N(trd_05e) }, - { "trd_05f", &N(trd_05f) }, +StageList A(Stages) = { + STAGE("trd_00", A(trd_00)), + STAGE("trd_01", A(trd_01)), + STAGE("trd_02", A(trd_02)), + STAGE("trd_02b", A(trd_02b)), + STAGE("trd_02c", A(trd_02c)), + STAGE("trd_02d", A(trd_02d)), + STAGE("trd_03", A(trd_03)), + STAGE("trd_04", A(trd_04)), + STAGE("trd_05", A(trd_05)), + STAGE("trd_05b", A(trd_05b)), + STAGE("trd_05c", A(trd_05c)), + STAGE("trd_05d", A(trd_05d)), + STAGE("trd_05e", A(trd_05e)), + STAGE("trd_05f", A(trd_05f)), {}, }; diff --git a/src/battle/area/trd_part_1/area.h b/src/battle/area/trd_part_1/area.h new file mode 100644 index 0000000000..f1936f1590 --- /dev/null +++ b/src/battle/area/trd_part_1/area.h @@ -0,0 +1,6 @@ +#include "common.h" +#include "effects.h" +#include "battle/battle.h" +#include "script_api/battle.h" + +#define AREA b_area_trd_part_1 diff --git a/src/battle/area/trd_part_1/stage/trd_00.c b/src/battle/area/trd_part_1/stage/trd_00.c index 6c87462806..abd950cddd 100644 --- a/src/battle/area/trd_part_1/stage/trd_00.c +++ b/src/battle/area/trd_part_1/stage/trd_00.c @@ -1,7 +1,7 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt00_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_00 +#define NAMESPACE A(trd_00) EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) @@ -16,7 +16,7 @@ EvtScript N(EVS_PostBattle) = { }; s32 N(ForegroundModels)[] = { - 0x00000009, + MODEL_p1, STAGE_MODEL_LIST_END }; diff --git a/src/battle/area/trd_part_1/stage/trd_01.c b/src/battle/area/trd_part_1/stage/trd_01.c index 46faec353a..301af779ae 100644 --- a/src/battle/area/trd_part_1/stage/trd_01.c +++ b/src/battle/area/trd_part_1/stage/trd_01.c @@ -1,7 +1,7 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt01_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_01 +#define NAMESPACE A(trd_01) EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) diff --git a/src/battle/area/trd_part_1/stage/trd_02.c b/src/battle/area/trd_part_1/stage/trd_02.c index 22c47ee095..d5a4319e50 100644 --- a/src/battle/area/trd_part_1/stage/trd_02.c +++ b/src/battle/area/trd_part_1/stage/trd_02.c @@ -1,121 +1,26 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt02_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_02 +#define NAMESPACE A(trd_02) -EvtScript N(80222B60) = { - EVT_SET(LVarA, LVar0) - EVT_LABEL(0) - EVT_CALL(RotateGroup, LVarA, 2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, -2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RandInt, 30, LVar0) - EVT_ADD(LVar0, 30) - EVT_WAIT(LVar0) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(80222C78) = { - EVT_SET(LVarA, LVar0) - EVT_LOOP(0) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 0, 0) - EVT_WAIT(2) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; +#include "battle/common/stage/BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_CALL(EnableModel, 12, FALSE) + EVT_CALL(EnableModel, MODEL_kabe2_2, FALSE) EVT_THREAD - EVT_SET(LVar0, 19) - EVT_EXEC(N(80222C78)) + EVT_SET(LVar0, MODEL_mizu) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 17) - EVT_EXEC(N(80222C78)) + EVT_SET(LVar0, MODEL_mizu2) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 15) - EVT_EXEC(N(80222C78)) + EVT_SET(LVar0, MODEL_o298) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 13) - EVT_EXEC(N(80222C78)) + EVT_SET(LVar0, MODEL_o297) + EVT_EXEC(N(EVS_AnimateWave)) EVT_END_THREAD EVT_RETURN EVT_END @@ -127,7 +32,7 @@ EvtScript N(EVS_PostBattle) = { }; s32 N(ForegroundModels)[] = { - 0x00000016, + MODEL_saku, STAGE_MODEL_LIST_END }; diff --git a/src/battle/area/trd_part_1/stage/trd_02b.c b/src/battle/area/trd_part_1/stage/trd_02b.c index 42aa4b582a..a34309a437 100644 --- a/src/battle/area/trd_part_1/stage/trd_02b.c +++ b/src/battle/area/trd_part_1/stage/trd_02b.c @@ -1,123 +1,28 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt02_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_02b +#define NAMESPACE A(trd_02b) -EvtScript N(80223360) = { - EVT_SET(LVarA, LVar0) - EVT_LABEL(0) - EVT_CALL(RotateGroup, LVarA, 2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, -2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RandInt, 30, LVar0) - EVT_ADD(LVar0, 30) - EVT_WAIT(LVar0) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(80223478) = { - EVT_SET(LVarA, LVar0) - EVT_LOOP(0) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 0, 0) - EVT_WAIT(2) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; +#include "battle/common/stage/BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_CALL(EnableModel, 22, FALSE) - EVT_CALL(EnableModel, 9, FALSE) - EVT_CALL(EnableModel, 10, FALSE) + EVT_CALL(EnableModel, MODEL_saku, FALSE) + EVT_CALL(EnableModel, MODEL_kiwa, FALSE) + EVT_CALL(EnableModel, MODEL_tyuu, FALSE) EVT_THREAD - EVT_SET(LVar0, 19) - EVT_EXEC(N(80223478)) + EVT_SET(LVar0, MODEL_mizu) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 17) - EVT_EXEC(N(80223478)) + EVT_SET(LVar0, MODEL_mizu2) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 15) - EVT_EXEC(N(80223478)) + EVT_SET(LVar0, MODEL_o298) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 13) - EVT_EXEC(N(80223478)) + EVT_SET(LVar0, MODEL_o297) + EVT_EXEC(N(EVS_AnimateWave)) EVT_END_THREAD EVT_RETURN EVT_END diff --git a/src/battle/area/trd_part_1/stage/trd_02c.c b/src/battle/area/trd_part_1/stage/trd_02c.c index 80db44661c..487499c73a 100644 --- a/src/battle/area/trd_part_1/stage/trd_02c.c +++ b/src/battle/area/trd_part_1/stage/trd_02c.c @@ -1,13 +1,13 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt02_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_02c +#define NAMESPACE A(trd_02c) EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_CALL(EnableModel, 26, FALSE) - EVT_CALL(EnableModel, 2, FALSE) + EVT_CALL(EnableModel, MODEL_dai, FALSE) + EVT_CALL(EnableModel, MODEL_kusari1, FALSE) EVT_RETURN EVT_END }; @@ -18,7 +18,7 @@ EvtScript N(EVS_PostBattle) = { }; s32 N(ForegroundModels)[] = { - 0x00000016, + MODEL_saku, STAGE_MODEL_LIST_END }; diff --git a/src/battle/area/trd_part_1/stage/trd_02d.c b/src/battle/area/trd_part_1/stage/trd_02d.c index 17c21b3392..bade41139f 100644 --- a/src/battle/area/trd_part_1/stage/trd_02d.c +++ b/src/battle/area/trd_part_1/stage/trd_02d.c @@ -1,114 +1,19 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt02_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_02d +#define NAMESPACE A(trd_02d) -EvtScript N(80224CA0) = { - EVT_SET(LVarA, LVar0) - EVT_LABEL(0) - EVT_CALL(RotateGroup, LVarA, 2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, -2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RandInt, 30, LVar0) - EVT_ADD(LVar0, 30) - EVT_WAIT(LVar0) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(80224DB8) = { - EVT_SET(LVarA, LVar0) - EVT_LOOP(0) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 0, 0) - EVT_WAIT(2) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; +#include "battle/common/stage/BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_CALL(EnableModel, 19, FALSE) - EVT_CALL(EnableModel, 17, FALSE) - EVT_CALL(EnableModel, 15, FALSE) - EVT_CALL(EnableModel, 13, FALSE) - EVT_CALL(EnableModel, 9, FALSE) - EVT_CALL(EnableModel, 10, FALSE) + EVT_CALL(EnableModel, MODEL_mizu, FALSE) + EVT_CALL(EnableModel, MODEL_mizu2, FALSE) + EVT_CALL(EnableModel, MODEL_o298, FALSE) + EVT_CALL(EnableModel, MODEL_o297, FALSE) + EVT_CALL(EnableModel, MODEL_kiwa, FALSE) + EVT_CALL(EnableModel, MODEL_tyuu, FALSE) EVT_RETURN EVT_END }; @@ -119,7 +24,7 @@ EvtScript N(EVS_PostBattle) = { }; s32 N(ForegroundModels)[] = { - 0x00000016, + MODEL_saku, STAGE_MODEL_LIST_END }; diff --git a/src/battle/area/trd_part_1/stage/trd_03.c b/src/battle/area/trd_part_1/stage/trd_03.c index b6fceb47ae..f9a7bbe458 100644 --- a/src/battle/area/trd_part_1/stage/trd_03.c +++ b/src/battle/area/trd_part_1/stage/trd_03.c @@ -1,20 +1,20 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt03_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_03 +#define NAMESPACE A(trd_03) -#include "world/common/todo/clouds.inc.c" +#include "battle/common/stage/MovingClouds.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) - EVT_SET(LVar0, 4) + EVT_SET(LVar0, MODEL_g65) EVT_SET(LVar2, 0) - EVT_EXEC(N(clouds1)) - EVT_SET(LVar0, 2) + EVT_EXEC(N(EVS_AnimateCloud)) + EVT_SET(LVar0, MODEL_g62) EVT_SET(LVar2, 70) EVT_SET(LVar3, 175) EVT_SET(LVar4, -170) - EVT_EXEC(N(clouds2)) + EVT_EXEC(N(EVS_AnimateCloud_WithOffset2D)) EVT_RETURN EVT_END }; @@ -25,9 +25,9 @@ EvtScript N(EVS_PostBattle) = { }; s32 N(ForegroundModels)[] = { - 0x0000000F, - 0x0000000E, - 0x0000000D, + MODEL_saku, + MODEL_kabe2, + MODEL_kabe, STAGE_MODEL_LIST_END }; diff --git a/src/battle/area/trd_part_1/stage/trd_04.c b/src/battle/area/trd_part_1/stage/trd_04.c index 302d03d0a5..dc1ff7c014 100644 --- a/src/battle/area/trd_part_1/stage/trd_04.c +++ b/src/battle/area/trd_part_1/stage/trd_04.c @@ -1,69 +1,18 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt04_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_04 +#define NAMESPACE A(trd_04) -EvtScript N(80223FF0) = { - EVT_SET(LVarA, LVar1) - EVT_SET(LVarB, LVar2) - EVT_SET(LVarC, LVar3) - EVT_CALL(SetTexPanner, LVar0, LVar1) - EVT_SET(LVar0, 0) - EVT_SET(LVar1, 0) - EVT_LOOP(0) - EVT_CALL(SetTexPanOffset, LVarA, 0, LVar0, LVar1) - EVT_ADD(LVar0, LVarB) - EVT_ADD(LVar1, LVarC) - EVT_WAIT(1) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; - -EvtScript N(802240C0) = { - EVT_SET(LVarA, LVar1) - EVT_SET(LVarB, LVar2) - EVT_SET(LVarC, LVar3) - EVT_CALL(SetTexPanner, LVar0, LVar1) - EVT_SET(LVar0, 0) - EVT_SET(LVar1, 0) - EVT_LOOP(0) - EVT_CALL(SetTexPanOffset, LVarA, 0, LVar0, 0) - EVT_CALL(SetTexPanOffset, LVarA, 1, LVar1, 0) - EVT_ADD(LVar0, LVarB) - EVT_ADD(LVar1, LVarC) - EVT_WAIT(1) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; - -EvtScript N(802241AC) = { - EVT_SET(LVarA, LVar1) - EVT_SET(LVarB, LVar2) - EVT_SET(LVarC, LVar3) - EVT_CALL(SetTexPanner, LVar0, LVar1) - EVT_SET(LVar0, 0) - EVT_SET(LVar1, 0) - EVT_LOOP(0) - EVT_CALL(SetTexPanOffset, LVarA, 0, 0, LVar0) - EVT_CALL(SetTexPanOffset, LVarA, 1, 0, LVar1) - EVT_ADD(LVar0, LVarB) - EVT_ADD(LVar1, LVarC) - EVT_WAIT(1) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; +#include "battle/common/stage/TexturePanner.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_SET(LVar0, 13) - EVT_SET(LVar1, 0) + EVT_SET(LVar0, MODEL_hikari1) + EVT_SET(LVar1, TEX_PANNER_0) EVT_SET(LVar2, 40) EVT_SET(LVar3, 0) - EVT_EXEC(N(80223FF0)) + EVT_EXEC(N(EVS_TexturePanMain)) EVT_RETURN EVT_END }; @@ -74,7 +23,7 @@ EvtScript N(EVS_PostBattle) = { }; s32 N(ForegroundModels)[] = { - 0x0000000D, + MODEL_hikari1, STAGE_MODEL_LIST_END }; diff --git a/src/battle/area/trd_part_1/stage/trd_05.c b/src/battle/area/trd_part_1/stage/trd_05.c index edd99efeb8..50c36c9f3c 100644 --- a/src/battle/area/trd_part_1/stage/trd_05.c +++ b/src/battle/area/trd_part_1/stage/trd_05.c @@ -1,124 +1,29 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt05_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_05 +#define NAMESPACE A(trd_05) -EvtScript N(80224360) = { - EVT_SET(LVarA, LVar0) - EVT_LABEL(0) - EVT_CALL(RotateGroup, LVarA, 2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, -2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RandInt, 30, LVar0) - EVT_ADD(LVar0, 30) - EVT_WAIT(LVar0) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(80224478) = { - EVT_SET(LVarA, LVar0) - EVT_LOOP(0) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 0, 0) - EVT_WAIT(2) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; +#include "battle/common/stage/BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) EVT_THREAD - EVT_SET(LVar0, 27) - EVT_EXEC(N(80224478)) + EVT_SET(LVar0, MODEL_o318) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 25) - EVT_EXEC(N(80224478)) + EVT_SET(LVar0, MODEL_mizu4) + EVT_EXEC(N(EVS_AnimateWave)) EVT_END_THREAD EVT_THREAD - EVT_SET(LVar0, 6) - EVT_EXEC(N(80224478)) + EVT_SET(LVar0, MODEL_mizu3) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 4) - EVT_EXEC(N(80224478)) + EVT_SET(LVar0, MODEL_mizu2) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 2) - EVT_EXEC(N(80224478)) + EVT_SET(LVar0, MODEL_mizu1) + EVT_EXEC(N(EVS_AnimateWave)) EVT_END_THREAD EVT_RETURN EVT_END diff --git a/src/battle/area/trd_part_1/stage/trd_05b.c b/src/battle/area/trd_part_1/stage/trd_05b.c index 3e40bac03f..50446e01c1 100644 --- a/src/battle/area/trd_part_1/stage/trd_05b.c +++ b/src/battle/area/trd_part_1/stage/trd_05b.c @@ -1,118 +1,23 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt05_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_05b +#define NAMESPACE A(trd_05b) -EvtScript N(80225460) = { - EVT_SET(LVarA, LVar0) - EVT_LABEL(0) - EVT_CALL(RotateGroup, LVarA, 2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, -2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RandInt, 30, LVar0) - EVT_ADD(LVar0, 30) - EVT_WAIT(LVar0) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(80225578) = { - EVT_SET(LVarA, LVar0) - EVT_LOOP(0) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 0, 0) - EVT_WAIT(2) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; +#include "battle/common/stage/BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_CALL(EnableModel, 16, FALSE) - EVT_CALL(EnableModel, 17, FALSE) - EVT_CALL(EnableModel, 2, FALSE) - EVT_CALL(EnableModel, 4, FALSE) - EVT_CALL(EnableModel, 6, FALSE) - EVT_CALL(EnableModel, 20, FALSE) - EVT_CALL(EnableModel, 18, FALSE) - EVT_CALL(EnableModel, 19, FALSE) - EVT_CALL(EnableModel, 25, FALSE) - EVT_CALL(EnableModel, 27, FALSE) + EVT_CALL(EnableModel, MODEL_kai, FALSE) + EVT_CALL(EnableModel, MODEL_kusari1, FALSE) + EVT_CALL(EnableModel, MODEL_mizu1, FALSE) + EVT_CALL(EnableModel, MODEL_mizu2, FALSE) + EVT_CALL(EnableModel, MODEL_mizu3, FALSE) + EVT_CALL(EnableModel, MODEL_ori, FALSE) + EVT_CALL(EnableModel, MODEL_saku1, FALSE) + EVT_CALL(EnableModel, MODEL_saku2, FALSE) + EVT_CALL(EnableModel, MODEL_mizu4, FALSE) + EVT_CALL(EnableModel, MODEL_o318, FALSE) EVT_RETURN EVT_END }; diff --git a/src/battle/area/trd_part_1/stage/trd_05c.c b/src/battle/area/trd_part_1/stage/trd_05c.c index 829e7db86c..e42715d234 100644 --- a/src/battle/area/trd_part_1/stage/trd_05c.c +++ b/src/battle/area/trd_part_1/stage/trd_05c.c @@ -1,125 +1,30 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt05_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_05c +#define NAMESPACE A(trd_05c) -EvtScript N(80225C60) = { - EVT_SET(LVarA, LVar0) - EVT_LABEL(0) - EVT_CALL(RotateGroup, LVarA, 2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, -2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RandInt, 30, LVar0) - EVT_ADD(LVar0, 30) - EVT_WAIT(LVar0) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(80225D78) = { - EVT_SET(LVarA, LVar0) - EVT_LOOP(0) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 0, 0) - EVT_WAIT(2) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; +#include "battle/common/stage/BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_CALL(EnableModel, 10, FALSE) - EVT_CALL(EnableModel, 15, FALSE) - EVT_CALL(EnableModel, 20, FALSE) - EVT_CALL(EnableModel, 18, FALSE) - EVT_CALL(EnableModel, 19, FALSE) - EVT_CALL(EnableModel, 25, FALSE) - EVT_SET(LVar0, 27) - EVT_EXEC(N(80225D78)) + EVT_CALL(EnableModel, MODEL_yuka3, FALSE) + EVT_CALL(EnableModel, MODEL_hako, FALSE) + EVT_CALL(EnableModel, MODEL_ori, FALSE) + EVT_CALL(EnableModel, MODEL_saku1, FALSE) + EVT_CALL(EnableModel, MODEL_saku2, FALSE) + EVT_CALL(EnableModel, MODEL_mizu4, FALSE) + EVT_SET(LVar0, MODEL_o318) + EVT_EXEC(N(EVS_AnimateWave)) EVT_THREAD - EVT_SET(LVar0, 6) - EVT_EXEC(N(80225D78)) + EVT_SET(LVar0, MODEL_mizu3) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 4) - EVT_EXEC(N(80225D78)) + EVT_SET(LVar0, MODEL_mizu2) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 2) - EVT_EXEC(N(80225D78)) + EVT_SET(LVar0, MODEL_mizu1) + EVT_EXEC(N(EVS_AnimateWave)) EVT_END_THREAD EVT_RETURN EVT_END diff --git a/src/battle/area/trd_part_1/stage/trd_05d.c b/src/battle/area/trd_part_1/stage/trd_05d.c index 3d61891e64..54dca2b4bf 100644 --- a/src/battle/area/trd_part_1/stage/trd_05d.c +++ b/src/battle/area/trd_part_1/stage/trd_05d.c @@ -1,124 +1,29 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt05_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_05d +#define NAMESPACE A(trd_05d) -EvtScript N(802264B0) = { - EVT_SET(LVarA, LVar0) - EVT_LABEL(0) - EVT_CALL(RotateGroup, LVarA, 2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, -2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RandInt, 30, LVar0) - EVT_ADD(LVar0, 30) - EVT_WAIT(LVar0) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(802265C8) = { - EVT_SET(LVarA, LVar0) - EVT_LOOP(0) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 0, 0) - EVT_WAIT(2) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; +#include "battle/common/stage/BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_CALL(EnableModel, 10, FALSE) - EVT_CALL(EnableModel, 15, FALSE) - EVT_CALL(EnableModel, 16, FALSE) - EVT_CALL(EnableModel, 17, FALSE) - EVT_CALL(EnableModel, 25, FALSE) - EVT_CALL(EnableModel, 14, FALSE) - EVT_CALL(EnableModel, 27, FALSE) + EVT_CALL(EnableModel, MODEL_yuka3, FALSE) + EVT_CALL(EnableModel, MODEL_hako, FALSE) + EVT_CALL(EnableModel, MODEL_kai, FALSE) + EVT_CALL(EnableModel, MODEL_kusari1, FALSE) + EVT_CALL(EnableModel, MODEL_mizu4, FALSE) + EVT_CALL(EnableModel, MODEL_hikari2, FALSE) + EVT_CALL(EnableModel, MODEL_o318, FALSE) EVT_THREAD - EVT_SET(LVar0, 6) - EVT_EXEC(N(802265C8)) + EVT_SET(LVar0, MODEL_mizu3) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 4) - EVT_EXEC(N(802265C8)) + EVT_SET(LVar0, MODEL_mizu2) + EVT_EXEC(N(EVS_AnimateWave)) EVT_WAIT(5) - EVT_SET(LVar0, 2) - EVT_EXEC(N(802265C8)) + EVT_SET(LVar0, MODEL_mizu1) + EVT_EXEC(N(EVS_AnimateWave)) EVT_END_THREAD EVT_RETURN EVT_END diff --git a/src/battle/area/trd_part_1/stage/trd_05e.c b/src/battle/area/trd_part_1/stage/trd_05e.c index cec4113c7b..8fb177974d 100644 --- a/src/battle/area/trd_part_1/stage/trd_05e.c +++ b/src/battle/area/trd_part_1/stage/trd_05e.c @@ -1,116 +1,21 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt05_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_05e +#define NAMESPACE A(trd_05e) -EvtScript N(80226CF0) = { - EVT_SET(LVarA, LVar0) - EVT_LABEL(0) - EVT_CALL(RotateGroup, LVarA, 2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, -2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RandInt, 30, LVar0) - EVT_ADD(LVar0, 30) - EVT_WAIT(LVar0) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(80226E08) = { - EVT_SET(LVarA, LVar0) - EVT_LOOP(0) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 0, 0) - EVT_WAIT(2) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; +#include "battle/common/stage/BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_CALL(EnableModel, 27, FALSE) - EVT_CALL(EnableModel, 2, FALSE) - EVT_CALL(EnableModel, 4, FALSE) - EVT_CALL(EnableModel, 6, FALSE) - EVT_CALL(EnableModel, 20, FALSE) - EVT_CALL(EnableModel, 18, FALSE) - EVT_CALL(EnableModel, 19, FALSE) - EVT_CALL(EnableModel, 25, FALSE) + EVT_CALL(EnableModel, MODEL_o318, FALSE) + EVT_CALL(EnableModel, MODEL_mizu1, FALSE) + EVT_CALL(EnableModel, MODEL_mizu2, FALSE) + EVT_CALL(EnableModel, MODEL_mizu3, FALSE) + EVT_CALL(EnableModel, MODEL_ori, FALSE) + EVT_CALL(EnableModel, MODEL_saku1, FALSE) + EVT_CALL(EnableModel, MODEL_saku2, FALSE) + EVT_CALL(EnableModel, MODEL_mizu4, FALSE) EVT_RETURN EVT_END }; diff --git a/src/battle/area/trd_part_1/stage/trd_05f.c b/src/battle/area/trd_part_1/stage/trd_05f.c index 33d042d8aa..1c3401828c 100644 --- a/src/battle/area/trd_part_1/stage/trd_05f.c +++ b/src/battle/area/trd_part_1/stage/trd_05f.c @@ -1,118 +1,23 @@ -#include "common.h" -#include "battle/battle.h" +#include "../area.h" +#include "mapfs/trd_bt05_shape.h" -#define NAMESPACE b_area_trd_part_1_trd_05f +#define NAMESPACE A(trd_05f) -EvtScript N(802274D0) = { - EVT_SET(LVarA, LVar0) - EVT_LABEL(0) - EVT_CALL(RotateGroup, LVarA, 2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, -2, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RotateGroup, LVarA, 1, 0, 0, 1) - EVT_WAIT(5) - EVT_CALL(RandInt, 30, LVar0) - EVT_ADD(LVar0, 30) - EVT_WAIT(LVar0) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(802275E8) = { - EVT_SET(LVarA, LVar0) - EVT_LOOP(0) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, 3, -3, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, EVT_FLOAT(-2.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 3, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(2.5), -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -2, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, EVT_FLOAT(-1.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 2, -1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(1.5), EVT_FLOAT(-0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 1, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, EVT_FLOAT(0.5), 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(2) - EVT_CALL(TranslateModel, LVarA, -1, 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, EVT_FLOAT(-0.5), 0, 0) - EVT_WAIT(1) - EVT_CALL(TranslateModel, LVarA, 0, 0, 0) - EVT_WAIT(2) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; +#include "battle/common/stage/BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_CALL(SetCamBGColor, CAM_BATTLE, 0, 0, 0) - EVT_SET(LVar0, 27) - EVT_EXEC(N(802275E8)) - EVT_CALL(EnableModel, 2, FALSE) - EVT_CALL(EnableModel, 4, FALSE) - EVT_CALL(EnableModel, 6, FALSE) - EVT_CALL(EnableModel, 20, FALSE) - EVT_CALL(EnableModel, 18, FALSE) - EVT_CALL(EnableModel, 19, FALSE) - EVT_CALL(EnableModel, 25, FALSE) - EVT_CALL(EnableModel, 15, FALSE) + EVT_SET(LVar0, MODEL_o318) + EVT_EXEC(N(EVS_AnimateWave)) + EVT_CALL(EnableModel, MODEL_mizu1, FALSE) + EVT_CALL(EnableModel, MODEL_mizu2, FALSE) + EVT_CALL(EnableModel, MODEL_mizu3, FALSE) + EVT_CALL(EnableModel, MODEL_ori, FALSE) + EVT_CALL(EnableModel, MODEL_saku1, FALSE) + EVT_CALL(EnableModel, MODEL_saku2, FALSE) + EVT_CALL(EnableModel, MODEL_mizu4, FALSE) + EVT_CALL(EnableModel, MODEL_hako, FALSE) EVT_RETURN EVT_END }; diff --git a/src/battle/area/trd_part_2/actor/blue_ninja_koopa.c b/src/battle/area/trd_part_2/actor/blue_ninja_koopa.c index ccd6af8d62..ed6b1f1a6c 100644 --- a/src/battle/area/trd_part_2/actor/blue_ninja_koopa.c +++ b/src/battle/area/trd_part_2/actor/blue_ninja_koopa.c @@ -13,45 +13,49 @@ extern EvtScript N(handleEvent_8022DD88); extern EvtScript N(nextTurn_8022E424); extern EvtScript N(takeTurn_8022E414); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_8022B4A0)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(DefenseTable_8022B4AC)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8022B4B8)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 40, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 30, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 60, - STATUS_SHRINK, 100, - STATUS_STOP, 75, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 40, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 30, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 60, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 75, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022B564)[] = { +ActorPartBlueprint N(ActorParts_8022B564)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 36 }, .opacity = 255, @@ -64,12 +68,12 @@ ActorPartBlueprint N(PartsTable_8022B564)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_ATTACK, + .flags = ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_BLUE_NINJAKOOPA, .level = 17, .maxHP = 5, - .partCount = ARRAY_COUNT( N(PartsTable_8022B564)), - .partsData = N(PartsTable_8022B564), + .partCount = ARRAY_COUNT( N(ActorParts_8022B564)), + .partsData = N(ActorParts_8022B564), .initScript = &N(init_8022DC2C), .statusTable = N(StatusTable_8022B4B8), .escapeChance = 0, @@ -81,68 +85,68 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 0, .size = { 38, 42 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8022B5B0)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Black_Anim04, - STATUS_STONE, ANIM_KoopaBros_Black_Anim00, - STATUS_SLEEP, ANIM_KoopaBros_Black_Anim15, - STATUS_POISON, ANIM_KoopaBros_Black_Anim00, - STATUS_STOP, ANIM_KoopaBros_Black_Anim00, - STATUS_STATIC, ANIM_KoopaBros_Black_Anim00, - STATUS_PARALYZE, ANIM_KoopaBros_Black_Anim00, - STATUS_PARALYZE, ANIM_KoopaBros_Black_Anim00, - STATUS_DIZZY, ANIM_KoopaBros_Black_Anim18, - STATUS_DIZZY, ANIM_KoopaBros_Black_Anim18, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Black_Anim04, + STATUS_KEY_STONE, ANIM_KoopaBros_Black_Anim00, + STATUS_KEY_SLEEP, ANIM_KoopaBros_Black_Anim15, + STATUS_KEY_POISON, ANIM_KoopaBros_Black_Anim00, + STATUS_KEY_STOP, ANIM_KoopaBros_Black_Anim00, + STATUS_KEY_STATIC, ANIM_KoopaBros_Black_Anim00, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Black_Anim00, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Black_Anim00, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Black_Anim18, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Black_Anim18, STATUS_END, }; s32 N(IdleAnimations_8022B604)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Black_Anim05, - STATUS_STONE, ANIM_KoopaBros_Black_Anim01, - STATUS_POISON, ANIM_KoopaBros_Black_Anim01, - STATUS_STOP, ANIM_KoopaBros_Black_Anim01, - STATUS_STATIC, ANIM_KoopaBros_Black_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Black_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Black_Anim05, + STATUS_KEY_STONE, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_POISON, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_STOP, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_STATIC, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Black_Anim01, STATUS_END, }; s32 N(IdleAnimations_8022B640)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Black_Anim0D, - STATUS_STONE, ANIM_KoopaBros_Black_Anim01, - STATUS_POISON, ANIM_KoopaBros_Black_Anim01, - STATUS_STOP, ANIM_KoopaBros_Black_Anim01, - STATUS_STATIC, ANIM_KoopaBros_Black_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Black_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Black_Anim0D, + STATUS_KEY_STONE, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_POISON, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_STOP, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_STATIC, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Black_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Black_Anim01, STATUS_END, }; s32 N(IdleAnimations_8022B67C)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Black_Anim0C, - STATUS_STONE, ANIM_KoopaBros_Black_Anim17, - STATUS_SLEEP, ANIM_KoopaBros_Black_Anim17, - STATUS_POISON, ANIM_KoopaBros_Black_Anim17, - STATUS_STOP, ANIM_KoopaBros_Black_Anim17, - STATUS_STATIC, ANIM_KoopaBros_Black_Anim17, - STATUS_PARALYZE, ANIM_KoopaBros_Black_Anim17, - STATUS_PARALYZE, ANIM_KoopaBros_Black_Anim17, - STATUS_DIZZY, ANIM_KoopaBros_Black_Anim22, - STATUS_DIZZY, ANIM_KoopaBros_Black_Anim22, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Black_Anim0C, + STATUS_KEY_STONE, ANIM_KoopaBros_Black_Anim17, + STATUS_KEY_SLEEP, ANIM_KoopaBros_Black_Anim17, + STATUS_KEY_POISON, ANIM_KoopaBros_Black_Anim17, + STATUS_KEY_STOP, ANIM_KoopaBros_Black_Anim17, + STATUS_KEY_STATIC, ANIM_KoopaBros_Black_Anim17, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Black_Anim17, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Black_Anim17, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Black_Anim22, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Black_Anim22, STATUS_END, }; s32 N(IdleAnimations_8022B6D0)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Black_Anim0A, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Black_Anim0A, STATUS_END, }; s32 N(IdleAnimations_8022B6DC)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Black_Anim0C, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Black_Anim0C, STATUS_END, }; @@ -168,13 +172,13 @@ EvtScript N(8022B6E8) = { EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(3) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B5B0))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim04) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B5B0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim04) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B604))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim05) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B604))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim05) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(1) @@ -185,8 +189,8 @@ EvtScript N(8022B6E8) = { EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) EVT_WAIT(5) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B640))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B640))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0D) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(2) @@ -202,11 +206,11 @@ EvtScript N(8022B6E8) = { EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_AND_CONST(LVar0, 192) EVT_IF_NE(LVar0, 192) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B640))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B640))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0D) EVT_ELSE - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B6D0))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B6D0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0A) EVT_END_IF EVT_END_CASE_GROUP EVT_END_SWITCH @@ -225,11 +229,11 @@ EvtScript N(8022B6E8) = { EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_AND_CONST(LVar0, 192) EVT_IF_NE(LVar0, 192) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B640))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B640))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0D) EVT_ELSE - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B6D0))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B6D0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0A) EVT_END_IF EVT_END_CASE_GROUP EVT_END_SWITCH @@ -240,14 +244,14 @@ EvtScript N(8022B6E8) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaBros_Black_Anim08) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim09) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaBros_Black_Anim1F) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim20) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_WAIT(15) @@ -265,8 +269,8 @@ EvtScript N(8022B6E8) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(N(UnkEnemyPosFunc), LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0A) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B6D0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B6D0))) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(N(StartRumbleWithParams), 256, 5) @@ -274,20 +278,20 @@ EvtScript N(8022B6E8) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(0.8)) EVT_END_THREAD EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0C) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B6DC))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0C) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B6DC))) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B67C))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022B4AC))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B67C))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022B4AC))) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(6) @@ -304,8 +308,8 @@ EvtScript N(8022B6E8) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(N(UnkEnemyPosFunc), LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0E) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B6D0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0E) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B6D0))) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(N(StartRumbleWithParams), 256, 5) @@ -320,20 +324,20 @@ EvtScript N(8022B6E8) = { EVT_ADDF(LVar2, EVT_FLOAT(5.0)) EVT_DIVF(LVar3, EVT_FLOAT(10.0)) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, LVar3, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0C) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B6DC))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0C) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B6DC))) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B67C))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022B4AC))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B67C))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022B4AC))) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(9) @@ -344,13 +348,13 @@ EvtScript N(8022B6E8) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(12) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) EVT_THREAD @@ -369,11 +373,11 @@ EvtScript N(8022B6E8) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 36) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 36) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022B4A0))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B5B0))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim04) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022B4A0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B5B0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim04) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_END_IF EVT_CASE_DEFAULT @@ -389,7 +393,7 @@ EvtScript N(8022B6E8) = { EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim08) EVT_WAIT(10) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LVar0) EVT_SWITCH(LVar0) @@ -400,7 +404,7 @@ EvtScript N(8022B6E8) = { EVT_CASE_EQ(2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_354) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 60) EVT_WAIT(60) @@ -446,15 +450,15 @@ EvtScript N(8022B6E8) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LVar1) EVT_CALL(GetHomePos, LVar1, LVar2, LVar3, LVar4) @@ -489,25 +493,25 @@ EvtScript N(8022B6E8) = { EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 40) EVT_WAIT(40) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim09) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F3) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim1B) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 22) EVT_ADD(LVar1, 19) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim04) EVT_WAIT(20) EVT_CALL(SetActorVar, ACTOR_ENEMY4, 1, 0) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim1F) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 60) EVT_WAIT(60) @@ -528,15 +532,15 @@ EvtScript N(8022B6E8) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) @@ -576,9 +580,9 @@ EvtScript N(8022B6E8) = { EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim20) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim05) EVT_WAIT(30) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -589,12 +593,12 @@ EvtScript N(8022B6E8) = { EVT_CALL(GetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar2, 15) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim03) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim1F) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_353) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) @@ -630,15 +634,15 @@ EvtScript N(8022B6E8) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar2, 15) @@ -648,17 +652,17 @@ EvtScript N(8022B6E8) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim09) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F3) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim1B) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 22) EVT_ADD(LVar1, 19) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) @@ -678,7 +682,7 @@ EvtScript N(init_8022DC2C) = { EVT_CALL(SetActorPos, ACTOR_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(ForceHomePos, ACTOR_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) EVT_RETURN @@ -736,12 +740,12 @@ EvtScript N(handleEvent_8022DD88) = { EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022B67C))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022B4AC))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022B67C))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022B4AC))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0B) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(4) @@ -757,7 +761,7 @@ EvtScript N(handleEvent_8022DD88) = { EVT_WAIT(1) EVT_END_THREAD EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim0C) EVT_END_IF EVT_USE_BUF(EVT_PTR(N(intTable_8022DD30))) EVT_LOOP(22) @@ -776,7 +780,7 @@ EvtScript N(handleEvent_8022DD88) = { EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Black_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Black_Anim09) EVT_WAIT(10) EVT_END_IF EVT_ELSE diff --git a/src/battle/area/trd_part_2/actor/fake_bowser.c b/src/battle/area/trd_part_2/actor/fake_bowser.c index c43c66b585..512eb21e1f 100644 --- a/src/battle/area/trd_part_2/actor/fake_bowser.c +++ b/src/battle/area/trd_part_2/actor/fake_bowser.c @@ -27,55 +27,69 @@ extern EvtScript N(80223870); BSS s32 D_80235FC0[31]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, + PRT_7 = 7, + PRT_8 = 8, + PRT_9 = 9, + PRT_10 = 10, + PRT_11 = 11, +}; + #include "common/StartRumbleWithParams.inc.c" #include "world/common/atomic/UnkFunc27.inc.c" s32 N(DefenseTable_8021A670)[] = { - ELEMENT_NORMAL, 1, - ELEMENT_BLAST, 1, + ELEMENT_NORMAL, 1, + ELEMENT_BLAST, 1, ELEMENT_END, }; s32 N(DefenseTable_8021A684)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable_8021A690)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, -1, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, -1, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(IdleAnimations_8021A73C)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Black_Anim04, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Black_Anim04, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8021A748)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 15 }, .targetOffset = { -46, 110 }, .opacity = 255, @@ -87,7 +101,7 @@ ActorPartBlueprint N(PartsTable_8021A748)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -99,7 +113,7 @@ ActorPartBlueprint N(PartsTable_8021A748)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -111,7 +125,7 @@ ActorPartBlueprint N(PartsTable_8021A748)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -123,7 +137,7 @@ ActorPartBlueprint N(PartsTable_8021A748)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -135,7 +149,7 @@ ActorPartBlueprint N(PartsTable_8021A748)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -147,7 +161,7 @@ ActorPartBlueprint N(PartsTable_8021A748)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 7, + .index = PRT_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -159,7 +173,7 @@ ActorPartBlueprint N(PartsTable_8021A748)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 8, + .index = PRT_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -171,7 +185,7 @@ ActorPartBlueprint N(PartsTable_8021A748)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 9, + .index = PRT_9, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -183,7 +197,7 @@ ActorPartBlueprint N(PartsTable_8021A748)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 10, + .index = PRT_10, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -195,7 +209,7 @@ ActorPartBlueprint N(PartsTable_8021A748)[] = { }, { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 11, + .index = PRT_11, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, .opacity = 255, @@ -212,8 +226,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_FAKE_BOWSER, .level = 0, .maxHP = 10, - .partCount = ARRAY_COUNT( N(PartsTable_8021A748)), - .partsData = N(PartsTable_8021A748), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021A968), .statusTable = N(StatusTable_8021A690), .escapeChance = 0, @@ -225,9 +239,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 0, .size = { -71, 125 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(D_8021A8FC_48BAEC)[] = { @@ -252,7 +266,7 @@ EvtScript N(init_8021A968) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, 2, ACTOR_PART_TARGET_FLAG_4, TRUE) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_TARGET_FLAG_4, TRUE) EVT_RETURN EVT_END }; @@ -298,7 +312,7 @@ EvtScript N(8021ABE4) = { EVT_USE_FBUF(EVT_PTR(N(D_8021AAC4_48BCB4))) EVT_FBUF_READ3(LVar0, LVar1, LVar2) EVT_END_IF - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_GOTO(0) EVT_RETURN @@ -334,7 +348,7 @@ EvtScript N(8021AD68) = { EVT_USE_FBUF(EVT_PTR(N(D_8021ACCC_48BEBC))) EVT_FBUF_READ3(LVar0, LVar1, LVar2) EVT_END_IF - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_GOTO(0) EVT_RETURN @@ -390,7 +404,7 @@ EvtScript N(8021AF70) = { EVT_SUBF(LVarA, LVar1) EVT_SETF(LVar1, LVarA) EVT_END_IF - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_GOTO(0) EVT_RETURN @@ -404,26 +418,26 @@ EvtScript N(8021B0E4) = { EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 20, EVT_FLOAT(3.0)) EVT_END_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 5, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 5, 0, -60, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_5, 0, -60, 0) EVT_SET(LVar1, 60) - EVT_CALL(SetPartPos, ACTOR_SELF, 5, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) EVT_THREAD EVT_SET(LVar0, 0) EVT_SET(LVar1, 0) EVT_SET(LVar2, 0) EVT_LOOP(60) EVT_ADD(LVar0, 20) - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_SUB(LVar0, 60) EVT_SET(LVar1, -200) EVT_ADD(LVar2, 100) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 5, EVT_FLOAT(0.5)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 5, LVar0, LVar1, LVar2, 60, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_5, EVT_FLOAT(0.5)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2, 60, TRUE) EVT_WAIT(30) EVT_CALL(PlaySoundAtModel, 15, SOUND_1E2, SOUND_SPACE_MODE_0) EVT_THREAD @@ -657,37 +671,37 @@ EvtScript N(8021BC88) = { EvtScript N(8021BD6C) = { EVT_USE_ARRAY(D_80235FC0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, 0, -30, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_3, 0, -30, 0) EVT_SET(LVar1, 30) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_THREAD EVT_SET(LVar0, 0) EVT_SET(LVar1, 0) EVT_SET(LVar2, 0) EVT_LOOP(80) EVT_ADD(LVar0, -20) - EVT_CALL(SetPartRotation, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_SUB(LVar0, 150) EVT_SET(LVar1, -200) EVT_SUB(LVar2, 200) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.3)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 80, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(0.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 80, TRUE) EVT_RETURN EVT_END }; EvtScript N(8021BF14) = { EVT_USE_ARRAY(D_80235FC0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 4, 0, -24, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_4, 0, -24, 0) EVT_SET(LVar1, 24) - EVT_CALL(SetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) EVT_THREAD EVT_SET(LVar0, 0) EVT_SET(LVar1, 0) @@ -695,15 +709,15 @@ EvtScript N(8021BF14) = { EVT_LOOP(60) EVT_ADD(LVar0, 4) EVT_ADD(LVar1, -1) - EVT_CALL(SetPartRotation, ACTOR_SELF, 4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_ADD(LVar0, 30) EVT_SET(LVar1, -200) EVT_ADD(LVar2, 150) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 4, EVT_FLOAT(0.5)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 4, LVar0, LVar1, LVar2, 60, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_4, EVT_FLOAT(0.5)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2, 60, TRUE) EVT_RETURN EVT_END }; @@ -748,7 +762,7 @@ EvtScript N(8021C1EC) = { EVT_USE_BUF(EVT_PTR(N(intTable_8021C0CC))) EVT_BUF_READ3(LVar0, LVar1, LVar2) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_GOTO(0) EVT_RETURN @@ -798,7 +812,7 @@ EvtScript N(8021C3F4) = { EVT_USE_BUF(EVT_PTR(N(intTable_8021C2D4))) EVT_BUF_READ3(LVar0, LVar1, LVar2) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_GOTO(0) EVT_RETURN @@ -834,7 +848,7 @@ EvtScript N(8021C594) = { EVT_USE_BUF(EVT_PTR(N(intTable_8021C4F8))) EVT_BUF_READ3(LVar0, LVar1, LVar2) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_GOTO(0) EVT_RETURN @@ -843,24 +857,24 @@ EvtScript N(8021C594) = { EvtScript N(8021C67C) = { EVT_USE_ARRAY(D_80235FC0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 10, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 10, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_10, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_THREAD EVT_SET(LVar0, 0) EVT_SET(LVar1, 0) EVT_SET(LVar2, 0) EVT_LOOP(80) EVT_ADD(LVar0, -10) - EVT_CALL(SetPartRotation, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_SUB(LVar0, 50) EVT_SET(LVar1, -200) EVT_SUB(LVar2, 200) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 10, EVT_FLOAT(0.3)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 10, LVar0, LVar1, LVar2, 80, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_10, EVT_FLOAT(0.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2, 80, TRUE) EVT_RETURN EVT_END }; @@ -923,7 +937,7 @@ EvtScript N(8021C9A4) = { EVT_END_IF EVT_END_IF EVT_MULF(LVar2, EVT_FLOAT(-2.0)) - EVT_CALL(SetPartRotation, ACTOR_SELF, 6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_GOTO(0) EVT_RETURN @@ -931,11 +945,11 @@ EvtScript N(8021C9A4) = { }; EvtScript N(8021CAE4) = { - EVT_CALL(GetPartRotation, ACTOR_SELF, 6, LVar2, LVar3, LVar4) + EVT_CALL(GetPartRotation, ACTOR_SELF, PRT_6, LVar2, LVar3, LVar4) EVT_CALL(MakeLerp, LVar4, 0, 20, EASING_LINEAR) EVT_LABEL(0) EVT_CALL(UpdateLerp) - EVT_CALL(SetPartRotation, ACTOR_SELF, 6, EVT_FLOAT(0.0), EVT_FLOAT(0.0), LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_6, EVT_FLOAT(0.0), EVT_FLOAT(0.0), LVar0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 1) EVT_GOTO(0) @@ -946,11 +960,11 @@ EvtScript N(8021CAE4) = { EvtScript N(8021CB98) = { EVT_USE_ARRAY(D_80235FC0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 6, 0, -60, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_6, 0, -60, 0) EVT_SET(LVar1, 60) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) EVT_THREAD EVT_SET(LVar0, 0) EVT_SET(LVar1, 0) @@ -958,31 +972,31 @@ EvtScript N(8021CB98) = { EVT_LOOP(80) EVT_ADD(LVar0, 8) EVT_ADD(LVar1, 10) - EVT_CALL(SetPartRotation, ACTOR_SELF, 6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_SUB(LVar0, 0) EVT_SET(LVar1, -200) EVT_ADD(LVar2, 100) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.6)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 80, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.6)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 80, TRUE) EVT_RETURN EVT_END }; EvtScript N(8021CD50) = { EVT_USE_ARRAY(D_80235FC0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 11, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 11, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 11, 0, -60, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_11, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_11, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_11, 0, -60, 0) EVT_SET(LVar1, 60) - EVT_CALL(SetPartPos, ACTOR_SELF, 11, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_11, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 0) EVT_SET(LVar1, -200) EVT_SUB(LVar2, 200) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 11, EVT_FLOAT(0.4)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 11, LVar0, LVar1, LVar2, 80, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_11, EVT_FLOAT(0.4)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_11, LVar0, LVar1, LVar2, 80, TRUE) EVT_RETURN EVT_END }; @@ -1022,8 +1036,8 @@ EvtScript N(8021CF4C) = { EVT_USE_FBUF(EVT_PTR(N(D_8021CE68_48E058))) EVT_FBUF_READ3(LVar0, LVar1, LVar2) EVT_END_IF - EVT_CALL(SetPartRotation, ACTOR_SELF, 8, LVar0, LVar1, LVar2) - EVT_CALL(SetPartRotation, ACTOR_SELF, 9, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_8, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_9, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_GOTO(0) EVT_RETURN @@ -1032,48 +1046,48 @@ EvtScript N(8021CF4C) = { EvtScript N(8021D054) = { EVT_USE_ARRAY(D_80235FC0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 8, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 8, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_8, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_8, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_8, LVar0, LVar1, LVar2) EVT_THREAD EVT_SET(LVar0, 0) EVT_SET(LVar1, 0) EVT_SET(LVar2, 0) EVT_LOOP(80) EVT_ADD(LVar0, 8) - EVT_CALL(SetPartRotation, ACTOR_SELF, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_8, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_SUB(LVar0, 150) EVT_SET(LVar1, -200) EVT_ADD(LVar2, 100) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 8, EVT_FLOAT(0.3)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 8, LVar0, LVar1, LVar2, 80, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_8, EVT_FLOAT(0.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_8, LVar0, LVar1, LVar2, 80, TRUE) EVT_RETURN EVT_END }; EvtScript N(8021D1CC) = { EVT_USE_ARRAY(D_80235FC0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 9, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 9, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 9, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_9, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_9, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_9, LVar0, LVar1, LVar2) EVT_THREAD EVT_SET(LVar0, 0) EVT_SET(LVar1, 0) EVT_SET(LVar2, 0) EVT_LOOP(80) EVT_ADD(LVar0, 8) - EVT_CALL(SetPartRotation, ACTOR_SELF, 9, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_9, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_SUB(LVar0, 50) EVT_SET(LVar1, -200) EVT_SUB(LVar2, 100) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 9, EVT_FLOAT(0.3)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 9, LVar0, LVar1, LVar2, 80, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_9, EVT_FLOAT(0.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_9, LVar0, LVar1, LVar2, 80, TRUE) EVT_WAIT(100) EVT_RETURN EVT_END @@ -1081,11 +1095,11 @@ EvtScript N(8021D1CC) = { EvtScript N(8021D350) = { EVT_USE_ARRAY(D_80235FC0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 7, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 7, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 7, 0, -30, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_7, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_7, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_7, 0, -30, 0) EVT_SET(LVar1, 30) - EVT_CALL(SetPartPos, ACTOR_SELF, 7, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_7, LVar0, LVar1, LVar2) EVT_THREAD EVT_SET(LVar0, 0) EVT_SET(LVar1, 0) @@ -1093,15 +1107,15 @@ EvtScript N(8021D350) = { EVT_LOOP(80) EVT_ADD(LVar0, 25) EVT_ADD(LVar1, 1) - EVT_CALL(SetPartRotation, ACTOR_SELF, 7, LVar0, LVar1, LVar2) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_7, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_SUB(LVar0, 0) EVT_SET(LVar1, -200) EVT_ADD(LVar2, 200) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 7, EVT_FLOAT(0.3)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 7, LVar0, LVar1, LVar2, 80, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_7, EVT_FLOAT(0.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_7, LVar0, LVar1, LVar2, 80, TRUE) EVT_RETURN EVT_END }; @@ -1157,9 +1171,9 @@ EvtScript N(idle_8021D508) = { EVT_EXEC(N(8021CAE4)) EVT_CASE_EQ(11) EVT_END_SWITCH - EVT_CALL(GetPartPos, ACTOR_SELF, 5, LVar0, LVar1, LVar2) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) EVT_CALL(TranslateGroup, 24, LVar0, LVar1, LVar2) - EVT_CALL(GetPartRotation, ACTOR_SELF, 5, LVar0, LVar1, LVar2) + EVT_CALL(GetPartRotation, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2) EVT_CALL(RotateGroup, 24, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, 24, LVar1, 0, 1, 0) EVT_CALL(RotateGroup, 24, LVar2, 0, 0, 1) @@ -1172,18 +1186,18 @@ EvtScript N(idle_8021D508) = { EVT_CALL(SetModelFlags, 21, MODEL_FLAG_FLAG_40, TRUE) EVT_CALL(SetModelFlags, 22, MODEL_FLAG_FLAG_40, TRUE) EVT_CALL(SetModelFlags, 23, MODEL_FLAG_FLAG_40, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_CALL(TranslateGroup, 34, LVar0, LVar1, LVar2) - EVT_CALL(GetPartRotation, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(GetPartRotation, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_CALL(RotateGroup, 34, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, 34, LVar1, 0, 1, 0) EVT_CALL(RotateGroup, 34, LVar2, 0, 0, 1) EVT_CALL(SetModelFlags, 31, MODEL_FLAG_FLAG_40, TRUE) EVT_CALL(SetModelFlags, 32, MODEL_FLAG_FLAG_40, TRUE) EVT_CALL(SetModelFlags, 33, MODEL_FLAG_FLAG_40, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) EVT_CALL(TranslateGroup, 30, LVar0, LVar1, LVar2) - EVT_CALL(GetPartRotation, ACTOR_SELF, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetPartRotation, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) EVT_CALL(RotateGroup, 30, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, 30, LVar1, 0, 1, 0) EVT_CALL(RotateGroup, 30, LVar2, 0, 0, 1) @@ -1192,62 +1206,62 @@ EvtScript N(idle_8021D508) = { EVT_CALL(SetModelFlags, 27, MODEL_FLAG_FLAG_40, TRUE) EVT_CALL(SetModelFlags, 28, MODEL_FLAG_FLAG_40, TRUE) EVT_CALL(SetModelFlags, 29, MODEL_FLAG_FLAG_40, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) EVT_CALL(TranslateGroup, 14, LVar0, LVar1, LVar2) - EVT_CALL(GetPartRotation, ACTOR_SELF, 6, LVar0, LVar1, LVar2) + EVT_CALL(GetPartRotation, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) EVT_CALL(RotateGroup, 14, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, 14, LVar1, 0, 1, 0) EVT_CALL(RotateGroup, 14, LVar2, 0, 0, 1) EVT_CALL(SetModelFlags, 11, MODEL_FLAG_FLAG_40, TRUE) EVT_CALL(SetModelFlags, 12, MODEL_FLAG_FLAG_40, TRUE) EVT_CALL(SetModelFlags, 13, MODEL_FLAG_FLAG_40, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 7, LVar0, LVar1, LVar2) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_7, LVar0, LVar1, LVar2) EVT_CALL(TranslateGroup, 10, LVar0, LVar1, LVar2) - EVT_CALL(GetPartRotation, ACTOR_SELF, 7, LVar0, LVar1, LVar2) + EVT_CALL(GetPartRotation, ACTOR_SELF, PRT_7, LVar0, LVar1, LVar2) EVT_CALL(RotateGroup, 10, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, 10, LVar1, 0, 1, 0) EVT_CALL(RotateGroup, 10, LVar2, 0, 0, 1) EVT_CALL(SetModelFlags, 9, MODEL_FLAG_FLAG_40, TRUE) EVT_SET(LVar0, ArrayVar(0)) EVT_IF_EQ(LVar0, 9) - EVT_CALL(GetPartPos, ACTOR_SELF, 8, LVar0, LVar1, LVar2) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_8, LVar0, LVar1, LVar2) EVT_ELSE EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_8, LVar0, LVar1, LVar2) EVT_CALL(TranslateGroup, 44, LVar0, LVar1, LVar2) - EVT_CALL(GetPartRotation, ACTOR_SELF, 8, LVar0, LVar1, LVar2) + EVT_CALL(GetPartRotation, ACTOR_SELF, PRT_8, LVar0, LVar1, LVar2) EVT_CALL(RotateGroup, 44, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, 44, LVar1, 0, 1, 0) EVT_CALL(RotateGroup, 44, LVar2, 0, 0, 1) EVT_CALL(SetModelFlags, 43, MODEL_FLAG_FLAG_40, TRUE) EVT_SET(LVar0, ArrayVar(0)) EVT_IF_EQ(LVar0, 9) - EVT_CALL(GetPartPos, ACTOR_SELF, 9, LVar0, LVar1, LVar2) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_9, LVar0, LVar1, LVar2) EVT_ELSE EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 9, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_9, LVar0, LVar1, LVar2) EVT_CALL(TranslateGroup, 46, LVar0, LVar1, LVar2) - EVT_CALL(GetPartRotation, ACTOR_SELF, 9, LVar0, LVar1, LVar2) + EVT_CALL(GetPartRotation, ACTOR_SELF, PRT_9, LVar0, LVar1, LVar2) EVT_CALL(RotateGroup, 46, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, 46, LVar1, 0, 1, 0) EVT_CALL(RotateGroup, 46, LVar2, 0, 0, 1) EVT_CALL(SetModelFlags, 45, MODEL_FLAG_FLAG_40, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 11, LVar0, LVar1, LVar2) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_11, LVar0, LVar1, LVar2) EVT_CALL(TranslateGroup, 38, LVar0, LVar1, LVar2) - EVT_CALL(GetPartRotation, ACTOR_SELF, 11, LVar0, LVar1, LVar2) + EVT_CALL(GetPartRotation, ACTOR_SELF, PRT_11, LVar0, LVar1, LVar2) EVT_CALL(RotateGroup, 38, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, 38, LVar1, 0, 1, 0) EVT_CALL(RotateGroup, 38, LVar2, 0, 0, 1) EVT_CALL(SetModelFlags, 35, MODEL_FLAG_FLAG_40, TRUE) EVT_CALL(SetModelFlags, 36, MODEL_FLAG_FLAG_40, TRUE) EVT_CALL(SetModelFlags, 37, MODEL_FLAG_FLAG_40, TRUE) - EVT_CALL(GetPartPos, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(GetPartPos, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_CALL(TranslateGroup, 42, LVar0, LVar1, LVar2) - EVT_CALL(GetPartRotation, ACTOR_SELF, 10, LVar0, LVar1, LVar2) + EVT_CALL(GetPartRotation, ACTOR_SELF, PRT_10, LVar0, LVar1, LVar2) EVT_CALL(RotateGroup, 42, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, 42, LVar1, 0, 1, 0) EVT_CALL(RotateGroup, 42, LVar2, 0, 0, 1) @@ -1349,7 +1363,7 @@ EvtScript N(handleEvent_8021E6F0) = { EVT_END_CASE_GROUP EVT_CASE_OR_EQ(EVENT_DEATH) EVT_CASE_OR_EQ(EVENT_BURN_DEATH) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_IF_EQ(LVar0, EVENT_BURN_DEATH) EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(D_8021A8FC_48BAEC)), FOG_MODE_3) EVT_CALL(N(UnkFunc26), 3, 35, 35, 35, 0, 0, 0, 0, 0, 0) @@ -1368,7 +1382,7 @@ EvtScript N(handleEvent_8021E6F0) = { EVT_WAIT(5) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, LVar3, 10, 0) EVT_END_IF - EVT_CALL(ActorSpeak, MSG_CH1_0106, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_0106, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_WAIT(30) EVT_SET(ArrayVar(0), 8) EVT_LABEL(20) @@ -1483,7 +1497,7 @@ EvtScript N(takeTurn_8021EC98) = { EVT_IF_LE(LVar0, 0) EVT_RETURN EVT_END_IF - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(SetBattleCamTarget, 28, 75, -101) EVT_CALL(SetBattleCamOffsetZ, 0) @@ -1493,37 +1507,37 @@ EvtScript N(takeTurn_8021EC98) = { EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(ActorSpeak, MSG_CH1_00FE, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_00FE, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 1) EVT_CASE_EQ(1) - EVT_CALL(ActorSpeak, MSG_CH1_00FF, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_00FF, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) EVT_CASE_EQ(2) - EVT_CALL(ActorSpeak, MSG_CH1_0100, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_0100, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(SetBattleCamTarget, 85, 81, 0) EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(SetBattleCamZoom, 249) EVT_CALL(MoveBattleCamOver, 10) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_CH1_0101, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_0101, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_CH1_0102, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_0102, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 3) EVT_CASE_EQ(3) - EVT_CALL(ActorSpeak, MSG_CH1_0103, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_0103, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(SetBattleCamTarget, 85, 81, 0) EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(SetBattleCamZoom, 249) EVT_CALL(MoveBattleCamOver, 10) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_CH1_0104, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_0104, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_CH1_0105, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_0105, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 1) EVT_END_SWITCH - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_RETURN EVT_END }; @@ -1543,7 +1557,7 @@ EvtScript N(nextTurn_8021F410) = { EVT_CALL(SetBattleCamZoom, 461) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(30) - EVT_CALL(ActorSpeak, MSG_CH1_00FD, ACTOR_SELF, 1, -1, -1) + EVT_CALL(ActorSpeak, MSG_CH1_00FD, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20FD) EVT_WAIT(22) @@ -1552,7 +1566,7 @@ EvtScript N(nextTurn_8021F410) = { EVT_SET(ArrayVar(0), 6) EVT_WAIT(30) EVT_SET(ArrayVar(0), 0) - EVT_CALL(EndActorSpeech, ACTOR_SELF, 1, -1, -1) + EVT_CALL(EndActorSpeech, ACTOR_SELF, PRT_MAIN, -1, -1) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_OR_CONST(LVar0, 0x8) EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0) @@ -1575,7 +1589,7 @@ EvtScript N(8021F630) = { EVT_CALL(UseIdleAnimation, ACTOR_ENEMY0, FALSE) EVT_CALL(EnableIdleScript, ACTOR_ENEMY0, 0) EVT_CALL(SetActorPos, ACTOR_ENEMY0, 100, 0, 10) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_KoopaBros_Green_Anim1C) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_KoopaBros_Green_Anim1C) EVT_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY0, EVT_FLOAT(0.4)) EVT_CALL(SetActorSounds, ACTOR_ENEMY0, ACTOR_SOUND_JUMP, SOUND_0, 0) @@ -1585,7 +1599,7 @@ EvtScript N(8021F630) = { EVT_CALL(UseIdleAnimation, ACTOR_ENEMY1, FALSE) EVT_CALL(EnableIdleScript, ACTOR_ENEMY1, 0) EVT_CALL(SetActorPos, ACTOR_ENEMY1, 100, 0, 10) - EVT_CALL(SetAnimation, ACTOR_ENEMY1, 1, ANIM_KoopaBros_Yellow_Anim1C) + EVT_CALL(SetAnimation, ACTOR_ENEMY1, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim1C) EVT_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY1, EVT_FLOAT(0.4)) EVT_CALL(SetActorSounds, ACTOR_ENEMY1, ACTOR_SOUND_JUMP, SOUND_0, 0) @@ -1595,7 +1609,7 @@ EvtScript N(8021F630) = { EVT_CALL(UseIdleAnimation, ACTOR_ENEMY2, FALSE) EVT_CALL(EnableIdleScript, ACTOR_ENEMY2, 0) EVT_CALL(SetActorPos, ACTOR_ENEMY2, 100, 0, 10) - EVT_CALL(SetAnimation, ACTOR_ENEMY2, 1, ANIM_KoopaBros_Black_Anim1C) + EVT_CALL(SetAnimation, ACTOR_ENEMY2, PRT_MAIN, ANIM_KoopaBros_Black_Anim1C) EVT_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY2, EVT_FLOAT(0.4)) EVT_CALL(SetActorSounds, ACTOR_ENEMY2, ACTOR_SOUND_JUMP, SOUND_0, 0) @@ -1605,7 +1619,7 @@ EvtScript N(8021F630) = { EVT_CALL(UseIdleAnimation, ACTOR_ENEMY3, FALSE) EVT_CALL(EnableIdleScript, ACTOR_ENEMY3, 0) EVT_CALL(SetActorPos, ACTOR_ENEMY3, 100, 0, 10) - EVT_CALL(SetAnimation, ACTOR_ENEMY3, 1, ANIM_KoopaBros_Red_Anim1C) + EVT_CALL(SetAnimation, ACTOR_ENEMY3, PRT_MAIN, ANIM_KoopaBros_Red_Anim1C) EVT_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY3, EVT_FLOAT(0.4)) EVT_CALL(SetActorSounds, ACTOR_ENEMY3, ACTOR_SOUND_JUMP, SOUND_0, 0) @@ -1634,7 +1648,7 @@ EvtScript N(8021F630) = { EVT_CALL(PlaySoundAtActor, ACTOR_ENEMY3, SOUND_301) EVT_END_THREAD EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_KoopaBros_Green_Anim12) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_KoopaBros_Green_Anim12) EVT_CALL(SetActorPos, ACTOR_ENEMY0, 20, 250, 0) EVT_CALL(SetGoalPos, ACTOR_ENEMY0, 20, 0, 0) EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY0, EVT_FLOAT(1.5)) @@ -1643,11 +1657,11 @@ EvtScript N(8021F630) = { EVT_CALL(PlaySoundAtActor, ACTOR_ENEMY0, SOUND_3E9) EVT_CALL(ResetActorSounds, ACTOR_ENEMY0, ACTOR_SOUND_JUMP) EVT_CALL(ForceHomePos, ACTOR_ENEMY0, 20, 0, 0) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_KoopaBros_Green_Anim05) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_KoopaBros_Green_Anim05) EVT_END_THREAD EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_ENEMY1, 1, ANIM_KoopaBros_Yellow_Anim12) + EVT_CALL(SetAnimation, ACTOR_ENEMY1, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim12) EVT_CALL(SetActorPos, ACTOR_ENEMY1, 60, 250, -5) EVT_CALL(SetGoalPos, ACTOR_ENEMY1, 60, 0, -5) EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY1, EVT_FLOAT(1.5)) @@ -1656,11 +1670,11 @@ EvtScript N(8021F630) = { EVT_CALL(PlaySoundAtActor, ACTOR_ENEMY1, SOUND_3E9) EVT_CALL(ResetActorSounds, ACTOR_ENEMY1, ACTOR_SOUND_JUMP) EVT_CALL(ForceHomePos, ACTOR_ENEMY1, 60, 0, -5) - EVT_CALL(SetAnimation, ACTOR_ENEMY1, 1, ANIM_KoopaBros_Yellow_Anim05) + EVT_CALL(SetAnimation, ACTOR_ENEMY1, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim05) EVT_END_THREAD EVT_THREAD EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_ENEMY2, 1, ANIM_KoopaBros_Black_Anim12) + EVT_CALL(SetAnimation, ACTOR_ENEMY2, PRT_MAIN, ANIM_KoopaBros_Black_Anim12) EVT_CALL(SetActorPos, ACTOR_ENEMY2, 100, 250, -10) EVT_CALL(SetGoalPos, ACTOR_ENEMY2, 100, 0, -10) EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY2, EVT_FLOAT(1.5)) @@ -1669,11 +1683,11 @@ EvtScript N(8021F630) = { EVT_CALL(PlaySoundAtActor, ACTOR_ENEMY2, SOUND_3E9) EVT_CALL(ResetActorSounds, ACTOR_ENEMY2, ACTOR_SOUND_JUMP) EVT_CALL(ForceHomePos, ACTOR_ENEMY2, 100, 0, -10) - EVT_CALL(SetAnimation, ACTOR_ENEMY2, 1, ANIM_KoopaBros_Black_Anim05) + EVT_CALL(SetAnimation, ACTOR_ENEMY2, PRT_MAIN, ANIM_KoopaBros_Black_Anim05) EVT_END_THREAD EVT_THREAD EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_ENEMY3, 1, ANIM_KoopaBros_Red_Anim12) + EVT_CALL(SetAnimation, ACTOR_ENEMY3, PRT_MAIN, ANIM_KoopaBros_Red_Anim12) EVT_CALL(SetActorPos, ACTOR_ENEMY3, 140, 250, -15) EVT_CALL(SetGoalPos, ACTOR_ENEMY3, 140, 0, -15) EVT_CALL(SetActorJumpGravity, ACTOR_ENEMY3, EVT_FLOAT(1.5)) @@ -1682,7 +1696,7 @@ EvtScript N(8021F630) = { EVT_CALL(PlaySoundAtActor, ACTOR_ENEMY3, SOUND_3E9) EVT_CALL(ResetActorSounds, ACTOR_ENEMY3, ACTOR_SOUND_JUMP) EVT_CALL(ForceHomePos, ACTOR_ENEMY3, 140, 0, -15) - EVT_CALL(SetAnimation, ACTOR_ENEMY3, 1, ANIM_KoopaBros_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_ENEMY3, PRT_MAIN, ANIM_KoopaBros_Red_Anim05) EVT_END_THREAD EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) @@ -1691,7 +1705,7 @@ EvtScript N(8021F630) = { EVT_CALL(SetBattleCamZoom, 292) EVT_CALL(MoveBattleCamOver, 20) EVT_WAIT(28) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_KoopaBros_Green_Anim1A) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_KoopaBros_Green_Anim1A) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_ENEMY0, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 7) @@ -1699,7 +1713,7 @@ EvtScript N(8021F630) = { EVT_ADD(LVar2, 5) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_CALL(PlaySoundAtActor, ACTOR_ENEMY0, SOUND_20F3) - EVT_CALL(SetAnimation, ACTOR_ENEMY1, 1, ANIM_KoopaBros_Yellow_Anim1A) + EVT_CALL(SetAnimation, ACTOR_ENEMY1, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim1A) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_ENEMY1, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 7) @@ -1707,7 +1721,7 @@ EvtScript N(8021F630) = { EVT_ADD(LVar2, 5) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_CALL(PlaySoundAtActor, ACTOR_ENEMY1, SOUND_20F3) - EVT_CALL(SetAnimation, ACTOR_ENEMY2, 1, ANIM_KoopaBros_Black_Anim1A) + EVT_CALL(SetAnimation, ACTOR_ENEMY2, PRT_MAIN, ANIM_KoopaBros_Black_Anim1A) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_ENEMY2, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 7) @@ -1715,7 +1729,7 @@ EvtScript N(8021F630) = { EVT_ADD(LVar2, 5) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_CALL(PlaySoundAtActor, ACTOR_ENEMY2, SOUND_20F3) - EVT_CALL(SetAnimation, ACTOR_ENEMY3, 1, ANIM_KoopaBros_Red_Anim1A) + EVT_CALL(SetAnimation, ACTOR_ENEMY3, PRT_MAIN, ANIM_KoopaBros_Red_Anim1A) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_ENEMY3, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 7) @@ -1725,32 +1739,32 @@ EvtScript N(8021F630) = { EVT_CALL(PlaySoundAtActor, ACTOR_ENEMY3, SOUND_20F3) EVT_WAIT(30) EVT_CALL(func_80218350_4B1540) - EVT_CALL(ActorSpeak, MSG_CH1_0107, ACTOR_ENEMY1, 1, -1, -1) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_DMG_APPLY, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(ActorSpeak, MSG_CH1_0107, ACTOR_ENEMY1, PRT_MAIN, -1, -1) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_DMG_APPLY, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80224D84))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_802239BC))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_802242FC))) EVT_CALL(BindNextTurn, ACTOR_SELF, EVT_PTR(N(nextTurn_80225438))) - EVT_CALL(SetActorFlagBits, ACTOR_ENEMY0, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_ENEMY0, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(HPBarToHome, ACTOR_ENEMY0) - EVT_CALL(SetAnimation, ACTOR_ENEMY0, 1, ANIM_KoopaBros_Green_Anim04) - EVT_CALL(SetActorFlagBits, ACTOR_ENEMY1, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY1, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetAnimation, ACTOR_ENEMY0, PRT_MAIN, ANIM_KoopaBros_Green_Anim04) + EVT_CALL(SetActorFlagBits, ACTOR_ENEMY1, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY1, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(HPBarToHome, ACTOR_ENEMY1) - EVT_CALL(SetAnimation, ACTOR_ENEMY1, 1, ANIM_KoopaBros_Yellow_Anim04) - EVT_CALL(SetActorFlagBits, ACTOR_ENEMY2, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY2, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetAnimation, ACTOR_ENEMY1, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim04) + EVT_CALL(SetActorFlagBits, ACTOR_ENEMY2, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY2, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(HPBarToHome, ACTOR_ENEMY2) - EVT_CALL(SetAnimation, ACTOR_ENEMY2, 1, ANIM_KoopaBros_Black_Anim04) - EVT_CALL(SetActorFlagBits, ACTOR_ENEMY3, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetAnimation, ACTOR_ENEMY2, PRT_MAIN, ANIM_KoopaBros_Black_Anim04) + EVT_CALL(SetActorFlagBits, ACTOR_ENEMY3, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_ENEMY3, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(HPBarToHome, ACTOR_ENEMY3) - EVT_CALL(SetAnimation, ACTOR_ENEMY3, 1, ANIM_KoopaBros_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_ENEMY3, PRT_MAIN, ANIM_KoopaBros_Red_Anim04) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 3) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_OR_CONST(LVar0, 0x1) @@ -1929,7 +1943,7 @@ EvtScript N(80220588) = { EVT_CASE_EQ(ACTOR_ENEMY3) EVT_CALL(SetAnimation, LVarA, 1, ANIM_KoopaBros_Red_Anim04) EVT_END_SWITCH - EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_HIDE_HP_BAR, TRUE) + EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_NO_HEALTH_BAR, TRUE) EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(HPBarToHome, LVarA) EVT_CALL(SetActorVar, LVarA, 1, 3) @@ -1977,7 +1991,7 @@ EvtScript N(80220588) = { EVT_CASE_EQ(ACTOR_ENEMY3) EVT_CALL(SetAnimation, LVarA, 1, ANIM_KoopaBros_Red_Anim05) EVT_END_SWITCH - EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_HIDE_HP_BAR, TRUE) + EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_NO_HEALTH_BAR, TRUE) EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(HPBarToHome, LVarA) EVT_CALL(SetActorVar, LVarA, 1, 6) @@ -2043,7 +2057,7 @@ EvtScript N(80220588) = { EVT_CASE_EQ(ACTOR_ENEMY3) EVT_CALL(SetAnimation, LVarA, 1, ANIM_KoopaBros_Red_Anim05) EVT_END_SWITCH - EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_HIDE_HP_BAR, TRUE) + EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_NO_HEALTH_BAR, TRUE) EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(HPBarToHome, LVarA) EVT_CALL(SetActorVar, LVarA, 1, 5) @@ -2109,7 +2123,7 @@ EvtScript N(80220588) = { EVT_CASE_EQ(ACTOR_ENEMY3) EVT_CALL(SetAnimation, LVarA, 1, ANIM_KoopaBros_Red_Anim05) EVT_END_SWITCH - EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_HIDE_HP_BAR, TRUE) + EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_NO_HEALTH_BAR, TRUE) EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(HPBarToHome, LVarA) EVT_CALL(SetActorVar, LVarA, 1, 4) @@ -2253,7 +2267,7 @@ EvtScript N(80221DB4) = { EVT_ADD(LVar1, 19) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_WAIT(30) - EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_HIDE_HP_BAR, TRUE) + EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_NO_HEALTH_BAR, TRUE) EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(HPBarToHome, LVarA) EVT_CALL(SetActorVar, LVarA, 1, 3) @@ -2329,7 +2343,7 @@ EvtScript N(80221DB4) = { EVT_CASE_EQ(ACTOR_ENEMY3) EVT_CALL(SetAnimation, LVarA, 1, ANIM_KoopaBros_Red_Anim05) EVT_END_SWITCH - EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_HIDE_HP_BAR, TRUE) + EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_NO_HEALTH_BAR, TRUE) EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(HPBarToHome, LVarA) EVT_CALL(SetActorVar, LVarA, 1, 4) @@ -2389,20 +2403,20 @@ EvtScript N(80222C44) = { EVT_IF_NE(LVar0, -1) EVT_GOTO(1) EVT_END_IF - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_LABEL(2) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_WAIT(1) EVT_IF_EQ(LVar0, 3) EVT_GOTO(2) EVT_END_IF - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_POPUP, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_SET(LVar0, LVarA) EVT_MUL(LVar0, 18) EVT_ADD(LVar0, 20) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -4, LVar0) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, -4, LVar0) EVT_CALL(SetActorSize, ACTOR_SELF, LVar0, 45) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_KOOPA_BROS) EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar1) @@ -2471,20 +2485,20 @@ EvtScript N(802230E8) = { EVT_IF_NE(LVar0, -1) EVT_GOTO(1) EVT_END_IF - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_LABEL(2) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_IF_NOT_FLAG(LVar0, 0x00000100) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_POPUP, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_SET(LVar0, LVarA) EVT_MUL(LVar0, 18) EVT_ADD(LVar0, 20) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -4, LVar0) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, -4, LVar0) EVT_CALL(SetActorSize, ACTOR_SELF, LVar0, 45) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_KOOPA_BROS) EVT_CALL(GetActorVar, ACTOR_SELF, 4, LVar1) @@ -2512,7 +2526,7 @@ EvtScript N(802235E0) = { EVT_SET(LVar0, LVarA) EVT_MUL(LVar0, 18) EVT_ADD(LVar0, 5) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -4, LVar0) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, -4, LVar0) EVT_CALL(SetActorSize, ACTOR_SELF, LVar0, 45) EVT_RETURN EVT_END @@ -2528,8 +2542,8 @@ EvtScript N(80223718) = { EVT_END_IF EVT_EXEC_WAIT(N(80223870)) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_DMG_APPLY, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_AND_CONST(LVar0, -17) EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0) @@ -2910,7 +2924,7 @@ EvtScript N(takeTurn_80224D84) = { EVT_SET(LVar0, LVarA) EVT_MUL(LVar0, 18) EVT_ADD(LVar0, 20) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -4, LVar0) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, -4, LVar0) EVT_CALL(SetActorSize, ACTOR_SELF, LVar0, 45) EVT_CASE_EQ(3) EVT_END_SWITCH diff --git a/src/battle/area/trd_part_2/actor/green_ninja_koopa.c b/src/battle/area/trd_part_2/actor/green_ninja_koopa.c index 736840a38f..5976b36afe 100644 --- a/src/battle/area/trd_part_2/actor/green_ninja_koopa.c +++ b/src/battle/area/trd_part_2/actor/green_ninja_koopa.c @@ -13,45 +13,49 @@ extern EvtScript N(handleEvent_80227E48); extern EvtScript N(nextTurn_802284E4); extern EvtScript N(takeTurn_802284D4); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_80225560)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(DefenseTable_8022556C)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80225578)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 45, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 100, - STATUS_STOP, 75, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 45, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 75, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80225624)[] = { +ActorPartBlueprint N(ActorParts_80225624)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 36 }, .opacity = 255, @@ -64,12 +68,12 @@ ActorPartBlueprint N(PartsTable_80225624)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_ATTACK, + .flags = ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_GREEN_NINJAKOOPA, .level = 16, .maxHP = 5, - .partCount = ARRAY_COUNT( N(PartsTable_80225624)), - .partsData = N(PartsTable_80225624), + .partCount = ARRAY_COUNT( N(ActorParts_80225624)), + .partsData = N(ActorParts_80225624), .initScript = &N(init_80227CEC), .statusTable = N(StatusTable_80225578), .escapeChance = 0, @@ -81,68 +85,68 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 0, .size = { 38, 42 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_80225670)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Green_Anim04, - STATUS_STONE, ANIM_KoopaBros_Green_Anim00, - STATUS_SLEEP, ANIM_KoopaBros_Green_Anim15, - STATUS_POISON, ANIM_KoopaBros_Green_Anim00, - STATUS_STOP, ANIM_KoopaBros_Green_Anim00, - STATUS_STATIC, ANIM_KoopaBros_Green_Anim00, - STATUS_PARALYZE, ANIM_KoopaBros_Green_Anim00, - STATUS_PARALYZE, ANIM_KoopaBros_Green_Anim00, - STATUS_DIZZY, ANIM_KoopaBros_Green_Anim18, - STATUS_DIZZY, ANIM_KoopaBros_Green_Anim18, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Green_Anim04, + STATUS_KEY_STONE, ANIM_KoopaBros_Green_Anim00, + STATUS_KEY_SLEEP, ANIM_KoopaBros_Green_Anim15, + STATUS_KEY_POISON, ANIM_KoopaBros_Green_Anim00, + STATUS_KEY_STOP, ANIM_KoopaBros_Green_Anim00, + STATUS_KEY_STATIC, ANIM_KoopaBros_Green_Anim00, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Green_Anim00, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Green_Anim00, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Green_Anim18, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Green_Anim18, STATUS_END, }; s32 N(IdleAnimations_802256C4)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Green_Anim05, - STATUS_STONE, ANIM_KoopaBros_Green_Anim01, - STATUS_POISON, ANIM_KoopaBros_Green_Anim01, - STATUS_STOP, ANIM_KoopaBros_Green_Anim01, - STATUS_STATIC, ANIM_KoopaBros_Green_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Green_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Green_Anim05, + STATUS_KEY_STONE, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_POISON, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_STOP, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_STATIC, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Green_Anim01, STATUS_END, }; s32 N(IdleAnimations_80225700)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Green_Anim0D, - STATUS_STONE, ANIM_KoopaBros_Green_Anim01, - STATUS_POISON, ANIM_KoopaBros_Green_Anim01, - STATUS_STOP, ANIM_KoopaBros_Green_Anim01, - STATUS_STATIC, ANIM_KoopaBros_Green_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Green_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Green_Anim0D, + STATUS_KEY_STONE, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_POISON, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_STOP, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_STATIC, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Green_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Green_Anim01, STATUS_END, }; s32 N(IdleAnimations_8022573C)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Green_Anim0C, - STATUS_STONE, ANIM_KoopaBros_Green_Anim17, - STATUS_SLEEP, ANIM_KoopaBros_Green_Anim17, - STATUS_POISON, ANIM_KoopaBros_Green_Anim17, - STATUS_STOP, ANIM_KoopaBros_Green_Anim17, - STATUS_STATIC, ANIM_KoopaBros_Green_Anim17, - STATUS_PARALYZE, ANIM_KoopaBros_Green_Anim17, - STATUS_PARALYZE, ANIM_KoopaBros_Green_Anim17, - STATUS_DIZZY, ANIM_KoopaBros_Green_Anim22, - STATUS_DIZZY, ANIM_KoopaBros_Green_Anim22, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Green_Anim0C, + STATUS_KEY_STONE, ANIM_KoopaBros_Green_Anim17, + STATUS_KEY_SLEEP, ANIM_KoopaBros_Green_Anim17, + STATUS_KEY_POISON, ANIM_KoopaBros_Green_Anim17, + STATUS_KEY_STOP, ANIM_KoopaBros_Green_Anim17, + STATUS_KEY_STATIC, ANIM_KoopaBros_Green_Anim17, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Green_Anim17, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Green_Anim17, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Green_Anim22, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Green_Anim22, STATUS_END, }; s32 N(IdleAnimations_80225790)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Green_Anim0A, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Green_Anim0A, STATUS_END, }; s32 N(IdleAnimations_8022579C)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Green_Anim0C, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Green_Anim0C, STATUS_END, }; @@ -168,13 +172,13 @@ EvtScript N(802257A8) = { EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(3) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80225670))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim04) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80225670))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim04) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802256C4))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim05) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802256C4))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim05) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(1) @@ -185,8 +189,8 @@ EvtScript N(802257A8) = { EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) EVT_WAIT(5) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80225700))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80225700))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0D) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(2) @@ -202,11 +206,11 @@ EvtScript N(802257A8) = { EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_AND_CONST(LVar0, 192) EVT_IF_NE(LVar0, 192) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80225700))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80225700))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0D) EVT_ELSE - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80225790))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80225790))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0A) EVT_END_IF EVT_END_CASE_GROUP EVT_END_SWITCH @@ -225,11 +229,11 @@ EvtScript N(802257A8) = { EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_AND_CONST(LVar0, 192) EVT_IF_NE(LVar0, 192) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80225700))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80225700))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0D) EVT_ELSE - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80225790))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80225790))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0A) EVT_END_IF EVT_END_CASE_GROUP EVT_END_SWITCH @@ -240,14 +244,14 @@ EvtScript N(802257A8) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaBros_Green_Anim08) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim09) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaBros_Green_Anim1F) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim20) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_WAIT(15) @@ -265,8 +269,8 @@ EvtScript N(802257A8) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(N(UnkEnemyPosFunc), LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0A) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80225790))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80225790))) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(N(StartRumbleWithParams), 256, 5) @@ -274,20 +278,20 @@ EvtScript N(802257A8) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(0.8)) EVT_END_THREAD EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0C) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022579C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0C) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022579C))) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022573C))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022556C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022573C))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022556C))) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(6) @@ -304,8 +308,8 @@ EvtScript N(802257A8) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(N(UnkEnemyPosFunc), LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0E) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80225790))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0E) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80225790))) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(N(StartRumbleWithParams), 256, 5) @@ -320,20 +324,20 @@ EvtScript N(802257A8) = { EVT_ADDF(LVar2, EVT_FLOAT(5.0)) EVT_DIVF(LVar3, EVT_FLOAT(10.0)) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, LVar3, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0C) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022579C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0C) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022579C))) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022573C))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022556C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022573C))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022556C))) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(9) @@ -344,13 +348,13 @@ EvtScript N(802257A8) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(12) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) EVT_THREAD @@ -369,11 +373,11 @@ EvtScript N(802257A8) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 36) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 36) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_80225560))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80225670))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim04) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_80225560))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80225670))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim04) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_END_IF EVT_CASE_DEFAULT @@ -389,7 +393,7 @@ EvtScript N(802257A8) = { EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim08) EVT_WAIT(10) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LVar0) EVT_SWITCH(LVar0) @@ -400,7 +404,7 @@ EvtScript N(802257A8) = { EVT_CASE_EQ(2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_354) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 60) EVT_WAIT(60) @@ -446,15 +450,15 @@ EvtScript N(802257A8) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LVar1) EVT_CALL(GetHomePos, LVar1, LVar2, LVar3, LVar4) @@ -489,25 +493,25 @@ EvtScript N(802257A8) = { EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 40) EVT_WAIT(40) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim09) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F3) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim1B) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 22) EVT_ADD(LVar1, 19) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim04) EVT_WAIT(20) EVT_CALL(SetActorVar, ACTOR_ENEMY4, 1, 0) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim1F) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 60) EVT_WAIT(60) @@ -528,15 +532,15 @@ EvtScript N(802257A8) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) @@ -576,9 +580,9 @@ EvtScript N(802257A8) = { EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim20) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim05) EVT_WAIT(30) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -589,12 +593,12 @@ EvtScript N(802257A8) = { EVT_CALL(GetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar2, 15) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim03) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim1F) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_353) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) @@ -630,15 +634,15 @@ EvtScript N(802257A8) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar2, 15) @@ -648,17 +652,17 @@ EvtScript N(802257A8) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim09) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F3) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim1B) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 22) EVT_ADD(LVar1, 19) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) @@ -678,7 +682,7 @@ EvtScript N(init_80227CEC) = { EVT_CALL(SetActorPos, ACTOR_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(ForceHomePos, ACTOR_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) EVT_RETURN @@ -736,12 +740,12 @@ EvtScript N(handleEvent_80227E48) = { EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022573C))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022556C))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022573C))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022556C))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0B) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(4) @@ -757,7 +761,7 @@ EvtScript N(handleEvent_80227E48) = { EVT_WAIT(1) EVT_END_THREAD EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim0C) EVT_END_IF EVT_USE_BUF(EVT_PTR(N(intTable_80227DF0))) EVT_LOOP(22) @@ -776,7 +780,7 @@ EvtScript N(handleEvent_80227E48) = { EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Green_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Green_Anim09) EVT_WAIT(10) EVT_END_IF EVT_ELSE diff --git a/src/battle/area/trd_part_2/actor/red_ninja_koopa.c b/src/battle/area/trd_part_2/actor/red_ninja_koopa.c index de374499bb..da40fcdc4b 100644 --- a/src/battle/area/trd_part_2/actor/red_ninja_koopa.c +++ b/src/battle/area/trd_part_2/actor/red_ninja_koopa.c @@ -13,45 +13,49 @@ extern EvtScript N(handleEvent_8022ADE8); extern EvtScript N(nextTurn_8022B484); extern EvtScript N(takeTurn_8022B474); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_80228500)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(DefenseTable_8022850C)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_80228518)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 30, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 60, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 60, - STATUS_SHRINK, 100, - STATUS_STOP, 75, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 30, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 60, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 60, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 75, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_802285C4)[] = { +ActorPartBlueprint N(ActorParts_802285C4)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 36 }, .opacity = 255, @@ -64,12 +68,12 @@ ActorPartBlueprint N(PartsTable_802285C4)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_ATTACK, + .flags = ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_RED_NINJAKOOPA, .level = 17, .maxHP = 5, - .partCount = ARRAY_COUNT( N(PartsTable_802285C4)), - .partsData = N(PartsTable_802285C4), + .partCount = ARRAY_COUNT( N(ActorParts_802285C4)), + .partsData = N(ActorParts_802285C4), .initScript = &N(init_8022AC8C), .statusTable = N(StatusTable_80228518), .escapeChance = 0, @@ -81,68 +85,68 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 0, .size = { 38, 42 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_80228610)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Red_Anim04, - STATUS_STONE, ANIM_KoopaBros_Red_Anim00, - STATUS_SLEEP, ANIM_KoopaBros_Red_Anim15, - STATUS_POISON, ANIM_KoopaBros_Red_Anim00, - STATUS_STOP, ANIM_KoopaBros_Red_Anim00, - STATUS_STATIC, ANIM_KoopaBros_Red_Anim00, - STATUS_PARALYZE, ANIM_KoopaBros_Red_Anim00, - STATUS_PARALYZE, ANIM_KoopaBros_Red_Anim00, - STATUS_DIZZY, ANIM_KoopaBros_Red_Anim18, - STATUS_DIZZY, ANIM_KoopaBros_Red_Anim18, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Red_Anim04, + STATUS_KEY_STONE, ANIM_KoopaBros_Red_Anim00, + STATUS_KEY_SLEEP, ANIM_KoopaBros_Red_Anim15, + STATUS_KEY_POISON, ANIM_KoopaBros_Red_Anim00, + STATUS_KEY_STOP, ANIM_KoopaBros_Red_Anim00, + STATUS_KEY_STATIC, ANIM_KoopaBros_Red_Anim00, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Red_Anim00, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Red_Anim00, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Red_Anim18, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Red_Anim18, STATUS_END, }; s32 N(IdleAnimations_80228664)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Red_Anim05, - STATUS_STONE, ANIM_KoopaBros_Red_Anim01, - STATUS_POISON, ANIM_KoopaBros_Red_Anim01, - STATUS_STOP, ANIM_KoopaBros_Red_Anim01, - STATUS_STATIC, ANIM_KoopaBros_Red_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Red_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Red_Anim05, + STATUS_KEY_STONE, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_POISON, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_STOP, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_STATIC, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Red_Anim01, STATUS_END, }; s32 N(IdleAnimations_802286A0)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Red_Anim0D, - STATUS_STONE, ANIM_KoopaBros_Red_Anim01, - STATUS_POISON, ANIM_KoopaBros_Red_Anim01, - STATUS_STOP, ANIM_KoopaBros_Red_Anim01, - STATUS_STATIC, ANIM_KoopaBros_Red_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Red_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Red_Anim0D, + STATUS_KEY_STONE, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_POISON, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_STOP, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_STATIC, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Red_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Red_Anim01, STATUS_END, }; s32 N(IdleAnimations_802286DC)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Red_Anim0C, - STATUS_STONE, ANIM_KoopaBros_Red_Anim17, - STATUS_SLEEP, ANIM_KoopaBros_Red_Anim17, - STATUS_POISON, ANIM_KoopaBros_Red_Anim17, - STATUS_STOP, ANIM_KoopaBros_Red_Anim17, - STATUS_STATIC, ANIM_KoopaBros_Red_Anim17, - STATUS_PARALYZE, ANIM_KoopaBros_Red_Anim17, - STATUS_PARALYZE, ANIM_KoopaBros_Red_Anim17, - STATUS_DIZZY, ANIM_KoopaBros_Red_Anim22, - STATUS_DIZZY, ANIM_KoopaBros_Red_Anim22, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Red_Anim0C, + STATUS_KEY_STONE, ANIM_KoopaBros_Red_Anim17, + STATUS_KEY_SLEEP, ANIM_KoopaBros_Red_Anim17, + STATUS_KEY_POISON, ANIM_KoopaBros_Red_Anim17, + STATUS_KEY_STOP, ANIM_KoopaBros_Red_Anim17, + STATUS_KEY_STATIC, ANIM_KoopaBros_Red_Anim17, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Red_Anim17, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Red_Anim17, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Red_Anim22, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Red_Anim22, STATUS_END, }; s32 N(IdleAnimations_80228730)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Red_Anim0A, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Red_Anim0A, STATUS_END, }; s32 N(IdleAnimations_8022873C)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Red_Anim0C, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Red_Anim0C, STATUS_END, }; @@ -168,13 +172,13 @@ EvtScript N(80228748) = { EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(3) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80228610))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim04) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80228610))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim04) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80228664))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim05) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80228664))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim05) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(1) @@ -185,8 +189,8 @@ EvtScript N(80228748) = { EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) EVT_WAIT(5) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802286A0))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802286A0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0D) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(2) @@ -202,11 +206,11 @@ EvtScript N(80228748) = { EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_AND_CONST(LVar0, 192) EVT_IF_NE(LVar0, 192) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802286A0))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802286A0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0D) EVT_ELSE - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80228730))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80228730))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0A) EVT_END_IF EVT_END_CASE_GROUP EVT_END_SWITCH @@ -225,11 +229,11 @@ EvtScript N(80228748) = { EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_AND_CONST(LVar0, 192) EVT_IF_NE(LVar0, 192) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802286A0))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802286A0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0D) EVT_ELSE - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80228730))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80228730))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0A) EVT_END_IF EVT_END_CASE_GROUP EVT_END_SWITCH @@ -240,14 +244,14 @@ EvtScript N(80228748) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaBros_Red_Anim08) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim09) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaBros_Red_Anim1F) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim20) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_WAIT(15) @@ -265,8 +269,8 @@ EvtScript N(80228748) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(N(UnkEnemyPosFunc), LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0A) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80228730))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80228730))) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(N(StartRumbleWithParams), 256, 5) @@ -274,20 +278,20 @@ EvtScript N(80228748) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(0.8)) EVT_END_THREAD EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0C) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022873C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0C) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022873C))) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802286DC))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022850C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802286DC))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022850C))) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(6) @@ -304,8 +308,8 @@ EvtScript N(80228748) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(N(UnkEnemyPosFunc), LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0E) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80228730))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0E) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80228730))) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(N(StartRumbleWithParams), 256, 5) @@ -320,20 +324,20 @@ EvtScript N(80228748) = { EVT_ADDF(LVar2, EVT_FLOAT(5.0)) EVT_DIVF(LVar3, EVT_FLOAT(10.0)) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, LVar3, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0C) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022873C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0C) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022873C))) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802286DC))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022850C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802286DC))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022850C))) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(9) @@ -344,13 +348,13 @@ EvtScript N(80228748) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(12) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) EVT_THREAD @@ -369,11 +373,11 @@ EvtScript N(80228748) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 36) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 36) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_80228500))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80228610))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim04) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_80228500))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80228610))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim04) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_END_IF EVT_CASE_DEFAULT @@ -389,7 +393,7 @@ EvtScript N(80228748) = { EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim08) EVT_WAIT(10) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LVar0) EVT_SWITCH(LVar0) @@ -400,7 +404,7 @@ EvtScript N(80228748) = { EVT_CASE_EQ(2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_354) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 60) EVT_WAIT(60) @@ -446,15 +450,15 @@ EvtScript N(80228748) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LVar1) EVT_CALL(GetHomePos, LVar1, LVar2, LVar3, LVar4) @@ -489,25 +493,25 @@ EvtScript N(80228748) = { EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 40) EVT_WAIT(40) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim09) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F3) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim1B) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 22) EVT_ADD(LVar1, 19) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim04) EVT_WAIT(20) EVT_CALL(SetActorVar, ACTOR_ENEMY4, 1, 0) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim1F) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 60) EVT_WAIT(60) @@ -528,15 +532,15 @@ EvtScript N(80228748) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) @@ -576,9 +580,9 @@ EvtScript N(80228748) = { EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim20) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim05) EVT_WAIT(30) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -589,12 +593,12 @@ EvtScript N(80228748) = { EVT_CALL(GetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar2, 15) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim03) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim1F) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_353) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) @@ -630,15 +634,15 @@ EvtScript N(80228748) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar2, 15) @@ -648,17 +652,17 @@ EvtScript N(80228748) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim09) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F3) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim1B) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 22) EVT_ADD(LVar1, 19) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) @@ -678,7 +682,7 @@ EvtScript N(init_8022AC8C) = { EVT_CALL(SetActorPos, ACTOR_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(ForceHomePos, ACTOR_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) EVT_RETURN @@ -736,12 +740,12 @@ EvtScript N(handleEvent_8022ADE8) = { EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_802286DC))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022850C))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_802286DC))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022850C))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0B) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(4) @@ -757,7 +761,7 @@ EvtScript N(handleEvent_8022ADE8) = { EVT_WAIT(1) EVT_END_THREAD EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim0C) EVT_END_IF EVT_USE_BUF(EVT_PTR(N(intTable_8022AD90))) EVT_LOOP(22) @@ -776,7 +780,7 @@ EvtScript N(handleEvent_8022ADE8) = { EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Red_Anim09) EVT_WAIT(10) EVT_END_IF EVT_ELSE diff --git a/src/battle/area/trd_part_2/actor/yellow_ninja_koopa.c b/src/battle/area/trd_part_2/actor/yellow_ninja_koopa.c index 5aa11196e0..ba6e2fea4b 100644 --- a/src/battle/area/trd_part_2/actor/yellow_ninja_koopa.c +++ b/src/battle/area/trd_part_2/actor/yellow_ninja_koopa.c @@ -13,45 +13,49 @@ extern EvtScript N(handleEvent_80230D28); extern EvtScript N(nextTurn_802313C4); extern EvtScript N(takeTurn_802313B4); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_8022E440)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(DefenseTable_8022E44C)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8022E458)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 100, - STATUS_STOP, 75, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 75, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8022E504)[] = { +ActorPartBlueprint N(ActorParts_8022E504)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 36 }, .opacity = 255, @@ -64,12 +68,12 @@ ActorPartBlueprint N(PartsTable_8022E504)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_ATTACK, + .flags = ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_YELLOW_NINJAKOOPA, .level = 16, .maxHP = 5, - .partCount = ARRAY_COUNT( N(PartsTable_8022E504)), - .partsData = N(PartsTable_8022E504), + .partCount = ARRAY_COUNT( N(ActorParts_8022E504)), + .partsData = N(ActorParts_8022E504), .initScript = &N(init_80230BCC), .statusTable = N(StatusTable_8022E458), .escapeChance = 0, @@ -81,68 +85,68 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 0, .size = { 38, 42 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8022E550)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Yellow_Anim04, - STATUS_STONE, ANIM_KoopaBros_Yellow_Anim00, - STATUS_SLEEP, ANIM_KoopaBros_Yellow_Anim15, - STATUS_POISON, ANIM_KoopaBros_Yellow_Anim00, - STATUS_STOP, ANIM_KoopaBros_Yellow_Anim00, - STATUS_STATIC, ANIM_KoopaBros_Yellow_Anim00, - STATUS_PARALYZE, ANIM_KoopaBros_Yellow_Anim00, - STATUS_PARALYZE, ANIM_KoopaBros_Yellow_Anim00, - STATUS_DIZZY, ANIM_KoopaBros_Yellow_Anim18, - STATUS_DIZZY, ANIM_KoopaBros_Yellow_Anim18, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Yellow_Anim04, + STATUS_KEY_STONE, ANIM_KoopaBros_Yellow_Anim00, + STATUS_KEY_SLEEP, ANIM_KoopaBros_Yellow_Anim15, + STATUS_KEY_POISON, ANIM_KoopaBros_Yellow_Anim00, + STATUS_KEY_STOP, ANIM_KoopaBros_Yellow_Anim00, + STATUS_KEY_STATIC, ANIM_KoopaBros_Yellow_Anim00, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Yellow_Anim00, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Yellow_Anim00, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Yellow_Anim18, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Yellow_Anim18, STATUS_END, }; s32 N(IdleAnimations_8022E5A4)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Yellow_Anim05, - STATUS_STONE, ANIM_KoopaBros_Yellow_Anim01, - STATUS_POISON, ANIM_KoopaBros_Yellow_Anim01, - STATUS_STOP, ANIM_KoopaBros_Yellow_Anim01, - STATUS_STATIC, ANIM_KoopaBros_Yellow_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Yellow_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Yellow_Anim05, + STATUS_KEY_STONE, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_POISON, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_STOP, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_STATIC, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Yellow_Anim01, STATUS_END, }; s32 N(IdleAnimations_8022E5E0)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Yellow_Anim0D, - STATUS_STONE, ANIM_KoopaBros_Yellow_Anim01, - STATUS_POISON, ANIM_KoopaBros_Yellow_Anim01, - STATUS_STOP, ANIM_KoopaBros_Yellow_Anim01, - STATUS_STATIC, ANIM_KoopaBros_Yellow_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Yellow_Anim01, - STATUS_PARALYZE, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Yellow_Anim0D, + STATUS_KEY_STONE, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_POISON, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_STOP, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_STATIC, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Yellow_Anim01, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Yellow_Anim01, STATUS_END, }; s32 N(IdleAnimations_8022E61C)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Yellow_Anim0C, - STATUS_STONE, ANIM_KoopaBros_Yellow_Anim17, - STATUS_SLEEP, ANIM_KoopaBros_Yellow_Anim17, - STATUS_POISON, ANIM_KoopaBros_Yellow_Anim17, - STATUS_STOP, ANIM_KoopaBros_Yellow_Anim17, - STATUS_STATIC, ANIM_KoopaBros_Yellow_Anim17, - STATUS_PARALYZE, ANIM_KoopaBros_Yellow_Anim17, - STATUS_PARALYZE, ANIM_KoopaBros_Yellow_Anim17, - STATUS_DIZZY, ANIM_KoopaBros_Yellow_Anim22, - STATUS_DIZZY, ANIM_KoopaBros_Yellow_Anim22, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Yellow_Anim0C, + STATUS_KEY_STONE, ANIM_KoopaBros_Yellow_Anim17, + STATUS_KEY_SLEEP, ANIM_KoopaBros_Yellow_Anim17, + STATUS_KEY_POISON, ANIM_KoopaBros_Yellow_Anim17, + STATUS_KEY_STOP, ANIM_KoopaBros_Yellow_Anim17, + STATUS_KEY_STATIC, ANIM_KoopaBros_Yellow_Anim17, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Yellow_Anim17, + STATUS_KEY_PARALYZE, ANIM_KoopaBros_Yellow_Anim17, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Yellow_Anim22, + STATUS_KEY_DIZZY, ANIM_KoopaBros_Yellow_Anim22, STATUS_END, }; s32 N(IdleAnimations_8022E670)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Yellow_Anim0A, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Yellow_Anim0A, STATUS_END, }; s32 N(IdleAnimations_8022E67C)[] = { - STATUS_NORMAL, ANIM_KoopaBros_Yellow_Anim0C, + STATUS_KEY_NORMAL, ANIM_KoopaBros_Yellow_Anim0C, STATUS_END, }; @@ -168,13 +172,13 @@ EvtScript N(8022E688) = { EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(3) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E550))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim04) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E550))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim04) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E5A4))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim05) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E5A4))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim05) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(1) @@ -185,8 +189,8 @@ EvtScript N(8022E688) = { EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) EVT_WAIT(5) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E5E0))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E5E0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0D) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(2) @@ -202,11 +206,11 @@ EvtScript N(8022E688) = { EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_AND_CONST(LVar0, 192) EVT_IF_NE(LVar0, 192) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E5E0))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E5E0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0D) EVT_ELSE - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E670))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E670))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0A) EVT_END_IF EVT_END_CASE_GROUP EVT_END_SWITCH @@ -225,11 +229,11 @@ EvtScript N(8022E688) = { EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_AND_CONST(LVar0, 192) EVT_IF_NE(LVar0, 192) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E5E0))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0D) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E5E0))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0D) EVT_ELSE - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E670))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E670))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0A) EVT_END_IF EVT_END_CASE_GROUP EVT_END_SWITCH @@ -240,14 +244,14 @@ EvtScript N(8022E688) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaBros_Yellow_Anim08) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim09) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaBros_Yellow_Anim1F) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim20) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_WAIT(15) @@ -265,8 +269,8 @@ EvtScript N(8022E688) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(N(UnkEnemyPosFunc), LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0A) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E670))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0A) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E670))) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(N(StartRumbleWithParams), 256, 5) @@ -274,20 +278,20 @@ EvtScript N(8022E688) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(0.8)) EVT_END_THREAD EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0C) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E67C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0C) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E67C))) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E61C))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022E44C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E61C))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022E44C))) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(6) @@ -304,8 +308,8 @@ EvtScript N(8022E688) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(N(UnkEnemyPosFunc), LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0E) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E670))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0E) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E670))) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(N(StartRumbleWithParams), 256, 5) @@ -320,20 +324,20 @@ EvtScript N(8022E688) = { EVT_ADDF(LVar2, EVT_FLOAT(5.0)) EVT_DIVF(LVar3, EVT_FLOAT(10.0)) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, LVar3, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0C) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E67C))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0C) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E67C))) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_HIDE_HP_BAR, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E61C))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022E44C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E61C))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022E44C))) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CASE_EQ(9) @@ -344,13 +348,13 @@ EvtScript N(8022E688) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(12) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) EVT_THREAD @@ -369,11 +373,11 @@ EvtScript N(8022E688) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20BA) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 36) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 36) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 2) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022E440))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E550))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim04) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022E440))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E550))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim04) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_END_IF EVT_CASE_DEFAULT @@ -389,7 +393,7 @@ EvtScript N(8022E688) = { EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim08) EVT_WAIT(10) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LVar0) EVT_SWITCH(LVar0) @@ -400,7 +404,7 @@ EvtScript N(8022E688) = { EVT_CASE_EQ(2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_354) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 60) EVT_WAIT(60) @@ -446,15 +450,15 @@ EvtScript N(8022E688) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_ENEMY4, 4, LVar1) EVT_CALL(GetHomePos, LVar1, LVar2, LVar3, LVar4) @@ -489,25 +493,25 @@ EvtScript N(8022E688) = { EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 40) EVT_WAIT(40) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim09) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F3) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim1B) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 22) EVT_ADD(LVar1, 19) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim04) EVT_WAIT(20) EVT_CALL(SetActorVar, ACTOR_ENEMY4, 1, 0) EVT_CASE_OR_EQ(4) EVT_CASE_OR_EQ(5) EVT_CASE_OR_EQ(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim1F) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 60) EVT_WAIT(60) @@ -528,15 +532,15 @@ EvtScript N(8022E688) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) @@ -576,9 +580,9 @@ EvtScript N(8022E688) = { EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim20) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim05) EVT_WAIT(30) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -589,12 +593,12 @@ EvtScript N(8022E688) = { EVT_CALL(GetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar2, 15) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim03) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim1F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim1F) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_353) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim07) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) @@ -630,15 +634,15 @@ EvtScript N(8022E688) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_THREAD - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 15, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 15, 0) EVT_SET(LVar0, 0) EVT_LOOP(40) EVT_SUB(LVar0, 45) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartRotationOffset, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotationOffset, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_END_THREAD EVT_CALL(GetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar2, 15) @@ -648,17 +652,17 @@ EvtScript N(8022E688) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(UnkWhirlwindEffectFunc), LVar0, LVar1, LVar2, 30) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim09) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F3) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim1B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim1B) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 22) EVT_ADD(LVar1, 19) EVT_PLAY_EFFECT(EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 30, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) @@ -678,7 +682,7 @@ EvtScript N(init_80230BCC) = { EVT_CALL(SetActorPos, ACTOR_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(ForceHomePos, ACTOR_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) EVT_RETURN @@ -736,12 +740,12 @@ EvtScript N(handleEvent_80230D28) = { EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 2) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8022E61C))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8022E44C))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 18) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8022E61C))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8022E44C))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 18) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0B) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(4) @@ -757,7 +761,7 @@ EvtScript N(handleEvent_80230D28) = { EVT_WAIT(1) EVT_END_THREAD EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim0C) EVT_END_IF EVT_USE_BUF(EVT_PTR(N(intTable_80230CD0))) EVT_LOOP(22) @@ -776,7 +780,7 @@ EvtScript N(handleEvent_80230D28) = { EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaBros_Yellow_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaBros_Yellow_Anim09) EVT_WAIT(10) EVT_END_IF EVT_ELSE diff --git a/src/battle/area/trd_part_2/area.c b/src/battle/area/trd_part_2/area.c index d95cd5398d..7716ff4b88 100644 --- a/src/battle/area/trd_part_2/area.c +++ b/src/battle/area/trd_part_2/area.c @@ -24,15 +24,15 @@ extern Stage N(trd_05e); extern Stage N(trd_05f); Formation N(Formation_00) = { - { .actor = &N(green_ninja_koopa), .home = { .index = 0 }, .priority = 10 }, - { .actor = &N(yellow_ninja_koopa), .home = { .index = 0 }, .priority = 9 }, - { .actor = &N(blue_ninja_koopa), .home = { .index = 0 }, .priority = 8 }, - { .actor = &N(red_ninja_koopa), .home = { .index = 0 }, .priority = 7 }, - { .actor = &N(fake_bowser), .home = { .index = 3 }, .priority = 6 }, + ACTOR_BY_IDX(N(green_ninja_koopa), BTL_POS_GROUND_A, 10), + ACTOR_BY_IDX(N(yellow_ninja_koopa), BTL_POS_GROUND_A, 9), + ACTOR_BY_IDX(N(blue_ninja_koopa), BTL_POS_GROUND_A, 8), + ACTOR_BY_IDX(N(red_ninja_koopa), BTL_POS_GROUND_A, 7), + ACTOR_BY_IDX(N(fake_bowser), BTL_POS_GROUND_D, 6), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(trd_00), "ノコブロス"), + BATTLE(N(Formation_00), N(trd_00), "ノコブロス"), {}, }; @@ -40,14 +40,14 @@ StageList N(Stages) = { { "trd_00", &N(trd_00) }, { "trd_01", &N(trd_01) }, { "trd_02", &N(trd_02) }, - { "trd_02b", &N(trd_02b) }, + STAGE("trd_02b", N(trd_02b)), { "trd_03", &N(trd_03) }, { "trd_04", &N(trd_04) }, { "trd_05", &N(trd_05) }, - { "trd_05b", &N(trd_05b) }, - { "trd_05c", &N(trd_05c) }, - { "trd_05d", &N(trd_05d) }, - { "trd_05e", &N(trd_05e) }, - { "trd_05f", &N(trd_05f) }, + STAGE("trd_05b", N(trd_05b)), + STAGE("trd_05c", N(trd_05c)), + STAGE("trd_05d", N(trd_05d)), + STAGE("trd_05e", N(trd_05e)), + STAGE("trd_05f", N(trd_05f)), {}, }; diff --git a/src/battle/area/trd_part_2/stage/trd_03.c b/src/battle/area/trd_part_2/stage/trd_03.c index 4d33de99cd..ea6b3103fc 100644 --- a/src/battle/area/trd_part_2/stage/trd_03.c +++ b/src/battle/area/trd_part_2/stage/trd_03.c @@ -3,18 +3,18 @@ #define NAMESPACE b_area_trd_part_2_trd_03 -#include "world/common/todo/clouds.inc.c" +#include "battle/common/stage/MovingClouds.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_SET(LVar0, 4) EVT_SET(LVar2, 0) - EVT_EXEC(N(clouds1)) + EVT_EXEC(N(EVS_AnimateCloud)) EVT_SET(LVar0, 2) EVT_SET(LVar2, 70) EVT_SET(LVar3, 175) EVT_SET(LVar4, -170) - EVT_EXEC(N(clouds2)) + EVT_EXEC(N(EVS_AnimateCloud_WithOffset2D)) EVT_RETURN EVT_END }; diff --git a/src/battle/area/trd_part_3/actor/eldstar.c b/src/battle/area/trd_part_3/actor/eldstar.c index 1a9058f1c8..79205ec320 100644 --- a/src/battle/area/trd_part_3/actor/eldstar.c +++ b/src/battle/area/trd_part_3/actor/eldstar.c @@ -14,45 +14,49 @@ extern EvtScript N(EVS_ManageTutorial); BSS s32 D_80219040; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnims)[] = { - STATUS_NORMAL, ANIM_WorldEldstar_Idle, + STATUS_KEY_NORMAL, ANIM_WorldEldstar_Idle, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -65,7 +69,7 @@ ActorPartBlueprint N(ActorParts)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_ATTACK, + .flags = ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_ELDSTAR, .level = 99, .maxHP = 99, @@ -82,9 +86,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 0, .size = { 24, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(EVS_Init) = { @@ -113,24 +117,24 @@ API_CALLABLE(func_80218000_4CF1B0) { } API_CALLABLE(func_802180C8_4CF278) { - status_menu_start_blinking_sp(); + status_bar_start_blinking_sp(); return ApiStatus_DONE2; } API_CALLABLE(func_802180E8_4CF298) { - status_menu_stop_blinking_sp(); + status_bar_stop_blinking_sp(); return ApiStatus_DONE2; } API_CALLABLE(func_80218108_4CF2B8) { - status_menu_start_blinking_hp(); - status_menu_start_blinking_fp(); + status_bar_start_blinking_hp(); + status_bar_start_blinking_fp(); return ApiStatus_DONE2; } API_CALLABLE(func_80218130_4CF2E0) { - status_menu_stop_blinking_hp(); - status_menu_stop_blinking_fp(); + status_bar_stop_blinking_hp(); + status_bar_stop_blinking_fp(); return ApiStatus_DONE2; } @@ -208,7 +212,7 @@ EvtScript N(EVS_ManageTutorial) = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) EVT_WAIT(15) EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) - EVT_CALL(ActorSpeak, MSG_CH1_0114, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) + EVT_CALL(ActorSpeak, MSG_CH1_0114, ACTOR_SELF, PRT_MAIN, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_THREAD EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(SetGoalPos, ACTOR_SELF, -110, 100, 0) @@ -225,14 +229,14 @@ EvtScript N(EVS_ManageTutorial) = { EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, EASING_COS_IN_OUT) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) - EVT_CALL(ActorSpeak, MSG_CH1_0115, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) + EVT_CALL(ActorSpeak, MSG_CH1_0115, ACTOR_SELF, PRT_MAIN, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_WAIT(10) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_LookUp) EVT_CALL(func_802180C8_4CF278) EVT_WAIT(120) EVT_CALL(func_802180E8_4CF298) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) - EVT_CALL(ActorSpeak, MSG_CH1_0116, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) + EVT_CALL(ActorSpeak, MSG_CH1_0116, ACTOR_SELF, PRT_MAIN, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_WAIT(10) EVT_CALL(SetBattleMenuDisableFlags, BTL_MENU_DISABLED_STAR_POWERS) EVT_CALL(SetEnabledStarPowers, 1 << STAR_POWER_INDEX(MOVE_REFRESH)) @@ -243,10 +247,10 @@ EvtScript N(EVS_ManageTutorial) = { EVT_IF_LT(LVar0, 0) EVT_SET(LVar0, 0) EVT_END_IF - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_THREAD EVT_CALL(N(func_80218170_4CF320)) @@ -258,12 +262,12 @@ EvtScript N(EVS_ManageTutorial) = { EVT_IF_GT(LVar0, 255) EVT_SET(LVar0, 255) EVT_END_IF - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) - EVT_CALL(ActorSpeak, MSG_CH1_0117, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) + EVT_CALL(ActorSpeak, MSG_CH1_0117, ACTOR_SELF, PRT_MAIN, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_WAIT(10) EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_LookUp) @@ -271,12 +275,12 @@ EvtScript N(EVS_ManageTutorial) = { EVT_WAIT(120) EVT_CALL(func_802180E8_4CF298) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) - EVT_CALL(ActorSpeak, MSG_CH1_0118, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) + EVT_CALL(ActorSpeak, MSG_CH1_0118, ACTOR_SELF, PRT_MAIN, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_WAIT(10) EVT_CALL(SetBattleState, BATTLE_STATE_END_TURN) EVT_CALL(WaitForState, BATTLE_STATE_BEGIN_TURN) EVT_WAIT(20) - EVT_CALL(ActorSpeak, MSG_CH1_0119, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) + EVT_CALL(ActorSpeak, MSG_CH1_0119, ACTOR_SELF, PRT_MAIN, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_WAIT(10) EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_THREAD @@ -297,9 +301,9 @@ EvtScript N(EVS_ManageTutorial) = { EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, EASING_COS_IN_OUT) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) - EVT_CALL(ActorSpeak, MSG_CH1_011A, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) + EVT_CALL(ActorSpeak, MSG_CH1_011A, ACTOR_SELF, PRT_MAIN, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_CH1_011B, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) + EVT_CALL(ActorSpeak, MSG_CH1_011B, ACTOR_SELF, PRT_MAIN, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_WAIT(10) EVT_CALL(SetBattleMenuDisableFlags, BTL_MENU_DISABLED_STAR_POWERS) EVT_CALL(SetEnabledStarPowers, 1 << STAR_POWER_INDEX(MOVE_FOCUS)) @@ -311,10 +315,10 @@ EvtScript N(EVS_ManageTutorial) = { EVT_IF_LT(LVar0, 0) EVT_SET(LVar0, 0) EVT_END_IF - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_THREAD EVT_CALL(N(func_80218170_4CF320)) @@ -326,12 +330,12 @@ EvtScript N(EVS_ManageTutorial) = { EVT_IF_GT(LVar0, 255) EVT_SET(LVar0, 255) EVT_END_IF - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) - EVT_CALL(ActorSpeak, MSG_CH1_011C, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) + EVT_CALL(ActorSpeak, MSG_CH1_011C, ACTOR_SELF, PRT_MAIN, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_WAIT(10) EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_LookUp) @@ -339,7 +343,7 @@ EvtScript N(EVS_ManageTutorial) = { EVT_WAIT(120) EVT_CALL(func_802180E8_4CF298) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) - EVT_CALL(ActorSpeak, MSG_CH1_011D, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) + EVT_CALL(ActorSpeak, MSG_CH1_011D, ACTOR_SELF, PRT_MAIN, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_CALL(WaitForState, BATTLE_STATE_0) EVT_CALL(SetBattleState, BATTLE_STATE_END_TRAINING_BATTLE) EVT_WAIT(10000) diff --git a/src/battle/area/trd_part_3/area.c b/src/battle/area/trd_part_3/area.c index ac05de69d1..2dc1e86a29 100644 --- a/src/battle/area/trd_part_3/area.c +++ b/src/battle/area/trd_part_3/area.c @@ -9,15 +9,15 @@ extern ActorBlueprint N(eldstar); extern Stage N(nok_01); Formation N(Formation_00) = { - { .actor = &N(eldstar), .home = { .index = 6 }, .priority = 10 }, + ACTOR_BY_IDX(N(eldstar), BTL_POS_AIR_C, 10), }; BattleList N(Formations) = { - BATTLE(N(Formation_00), &N(nok_01), "ほしのせい レクチャー"), + BATTLE(N(Formation_00), N(nok_01), "ほしのせい レクチャー"), {}, }; StageList N(Stages) = { - { "nok_01", &N(nok_01) }, + STAGE("nok_01", N(nok_01)), {}, }; diff --git a/src/battle/battle.c b/src/battle/battle.c index bfc00ac0f7..2fff596f41 100644 --- a/src/battle/battle.c +++ b/src/battle/battle.c @@ -163,7 +163,7 @@ void setup_demo_player(void) { playerData->curMaxFP = 10; playerData->hardMaxFP = 10; playerData->level = 3; - playerData->hasActionCommands = 1; + playerData->hasActionCommands = TRUE; playerData->starPoints = 55; playerData->bootsLevel = 0; playerData->hammerLevel = 0; @@ -229,7 +229,7 @@ void load_demo_battle(u32 index) { clear_printers(); clear_item_entity_data(); clear_player_data(); - initialize_status_menu(); + initialize_status_bar(); clear_item_entity_data(); set_screen_overlay_params_front(OVERLAY_TYPE_9, 255.0f); diff --git a/src/battle/battle.h b/src/battle/battle.h index d7a8795485..bc4a09cd41 100644 --- a/src/battle/battle.h +++ b/src/battle/battle.h @@ -57,6 +57,26 @@ enum BattleAreaIDs { BTL_AREA_OMO2_6 = 0x2E, }; +enum BattlePositions { + BTL_POS_GROUND_A = 0, + BTL_POS_GROUND_B = 1, + BTL_POS_GROUND_C = 2, + BTL_POS_GROUND_D = 3, + BTL_POS_AIR_A = 4, + BTL_POS_AIR_B = 5, + BTL_POS_AIR_C = 6, + BTL_POS_AIR_D = 7, + BTL_POS_HIGH_A = 8, + BTL_POS_HIGH_B = 9, + BTL_POS_HIGH_C = 10, + BTL_POS_HIGH_D = 11, + BTL_POS_TOP_A = 12, + BTL_POS_TOP_B = 13, + BTL_POS_TOP_C = 14, + BTL_POS_TOP_D = 15, + BTL_POS_CENTER = 16, +}; + typedef enum ActorType { ACTOR_TYPE_RED_GOOMBA = 0x00, ACTOR_TYPE_RED_PARAGOOMBA = 0x01, @@ -324,9 +344,9 @@ typedef struct ActorBlueprint { /* 0x1E */ u8 powerBounceChance; /* 0x1F */ u8 coinReward; /* 0x20 */ Vec2b size; - /* 0x22 */ Vec2b hpBarOffset; + /* 0x22 */ Vec2b healthBarOffset; /* 0x24 */ Vec2b statusIconOffset; - /* 0x26 */ Vec2b statusMessageOffset; + /* 0x26 */ Vec2b statusTextOffset; } ActorBlueprint; // size = 0x28 typedef struct FormationRow { @@ -382,7 +402,7 @@ typedef Battle BattleList[]; /// Zero-terminated. typedef struct StageListRow { - /* 0x00 */ const char* id; ///< Map ID. + /* 0x00 */ const char* name; ///< Map ID. /* 0x04 */ Stage* stage; } StageListRow; // size = 0x08 @@ -401,10 +421,13 @@ typedef struct BattleArea { extern BattleArea gBattleAreas[0x30]; -#define BATTLE(formation, stage, name) { name, ARRAY_COUNT(formation), (Formation*) formation, stage } -#define BATTLE_WITH_SCRIPT(formation, stage, script, name) { name, ARRAY_COUNT(formation), (Formation*) formation, stage, script } +#define BATTLE(formation, stage, name) { name, ARRAY_COUNT(formation), (Formation*) formation, &stage } +#define BATTLE_WITH_SCRIPT(formation, stage, script, name) { name, ARRAY_COUNT(formation), (Formation*) formation, &stage, &script } -// TODO: enum for home position (0..3 are floor, 4..7 are air, etc.) +#define ACTOR_BY_IDX(_name, _idx, _priority, args...) { .actor = &_name, .home = { .index = _idx }, .priority = _priority, args } +#define ACTOR_BY_POS(_name, _pos, _priority, args...) { .actor = &_name, .home = { .vec = &_pos }, .priority = _priority, args } + +#define STAGE(_name, _stage) { .name = _name, .stage = &_stage } typedef struct ActorSounds { /* 0x00 */ s32 walk[2]; @@ -436,4 +459,10 @@ void func_80072BCC(s32 arg0); void load_demo_battle(u32 index); Actor* create_actor(Formation formation); +#define EXEC_DEATH_NO_SPINNING -12345 +#define ACTOR_API_SKIP_ARG -12345678 + +#define DANGER_THRESHOLD 5 +#define PERIL_THRESHOLD 1 + #endif diff --git a/src/battle/btl_evt_library.c b/src/battle/btl_evt_library.c index 4579cde050..ceb2dcde19 100644 --- a/src/battle/btl_evt_library.c +++ b/src/battle/btl_evt_library.c @@ -1007,7 +1007,7 @@ EvtScript EVS_Player_NextSlapLeft_Impl = { EvtScript EVS_Player_LastSlapRight_Impl = { EVT_CHILD_THREAD - EVT_CALL(MakeLerp, 0, 2160, 60, 10) + EVT_CALL(MakeLerp, 0, 0x00000870, 60, EASING_COS_IN_OUT) EVT_LABEL(1) EVT_CALL(UpdateLerp) EVT_CALL(SetActorYaw, ACTOR_SELF, LVar0) @@ -1025,7 +1025,7 @@ EvtScript EVS_Player_LastSlapRight_Impl = { EvtScript EVS_Player_LastSlapLeft_Impl = { EVT_CHILD_THREAD - EVT_CALL(MakeLerp, 2160, 0, 60, 10) + EVT_CALL(MakeLerp, 0x00000870, 0, 60, EASING_COS_IN_OUT) EVT_LABEL(1) EVT_CALL(UpdateLerp) EVT_CALL(SetActorYaw, ACTOR_SELF, LVar0) @@ -1103,7 +1103,7 @@ EvtScript EVS_Player_NoDamageHit = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, LVar1) EVT_END_IF EVT_CALL(SetActorDispOffset, ACTOR_SELF, -2, 0, 0) @@ -1151,7 +1151,7 @@ EvtScript EVS_ForceNextTarget = { EVT_RETURN EVT_END_IF EVT_END_IF - EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) EVT_IF_NE(LVar0, -1) EVT_GOTO(0) EVT_END_IF @@ -1165,7 +1165,7 @@ EvtScript EVS_ForceNextTarget = { EVT_RETURN EVT_END_IF EVT_END_IF - EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) EVT_IF_NE(LVar0, -1) EVT_GOTO(1) EVT_END_IF @@ -1173,8 +1173,8 @@ EvtScript EVS_ForceNextTarget = { EVT_CALL(InitTargetIterator) EVT_LABEL(2) EVT_CALL(GetOwnerTarget, LVar0, LVar1) - EVT_CALL(SetActorFlagBits, LVar0, ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, 1) - EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_CALL(SetActorFlagBits, LVar0, ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, TRUE) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) EVT_IF_NE(LVar0, -1) EVT_GOTO(2) EVT_END_IF @@ -1289,7 +1289,7 @@ EvtScript EVS_Enemy_Hit = { EVT_EXEC(EVS_Enemy_FanSmack_Impl) EVT_END_IF EVT_CHILD_THREAD - EVT_CALL(MakeLerp, 0, 2160, 60, 10) + EVT_CALL(MakeLerp, 0, 0x00000870, 60, EASING_COS_IN_OUT) EVT_LABEL(0) EVT_CALL(UpdateLerp) EVT_CALL(SetActorYaw, ACTOR_SELF, LVar0) @@ -1324,7 +1324,7 @@ EvtScript EVS_Enemy_Hit = { EVT_EXEC(EVS_Enemy_FanSmack_Impl) EVT_END_IF EVT_CHILD_THREAD - EVT_CALL(MakeLerp, 2160, 0, 60, 10) + EVT_CALL(MakeLerp, 0x00000870, 0, 60, EASING_COS_IN_OUT) EVT_LABEL(1) EVT_CALL(UpdateLerp) EVT_CALL(SetActorYaw, ACTOR_SELF, LVar0) @@ -1491,7 +1491,7 @@ EvtScript EVS_Enemy_Hit_Impl = { EvtScript EVS_Enemy_BurnHit = { EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, EVENT_BURN_DEATH) - EVT_CALL(EnableActorGlow, ACTOR_SELF, 0) + EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) EVT_END_IF EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_CALL(GetDamageSource, LVar3) @@ -1601,9 +1601,9 @@ EvtScript EVS_Enemy_ShockHit_Impl = { EVT_ADDF(LVar1, LVar5) EVT_PLAY_EFFECT(EFFECT_FLASHING_BOX_SHOCKWAVE, 0, LVar0, LVar1, LVar2, LVar4, LVar3) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_HIT_SHOCK) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(HPBarToCurrent, ACTOR_SELF) - EVT_CALL(func_8027D2D8, ACTOR_SELF) + EVT_CALL(ShowHealthBar, ACTOR_SELF) EVT_CALL(AddActorPos, ACTOR_SELF, 0, 1, 0) EVT_CALL(AddEffectOffset, LVarF, 0, 1, 0) EVT_WAIT(1) @@ -1646,7 +1646,7 @@ EvtScript EVS_Enemy_ShockHit_Impl = { EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(5) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, EVENT_SHOCK_DEATH) @@ -1662,7 +1662,7 @@ EvtScript EVS_Enemy_ShockHit_Impl = { EvtScript EVS_Enemy_NoDamageHit = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar2) - EVT_IF_NOT_FLAG(LVar2, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar2, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_END_IF EVT_CALL(SetActorDispOffset, ACTOR_SELF, -2, 0, 0) @@ -1702,11 +1702,11 @@ EvtScript EVS_Enemy_Death = { EVT_END }; -// in LVar2: if set to -12345, the actor will not spin around +// in LVar2: if set to EXEC_DEATH_NO_SPINNING, the actor will not spin around EvtScript EVS_Enemy_DeathWithoutRemove = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(EnableActorGlow, ACTOR_SELF, 0) + EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) EVT_IF_NE(LVar1, -1) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_WAIT(10) @@ -1733,7 +1733,7 @@ EvtScript EVS_Enemy_DeathWithoutRemove = { EVT_END_CASE_GROUP EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_IF_NE(LVar2, -12345) // special signal value + EVT_IF_NE(LVar2, EXEC_DEATH_NO_SPINNING) // special signal value EVT_SET(LVar2, 0) EVT_LOOP(24) EVT_CALL(SetActorYaw, ACTOR_SELF, LVar2) @@ -1761,7 +1761,7 @@ EvtScript EVS_Enemy_DeathWithoutRemove = { }; EvtScript EVS_Enemy_ScareAway = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar2) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar9) @@ -1774,11 +1774,11 @@ EvtScript EVS_Enemy_ScareAway = { EVT_CALL(JumpToGoal, ACTOR_SELF, 3, FALSE, FALSE, FALSE) EVT_WAIT(20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) - EVT_CALL(EnableActorGlow, ACTOR_SELF, 0) + EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) EVT_CALL(FallToGoal, ACTOR_SELF, 7) EVT_ELSE EVT_WAIT(15) - EVT_CALL(EnableActorGlow, ACTOR_SELF, 0) + EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) EVT_END_IF EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_WAIT(17) @@ -1790,7 +1790,7 @@ EvtScript EVS_Enemy_ScareAway = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_EXEC_WAIT(EVS_ForceNextTarget) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN @@ -1804,11 +1804,11 @@ EvtScript EVS_Enemy_SpinSmash_HitNext = { EVT_CALL(GetOwnerID, LVar1) EVT_CALL(GetOwnerTarget, LVar0, LVar9) EVT_IF_NE(LVar1, LVar0) - EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) EVT_GOTO(0) EVT_END_IF EVT_LABEL(1) - EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) EVT_IF_EQ(LVar0, -1) EVT_GOTO(10) EVT_END_IF @@ -1828,7 +1828,7 @@ EvtScript EVS_Enemy_SpinSmash_HitNext = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(JumpToGoal, ACTOR_SELF, 0, FALSE, TRUE, FALSE) EVT_CHILD_THREAD - EVT_CALL(ShakeCam, 1, 0, 2, EVT_FLOAT(1.0)) + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1841,7 +1841,7 @@ EvtScript EVS_Enemy_SpinSmash_HitNext = { EVT_GOTO(1) EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_GOTO(1) // done EVT_LABEL(10) @@ -1877,15 +1877,15 @@ EvtScript EVS_Enemy_SpinSmash_ShakeCam = { EVT_SWITCH(LVar0) EVT_CASE_LT(1000) EVT_CHILD_THREAD - EVT_CALL(ShakeCam, 1, 0, 3, EVT_FLOAT(0.3)) + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 3, EVT_FLOAT(0.3)) EVT_END_CHILD_THREAD EVT_CASE_LT(2000) EVT_CHILD_THREAD - EVT_CALL(ShakeCam, 1, 0, 3, EVT_FLOAT(0.6)) + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 3, EVT_FLOAT(0.6)) EVT_END_CHILD_THREAD EVT_CASE_DEFAULT EVT_CHILD_THREAD - EVT_CALL(ShakeCam, 1, 0, 3, EVT_FLOAT(0.9)) + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 3, EVT_FLOAT(0.9)) EVT_END_CHILD_THREAD EVT_END_SWITCH EVT_RETURN @@ -2056,7 +2056,7 @@ EvtScript EVS_Enemy_HopToPos = { EvtScript EVS_Enemy_AirLift = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar2) - EVT_IF_NOT_FLAG(LVar2, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar2, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_CALL(SetAnimationRate, ACTOR_SELF, LVar0, EVT_FLOAT(2.0)) EVT_LOOP(10) @@ -2074,7 +2074,7 @@ EvtScript EVS_Enemy_AirLift = { EvtScript EVS_Enemy_BlowAway = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) - EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar5, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_ELSE EVT_SET(LocalFlag(0), 0) diff --git a/src/battle/common/actor/bandit.inc.c b/src/battle/common/actor/bandit.inc.c index 8f730f4360..cd1b3d7184 100644 --- a/src/battle/common/actor/bandit.inc.c +++ b/src/battle/common/actor/bandit.inc.c @@ -11,73 +11,78 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_COIN = 2, +}; + BSS s32 N(thread_dropCoin)[1]; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Bandit_Anim01, - STATUS_STONE, ANIM_Bandit_Anim00, - STATUS_SLEEP, ANIM_Bandit_Anim10, - STATUS_POISON, ANIM_Bandit_Anim01, - STATUS_STOP, ANIM_Bandit_Anim00, - STATUS_STATIC, ANIM_Bandit_Anim01, - STATUS_PARALYZE, ANIM_Bandit_Anim00, - STATUS_DIZZY, ANIM_Bandit_Anim11, - STATUS_FEAR, ANIM_Bandit_Anim11, + STATUS_KEY_NORMAL, ANIM_Bandit_Anim01, + STATUS_KEY_STONE, ANIM_Bandit_Anim00, + STATUS_KEY_SLEEP, ANIM_Bandit_Anim10, + STATUS_KEY_POISON, ANIM_Bandit_Anim01, + STATUS_KEY_STOP, ANIM_Bandit_Anim00, + STATUS_KEY_STATIC, ANIM_Bandit_Anim01, + STATUS_KEY_PARALYZE, ANIM_Bandit_Anim00, + STATUS_KEY_DIZZY, ANIM_Bandit_Anim11, + STATUS_KEY_FEAR, ANIM_Bandit_Anim11, STATUS_END, }; s32 N(IdleAnimations_holdCoin)[] = { - STATUS_NORMAL, ANIM_Bandit_Anim02, - STATUS_STONE, ANIM_Bandit_Anim04, - STATUS_SLEEP, ANIM_Bandit_Anim10, - STATUS_POISON, ANIM_Bandit_Anim02, - STATUS_STOP, ANIM_Bandit_Anim04, - STATUS_STATIC, ANIM_Bandit_Anim02, - STATUS_PARALYZE, ANIM_Bandit_Anim04, - STATUS_DIZZY, ANIM_Bandit_Anim11, - STATUS_FEAR, ANIM_Bandit_Anim11, + STATUS_KEY_NORMAL, ANIM_Bandit_Anim02, + STATUS_KEY_STONE, ANIM_Bandit_Anim04, + STATUS_KEY_SLEEP, ANIM_Bandit_Anim10, + STATUS_KEY_POISON, ANIM_Bandit_Anim02, + STATUS_KEY_STOP, ANIM_Bandit_Anim04, + STATUS_KEY_STATIC, ANIM_Bandit_Anim02, + STATUS_KEY_PARALYZE, ANIM_Bandit_Anim04, + STATUS_KEY_DIZZY, ANIM_Bandit_Anim11, + STATUS_KEY_FEAR, ANIM_Bandit_Anim11, STATUS_END, }; s32 N(IdleAnimations_coin)[] = { - STATUS_NORMAL, ANIM_Bandit_Anim14, + STATUS_KEY_NORMAL, ANIM_Bandit_Anim14, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 20, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 50, - STATUS_STATIC, 30, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 90, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 20, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 50, + STATUS_KEY_STATIC, 30, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 28 }, .opacity = 255, @@ -89,7 +94,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_COIN, .posOffset = { 0, 30, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -101,10 +106,10 @@ ActorPartBlueprint N(parts)[] = { }, }; -ActorPartBlueprint N(parts_coin)[] = { +ActorPartBlueprint N(ActorParts_coin)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_COIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -121,8 +126,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BANDIT, .level = 9, .maxHP = 5, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 40, @@ -134,9 +139,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 1, .size = { 26, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 25 }, - .statusMessageOffset = { 10, 25 }, + .statusTextOffset = { 10, 25 }, }; ActorBlueprint N(coin) = { @@ -144,8 +149,8 @@ ActorBlueprint N(coin) = { .type = ACTOR_TYPE_BANDIT, .level = 9, .maxHP = 5, - .partCount = ARRAY_COUNT(N(parts_coin)), - .partsData = N(parts_coin), + .partCount = ARRAY_COUNT(N(ActorParts_coin)), + .partsData = N(ActorParts_coin), .initScript = &N(init_coin), .statusTable = N(StatusTable), .escapeChance = 40, @@ -157,15 +162,15 @@ ActorBlueprint N(coin) = { .powerBounceChance = 80, .coinReward = 1, .size = { 26, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 25 }, - .statusMessageOffset = { 10, 25 }, + .statusTextOffset = { 10, 25 }, }; Vec3i N(coin_pos) = { NPC_DISPOSE_LOCATION }; Formation N(formation_coin) = { - { .actor = &N(coin), .home = { .vec = &N(coin_pos) }}, + ACTOR_BY_POS(N(coin), N(coin_pos), 0), }; EvtScript N(init) = { @@ -201,13 +206,13 @@ EvtScript N(dropCoin) = { EVT_CASE_EQ(0) EVT_CASE_EQ(1) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_COIN, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) EVT_CALL(SummonEnemy, EVT_PTR(N(formation_coin)), 0) EVT_SET(LVarA, LVar0) - EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar1, LVar2, LVar3) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_COIN, LVar1, LVar2, LVar3) EVT_CALL(SetActorPos, LVarA, LVar1, LVar2, LVar3) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_COIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_CALL(SetActorVar, LVarA, 1, LVar0) EVT_CALL(SetActorJumpGravity, LVarA, EVT_FLOAT(1.0)) @@ -475,7 +480,7 @@ EvtScript N(handleEvent) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -489,13 +494,13 @@ EvtScript N(takeTurn) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim08) EVT_WAIT(30) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, 300, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_BATTLE_FLED, TRUE) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END_IF @@ -510,16 +515,16 @@ EvtScript N(takeTurn) = { EVT_SET(LVar1, 0) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim07) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim01) EVT_WAIT(6) EVT_END_IF EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim05) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 35, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -530,7 +535,7 @@ EvtScript N(takeTurn) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim0D) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -552,20 +557,20 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim07) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim01) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim0D) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -615,9 +620,9 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim01) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim07) EVT_CASE_EQ(1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) @@ -625,12 +630,12 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim0E) EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim10) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim07) EVT_CASE_DEFAULT EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -640,14 +645,14 @@ EvtScript N(takeTurn) = { EVT_MUL(LVar0, -1) EVT_CALL(AddCoin, LVar0) EVT_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_COIN, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_COIN, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.0)) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_COIN, LVar0, LVar1, LVar2) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_COIN, EVT_FLOAT(1.0)) EVT_ADD(LVarB, 30) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVarA, LVarB, LVarC, 22, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_COIN, LVarA, LVarB, LVarC, 22, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_COIN, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, FALSE) EVT_END_THREAD EVT_THREAD EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) @@ -659,13 +664,13 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_holdCoin))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0E) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_holdCoin))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim0E) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_WAIT(7) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim0F) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bandit_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bandit_Anim08) EVT_END_SWITCH EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) diff --git a/src/battle/common/actor/buzzy_beetle.inc.c b/src/battle/common/actor/buzzy_beetle.inc.c index 898fbd0d60..2c6dbe318a 100644 --- a/src/battle/common/actor/buzzy_beetle.inc.c +++ b/src/battle/common/actor/buzzy_beetle.inc.c @@ -12,47 +12,51 @@ extern EvtScript N(handleEvent_ceiling); extern EvtScript N(takeTurn); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 2, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 99, + ELEMENT_NORMAL, 2, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 99, ELEMENT_END, }; -s32 N(DefenseTable_flipped)[] = { - ELEMENT_NORMAL, 0, +s32 N(DefenseTable_Flipped)[] = { + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 90, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 90, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, .opacity = 255, @@ -69,8 +73,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BUZZY_BEETLE, .level = 10, .maxHP = 3, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 60, @@ -82,69 +86,69 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 1, .size = { 22, 18 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -8, 16 }, - .statusMessageOffset = { 8, 13 }, + .statusTextOffset = { 8, 13 }, }; s32 N(IdleAnimations_normal)[] = { - STATUS_NORMAL, ANIM_BuzzyBeetle_Anim01, - STATUS_STONE, ANIM_BuzzyBeetle_Anim00, - STATUS_SLEEP, ANIM_BuzzyBeetle_Anim09, - STATUS_POISON, ANIM_BuzzyBeetle_Anim01, - STATUS_STOP, ANIM_BuzzyBeetle_Anim00, - STATUS_STATIC, ANIM_BuzzyBeetle_Anim01, - STATUS_PARALYZE, ANIM_BuzzyBeetle_Anim00, - STATUS_DIZZY, ANIM_BuzzyBeetle_Anim0A, - STATUS_FEAR, ANIM_BuzzyBeetle_Anim0A, + STATUS_KEY_NORMAL, ANIM_BuzzyBeetle_Anim01, + STATUS_KEY_STONE, ANIM_BuzzyBeetle_Anim00, + STATUS_KEY_SLEEP, ANIM_BuzzyBeetle_Anim09, + STATUS_KEY_POISON, ANIM_BuzzyBeetle_Anim01, + STATUS_KEY_STOP, ANIM_BuzzyBeetle_Anim00, + STATUS_KEY_STATIC, ANIM_BuzzyBeetle_Anim01, + STATUS_KEY_PARALYZE, ANIM_BuzzyBeetle_Anim00, + STATUS_KEY_DIZZY, ANIM_BuzzyBeetle_Anim0A, + STATUS_KEY_FEAR, ANIM_BuzzyBeetle_Anim0A, STATUS_END, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BuzzyBeetle_Anim0F, - STATUS_STONE, ANIM_BuzzyBeetle_Anim0E, - STATUS_SLEEP, ANIM_BuzzyBeetle_Anim14, - STATUS_POISON, ANIM_BuzzyBeetle_Anim0F, - STATUS_STOP, ANIM_BuzzyBeetle_Anim0E, - STATUS_STATIC, ANIM_BuzzyBeetle_Anim0F, - STATUS_PARALYZE, ANIM_BuzzyBeetle_Anim0E, - STATUS_DIZZY, ANIM_BuzzyBeetle_Anim15, - STATUS_FEAR, ANIM_BuzzyBeetle_Anim15, + STATUS_KEY_NORMAL, ANIM_BuzzyBeetle_Anim0F, + STATUS_KEY_STONE, ANIM_BuzzyBeetle_Anim0E, + STATUS_KEY_SLEEP, ANIM_BuzzyBeetle_Anim14, + STATUS_KEY_POISON, ANIM_BuzzyBeetle_Anim0F, + STATUS_KEY_STOP, ANIM_BuzzyBeetle_Anim0E, + STATUS_KEY_STATIC, ANIM_BuzzyBeetle_Anim0F, + STATUS_KEY_PARALYZE, ANIM_BuzzyBeetle_Anim0E, + STATUS_KEY_DIZZY, ANIM_BuzzyBeetle_Anim15, + STATUS_KEY_FEAR, ANIM_BuzzyBeetle_Anim15, STATUS_END, }; s32 N(IdleAnimations_flipped)[] = { - STATUS_NORMAL, ANIM_BuzzyBeetle_Anim02, - STATUS_STONE, ANIM_BuzzyBeetle_Anim1A, - STATUS_SLEEP, ANIM_BuzzyBeetle_Anim1B, - STATUS_POISON, ANIM_BuzzyBeetle_Anim02, - STATUS_STOP, ANIM_BuzzyBeetle_Anim1A, - STATUS_STATIC, ANIM_BuzzyBeetle_Anim02, - STATUS_DIZZY, ANIM_BuzzyBeetle_Anim1C, - STATUS_FEAR, ANIM_BuzzyBeetle_Anim1C, + STATUS_KEY_NORMAL, ANIM_BuzzyBeetle_Anim02, + STATUS_KEY_STONE, ANIM_BuzzyBeetle_Anim1A, + STATUS_KEY_SLEEP, ANIM_BuzzyBeetle_Anim1B, + STATUS_KEY_POISON, ANIM_BuzzyBeetle_Anim02, + STATUS_KEY_STOP, ANIM_BuzzyBeetle_Anim1A, + STATUS_KEY_STATIC, ANIM_BuzzyBeetle_Anim02, + STATUS_KEY_DIZZY, ANIM_BuzzyBeetle_Anim1C, + STATUS_KEY_FEAR, ANIM_BuzzyBeetle_Anim1C, STATUS_END, }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(init) = { EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 0, 10, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 0, 10, 0) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_ceiling))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_ceiling))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, FALSE) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 16) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_normal))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_normal))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_END_IF EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -159,21 +163,21 @@ EvtScript N(idle) = { }; EvtScript N(fallOff) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 16) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(SetActorVar, ACTOR_SELF, 9, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim08) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) @@ -201,7 +205,7 @@ EvtScript N(fallOff) = { EVT_ADD(LVar1, LVarE) EVT_ADD(LVar2, LVarF) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim02) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -369,13 +373,13 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 16) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) EVT_CALL(SetActorVar, ACTOR_SELF, 9, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim07) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(1) @@ -399,7 +403,7 @@ EvtScript N(handleEvent) = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim19) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim19) EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BuzzyBeetle_Anim07) @@ -424,7 +428,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BuzzyBeetle_Anim0C) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim17) EVT_WAIT(8) EVT_ELSE EVT_SET_CONST(LVar0, 1) @@ -437,7 +441,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BuzzyBeetle_Anim0C) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0D) EVT_WAIT(8) EVT_ELSE EVT_SET_CONST(LVar0, 1) @@ -527,7 +531,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BuzzyBeetle_Anim0C) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0D) EVT_WAIT(8) EVT_ELSE EVT_SET_CONST(LVar0, 1) @@ -547,14 +551,14 @@ EvtScript N(takeTurn_ceiling) = { EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 16) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_normal))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_normal))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) EVT_MOD(LVar0, 4) EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) @@ -570,16 +574,16 @@ EvtScript N(takeTurn_ceiling) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar4, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0E) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim11) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar4, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0E) EVT_WAIT(8) EVT_END_IF EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_301, 0) @@ -597,8 +601,8 @@ EvtScript N(takeTurn_ceiling) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetPartYaw, ACTOR_SELF, 1, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim08) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_MAIN, 180) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim08) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -616,7 +620,7 @@ EvtScript N(takeTurn_ceiling) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim00) EVT_END_THREAD EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -626,11 +630,11 @@ EvtScript N(takeTurn_ceiling) = { EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim04) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim04) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim01) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim01) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -638,7 +642,7 @@ EvtScript N(takeTurn_ceiling) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim08) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -663,7 +667,7 @@ EvtScript N(takeTurn_ceiling) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim00) EVT_END_THREAD EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -673,7 +677,7 @@ EvtScript N(takeTurn_ceiling) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BuzzyBeetle_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_LABEL(10) @@ -692,24 +696,24 @@ EvtScript N(takeTurn) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 9, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BuzzyBeetle_Anim02) EVT_SET_CONST(LVar2, ANIM_BuzzyBeetle_Anim01) EVT_EXEC_WAIT(EVS_Enemy_FlipBackUp) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 16) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_normal))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 16) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_normal))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_END_IF @@ -721,9 +725,9 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0C) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim06) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) @@ -733,7 +737,7 @@ EvtScript N(takeTurn) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim05) EVT_WAIT(20) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20D3) @@ -766,7 +770,7 @@ EvtScript N(takeTurn) = { EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 200) @@ -774,9 +778,9 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim0D) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim0D) EVT_WAIT(10) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -803,14 +807,14 @@ EvtScript N(takeTurn) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim01) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BuzzyBeetle_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BuzzyBeetle_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BuzzyBeetle_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/bzzap.inc.c b/src/battle/common/actor/bzzap.inc.c index a416449656..34728e1908 100644 --- a/src/battle/common/actor/bzzap.inc.c +++ b/src/battle/common/actor/bzzap.inc.c @@ -8,53 +8,62 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Bzzap_Anim01, - STATUS_STONE, ANIM_Bzzap_Anim00, - STATUS_SLEEP, ANIM_Bzzap_Anim09, - STATUS_POISON, ANIM_Bzzap_Anim01, - STATUS_STOP, ANIM_Bzzap_Anim00, - STATUS_STATIC, ANIM_Bzzap_Anim01, - STATUS_PARALYZE, ANIM_Bzzap_Anim00, - STATUS_DIZZY, ANIM_Bzzap_Anim0A, - STATUS_FEAR, ANIM_Bzzap_Anim0A, + STATUS_KEY_NORMAL, ANIM_Bzzap_Anim01, + STATUS_KEY_STONE, ANIM_Bzzap_Anim00, + STATUS_KEY_SLEEP, ANIM_Bzzap_Anim09, + STATUS_KEY_POISON, ANIM_Bzzap_Anim01, + STATUS_KEY_STOP, ANIM_Bzzap_Anim00, + STATUS_KEY_STATIC, ANIM_Bzzap_Anim01, + STATUS_KEY_PARALYZE, ANIM_Bzzap_Anim00, + STATUS_KEY_DIZZY, ANIM_Bzzap_Anim0A, + STATUS_KEY_FEAR, ANIM_Bzzap_Anim0A, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -7, 33 }, .opacity = 255, @@ -66,7 +75,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -78,7 +87,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -90,7 +99,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -102,7 +111,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -114,7 +123,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -131,8 +140,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BZZAP, .level = 19, .maxHP = 3, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 40, @@ -144,12 +153,12 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 1, .size = { 38, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" API_CALLABLE(N(AddVecXZ)) { Bytecode* args = script->ptrReadPos; @@ -170,11 +179,11 @@ EvtScript N(init) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_CALL(SetPartScale, ACTOR_SELF, 4, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_CALL(SetPartScale, ACTOR_SELF, 5, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_4, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_5, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_RETURN EVT_END }; @@ -183,13 +192,13 @@ EvtScript N(idle) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_SLEEP | STATUS_FLAG_DIZZY) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -7, 19) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 2, -6) - EVT_CALL(N(UnkBattleFunc1), -20, 20, 10, 27) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -7, 19) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 2, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -20, 20, 10, 27) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -7, 33) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 2, -10) - EVT_CALL(N(UnkBattleFunc1), -16, 22, 4, 22) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -7, 33) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 2, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -16, 22, 4, 22) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -198,8 +207,8 @@ EvtScript N(idle) = { }; EvtScript N(returnHome) = { - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bzzap_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) @@ -299,7 +308,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 3, 0) EVT_ELSE @@ -324,7 +333,7 @@ EvtScript N(attackThornStab) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bzzap_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bzzap_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 52, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -344,7 +353,7 @@ EvtScript N(attackThornStab) = { EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_QUADRATIC_OUT) EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20CA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bzzap_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bzzap_Anim04) EVT_WAIT(10) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -353,9 +362,9 @@ EvtScript N(attackThornStab) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -372,10 +381,10 @@ EvtScript N(attackThornStab) = { EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_QUADRATIC_OUT) EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20CA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bzzap_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bzzap_Anim04) EVT_WAIT(6) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 40), 6, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 40), 6, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -464,16 +473,16 @@ EvtScript N(attackSwarmSting) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_FLY, 0, 0) - EVT_CALL(SetPartSounds, ACTOR_SELF, 3, ACTOR_SOUND_FLY, 0, 0) - EVT_CALL(SetPartSounds, ACTOR_SELF, 4, ACTOR_SOUND_FLY, 0, 0) - EVT_CALL(SetPartSounds, ACTOR_SELF, 5, ACTOR_SOUND_FLY, 0, 0) - EVT_CALL(SetPartSounds, ACTOR_SELF, 6, ACTOR_SOUND_FLY, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_FLY, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_3, ACTOR_SOUND_FLY, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_4, ACTOR_SOUND_FLY, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_5, ACTOR_SOUND_FLY, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_6, ACTOR_SOUND_FLY, 0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20CC) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bzzap_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bzzap_Anim05) EVT_WAIT(40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bzzap_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Bzzap_Anim01) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(PlaySound, SOUND_358) EVT_SET(LVar0, 2) @@ -502,98 +511,98 @@ EvtScript N(attackSwarmSting) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_20CB) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Bzzap_Anim04) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_20CB) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Bzzap_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -30, -20, 1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 2, EVT_FLOAT(3.0)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Bzzap_Anim03) - EVT_CALL(SetPartYaw, ACTOR_SELF, 2, 180) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_2, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 100) EVT_ADD(LVar2, 100) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(FlyPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(11) EVT_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 3, SOUND_20CB) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_Bzzap_Anim04) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_3, SOUND_20CB) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_Bzzap_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -30, -20, 1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(3.0)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_Bzzap_Anim03) - EVT_CALL(SetPartYaw, ACTOR_SELF, 3, 180) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_3, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 100) EVT_ADD(LVar2, 100) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 3, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 3, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_3, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_3, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(11) EVT_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 4, SOUND_20CB) - EVT_CALL(SetAnimation, ACTOR_SELF, 4, ANIM_Bzzap_Anim04) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_4, SOUND_20CB) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_4, ANIM_Bzzap_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -30, -20, 1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 4, EVT_FLOAT(3.0)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 4, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 4, ANIM_Bzzap_Anim03) - EVT_CALL(SetPartYaw, ACTOR_SELF, 4, 180) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_4, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_4, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_4, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 100) EVT_ADD(LVar2, 100) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 4, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(FlyPartTo, ACTOR_SELF, 4, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 4, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_4, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_4, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(11) EVT_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 5, SOUND_20CB) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_Bzzap_Anim04) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_5, SOUND_20CB) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_Bzzap_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -30, -20, 1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 5, EVT_FLOAT(3.0)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 5, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_Bzzap_Anim03) - EVT_CALL(SetPartYaw, ACTOR_SELF, 5, 180) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_5, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_5, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 100) EVT_ADD(LVar2, 100) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 5, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(FlyPartTo, ACTOR_SELF, 5, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 5, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_5, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_5, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(11) EVT_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 6, SOUND_20CB) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Bzzap_Anim04) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_6, SOUND_20CB) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Bzzap_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -30, -20, 1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(3.0)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Bzzap_Anim03) - EVT_CALL(SetPartYaw, ACTOR_SELF, 6, 180) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_6, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 100) EVT_ADD(LVar2, 100) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 6, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 6, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_6, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_6, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(11) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) @@ -610,93 +619,93 @@ EvtScript N(attackSwarmSting) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_20CB) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Bzzap_Anim04) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_20CB) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Bzzap_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -10, -10, 1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 2, EVT_FLOAT(3.0)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_2, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 1, BS_FLAGS1_10) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Bzzap_Anim03) - EVT_CALL(SetPartYaw, ACTOR_SELF, 2, 180) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_2, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 100) EVT_ADD(LVar2, 100) - EVT_CALL(FlyPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_2, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(11) EVT_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 3, SOUND_20CB) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_Bzzap_Anim04) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_3, SOUND_20CB) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_Bzzap_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -10, -10, 1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(3.0)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 1, BS_FLAGS1_40) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_Bzzap_Anim03) - EVT_CALL(SetPartYaw, ACTOR_SELF, 3, 180) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_3, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 100) EVT_ADD(LVar2, 100) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(11) EVT_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 4, SOUND_20CB) - EVT_CALL(SetAnimation, ACTOR_SELF, 4, ANIM_Bzzap_Anim04) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_4, SOUND_20CB) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_4, ANIM_Bzzap_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -10, -10, 1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 4, EVT_FLOAT(3.0)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 4, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_4, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 1, BS_FLAGS1_40) - EVT_CALL(SetAnimation, ACTOR_SELF, 4, ANIM_Bzzap_Anim03) - EVT_CALL(SetPartYaw, ACTOR_SELF, 4, 180) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_4, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_4, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 100) EVT_ADD(LVar2, 100) - EVT_CALL(FlyPartTo, ACTOR_SELF, 4, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(11) EVT_THREAD - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 5, SOUND_20CB) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_Bzzap_Anim04) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_5, SOUND_20CB) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_Bzzap_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -10, -10, 1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 5, EVT_FLOAT(3.0)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 5, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_5, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 1, BS_FLAGS1_40) - EVT_CALL(SetAnimation, ACTOR_SELF, 5, ANIM_Bzzap_Anim03) - EVT_CALL(SetPartYaw, ACTOR_SELF, 5, 180) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_5, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_5, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 100) EVT_ADD(LVar2, 100) - EVT_CALL(FlyPartTo, ACTOR_SELF, 5, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_5, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_WAIT(11) EVT_WAIT(1) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 6, SOUND_20CB) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Bzzap_Anim04) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_6, SOUND_20CB) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Bzzap_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -10, -10, 1) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(3.0)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, -10, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) @@ -704,13 +713,13 @@ EvtScript N(attackSwarmSting) = { EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Bzzap_Anim03) - EVT_CALL(SetPartYaw, ACTOR_SELF, 6, 180) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Bzzap_Anim03) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_6, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 100) EVT_ADD(LVar2, 100) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 10, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(StopSound, SOUND_358) EVT_CALL(YieldTurn) EVT_END_CASE_GROUP diff --git a/src/battle/common/actor/clubba.inc.c b/src/battle/common/actor/clubba.inc.c index 8f8c39d46c..c91b91de68 100644 --- a/src/battle/common/actor/clubba.inc.c +++ b/src/battle/common/actor/clubba.inc.c @@ -8,53 +8,57 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleClubba_Anim01, - STATUS_STONE, ANIM_BattleClubba_Anim00, - STATUS_SLEEP, ANIM_BattleClubba_Anim03, - STATUS_POISON, ANIM_BattleClubba_Anim01, - STATUS_STOP, ANIM_BattleClubba_Anim00, - STATUS_STATIC, ANIM_BattleClubba_Anim01, - STATUS_PARALYZE, ANIM_BattleClubba_Anim00, - STATUS_DIZZY, ANIM_BattleClubba_Anim05, - STATUS_FEAR, ANIM_BattleClubba_Anim05, + STATUS_KEY_NORMAL, ANIM_BattleClubba_Anim01, + STATUS_KEY_STONE, ANIM_BattleClubba_Anim00, + STATUS_KEY_SLEEP, ANIM_BattleClubba_Anim03, + STATUS_KEY_POISON, ANIM_BattleClubba_Anim01, + STATUS_KEY_STOP, ANIM_BattleClubba_Anim00, + STATUS_KEY_STATIC, ANIM_BattleClubba_Anim01, + STATUS_KEY_PARALYZE, ANIM_BattleClubba_Anim00, + STATUS_KEY_DIZZY, ANIM_BattleClubba_Anim05, + STATUS_KEY_FEAR, ANIM_BattleClubba_Anim05, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 90, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -12, 32 }, .opacity = 255, @@ -71,8 +75,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_CLUBBA, .level = 13, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 60, @@ -84,9 +88,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 1, .size = { 42, 42 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 35 }, + .statusTextOffset = { 10, 35 }, }; EvtScript N(init) = { @@ -217,7 +221,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_WAIT(15) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Anim02) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -227,7 +231,7 @@ EvtScript N(takeTurn) = { EVT_CALL(AddGoalPos, ACTOR_SELF, 10, 0, -6) EVT_END_IF EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Anim01) EVT_WAIT(10) EVT_END_IF EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -236,7 +240,7 @@ EvtScript N(takeTurn) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Anim08) EVT_WAIT(10) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -245,21 +249,21 @@ EvtScript N(takeTurn) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim02) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Anim09) EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Anim0A) EVT_WAIT(2) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) diff --git a/src/battle/common/actor/duplighost.inc.c b/src/battle/common/actor/duplighost.inc.c index e013333d13..29e97730dd 100644 --- a/src/battle/common/actor/duplighost.inc.c +++ b/src/battle/common/actor/duplighost.inc.c @@ -10,63 +10,67 @@ extern EvtScript N(idle); extern EvtScript N(handleEvent); extern EvtScript N(nextTurn); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Duplighost_Anim02, - STATUS_STONE, ANIM_Duplighost_Anim00, - STATUS_SLEEP, ANIM_Duplighost_Anim0D, - STATUS_POISON, ANIM_Duplighost_Anim02, - STATUS_STOP, ANIM_Duplighost_Anim00, - STATUS_STATIC, ANIM_Duplighost_Anim02, - STATUS_PARALYZE, ANIM_Duplighost_Anim00, - STATUS_DIZZY, ANIM_Duplighost_Anim0E, - STATUS_FEAR, ANIM_Duplighost_Anim0E, + STATUS_KEY_NORMAL, ANIM_Duplighost_Anim02, + STATUS_KEY_STONE, ANIM_Duplighost_Anim00, + STATUS_KEY_SLEEP, ANIM_Duplighost_Anim0D, + STATUS_KEY_POISON, ANIM_Duplighost_Anim02, + STATUS_KEY_STOP, ANIM_Duplighost_Anim00, + STATUS_KEY_STATIC, ANIM_Duplighost_Anim02, + STATUS_KEY_PARALYZE, ANIM_Duplighost_Anim00, + STATUS_KEY_DIZZY, ANIM_Duplighost_Anim0E, + STATUS_KEY_FEAR, ANIM_Duplighost_Anim0E, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_Duplighost_Anim0A, + STATUS_KEY_NORMAL, ANIM_Duplighost_Anim0A, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_Duplighost_Anim04, + STATUS_KEY_NORMAL, ANIM_Duplighost_Anim04, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 75, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 75, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 25 }, .opacity = 255, @@ -83,8 +87,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_DUPLIGHOST, .level = 23, .maxHP = 15, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -96,9 +100,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 2, .size = { 36, 36 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -243,7 +247,7 @@ EvtScript N(attack) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Duplighost_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Duplighost_Anim07) EVT_WAIT(20) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_2CB, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -252,7 +256,7 @@ EvtScript N(attack) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Duplighost_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Duplighost_Anim08) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -100, 0, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.3)) @@ -263,21 +267,21 @@ EvtScript N(attack) = { EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, 0, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Duplighost_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Duplighost_Anim02) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Duplighost_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Duplighost_Anim08) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) @@ -295,7 +299,7 @@ EvtScript N(attack) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Duplighost_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Duplighost_Anim09) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_ADD(LVar0, 30) @@ -324,12 +328,12 @@ EvtScript N(OnDeath) = { EvtScript N(OnHitElectric) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_WAIT(30) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) EVT_CALL(UseIdleAnimation, LVarA, FALSE) - EVT_CALL(func_8027D32C, LVarA) + EVT_CALL(HideHealthBar, LVarA) EVT_CALL(CopyStatusEffects, ACTOR_SELF, LVarA) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SMOKE_BURST) EVT_THREAD @@ -385,7 +389,7 @@ EvtScript N(OnHitElectric) = { EvtScript N(OnShockHit) = { EVT_SET(LVar9, LVar0) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) @@ -398,7 +402,7 @@ EvtScript N(OnShockHit) = { EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) EVT_CALL(UseIdleAnimation, LVarA, FALSE) - EVT_CALL(func_8027D32C, LVarA) + EVT_CALL(HideHealthBar, LVarA) EVT_CALL(CopyStatusEffects, ACTOR_SELF, LVarA) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SMOKE_BURST) EVT_THREAD @@ -463,7 +467,7 @@ EvtScript N(OnShockHit) = { }; EvtScript N(OnShockDeath) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_SET(LVarA, LVar0) EVT_SET(LVarB, LVar1) EVT_SET(LVarC, LVar2) @@ -513,49 +517,49 @@ Vec3i N(pos_summon) = { NPC_DISPOSE_LOCATION }; #include "ghost_goombario.inc.c" Formation N(formation_goombario) = { - { .actor = &N(goombario), .home = { .vec = &N(pos_summon) }, .priority = 0 }, + ACTOR_BY_POS(N(goombario), N(pos_summon), 0), }; #include "ghost_kooper.inc.c" Formation N(formation_kooper) = { - { .actor = &N(kooper), .home = { .vec = &N(pos_summon) }, .priority = 0 }, + ACTOR_BY_POS(N(kooper), N(pos_summon), 0), }; #include "ghost_bombette.inc.c" Formation N(formation_bombette) = { - { .actor = &N(bombette), .home = { .vec = &N(pos_summon) }, .priority = 0 }, + ACTOR_BY_POS(N(bombette), N(pos_summon), 0), }; #include "ghost_parakarry.inc.c" Formation N(formation_parakarry) = { - { .actor = &N(parakarry), .home = { .vec = &N(pos_summon) }, .priority = 0 }, + ACTOR_BY_POS(N(parakarry), N(pos_summon), 0), }; #include "ghost_bow.inc.c" Formation N(formation_bow) = { - { .actor = &N(bow), .home = { .vec = &N(pos_summon) }, .priority = 0 }, + ACTOR_BY_POS(N(bow), N(pos_summon), 0), }; #include "ghost_watt.inc.c" Formation N(formation_watt) = { - { .actor = &N(watt), .home = { .vec = &N(pos_summon) }, .priority = 0 }, + ACTOR_BY_POS(N(watt), N(pos_summon), 0), }; #include "ghost_sushie.inc.c" Formation N(formation_sushie) = { - { .actor = &N(sushie), .home = { .vec = &N(pos_summon) }, .priority = 0 }, + ACTOR_BY_POS(N(sushie), N(pos_summon), 0), }; #include "ghost_lakilester.inc.c" Formation N(formation_lakilester) = { - { .actor = &N(lakilester), .home = { .vec = &N(pos_summon) }, .priority = 0 }, + ACTOR_BY_POS(N(lakilester), N(pos_summon), 0), }; API_CALLABLE(N(GetPartnerAndLevel)) { @@ -610,7 +614,7 @@ EvtScript N(copyPartner) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20B8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Duplighost_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Duplighost_Anim06) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) @@ -667,8 +671,8 @@ EvtScript N(copyPartner) = { EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, LVarA, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) EVT_CALL(SetEnemyHP, LVarA, LVar0) diff --git a/src/battle/common/actor/ember.inc.c b/src/battle/common/actor/ember.inc.c index a167c07f5c..4ca3fa328a 100644 --- a/src/battle/common/actor/ember.inc.c +++ b/src/battle/common/actor/ember.inc.c @@ -3,46 +3,54 @@ #include "script_api/battle.h" #include "sprite/npc/LavaBubble.h" +extern s32 N(IdleAnimations_8021AE5C)[]; +extern s32 N(IdleAnimations_8021AEA8)[]; + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, +}; + s32 N(DefenseTable_8021ACB0)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_WATER, -2, - ELEMENT_ICE, -2, - ELEMENT_FIRE, 99, + ELEMENT_NORMAL, 0, + ELEMENT_WATER, -2, + ELEMENT_ICE, -2, + ELEMENT_FIRE, 99, ELEMENT_END, }; s32 N(StatusTable_8021ACD4)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 90, - STATUS_STOP, 85, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 85, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -extern s32 N(IdleAnimations_8021AE5C)[]; -extern s32 N(IdleAnimations_8021AEA8)[]; - -ActorPartBlueprint N(PartsTable_8021AD80)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 25 }, .opacity = 255, @@ -54,7 +62,7 @@ ActorPartBlueprint N(PartsTable_8021AD80)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -66,7 +74,7 @@ ActorPartBlueprint N(PartsTable_8021AD80)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -78,7 +86,7 @@ ActorPartBlueprint N(PartsTable_8021AD80)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -90,7 +98,7 @@ ActorPartBlueprint N(PartsTable_8021AD80)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -109,8 +117,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_EMBER, .level = 24, .maxHP = 10, - .partCount = ARRAY_COUNT( N(PartsTable_8021AD80)), - .partsData = N(PartsTable_8021AD80), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021AEB4), .statusTable = N(StatusTable_8021ACD4), .escapeChance = 60, @@ -122,26 +130,26 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 2, .size = { 33, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021AE5C)[] = { - STATUS_NORMAL, ANIM_LavaBubble_Blue_Anim01, - STATUS_STONE, ANIM_LavaBubble_Blue_Anim00, - STATUS_SLEEP, ANIM_LavaBubble_Blue_Anim01, - STATUS_POISON, ANIM_LavaBubble_Blue_Anim01, - STATUS_STOP, ANIM_LavaBubble_Blue_Anim00, - STATUS_STATIC, ANIM_LavaBubble_Blue_Anim01, - STATUS_PARALYZE, ANIM_LavaBubble_Blue_Anim00, - STATUS_DIZZY, ANIM_LavaBubble_Blue_Anim0A, - STATUS_FEAR, ANIM_LavaBubble_Blue_Anim0A, + STATUS_KEY_NORMAL, ANIM_LavaBubble_Blue_Anim01, + STATUS_KEY_STONE, ANIM_LavaBubble_Blue_Anim00, + STATUS_KEY_SLEEP, ANIM_LavaBubble_Blue_Anim01, + STATUS_KEY_POISON, ANIM_LavaBubble_Blue_Anim01, + STATUS_KEY_STOP, ANIM_LavaBubble_Blue_Anim00, + STATUS_KEY_STATIC, ANIM_LavaBubble_Blue_Anim01, + STATUS_KEY_PARALYZE, ANIM_LavaBubble_Blue_Anim00, + STATUS_KEY_DIZZY, ANIM_LavaBubble_Blue_Anim0A, + STATUS_KEY_FEAR, ANIM_LavaBubble_Blue_Anim0A, STATUS_END, }; s32 N(IdleAnimations_8021AEA8)[] = { - STATUS_NORMAL, ANIM_LavaBubble_Blue_Anim01, + STATUS_KEY_NORMAL, ANIM_LavaBubble_Blue_Anim01, STATUS_END, }; @@ -160,10 +168,10 @@ EvtScript N(init_8021AEB4) = { EVT_CASE_EQ(1) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) EVT_END_SWITCH - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) - EVT_CALL(SetPartScale, ACTOR_SELF, 4, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) - EVT_CALL(SetPartScale, ACTOR_SELF, 5, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_2, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_4, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_5, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(0.5)) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 2, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -186,7 +194,7 @@ EvtScript N(idle_8021B07C) = { EVT_LABEL(11) EVT_WAIT(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_GOTO(11) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) @@ -205,7 +213,7 @@ EvtScript N(idle_8021B07C) = { EVT_LABEL(22) EVT_WAIT(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_GOTO(22) EVT_END_IF EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar0) @@ -222,14 +230,14 @@ EvtScript N(idle_8021B07C) = { #include "common/UnkSfxFunc.inc.c" EvtScript N(8021B2FC) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_THREAD EVT_CALL(N(UnkSfxFunc)) EVT_END_THREAD EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim01) EVT_RETURN EVT_END }; @@ -279,7 +287,7 @@ EvtScript N(8021B398) = { Vec3i N(vector3D_8021B594) = { NPC_DISPOSE_LOCATION, }; Formation N(specialFormation_8021B5A0) = { - { .actor = &NAMESPACE, .home = { .vec = &N(vector3D_8021B594) }}, + ACTOR_BY_POS(NAMESPACE, N(vector3D_8021B594), 0), }; EvtScript N(split) = { @@ -448,7 +456,7 @@ EvtScript N(8021BE64) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) @@ -459,13 +467,13 @@ EvtScript N(8021BE64) = { EVT_CALL(N(UnkSfxFunc)) EVT_END_THREAD EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim01) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, 16) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) EVT_CASE_OR_EQ(5) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) @@ -488,17 +496,17 @@ EvtScript N(8021BE64) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 3, FALSE, TRUE, FALSE) EVT_WAIT(14) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(8021B2FC)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar2, 1) @@ -576,22 +584,22 @@ EvtScript N(8021C654) = { EVT_SET(LVar1, 50) EVT_END_IF EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_THREAD EVT_CALL(N(UnkSfxFunc)) EVT_END_THREAD EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -4, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim01) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim05) EVT_WAIT(30) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, 16) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(6) EVT_CASE_OR_EQ(5) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim06) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_ADD(LVar1, 4) @@ -606,18 +614,18 @@ EvtScript N(8021C654) = { EVT_END_IF EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(8021B2FC)) EVT_WAIT(20) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim06) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_ADD(LVar1, 4) @@ -650,7 +658,7 @@ EvtScript N(8021CBC8) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 30, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) @@ -668,7 +676,7 @@ EvtScript N(8021CBC8) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2CF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -680,18 +688,18 @@ EvtScript N(8021CBC8) = { EVT_ADD(LVar2, 2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim04) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_QUADRATIC_OUT) EVT_IF_EQ(LVarA, 5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(8021B2FC)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -702,7 +710,7 @@ EvtScript N(8021CBC8) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2CF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LavaBubble_Blue_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaBubble_Blue_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) diff --git a/src/battle/common/actor/fuzzy.inc.c b/src/battle/common/actor/fuzzy.inc.c index edfc03dc6e..b31bf0278f 100644 --- a/src/battle/common/actor/fuzzy.inc.c +++ b/src/battle/common/actor/fuzzy.inc.c @@ -4,42 +4,46 @@ #include "sprite/npc/Fuzzy.h" #include "effects.h" +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 95, - STATUS_POISON, 90, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 70, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 95, + STATUS_KEY_POISON, 90, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 70, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; extern s32 N(IdleAnimations)[]; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -58,8 +62,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_FUZZY, .level = 6, .maxHP = 3, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -71,21 +75,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 33, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Fuzzy_Idle, - STATUS_STONE, ANIM_Fuzzy_Still, - STATUS_SLEEP, ANIM_Fuzzy_Sleep, - STATUS_POISON, ANIM_Fuzzy_Idle, - STATUS_STOP, ANIM_Fuzzy_Still, - STATUS_STATIC, ANIM_Fuzzy_Idle, - STATUS_PARALYZE, ANIM_Fuzzy_Still, - STATUS_DIZZY, ANIM_Fuzzy_Stunned, - STATUS_FEAR, ANIM_Fuzzy_Stunned, + STATUS_KEY_NORMAL, ANIM_Fuzzy_Idle, + STATUS_KEY_STONE, ANIM_Fuzzy_Still, + STATUS_KEY_SLEEP, ANIM_Fuzzy_Sleep, + STATUS_KEY_POISON, ANIM_Fuzzy_Idle, + STATUS_KEY_STOP, ANIM_Fuzzy_Still, + STATUS_KEY_STATIC, ANIM_Fuzzy_Idle, + STATUS_KEY_PARALYZE, ANIM_Fuzzy_Still, + STATUS_KEY_DIZZY, ANIM_Fuzzy_Stunned, + STATUS_KEY_FEAR, ANIM_Fuzzy_Stunned, STATUS_END, }; @@ -243,7 +247,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_GOTO(100) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 50) @@ -251,10 +255,10 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Idle) EVT_LABEL(100) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Anim04) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 9, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) @@ -270,11 +274,11 @@ EvtScript N(takeTurn) = { EVT_SET(LVar1, 0) EVT_SUB(LVar2, 5) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jump) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 11, FALSE, TRUE, FALSE) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Anim09) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) @@ -295,14 +299,14 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Run) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -319,7 +323,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -3, -12, -15) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(3.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Jump) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) @@ -329,9 +333,9 @@ EvtScript N(takeTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_MarioB1_Leeching) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Bite) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Bite) EVT_WAIT(21) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Still) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 330) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, -3, -2, 0) @@ -350,7 +354,7 @@ EvtScript N(takeTurn) = { EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Idle) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -429,13 +433,13 @@ EvtScript N(takeTurn) = { EVT_WAIT(5) EVT_CALL(YieldTurn) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Fuzzy_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/ghost_bombette.inc.c b/src/battle/common/actor/ghost_bombette.inc.c index 6d119f96f0..ffdf4a1347 100644 --- a/src/battle/common/actor/ghost_bombette.inc.c +++ b/src/battle/common/actor/ghost_bombette.inc.c @@ -1,3 +1,6 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" #include "sprite/npc/BattleBombette.h" extern EvtScript N(bombette_init); @@ -6,52 +9,52 @@ extern EvtScript N(bombette_idle); extern EvtScript N(bombette_handleEvent); s32 N(bombette_idleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleBombette_Idle, - STATUS_STONE, ANIM_BattleBombette_Still, - STATUS_SLEEP, ANIM_BattleBombette_Still, - STATUS_POISON, ANIM_BattleBombette_Idle, - STATUS_STOP, ANIM_BattleBombette_Still, - STATUS_STATIC, ANIM_BattleBombette_Idle, - STATUS_PARALYZE, ANIM_BattleBombette_Still, - STATUS_DIZZY, ANIM_BattleBombette_Injured, - STATUS_FEAR, ANIM_BattleBombette_Injured, + STATUS_KEY_NORMAL, ANIM_BattleBombette_Idle, + STATUS_KEY_STONE, ANIM_BattleBombette_Still, + STATUS_KEY_SLEEP, ANIM_BattleBombette_Still, + STATUS_KEY_POISON, ANIM_BattleBombette_Idle, + STATUS_KEY_STOP, ANIM_BattleBombette_Still, + STATUS_KEY_STATIC, ANIM_BattleBombette_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleBombette_Still, + STATUS_KEY_DIZZY, ANIM_BattleBombette_Injured, + STATUS_KEY_FEAR, ANIM_BattleBombette_Injured, STATUS_END, }; s32 N(bombette_defenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(bombette_statusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; ActorPartBlueprint N(bombette_parts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, .opacity = 255, @@ -81,9 +84,9 @@ ActorBlueprint N(bombette) = { .powerBounceChance = 90, .coinReward = 2, .size = { 30, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(bombette_init) = { @@ -132,14 +135,14 @@ EvtScript N(bombette_handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_Hit) EVT_CALL(GetLastElement, LVar1) EVT_IF_FLAG(LVar1, DAMAGE_TYPE_SHOCK) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_BurnHurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_BurnHurt) EVT_WAIT(20) EVT_EXEC_WAIT(N(bombette_playEffects)) EVT_EXEC_WAIT(N(OnDeath)) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleBombette_BurnStill) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END_IF @@ -152,7 +155,7 @@ EvtScript N(bombette_handleEvent) = { EVT_EXEC_WAIT(N(OnDeath)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleBombette_BurnStill) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_BURN_DEATH) @@ -164,7 +167,7 @@ EvtScript N(bombette_handleEvent) = { EVT_EXEC_WAIT(N(OnDeath)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleBombette_BurnStill) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) @@ -183,14 +186,14 @@ EvtScript N(bombette_handleEvent) = { EVT_CASE_OR_EQ(EVENT_SHOCK_HIT) EVT_CASE_OR_EQ(EVENT_SHOCK_DEATH) EVT_CALL(HPBarToCurrent, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_BurnHurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_BurnHurt) EVT_WAIT(20) EVT_EXEC_WAIT(N(bombette_playEffects)) EVT_EXEC_WAIT(N(OnDeath)) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleBombette_BurnStill) - EVT_SET(LVar2, -12345) + EVT_SET(LVar2, EXEC_DEATH_NO_SPINNING) EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_END_CASE_GROUP @@ -250,10 +253,10 @@ EvtScript N(bombette_takeTurn) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 0, 0) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 30, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Brace) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Brace) EVT_WAIT(15) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2020) @@ -264,9 +267,9 @@ EvtScript N(bombette_takeTurn) = { EVT_SET(LVarA, LVar0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -10, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_BodySlam) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_BodySlam) EVT_CALL(RunToGoal, ACTOR_SELF, 5, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Idle) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 15, 0) EVT_SET(LVar0, 0) @@ -279,7 +282,7 @@ EvtScript N(bombette_takeTurn) = { EVT_END_THREAD EVT_CALL(AddGoalPos, ACTOR_SELF, -60, 0, 0) EVT_CALL(RunToGoal, ACTOR_SELF, 10, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Idle) EVT_THREAD EVT_CALL(N(UnkActorPosFunc)) EVT_END_THREAD @@ -289,7 +292,7 @@ EvtScript N(bombette_takeTurn) = { EVT_WAIT(20) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -300,7 +303,7 @@ EvtScript N(bombette_takeTurn) = { EVT_END_SWITCH EVT_SET(LVarA, LVar0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_BodySlam) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_BodySlam) EVT_CALL(RunToGoal, ACTOR_SELF, 4, FALSE) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar9) EVT_SWITCH(LVar9) @@ -317,40 +320,40 @@ EvtScript N(bombette_takeTurn) = { EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Idle) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire2) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.4)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire2) EVT_ADD(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire2) EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire2) EVT_ADD(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Backfire1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Backfire1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Idle) EVT_WAIT(8) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBombette_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) diff --git a/src/battle/common/actor/ghost_bow.inc.c b/src/battle/common/actor/ghost_bow.inc.c index 840a14ecf8..aa66292b80 100644 --- a/src/battle/common/actor/ghost_bow.inc.c +++ b/src/battle/common/actor/ghost_bow.inc.c @@ -1,3 +1,6 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" #include "sprite/npc/BattleBow.h" extern EvtScript N(bow_takeTurn); @@ -5,53 +8,57 @@ extern EvtScript N(bow_idle); extern EvtScript N(bow_handleEvent); extern EvtScript N(bow_init); +enum N(BowActorPartIDs) { + PRT_BOW_TARGET = 2, +}; + s32 N(bow_idleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleBow_Idle, - STATUS_STONE, ANIM_BattleBow_Still, - STATUS_SLEEP, ANIM_BattleBow_Still, - STATUS_POISON, ANIM_BattleBow_Idle, - STATUS_STOP, ANIM_BattleBow_Still, - STATUS_STATIC, ANIM_BattleBow_Idle, - STATUS_PARALYZE, ANIM_BattleBow_Still, - STATUS_DIZZY, ANIM_BattleBow_Injured, - STATUS_FEAR, ANIM_BattleBow_Injured, + STATUS_KEY_NORMAL, ANIM_BattleBow_Idle, + STATUS_KEY_STONE, ANIM_BattleBow_Still, + STATUS_KEY_SLEEP, ANIM_BattleBow_Still, + STATUS_KEY_POISON, ANIM_BattleBow_Idle, + STATUS_KEY_STOP, ANIM_BattleBow_Still, + STATUS_KEY_STATIC, ANIM_BattleBow_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleBow_Still, + STATUS_KEY_DIZZY, ANIM_BattleBow_Injured, + STATUS_KEY_FEAR, ANIM_BattleBow_Injured, STATUS_END, }; s32 N(bow_defenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(bow_statusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; ActorPartBlueprint N(bow_parts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -63,7 +70,7 @@ ActorPartBlueprint N(bow_parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_BOW_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -26 }, .opacity = 255, @@ -93,9 +100,9 @@ ActorBlueprint N(bow) = { .powerBounceChance = 90, .coinReward = 2, .size = { 36, 29 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(bow_init) = { @@ -229,7 +236,7 @@ EvtScript N(bow_takeTurn) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -238,7 +245,7 @@ EvtScript N(bow_takeTurn) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Run) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) EVT_CALL(AddGoalPos, ACTOR_SELF, 4, -4, 0) @@ -246,7 +253,7 @@ EvtScript N(bow_takeTurn) = { EVT_CALL(AddGoalPos, ACTOR_SELF, 10, -10, 0) EVT_END_IF EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_END_THREAD EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_15) @@ -257,11 +264,11 @@ EvtScript N(bow_takeTurn) = { EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_PreSlap) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_PreSlap) EVT_WAIT(10) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(15) @@ -271,10 +278,10 @@ EvtScript N(bow_takeTurn) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_SlapOnce) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_SlapOnce) EVT_WAIT(2) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_SET(LVar0, 0) EVT_LOOP(20) EVT_ADD(LVar0, -45) @@ -285,36 +292,36 @@ EvtScript N(bow_takeTurn) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Injured) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SEEING_STARS) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Injured) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SEEING_STARS) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BOO_APPEAR) EVT_THREAD EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BOO_VANISH) EVT_CALL(YieldTurn) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -334,9 +341,9 @@ EvtScript N(bow_takeTurn) = { EVT_LOOP(LVar7) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2019) EVT_ADD(LVarA, 1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.0)) EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_SlapOnce) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_SlapOnce) EVT_SET(LocalFlag(0), 1) EVT_IF_EQ(LVarA, LVar8) EVT_CALL(SetDamageSource, DMG_SRC_LAST_SLAP_LEFT) @@ -344,7 +351,7 @@ EvtScript N(bow_takeTurn) = { EVT_CALL(SetDamageSource, DMG_SRC_NEXT_SLAP_LEFT) EVT_END_IF EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_SlapBack) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_SlapBack) EVT_SET(LocalFlag(0), 0) EVT_IF_EQ(LVarA, LVar8) EVT_CALL(SetDamageSource, DMG_SRC_LAST_SLAP_RIGHT) @@ -353,7 +360,7 @@ EvtScript N(bow_takeTurn) = { EVT_END_IF EVT_END_IF EVT_WAIT(2) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.5)) @@ -373,7 +380,7 @@ EvtScript N(bow_takeTurn) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_10) EVT_END_SWITCH EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_CALL(GetActorHP, ACTOR_PLAYER, LVar1) EVT_IF_EQ(LVar1, 0) EVT_BREAK_LOOP @@ -388,25 +395,25 @@ EvtScript N(bow_takeTurn) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBow_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleBow_Idle) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BOO_VANISH) EVT_CALL(YieldTurn) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/ghost_goombario.inc.c b/src/battle/common/actor/ghost_goombario.inc.c index cd962eb92c..9559858bbc 100644 --- a/src/battle/common/actor/ghost_goombario.inc.c +++ b/src/battle/common/actor/ghost_goombario.inc.c @@ -1,3 +1,6 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" #include "sprite/npc/BattleGoombario.h" extern EvtScript N(goombario_init); @@ -8,9 +11,15 @@ extern EvtScript N(goombario_handleEvent); #include "world/common/todo/UnkFunc62.inc.c" #include "common/ActorJumpToPos.inc.c" #include "common/UnkActorSizeFunc.inc.c" -#include "common/UnkEffect6CFunc.inc.c" -API_CALLABLE(N(UnkTattleEffectFunc1)) { +API_CALLABLE(N(OpenTattleWindow)) { + Bytecode* args = script->ptrReadPos; + + evt_set_variable(script, *args++, (s32) fx_tattle_window(0, 106.0f, 144.0f, 0, 1.0f, 0)); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(HideTattleWindow)) { Bytecode* args = script->ptrReadPos; EffectInstance* effect = (EffectInstance*)evt_get_variable(script, *args++); @@ -18,7 +27,7 @@ API_CALLABLE(N(UnkTattleEffectFunc1)) { return ApiStatus_DONE2; } -API_CALLABLE(N(UnkTattleEffectFunc2)) { +API_CALLABLE(N(CloseTattleWindow)) { Bytecode* args = script->ptrReadPos; EffectInstance* effect = (EffectInstance*)evt_get_variable(script, *args++); @@ -28,52 +37,52 @@ API_CALLABLE(N(UnkTattleEffectFunc2)) { } s32 N(goombario_idleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleGoombario_Idle, - STATUS_STONE, ANIM_BattleGoombario_Still, - STATUS_SLEEP, ANIM_BattleGoombario_Still, - STATUS_POISON, ANIM_BattleGoombario_Idle, - STATUS_STOP, ANIM_BattleGoombario_Still, - STATUS_STATIC, ANIM_BattleGoombario_Idle, - STATUS_PARALYZE, ANIM_BattleGoombario_Still, - STATUS_DIZZY, ANIM_BattleGoombario_Injured, - STATUS_FEAR, ANIM_BattleGoombario_Injured, + STATUS_KEY_NORMAL, ANIM_BattleGoombario_Idle, + STATUS_KEY_STONE, ANIM_BattleGoombario_Still, + STATUS_KEY_SLEEP, ANIM_BattleGoombario_Still, + STATUS_KEY_POISON, ANIM_BattleGoombario_Idle, + STATUS_KEY_STOP, ANIM_BattleGoombario_Still, + STATUS_KEY_STATIC, ANIM_BattleGoombario_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleGoombario_Still, + STATUS_KEY_DIZZY, ANIM_BattleGoombario_Injured, + STATUS_KEY_FEAR, ANIM_BattleGoombario_Injured, STATUS_END, }; s32 N(goombario_defenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(goombario_statusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; ActorPartBlueprint N(goombario_parts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -103,9 +112,9 @@ ActorBlueprint N(goombario) = { .powerBounceChance = 90, .coinReward = 2, .size = { 29, 26 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(goombario_init) = { @@ -230,7 +239,7 @@ EvtScript N(goombario_handleEvent) = { EvtScript N(goombario_returnBack) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_SET(LVar0, 180) @@ -239,7 +248,7 @@ EvtScript N(goombario_returnBack) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Fall) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_END_THREAD @@ -256,34 +265,34 @@ EvtScript N(goombario_returnBack) = { EVT_ELSE EVT_SET(LVar5, 18) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar5, 0) EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar5, 0) EVT_WAIT(1) EVT_ADD(LVar0, 10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar5, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_WAIT(2) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Run) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_RETURN EVT_END }; @@ -295,10 +304,10 @@ EvtScript N(goombario_runToPlayer) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 70, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Run) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_RETURN EVT_END }; @@ -321,7 +330,7 @@ EvtScript N(goombario_8021C7FC) = { EVT_END }; -EvtScript N(goombario_attack) = { +EvtScript N(EVS_Move_Headbonk) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_EXEC_WAIT(N(goombario_runToPlayer)) @@ -336,16 +345,16 @@ EvtScript N(goombario_attack) = { EVT_SET(LVar1, 19) EVT_SET(LVar2, 9) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar0, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar1, 0) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, LVar2, 0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 0, 5) - EVT_CALL(SetJumpAnimations, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_200D) EVT_CALL(N(UnkFunc62), LVarA, 0) @@ -354,7 +363,7 @@ EvtScript N(goombario_attack) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetJumpAnimations, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(N(ActorJumpToPos)) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) @@ -371,11 +380,11 @@ EvtScript N(goombario_attack) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CHILD_THREAD - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD EVT_WAIT(1) EVT_WAIT(2) @@ -406,7 +415,7 @@ EvtScript N(goombario_attack) = { EVT_END_LOOP EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetJumpAnimations, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_281) EVT_CALL(N(UnkFunc62), LVarA, 3) EVT_CASE_EQ(1) @@ -421,7 +430,7 @@ EvtScript N(goombario_attack) = { EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) - EVT_CALL(SetJumpAnimations, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_281) EVT_CALL(N(UnkFunc62), LVarA, 3) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) @@ -434,7 +443,7 @@ EvtScript N(goombario_attack) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, EVT_IGNORE_ARG, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_END_THREAD EVT_THREAD EVT_SET(LVar0, 0) @@ -446,17 +455,17 @@ EvtScript N(goombario_attack) = { EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) - EVT_CALL(SetJumpAnimations, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_281) EVT_CALL(N(UnkFunc62), LVarA, 3) EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_END_SWITCH EVT_CHILD_THREAD - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD EVT_WAIT(1) EVT_WAIT(2) @@ -483,7 +492,7 @@ EvtScript N(goombario_attack) = { EVT_END }; -EvtScript N(goombario_tattle) = { +EvtScript N(EVS_Move_Tattle) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) @@ -493,10 +502,10 @@ EvtScript N(goombario_tattle) = { EVT_WAIT(10) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4, TRUE) - EVT_CALL(N(UnkEffect6CFunc), LVar5) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_TATTLE_OPEN, TRUE) + EVT_CALL(N(OpenTattleWindow), LVar5) EVT_WAIT(12) - EVT_CALL(func_802535B4, 0) + EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(SetCamEnabled, CAM_TATTLE, TRUE) EVT_CALL(SetCamFlag80, CAM_TATTLE, FALSE) EVT_CALL(SetCamPerspective, CAM_TATTLE, CAM_UPDATE_MODE_6, 25, 16, 1024) @@ -513,14 +522,14 @@ EvtScript N(goombario_tattle) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_282) EVT_CALL(SetCamFlag80, CAM_TATTLE, TRUE) EVT_WAIT(10) - EVT_CALL(ActorSpeak, MSG_EnemyTattle_Mario, ACTOR_SELF, 1, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) - EVT_CALL(N(UnkTattleEffectFunc2), LVar5) + EVT_CALL(ActorSpeak, MSG_EnemyTattle_Mario, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) + EVT_CALL(N(CloseTattleWindow), LVar5) EVT_WAIT(12) EVT_CALL(SetCamEnabled, CAM_TATTLE, FALSE) EVT_WAIT(32) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4, FALSE) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_TATTLE_OPEN, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -530,9 +539,9 @@ EvtScript N(goombario_tattle) = { EvtScript N(goombario_takeTurn) = { EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 10) - EVT_EXEC_WAIT(N(goombario_tattle)) + EVT_EXEC_WAIT(N(EVS_Move_Tattle)) EVT_ELSE - EVT_EXEC_WAIT(N(goombario_attack)) + EVT_EXEC_WAIT(N(EVS_Move_Headbonk)) EVT_END_IF EVT_RETURN EVT_END diff --git a/src/battle/common/actor/ghost_kooper.inc.c b/src/battle/common/actor/ghost_kooper.inc.c index 40ac73c2d1..f0bf4dd78f 100644 --- a/src/battle/common/actor/ghost_kooper.inc.c +++ b/src/battle/common/actor/ghost_kooper.inc.c @@ -1,3 +1,6 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" #include "sprite/npc/BattleKooper.h" extern EvtScript N(kooper_init); @@ -5,71 +8,73 @@ extern EvtScript N(kooper_takeTurn); extern EvtScript N(kooper_idle); extern EvtScript N(kooper_handleEvent); +#define PRT_ZERO 0 + s32 N(kooper_idleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleKooper_Idle, - STATUS_STONE, ANIM_BattleKooper_Still, - STATUS_SLEEP, ANIM_BattleKooper_Still, - STATUS_POISON, ANIM_BattleKooper_Idle, - STATUS_STOP, ANIM_BattleKooper_Still, - STATUS_STATIC, ANIM_BattleKooper_Idle, - STATUS_PARALYZE, ANIM_BattleKooper_Still, - STATUS_DIZZY, ANIM_BattleKooper_Injured, - STATUS_FEAR, ANIM_BattleKooper_Injured, + STATUS_KEY_NORMAL, ANIM_BattleKooper_Idle, + STATUS_KEY_STONE, ANIM_BattleKooper_Still, + STATUS_KEY_SLEEP, ANIM_BattleKooper_Still, + STATUS_KEY_POISON, ANIM_BattleKooper_Idle, + STATUS_KEY_STOP, ANIM_BattleKooper_Still, + STATUS_KEY_STATIC, ANIM_BattleKooper_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleKooper_Still, + STATUS_KEY_DIZZY, ANIM_BattleKooper_Injured, + STATUS_KEY_FEAR, ANIM_BattleKooper_Injured, STATUS_END, }; s32 N(kooper_idleAnimations2)[] = { - STATUS_NORMAL, ANIM_BattleKooper_Toppled, - STATUS_STONE, ANIM_BattleKooper_StillToppled, - STATUS_SLEEP, ANIM_BattleKooper_StillToppled, - STATUS_POISON, ANIM_BattleKooper_Toppled, - STATUS_STOP, ANIM_BattleKooper_StillToppled, - STATUS_STATIC, ANIM_BattleKooper_Toppled, - STATUS_PARALYZE, ANIM_BattleKooper_StillToppled, - STATUS_DIZZY, ANIM_BattleKooper_Toppled, - STATUS_FEAR, ANIM_BattleKooper_Toppled, + STATUS_KEY_NORMAL, ANIM_BattleKooper_Toppled, + STATUS_KEY_STONE, ANIM_BattleKooper_StillToppled, + STATUS_KEY_SLEEP, ANIM_BattleKooper_StillToppled, + STATUS_KEY_POISON, ANIM_BattleKooper_Toppled, + STATUS_KEY_STOP, ANIM_BattleKooper_StillToppled, + STATUS_KEY_STATIC, ANIM_BattleKooper_Toppled, + STATUS_KEY_PARALYZE, ANIM_BattleKooper_StillToppled, + STATUS_KEY_DIZZY, ANIM_BattleKooper_Toppled, + STATUS_KEY_FEAR, ANIM_BattleKooper_Toppled, STATUS_END, }; s32 N(kooper_defenseTable)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(kooper_defenseTable2)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(kooper_statusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; ActorPartBlueprint N(kooper_parts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 32 }, .opacity = 255, @@ -99,9 +104,9 @@ ActorBlueprint N(kooper) = { .powerBounceChance = 90, .coinReward = 2, .size = { 32, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(kooper_init) = { @@ -114,7 +119,7 @@ EvtScript N(kooper_init) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" //TODO find the way to include it API_CALLABLE(N(kooper_UnkActorPosFunc)) { @@ -150,13 +155,13 @@ EvtScript N(kooper_idle) = { EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -2, 38) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -3, -9) - EVT_CALL(N(UnkBattleFunc1), -10, 25, 10, 25) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -2, 38) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -3, -9) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 25, 10, 25) EVT_CASE_EQ(1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -6) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_SWITCH EVT_WAIT(1) EVT_GOTO(0) @@ -218,11 +223,11 @@ EvtScript N(kooper_handleEvent) = { EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, 3, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 4, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(kooper_defenseTable2))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(kooper_idleAnimations2))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Hurt) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(kooper_defenseTable2))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(kooper_idleAnimations2))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -6) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Hurt) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(4) @@ -246,7 +251,7 @@ EvtScript N(kooper_handleEvent) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Toppled) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Toppled) EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) @@ -256,7 +261,7 @@ EvtScript N(kooper_handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleKooper_Idle) EVT_CASE_EQ(1) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleKooper_Toppled) EVT_END_SWITCH @@ -296,7 +301,7 @@ EvtScript N(kooper_handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleKooper_Run) EVT_CASE_EQ(1) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleKooper_Toppled) EVT_END_SWITCH @@ -306,7 +311,7 @@ EvtScript N(kooper_handleEvent) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_ELSE @@ -339,18 +344,18 @@ EvtScript N(kooper_takeTurn) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 4, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(30) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Toppled) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Toppled) EVT_SET(LVar0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD @@ -367,21 +372,21 @@ EvtScript N(kooper_takeTurn) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Idle) EVT_CALL(SetActorVar, ACTOR_SELF, 3, 0) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(kooper_defenseTable))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(kooper_idleAnimations))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -2, 38) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -3, -9) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(kooper_defenseTable))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(kooper_idleAnimations))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -2, 38) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -3, -9) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_EnterShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_EnterShell) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellSpinSlowest) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellSpinSlowest) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_200C) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) @@ -401,25 +406,25 @@ EvtScript N(kooper_takeTurn) = { EVT_ADD(LVar9, 1) EVT_SWITCH(LVar9) EVT_CASE_LT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellSpinSlowest) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellSpinSlowest) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) EVT_CASE_EQ(20) EVT_CALL(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) EVT_CASE_LT(40) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellSpinSlower) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellSpinSlower) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(12.0)) EVT_CASE_EQ(40) EVT_CALL(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) EVT_CASE_LT(50) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellSpinFaster) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellSpinFaster) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0)) EVT_CASE_EQ(50) EVT_CALL(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) EVT_CASE_LT(60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellSpinFastest) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellSpinFastest) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) EVT_CASE_EQ(60) EVT_CALL(GetActorPos, ACTOR_SELF, LVar4, LVar5, LVar6) @@ -431,7 +436,7 @@ EvtScript N(kooper_takeTurn) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 0, 0, ACTOR_DECORATION_GREY_SMOKE_TRAIL) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_ZERO, 0, ACTOR_DECORATION_GREY_SMOKE_TRAIL) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -441,10 +446,10 @@ EvtScript N(kooper_takeTurn) = { EVT_SET(LVarA, LVar0) EVT_THREAD EVT_CALL(N(kooper_UnkActorPosFunc)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) EVT_END_THREAD EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ShellStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ShellStill) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, -8, 0, 0) EVT_SET(LVar0, 0) EVT_LOOP(2) @@ -470,12 +475,12 @@ EvtScript N(kooper_takeTurn) = { EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ExitShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ExitShell) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.5)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -484,7 +489,7 @@ EvtScript N(kooper_takeTurn) = { EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar9) EVT_SWITCH(LVar9) EVT_CASE_EQ(0) @@ -517,11 +522,11 @@ EvtScript N(kooper_takeTurn) = { EVT_ADD(LVar0, 10) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_ExitShell) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_ExitShell) EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleKooper_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleKooper_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.5)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) diff --git a/src/battle/common/actor/ghost_lakilester.inc.c b/src/battle/common/actor/ghost_lakilester.inc.c index 0499533565..1b6702c267 100644 --- a/src/battle/common/actor/ghost_lakilester.inc.c +++ b/src/battle/common/actor/ghost_lakilester.inc.c @@ -1,62 +1,69 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" #include "sprite/npc/BattleLakilester.h" +enum N(LakilesterActorPartIDs) { + PRT_SPINY = 3, +}; + extern EvtScript N(lakilester_init); extern EvtScript N(lakilester_handleEvent); extern EvtScript N(lakilester_idle); extern EvtScript N(lakilester_takeTurn); s32 N(lakilester_idleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleLakilester_Idle, - STATUS_STONE, ANIM_BattleLakilester_Still, - STATUS_SLEEP, ANIM_BattleLakilester_Still, - STATUS_POISON, ANIM_BattleLakilester_Idle, - STATUS_STOP, ANIM_BattleLakilester_Still, - STATUS_STATIC, ANIM_BattleLakilester_Idle, - STATUS_PARALYZE, ANIM_BattleLakilester_Still, - STATUS_DIZZY, ANIM_BattleLakilester_Injured, - STATUS_FEAR, ANIM_BattleLakilester_Idle, + STATUS_KEY_NORMAL, ANIM_BattleLakilester_Idle, + STATUS_KEY_STONE, ANIM_BattleLakilester_Still, + STATUS_KEY_SLEEP, ANIM_BattleLakilester_Still, + STATUS_KEY_POISON, ANIM_BattleLakilester_Idle, + STATUS_KEY_STOP, ANIM_BattleLakilester_Still, + STATUS_KEY_STATIC, ANIM_BattleLakilester_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleLakilester_Still, + STATUS_KEY_DIZZY, ANIM_BattleLakilester_Injured, + STATUS_KEY_FEAR, ANIM_BattleLakilester_Idle, STATUS_END, }; s32 N(lakilester_idleAnimations2)[] = { - STATUS_NORMAL, ANIM_BattleLakilester_Spiny, + STATUS_KEY_NORMAL, ANIM_BattleLakilester_Spiny, STATUS_END, }; s32 N(lakilester_defenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(lakilester_statusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; ActorPartBlueprint N(lakilester_parts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -3, 33 }, .opacity = 255, @@ -68,7 +75,7 @@ ActorPartBlueprint N(lakilester_parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_SPINY, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -98,9 +105,9 @@ ActorBlueprint N(lakilester) = { .powerBounceChance = 90, .coinReward = 2, .size = { 44, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(lakilester_init) = { @@ -171,7 +178,7 @@ EvtScript N(lakilester_handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_CASE_EQ(EVENT_SHOCK_DEATH) @@ -234,29 +241,29 @@ EvtScript N(lakilester_takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, 20, 30, LVar2) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Idle) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) EVT_ADD(LVar0, -1) EVT_ADD(LVar1, 4) EVT_ADD(LVar2, 2) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_SPINY, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE EVT_ADD(LVar0, -3) EVT_ADD(LVar1, 10) EVT_ADD(LVar2, 5) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_SPINY, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_SPINY, LVar0, LVar1, LVar2) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_BattleLakilester_Spiny) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_LiftSpiny) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_SPINY, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_SPINY, ANIM_BattleLakilester_Spiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_LiftSpiny) EVT_LOOP(4) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_SHRINK) @@ -264,7 +271,7 @@ EvtScript N(lakilester_takeTurn) = { EVT_ELSE EVT_ADD(LVar1, 6) EVT_END_IF - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_SPINY, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -285,41 +292,41 @@ EvtScript N(lakilester_takeTurn) = { EVT_THREAD EVT_LOOP(15) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, 1, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_SPINY, 1, 0, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, -1, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, -1, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_SPINY, -1, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, 0, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_SPINY, 0, 0, 0) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_HoldSpiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_HoldSpiny) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_StrainHoldSpiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_StrainHoldSpiny) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_ThrowSpiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_ThrowSpiny) EVT_WAIT(3) - EVT_CALL(SetPartSounds, ACTOR_SELF, 3, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_SPINY, ACTOR_SOUND_JUMP, 0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_201B) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_BattleLakilester_SpinySpin) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(1.5)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_SPINY, ANIM_BattleLakilester_SpinySpin) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_SPINY, EVT_FLOAT(1.5)) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RandInt, 100, LVar3) EVT_SUB(LVar3, 50) EVT_ADD(LVar0, LVar3) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, 0, LVar2, 20, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_SPINY, LVar0, 0, LVar2, 20, TRUE) EVT_THREAD EVT_ADD(LVar0, -50) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, 0, LVar2, 15, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_SPINY, LVar0, 0, LVar2, 15, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_SPINY, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -328,7 +335,7 @@ EvtScript N(lakilester_takeTurn) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 60) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -336,15 +343,15 @@ EvtScript N(lakilester_takeTurn) = { EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_BattleLakilester_SpinySpin) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(1.5)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_SPINY, ANIM_BattleLakilester_SpinySpin) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_SPINY, EVT_FLOAT(1.5)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_SPINY, LVar0, LVar1, LVar2, 20, TRUE) EVT_THREAD EVT_ADD(LVar0, -50) - EVT_CALL(JumpPartTo, ACTOR_SELF, 3, LVar0, 0, LVar2, 15, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_SPINY, LVar0, 0, LVar2, 15, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_SPINY, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar9) EVT_SWITCH(LVar9) @@ -365,7 +372,7 @@ EvtScript N(lakilester_takeTurn) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleLakilester_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleLakilester_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_END_CASE_GROUP diff --git a/src/battle/common/actor/ghost_parakarry.inc.c b/src/battle/common/actor/ghost_parakarry.inc.c index 2a1489cb31..4d3ba9c6f8 100644 --- a/src/battle/common/actor/ghost_parakarry.inc.c +++ b/src/battle/common/actor/ghost_parakarry.inc.c @@ -1,3 +1,6 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" #include "sprite/npc/BattleParakarry.h" extern EvtScript N(parakarry_init); @@ -5,53 +8,57 @@ extern EvtScript N(parakarry_takeTurn); extern EvtScript N(parakarry_idle); extern EvtScript N(parakarry_handleEvent); +enum N(ParakarryActorPartIDs) { + PRT_PARAKARRY_TARGET = 2, +}; + s32 N(parakarry_idleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleParakarry_Idle, - STATUS_STONE, ANIM_BattleParakarry_Still, - STATUS_SLEEP, ANIM_BattleParakarry_Still, - STATUS_POISON, ANIM_BattleParakarry_Idle, - STATUS_STOP, ANIM_BattleParakarry_Still, - STATUS_STATIC, ANIM_BattleParakarry_Idle, - STATUS_PARALYZE, ANIM_BattleParakarry_Still, - STATUS_DIZZY, ANIM_BattleParakarry_Idle, - STATUS_FEAR, ANIM_BattleParakarry_Idle, + STATUS_KEY_NORMAL, ANIM_BattleParakarry_Idle, + STATUS_KEY_STONE, ANIM_BattleParakarry_Still, + STATUS_KEY_SLEEP, ANIM_BattleParakarry_Still, + STATUS_KEY_POISON, ANIM_BattleParakarry_Idle, + STATUS_KEY_STOP, ANIM_BattleParakarry_Still, + STATUS_KEY_STATIC, ANIM_BattleParakarry_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleParakarry_Still, + STATUS_KEY_DIZZY, ANIM_BattleParakarry_Idle, + STATUS_KEY_FEAR, ANIM_BattleParakarry_Idle, STATUS_END, }; s32 N(parakarry_defenseTable)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(parakarry_statusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; ActorPartBlueprint N(parakarry_parts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -3, 32 }, .opacity = 255, @@ -63,7 +70,7 @@ ActorPartBlueprint N(parakarry_parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_PARAKARRY_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { -3, -18 }, .opacity = 255, @@ -93,9 +100,9 @@ ActorBlueprint N(parakarry) = { .powerBounceChance = 90, .coinReward = 2, .size = { 38, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(parakarry_init) = { @@ -207,7 +214,7 @@ EvtScript N(parakarry_handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_ELSE @@ -233,30 +240,30 @@ EvtScript N(parakarry_doTakeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Still) EVT_WAIT(3) EVT_CALL(UseBattleCamPresetImmediately, BTL_CAM_PRESET_01) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2004) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_FlyFast) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_FlyFast) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, 10, 0) EVT_CALL(FlyToGoal, ACTOR_SELF, 5, 0, EASING_LINEAR) EVT_WAIT(2) EVT_THREAD EVT_WAIT(3) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_PreDive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_PreDive) EVT_END_THREAD EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 15, 0) EVT_CALL(FlyToGoal, ACTOR_SELF, 20, -20, EASING_QUARTIC_OUT) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2005) EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 5, 0, EASING_LINEAR) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -265,7 +272,7 @@ EvtScript N(parakarry_doTakeTurn) = { EVT_SET(LVarA, LVar0) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Idle) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -40, 10, 0) @@ -280,7 +287,7 @@ EvtScript N(parakarry_doTakeTurn) = { EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -288,7 +295,7 @@ EvtScript N(parakarry_doTakeTurn) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_PostDive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_PostDive) EVT_WAIT(1) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar9) EVT_SWITCH(LVar9) @@ -307,23 +314,23 @@ EvtScript N(parakarry_doTakeTurn) = { EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Dive) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.4)) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, FALSE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Still) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Still) EVT_THREAD EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Run) EVT_END_THREAD EVT_CALL(AddGoalPos, ACTOR_SELF, 30, 0, 0) EVT_CALL(JumpWithBounce, ACTOR_SELF, 10, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Idle) EVT_WAIT(6) EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleParakarry_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) EVT_END_CASE_GROUP EVT_END_SWITCH diff --git a/src/battle/common/actor/ghost_sushie.inc.c b/src/battle/common/actor/ghost_sushie.inc.c index 018eb102e1..5ac44c1b41 100644 --- a/src/battle/common/actor/ghost_sushie.inc.c +++ b/src/battle/common/actor/ghost_sushie.inc.c @@ -1,3 +1,6 @@ +#include "common.h" +#include "battle/battle.h" +#include "script_api/battle.h" #include "sprite/npc/BattleSushie.h" extern EvtScript N(sushie_handleEvent); @@ -6,52 +9,52 @@ extern EvtScript N(sushie_idle); extern EvtScript N(sushie_init); s32 N(sushie_idleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleSushie_Idle, - STATUS_STONE, ANIM_BattleSushie_Still, - STATUS_SLEEP, ANIM_BattleSushie_Still, - STATUS_POISON, ANIM_BattleSushie_Idle, - STATUS_STOP, ANIM_BattleSushie_Still, - STATUS_STATIC, ANIM_BattleSushie_Idle, - STATUS_PARALYZE, ANIM_BattleSushie_Still, - STATUS_DIZZY, ANIM_BattleSushie_Injured, - STATUS_FEAR, ANIM_BattleSushie_Injured, + STATUS_KEY_NORMAL, ANIM_BattleSushie_Idle, + STATUS_KEY_STONE, ANIM_BattleSushie_Still, + STATUS_KEY_SLEEP, ANIM_BattleSushie_Still, + STATUS_KEY_POISON, ANIM_BattleSushie_Idle, + STATUS_KEY_STOP, ANIM_BattleSushie_Still, + STATUS_KEY_STATIC, ANIM_BattleSushie_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleSushie_Still, + STATUS_KEY_DIZZY, ANIM_BattleSushie_Injured, + STATUS_KEY_FEAR, ANIM_BattleSushie_Injured, STATUS_END, }; s32 N(sushie_defenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(sushie_statusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; ActorPartBlueprint N(sushie_parts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -81,9 +84,9 @@ ActorBlueprint N(sushie) = { .powerBounceChance = 90, .coinReward = 2, .size = { 37, 26 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(sushie_init) = { @@ -224,18 +227,18 @@ EvtScript N(sushie_takeTurn) = { EVT_MUL(LVarA, -1) EVT_END_IF EVT_CALL(MoveBattleCamOver, LVarA) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Run) EVT_CALL(RunToGoal, ACTOR_SELF, LVarA, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Idle) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_08) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(AddBattleCamZoom, -50) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_1, BTL_CAM_MODEX_1, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Tense1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Tense1) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Tense2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Tense2) EVT_WAIT(15) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -244,7 +247,7 @@ EvtScript N(sushie_takeTurn) = { EVT_SET(LVarA, LVar0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Jump) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_SET(LVar0, 0) @@ -260,53 +263,53 @@ EvtScript N(sushie_takeTurn) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CASE_EQ(1) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.05), EVT_FLOAT(1.05), EVT_FLOAT(1.05)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.05), EVT_FLOAT(1.05), EVT_FLOAT(1.05)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.15), EVT_FLOAT(1.15), EVT_FLOAT(1.15)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.15), EVT_FLOAT(1.15), EVT_FLOAT(1.15)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.25), EVT_FLOAT(1.25), EVT_FLOAT(1.25)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.25), EVT_FLOAT(1.25), EVT_FLOAT(1.25)) EVT_CASE_EQ(2) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.4)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.5), EVT_FLOAT(1.5), EVT_FLOAT(1.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.5), EVT_FLOAT(1.5), EVT_FLOAT(1.5)) EVT_END_SWITCH EVT_END_THREAD EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2034) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Jump) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Fall) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Land) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Land) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(LandJump, ACTOR_SELF) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_29A) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -323,7 +326,7 @@ EvtScript N(sushie_takeTurn) = { EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) @@ -334,7 +337,7 @@ EvtScript N(sushie_takeTurn) = { EVT_END_SWITCH EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Jump) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_SET(LVar0, 0) @@ -350,55 +353,55 @@ EvtScript N(sushie_takeTurn) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.1), EVT_FLOAT(1.1), EVT_FLOAT(1.1)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) EVT_CASE_EQ(1) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.15), EVT_FLOAT(1.15), EVT_FLOAT(1.15)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.15), EVT_FLOAT(1.15), EVT_FLOAT(1.15)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.35), EVT_FLOAT(1.35), EVT_FLOAT(1.35)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.35), EVT_FLOAT(1.35), EVT_FLOAT(1.35)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.4), EVT_FLOAT(1.4), EVT_FLOAT(1.4)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.55), EVT_FLOAT(1.55), EVT_FLOAT(1.55)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.55), EVT_FLOAT(1.55), EVT_FLOAT(1.55)) EVT_CASE_EQ(2) EVT_WAIT(13) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.2), EVT_FLOAT(1.2), EVT_FLOAT(1.2)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.3), EVT_FLOAT(1.3), EVT_FLOAT(1.3)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.5), EVT_FLOAT(1.5), EVT_FLOAT(1.5)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.5), EVT_FLOAT(1.5), EVT_FLOAT(1.5)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.6), EVT_FLOAT(1.6), EVT_FLOAT(1.6)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.6), EVT_FLOAT(1.6), EVT_FLOAT(1.6)) EVT_WAIT(1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.8), EVT_FLOAT(1.8), EVT_FLOAT(1.8)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.8), EVT_FLOAT(1.8), EVT_FLOAT(1.8)) EVT_END_SWITCH EVT_END_THREAD EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2034) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Jump) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Jump) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Fall) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Land) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Land) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_THREAD EVT_WAIT(3) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_THREAD EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVarA) EVT_SWITCH(LVarA) @@ -415,7 +418,7 @@ EvtScript N(sushie_takeTurn) = { EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Fall) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Fall) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 60) EVT_SET(LVar1, 0) @@ -435,11 +438,11 @@ EvtScript N(sushie_takeTurn) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_29A) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Idle) EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleSushie_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) diff --git a/src/battle/common/actor/ghost_watt.inc.c b/src/battle/common/actor/ghost_watt.inc.c index dff8b6c027..a29c1e15c8 100644 --- a/src/battle/common/actor/ghost_watt.inc.c +++ b/src/battle/common/actor/ghost_watt.inc.c @@ -4,6 +4,15 @@ #include "sprite/npc/BattleWatt.h" #include "effects.h" +extern EvtScript N(watt_init); +extern EvtScript N(watt_takeTurn); +extern EvtScript N(watt_idle); +extern EvtScript N(watt_handleEvent); + +enum N(WattActorPartIDs) { + PRT_WATT_TARGET = 2, +}; + API_CALLABLE(N(UnkWattEffectFunc1)) { WattEffectData* wattEffectData; f32 x, y, z; @@ -17,28 +26,28 @@ API_CALLABLE(N(UnkWattEffectFunc1)) { wattEffectData->angle = 0; wattEffectData->unk_0C = TRUE; wattEffectData->unk_10 = 0; - wattEffectData->effect1 = fx_static_status(0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z, (actor->debuff != STATUS_SHRINK) ? 1.0f : 0.4f, 5, 0); - wattEffectData->effect2 = fx_static_status(1, actor->currentPos.x, -1000.0f, actor->currentPos.z, (actor->debuff != STATUS_SHRINK) ? 1.0f : 0.4f, 5, 0); + wattEffectData->effect1 = fx_static_status(0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z, (actor->debuff != STATUS_KEY_SHRINK) ? 1.0f : 0.4f, 5, 0); + wattEffectData->effect2 = fx_static_status(1, actor->currentPos.x, -1000.0f, actor->currentPos.z, (actor->debuff != STATUS_KEY_SHRINK) ? 1.0f : 0.4f, 5, 0); wattEffectData->flags = TRUE; wattEffectData->debuff = actor->debuff; } wattEffectData = state->varTablePtr[2]; if (wattEffectData->flags) { - if (wattEffectData->unk_04 && actor->debuff != STATUS_STOP) { + if (wattEffectData->unk_04 && actor->debuff != STATUS_KEY_STOP) { wattEffectData->angle += 15; wattEffectData->angle = clamp_angle(wattEffectData->angle); } actor->verticalRenderOffset = sin_rad(DEG_TO_RAD(wattEffectData->angle)) * 3.0f; x = actor->currentPos.x + actor->headOffset.x; - y = actor->currentPos.y + actor->headOffset.y + actor->verticalRenderOffset + (actor->debuff != STATUS_SHRINK ? 12.0 : 4.800000000000001); // 4.8 doesn't match + y = actor->currentPos.y + actor->headOffset.y + actor->verticalRenderOffset + (actor->debuff != STATUS_KEY_SHRINK ? 12.0 : 4.800000000000001); // 4.8 doesn't match z = actor->currentPos.z + actor->headOffset.z; if (wattEffectData->unk_0C) { switch (wattEffectData->unk_10) { case 0: if (wattEffectData->effect1 == NULL) { - wattEffectData->effect1 = fx_static_status(0, x, y, z, (actor->debuff != STATUS_SHRINK) ? 1.0f : 0.4f, 5, 0); + wattEffectData->effect1 = fx_static_status(0, x, y, z, (actor->debuff != STATUS_KEY_SHRINK) ? 1.0f : 0.4f, 5, 0); } if (wattEffectData->effect2 != NULL) { @@ -55,7 +64,7 @@ API_CALLABLE(N(UnkWattEffectFunc1)) { wattEffectData->effect1 = NULL; } if (wattEffectData->effect2 == NULL) { - wattEffectData->effect2 = fx_static_status(1, x, y, z, (actor->debuff != STATUS_SHRINK) ? 1.0f : 0.4f, 5, 0); + wattEffectData->effect2 = fx_static_status(1, x, y, z, (actor->debuff != STATUS_KEY_SHRINK) ? 1.0f : 0.4f, 5, 0); } wattEffectData->effect2->data.staticStatus->pos.x = x; @@ -135,59 +144,54 @@ API_CALLABLE(N(UnkWattEffectFunc5)) { #include "common/SetBackgroundAlpha.inc.c" -extern EvtScript N(watt_init); -extern EvtScript N(watt_takeTurn); -extern EvtScript N(watt_idle); -extern EvtScript N(watt_handleEvent); - s32 N(watt_idleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleWatt_Idle, - STATUS_STONE, ANIM_BattleWatt_Still, - STATUS_SLEEP, ANIM_BattleWatt_Still, - STATUS_POISON, ANIM_BattleWatt_Idle, - STATUS_STOP, ANIM_BattleWatt_Still, - STATUS_STATIC, ANIM_BattleWatt_Idle, - STATUS_PARALYZE, ANIM_BattleWatt_Still, - STATUS_DIZZY, ANIM_BattleWatt_Injured, - STATUS_FEAR, ANIM_BattleWatt_Injured, + STATUS_KEY_NORMAL, ANIM_BattleWatt_Idle, + STATUS_KEY_STONE, ANIM_BattleWatt_Still, + STATUS_KEY_SLEEP, ANIM_BattleWatt_Still, + STATUS_KEY_POISON, ANIM_BattleWatt_Idle, + STATUS_KEY_STOP, ANIM_BattleWatt_Still, + STATUS_KEY_STATIC, ANIM_BattleWatt_Idle, + STATUS_KEY_PARALYZE, ANIM_BattleWatt_Still, + STATUS_KEY_DIZZY, ANIM_BattleWatt_Injured, + STATUS_KEY_FEAR, ANIM_BattleWatt_Injured, STATUS_END, }; s32 N(watt_defenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 99, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 99, ELEMENT_END, }; s32 N(watt_statusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; ActorPartBlueprint N(watt_parts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -1, 20 }, .opacity = 255, @@ -199,7 +203,7 @@ ActorPartBlueprint N(watt_parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_WATT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { -1, -30 }, .opacity = 255, @@ -229,9 +233,9 @@ ActorBlueprint N(watt) = { .powerBounceChance = 90, .coinReward = 2, .size = { 34, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(watt_init) = { @@ -348,17 +352,17 @@ EvtScript N(watt_takeTurn) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Run) EVT_CALL(N(UnkWattEffectFunc5), 1) EVT_CALL(AddGoalPos, ACTOR_SELF, 15, -10, 5) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) EVT_CALL(N(UnkWattEffectFunc5), 0) EVT_WAIT(5) EVT_CALL(N(UnkWattEffectFunc3), 0) EVT_CALL(AddGoalPos, ACTOR_SELF, 25, 20, 0) EVT_CALL(FlyToGoal, ACTOR_SELF, 15, -20, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Strain) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Strain) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 5, 0, EASING_COS_IN_OUT) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -368,7 +372,7 @@ EvtScript N(watt_takeTurn) = { EVT_SET(LVarA, LVar0) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -40, 10, 0) @@ -382,9 +386,9 @@ EvtScript N(watt_takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP @@ -407,7 +411,7 @@ EvtScript N(watt_takeTurn) = { EVT_END_IF EVT_CALL(N(UnkBackgroundFunc3)) EVT_SET(LVar9, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_StrainBigger) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_StrainBigger) EVT_LOOP(LVarA) EVT_ADD(LVar9, 3) EVT_IF_GT(LVar9, 200) @@ -416,8 +420,8 @@ EvtScript N(watt_takeTurn) = { EVT_CALL(N(SetBackgroundAlpha), LVar9) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Idle) - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 9) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_IDLE) EVT_CALL(AddBattleCamZoom, 75) EVT_CALL(MoveBattleCamOver, 5) EVT_THREAD @@ -447,9 +451,9 @@ EvtScript N(watt_takeTurn) = { EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleWatt_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) diff --git a/src/battle/common/actor/goomba.inc.c b/src/battle/common/actor/goomba.inc.c index 06c9466cfd..268a5ca9a9 100644 --- a/src/battle/common/actor/goomba.inc.c +++ b/src/battle/common/actor/goomba.inc.c @@ -3,43 +3,47 @@ #include "script_api/battle.h" #include "sprite/npc/Goomba.h" +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; extern s32 N(IdleAnimations)[]; extern EvtScript N(init); -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -56,8 +60,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_GOOMBA, .level = 5, .maxHP = 2, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 90, @@ -69,34 +73,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 24, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Goomba_Idle, - STATUS_STONE, ANIM_Goomba_Still, - STATUS_SLEEP, ANIM_Goomba_Sleep, - STATUS_POISON, ANIM_Goomba_Idle, - STATUS_STOP, ANIM_Goomba_Still, - STATUS_STATIC, ANIM_Goomba_Idle, - STATUS_PARALYZE, ANIM_Goomba_Still, - STATUS_DIZZY, ANIM_Goomba_Dizzy, - STATUS_FEAR, ANIM_Goomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Idle, + STATUS_KEY_STONE, ANIM_Goomba_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Idle, + STATUS_KEY_PARALYZE, ANIM_Goomba_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Dizzy, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_Goomba_Run, - STATUS_STONE, ANIM_Goomba_Still, - STATUS_SLEEP, ANIM_Goomba_Sleep, - STATUS_POISON, ANIM_Goomba_Idle, - STATUS_STOP, ANIM_Goomba_Still, - STATUS_STATIC, ANIM_Goomba_Run, - STATUS_PARALYZE, ANIM_Goomba_Still, - STATUS_DIZZY, ANIM_Goomba_Dizzy, - STATUS_FEAR, ANIM_Goomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Run, + STATUS_KEY_STONE, ANIM_Goomba_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Run, + STATUS_KEY_PARALYZE, ANIM_Goomba_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Dizzy, STATUS_END, }; @@ -119,7 +123,7 @@ EvtScript N(idle) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -128,14 +132,14 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -144,14 +148,14 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations2))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations2))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -208,14 +212,14 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Goomba_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(EVENT_SHOCK_DEATH) @@ -244,12 +248,12 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 1) @@ -272,7 +276,7 @@ EvtScript N(handleEvent) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -288,18 +292,18 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -327,10 +331,10 @@ EvtScript N(takeTurn) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -339,14 +343,14 @@ EvtScript N(takeTurn) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -361,26 +365,26 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -403,10 +407,10 @@ EvtScript N(takeTurn) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Tense) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Tense) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -423,7 +427,7 @@ EvtScript N(takeTurn) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -436,15 +440,15 @@ EvtScript N(takeTurn) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/gray_magikoopa.inc.c b/src/battle/common/actor/gray_magikoopa.inc.c index 79a9f4d81d..8c34daa270 100644 --- a/src/battle/common/actor/gray_magikoopa.inc.c +++ b/src/battle/common/actor/gray_magikoopa.inc.c @@ -15,70 +15,76 @@ extern s32 N(IdleAnimations1)[]; extern s32 N(IdleAnimations2)[]; extern s32 N(IdleAnimations3)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_flying)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; s32 N(StatusTable_flying)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -90,10 +96,10 @@ ActorPartBlueprint N(parts)[] = { }, }; -ActorPartBlueprint N(parts_flying)[] = { +ActorPartBlueprint N(ActorParts_flying)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -105,7 +111,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, @@ -117,7 +123,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -134,8 +140,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_GRAY_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 40, @@ -147,9 +153,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 2, .size = { 36, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 32 }, + .statusTextOffset = { 10, 32 }, }; ActorBlueprint N(flying) = { @@ -157,8 +163,8 @@ ActorBlueprint N(flying) = { .type = ACTOR_TYPE_FLYING_GRAY_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts_flying)), - .partsData = N(parts_flying), + .partCount = ARRAY_COUNT(N(ActorParts_flying)), + .partsData = N(ActorParts_flying), .initScript = &N(init_flying), .statusTable = N(StatusTable_flying), .escapeChance = 40, @@ -170,39 +176,39 @@ ActorBlueprint N(flying) = { .powerBounceChance = 75, .coinReward = 2, .size = { 48, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -25, 20 }, - .statusMessageOffset = { 1, 34 }, + .statusTextOffset = { 1, 34 }, }; s32 N(IdleAnimations1)[] = { - STATUS_NORMAL, ANIM_Magikoopa_Gray_Anim01, - STATUS_STONE, ANIM_Magikoopa_Gray_Anim00, - STATUS_SLEEP, ANIM_Magikoopa_Gray_Anim08, - STATUS_POISON, ANIM_Magikoopa_Gray_Anim01, - STATUS_STOP, ANIM_Magikoopa_Gray_Anim00, - STATUS_STATIC, ANIM_Magikoopa_Gray_Anim01, - STATUS_PARALYZE, ANIM_Magikoopa_Gray_Anim00, - STATUS_DIZZY, ANIM_Magikoopa_Gray_Anim07, - STATUS_FEAR, ANIM_Magikoopa_Gray_Anim07, + STATUS_KEY_NORMAL, ANIM_Magikoopa_Gray_Anim01, + STATUS_KEY_STONE, ANIM_Magikoopa_Gray_Anim00, + STATUS_KEY_SLEEP, ANIM_Magikoopa_Gray_Anim08, + STATUS_KEY_POISON, ANIM_Magikoopa_Gray_Anim01, + STATUS_KEY_STOP, ANIM_Magikoopa_Gray_Anim00, + STATUS_KEY_STATIC, ANIM_Magikoopa_Gray_Anim01, + STATUS_KEY_PARALYZE, ANIM_Magikoopa_Gray_Anim00, + STATUS_KEY_DIZZY, ANIM_Magikoopa_Gray_Anim07, + STATUS_KEY_FEAR, ANIM_Magikoopa_Gray_Anim07, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Gray_Anim01, - STATUS_STONE, ANIM_FlyingMagikoopa_Gray_Anim00, - STATUS_SLEEP, ANIM_FlyingMagikoopa_Gray_Anim08, - STATUS_POISON, ANIM_FlyingMagikoopa_Gray_Anim01, - STATUS_STOP, ANIM_FlyingMagikoopa_Gray_Anim00, - STATUS_STATIC, ANIM_FlyingMagikoopa_Gray_Anim01, - STATUS_PARALYZE, ANIM_FlyingMagikoopa_Gray_Anim00, - STATUS_DIZZY, ANIM_FlyingMagikoopa_Gray_Anim07, - STATUS_FEAR, ANIM_FlyingMagikoopa_Gray_Anim07, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Gray_Anim01, + STATUS_KEY_STONE, ANIM_FlyingMagikoopa_Gray_Anim00, + STATUS_KEY_SLEEP, ANIM_FlyingMagikoopa_Gray_Anim08, + STATUS_KEY_POISON, ANIM_FlyingMagikoopa_Gray_Anim01, + STATUS_KEY_STOP, ANIM_FlyingMagikoopa_Gray_Anim00, + STATUS_KEY_STATIC, ANIM_FlyingMagikoopa_Gray_Anim01, + STATUS_KEY_PARALYZE, ANIM_FlyingMagikoopa_Gray_Anim00, + STATUS_KEY_DIZZY, ANIM_FlyingMagikoopa_Gray_Anim07, + STATUS_KEY_FEAR, ANIM_FlyingMagikoopa_Gray_Anim07, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Gray_Anim0A, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Gray_Anim0A, STATUS_END, }; @@ -213,7 +219,7 @@ EvtScript N(idle) = { #include "common/ShrinkActor.inc.c" #include "common/GetSelectedMoveID.inc.c" -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" #include "common/StartRumbleWithParams.inc.c" #include "world/common/todo/UnkFunc52.inc.c" @@ -275,13 +281,13 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_Gray_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim02) EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -290,11 +296,11 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, 0, 2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, 0, 2, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, -4, 5, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, -4, 5, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 1) @@ -336,30 +342,30 @@ EvtScript N(canBeKnockedOff) = { EvtScript N(knockOff) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim04) EVT_GOTO(0) EVT_END_IF EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_POW) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim04) EVT_GOTO(0) EVT_END_IF EVT_RETURN EVT_LABEL(0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 1) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -372,7 +378,7 @@ EvtScript N(knockOff) = { EVT_END_THREAD EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -383,18 +389,18 @@ EvtScript N(knockOff) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim01) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim01) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_GRAY_MAGIKOOPA) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 32) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 32) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TYPE_CHANGED, TRUE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) @@ -477,24 +483,24 @@ EvtScript N(handleEvent_flying) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Gray_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Gray_Anim01) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Gray_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Gray_Anim01) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Gray_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Gray_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Gray_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Gray_Anim02) EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -503,11 +509,11 @@ EvtScript N(handleEvent_flying) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -3, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -3, 0, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -15, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -15, 0, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 2) @@ -545,7 +551,7 @@ EvtScript N(attackMagicBlast) = { EVT_ADD(LVar1, 36) EVT_END_IF EVT_PLAY_EFFECT(EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Gray_Anim02) EVT_WAIT(30) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -553,7 +559,7 @@ EvtScript N(attackMagicBlast) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Gray_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Gray_Anim03) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar9) @@ -575,16 +581,16 @@ EvtScript N(attackMagicBlast) = { EVT_END_IF EVT_WAIT(14) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Gray_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Gray_Anim03) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -624,11 +630,11 @@ EvtScript N(attackWandStrike) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DB) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim02) EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -647,11 +653,11 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim03) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim03) EVT_WAIT(11) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DC) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -667,20 +673,20 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim01) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -697,20 +703,20 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim01) EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, EASING_COS_IN_OUT) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -722,7 +728,7 @@ EvtScript N(attackWandStrike) = { EvtScript N(flee) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, EVENT_SCARE_AWAY) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) @@ -747,7 +753,7 @@ EvtScript N(flee) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_EXEC_WAIT(EVS_ForceNextTarget) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END @@ -830,9 +836,9 @@ EvtScript N(takeTurn) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Gray_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -869,9 +875,9 @@ EvtScript N(takeTurn) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Gray_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Gray_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Gray_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Gray_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -879,9 +885,9 @@ EvtScript N(takeTurn) = { EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DB) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(VanishActor, LVar8, 2) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/common/actor/green_magikoopa.inc.c b/src/battle/common/actor/green_magikoopa.inc.c index b885676675..90a7fc31df 100644 --- a/src/battle/common/actor/green_magikoopa.inc.c +++ b/src/battle/common/actor/green_magikoopa.inc.c @@ -17,70 +17,76 @@ extern s32 N(IdleAnimations)[]; extern s32 N(IdleAnimations2)[]; extern s32 N(IdleAnimations3)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_flying)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; s32 N(StatusTable_flying)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -92,10 +98,10 @@ ActorPartBlueprint N(parts)[] = { }, }; -ActorPartBlueprint N(parts_flying)[] = { +ActorPartBlueprint N(ActorParts_flying)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -107,7 +113,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, @@ -119,7 +125,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -136,8 +142,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_GREEN_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 40, @@ -149,9 +155,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 75, .coinReward = 2, .size = { 36, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 32 }, + .statusTextOffset = { 10, 32 }, }; ActorBlueprint N(flying) = { @@ -159,8 +165,8 @@ ActorBlueprint N(flying) = { .type = ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts_flying)), - .partsData = N(parts_flying), + .partCount = ARRAY_COUNT(N(ActorParts_flying)), + .partsData = N(ActorParts_flying), .initScript = &N(init_flying), .statusTable = N(StatusTable_flying), .escapeChance = 40, @@ -172,39 +178,39 @@ ActorBlueprint N(flying) = { .powerBounceChance = 75, .coinReward = 2, .size = { 48, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -25, 20 }, - .statusMessageOffset = { 1, 34 }, + .statusTextOffset = { 1, 34 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Magikoopa_Green_Anim01, - STATUS_STONE, ANIM_Magikoopa_Green_Anim00, - STATUS_SLEEP, ANIM_Magikoopa_Green_Anim08, - STATUS_POISON, ANIM_Magikoopa_Green_Anim01, - STATUS_STOP, ANIM_Magikoopa_Green_Anim00, - STATUS_STATIC, ANIM_Magikoopa_Green_Anim01, - STATUS_PARALYZE, ANIM_Magikoopa_Green_Anim00, - STATUS_DIZZY, ANIM_Magikoopa_Green_Anim07, - STATUS_FEAR, ANIM_Magikoopa_Green_Anim07, + STATUS_KEY_NORMAL, ANIM_Magikoopa_Green_Anim01, + STATUS_KEY_STONE, ANIM_Magikoopa_Green_Anim00, + STATUS_KEY_SLEEP, ANIM_Magikoopa_Green_Anim08, + STATUS_KEY_POISON, ANIM_Magikoopa_Green_Anim01, + STATUS_KEY_STOP, ANIM_Magikoopa_Green_Anim00, + STATUS_KEY_STATIC, ANIM_Magikoopa_Green_Anim01, + STATUS_KEY_PARALYZE, ANIM_Magikoopa_Green_Anim00, + STATUS_KEY_DIZZY, ANIM_Magikoopa_Green_Anim07, + STATUS_KEY_FEAR, ANIM_Magikoopa_Green_Anim07, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Green_Anim01, - STATUS_STONE, ANIM_FlyingMagikoopa_Green_Anim00, - STATUS_SLEEP, ANIM_FlyingMagikoopa_Green_Anim08, - STATUS_POISON, ANIM_FlyingMagikoopa_Green_Anim01, - STATUS_STOP, ANIM_FlyingMagikoopa_Green_Anim00, - STATUS_STATIC, ANIM_FlyingMagikoopa_Green_Anim01, - STATUS_PARALYZE, ANIM_FlyingMagikoopa_Green_Anim00, - STATUS_DIZZY, ANIM_FlyingMagikoopa_Green_Anim07, - STATUS_FEAR, ANIM_FlyingMagikoopa_Green_Anim07, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Green_Anim01, + STATUS_KEY_STONE, ANIM_FlyingMagikoopa_Green_Anim00, + STATUS_KEY_SLEEP, ANIM_FlyingMagikoopa_Green_Anim08, + STATUS_KEY_POISON, ANIM_FlyingMagikoopa_Green_Anim01, + STATUS_KEY_STOP, ANIM_FlyingMagikoopa_Green_Anim00, + STATUS_KEY_STATIC, ANIM_FlyingMagikoopa_Green_Anim01, + STATUS_KEY_PARALYZE, ANIM_FlyingMagikoopa_Green_Anim00, + STATUS_KEY_DIZZY, ANIM_FlyingMagikoopa_Green_Anim07, + STATUS_KEY_FEAR, ANIM_FlyingMagikoopa_Green_Anim07, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Green_Anim0A, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Green_Anim0A, STATUS_END, }; @@ -215,7 +221,7 @@ EvtScript N(idle) = { #include "common/ShrinkActor.inc.c" #include "common/GetSelectedMoveID.inc.c" -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" #include "common/StartRumbleWithParams.inc.c" #include "world/common/todo/UnkFunc52.inc.c" @@ -277,13 +283,13 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim02) EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -292,11 +298,11 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, 0, 2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, 0, 2, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, -4, 5, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, -4, 5, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 1) @@ -338,30 +344,30 @@ EvtScript N(canBeKnockedOff) = { EvtScript N(knockOff) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim04) EVT_GOTO(0) EVT_END_IF EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_POW) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim04) EVT_GOTO(0) EVT_END_IF EVT_RETURN EVT_LABEL(0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 1) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -374,7 +380,7 @@ EvtScript N(knockOff) = { EVT_END_THREAD EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -385,18 +391,18 @@ EvtScript N(knockOff) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim01) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim01) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_GREEN_MAGIKOOPA) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 32) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 32) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TYPE_CHANGED, TRUE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) @@ -479,24 +485,24 @@ EvtScript N(handleEvent_flying) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Green_Anim01) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Green_Anim01) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Green_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Green_Anim02) EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -505,11 +511,11 @@ EvtScript N(handleEvent_flying) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -3, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -3, 0, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -15, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -15, 0, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 2) @@ -547,7 +553,7 @@ EvtScript N(attackMagicBlast) = { EVT_ADD(LVar1, 36) EVT_END_IF EVT_PLAY_EFFECT(EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Green_Anim02) EVT_WAIT(30) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -555,7 +561,7 @@ EvtScript N(attackMagicBlast) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Green_Anim03) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar9) @@ -577,16 +583,16 @@ EvtScript N(attackMagicBlast) = { EVT_END_IF EVT_WAIT(14) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Green_Anim03) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -626,11 +632,11 @@ EvtScript N(attackWandStrike) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DB) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim02) EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -649,11 +655,11 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim03) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim03) EVT_WAIT(11) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DC) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -669,20 +675,20 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim01) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -699,20 +705,20 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim01) EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, EASING_COS_IN_OUT) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -724,7 +730,7 @@ EvtScript N(attackWandStrike) = { EvtScript N(flee) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, EVENT_SCARE_AWAY) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) @@ -749,7 +755,7 @@ EvtScript N(flee) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_EXEC_WAIT(EVS_ForceNextTarget) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END @@ -832,9 +838,9 @@ EvtScript N(takeTurn) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Green_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -871,9 +877,9 @@ EvtScript N(takeTurn) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Green_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Green_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Green_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -881,9 +887,9 @@ EvtScript N(takeTurn) = { EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DD) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(BoostDefense, LVar8, 1) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/common/actor/hammer_bro.inc.c b/src/battle/common/actor/hammer_bro.inc.c index e6aa753083..f762f2cfaf 100644 --- a/src/battle/common/actor/hammer_bro.inc.c +++ b/src/battle/common/actor/hammer_bro.inc.c @@ -8,58 +8,67 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_HAMMER_1 = 2, + PRT_HAMMER_2 = 3, + PRT_HAMMER_3 = 4, + PRT_HAMMER_4 = 5, + PRT_HAMMER_5 = 6, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_HammerBros_Anim02, - STATUS_STONE, ANIM_HammerBros_Anim00, - STATUS_SLEEP, ANIM_HammerBros_Anim11, - STATUS_POISON, ANIM_HammerBros_Anim02, - STATUS_STOP, ANIM_HammerBros_Anim00, - STATUS_STATIC, ANIM_HammerBros_Anim02, - STATUS_PARALYZE, ANIM_HammerBros_Anim00, - STATUS_DIZZY, ANIM_HammerBros_Anim12, - STATUS_FEAR, ANIM_HammerBros_Anim12, + STATUS_KEY_NORMAL, ANIM_HammerBros_Anim02, + STATUS_KEY_STONE, ANIM_HammerBros_Anim00, + STATUS_KEY_SLEEP, ANIM_HammerBros_Anim11, + STATUS_KEY_POISON, ANIM_HammerBros_Anim02, + STATUS_KEY_STOP, ANIM_HammerBros_Anim00, + STATUS_KEY_STATIC, ANIM_HammerBros_Anim02, + STATUS_KEY_PARALYZE, ANIM_HammerBros_Anim00, + STATUS_KEY_DIZZY, ANIM_HammerBros_Anim12, + STATUS_KEY_FEAR, ANIM_HammerBros_Anim12, STATUS_END, }; -s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_HammerBros_Anim0D, +s32 N(HammerAnims)[] = { + STATUS_KEY_NORMAL, ANIM_HammerBros_Anim0D, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 1, + ELEMENT_NORMAL, 1, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 60, - STATUS_FROZEN, 0, - STATUS_DIZZY, 70, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 70, - STATUS_SHRINK, 70, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 60, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 70, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 70, + STATUS_KEY_SHRINK, 70, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -3, 35 }, .opacity = 255, @@ -71,11 +80,11 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_HAMMER_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations2), + .idleAnimations = N(HammerAnims), .defenseTable = N(DefenseTable), .eventFlags = 0, .elementImmunityFlags = 0, @@ -83,11 +92,11 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_HAMMER_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations2), + .idleAnimations = N(HammerAnims), .defenseTable = N(DefenseTable), .eventFlags = 0, .elementImmunityFlags = 0, @@ -95,11 +104,11 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 4, + .index = PRT_HAMMER_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations2), + .idleAnimations = N(HammerAnims), .defenseTable = N(DefenseTable), .eventFlags = 0, .elementImmunityFlags = 0, @@ -107,11 +116,11 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 5, + .index = PRT_HAMMER_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations2), + .idleAnimations = N(HammerAnims), .defenseTable = N(DefenseTable), .eventFlags = 0, .elementImmunityFlags = 0, @@ -119,11 +128,11 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_HAMMER_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, - .idleAnimations = N(IdleAnimations2), + .idleAnimations = N(HammerAnims), .defenseTable = N(DefenseTable), .eventFlags = 0, .elementImmunityFlags = 0, @@ -136,8 +145,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_HAMMER_BROS, .level = 27, .maxHP = 12, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 30, @@ -149,9 +158,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 2, .size = { 28, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 35 }, + .statusTextOffset = { 10, 35 }, }; EvtScript N(init) = { @@ -168,17 +177,17 @@ EvtScript N(idle) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_FLAG(STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) EVT_CASE_DEFAULT EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -3, 35) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -3, -10) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -3, 35) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -3, -10) EVT_CASE_EQ(1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) EVT_END_SWITCH EVT_END_SWITCH EVT_WAIT(1) @@ -230,8 +239,8 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim15) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim17) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HammerBros_Anim17) EVT_WAIT(10) EVT_END_IF EVT_END_CASE_GROUP @@ -260,7 +269,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetActorDispOffset, ACTOR_SELF, -2, 1, 0) EVT_ELSE @@ -299,13 +308,13 @@ EvtScript N(attackHammerThrow) = { EVT_LABEL(0) EVT_ADD(LVar0, 20) EVT_MOD(LVar0, 360) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_HAMMER_1, 0, 0, LVar0) EVT_WAIT(1) EVT_GOTO(0) EVT_END_CHILD_THREAD - EVT_CALL(SetPartPos, ACTOR_SELF, 2, 0, 50, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim0C) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_HAMMER_1, 0, 50, 0) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_HAMMER_1, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HammerBros_Anim0C) EVT_GOTO(100) EVT_END_IF EVT_CHILD_THREAD @@ -313,7 +322,7 @@ EvtScript N(attackHammerThrow) = { EVT_LABEL(0) EVT_ADD(LVar0, 20) EVT_MOD(LVar0, 360) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_HAMMER_1, 0, 0, LVar0) EVT_WAIT(1) EVT_GOTO(0) EVT_END_CHILD_THREAD @@ -321,74 +330,74 @@ EvtScript N(attackHammerThrow) = { EVT_SUB(LVar0, 23) EVT_ADD(LVar1, 23) EVT_SUB(LVar2, 2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim0C) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HammerBros_Anim0C) EVT_WAIT(8) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_HAMMER_1, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_LABEL(100) EVT_THREAD EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HammerBros_Anim02) EVT_END_THREAD EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_1, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_JUMP, 0, 0) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_2E9) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_HAMMER_1, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_HAMMER_1, SOUND_2E9) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 20) EVT_SET(LVar1, 10) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.3)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 15, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_HAMMER_1, EVT_FLOAT(1.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2, 15, TRUE) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_SUB(LVar0, 40) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 15, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2, 15, TRUE) EVT_SUB(LVar0, 30) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2, 10, TRUE) EVT_SUB(LVar0, 20) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 5, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2, 5, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_HAMMER_1, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(15) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_JUMP, 0, 0) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_2E9) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_HAMMER_1, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_HAMMER_1, SOUND_2E9) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.3)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 15, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_HAMMER_1, EVT_FLOAT(1.3)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2, 15, TRUE) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 50), 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 50), 5, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) - EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetPartOffset, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 50) EVT_SET(LVar1, 10) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 20, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2, 20, TRUE) EVT_SUB(LVar0, 30) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 10, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2, 10, TRUE) EVT_SUB(LVar0, 20) - EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 5, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2, 5, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_HAMMER_1, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(20) EVT_CALL(YieldTurn) EVT_END_CASE_GROUP @@ -400,9 +409,9 @@ EvtScript N(attackHammerThrow) = { }; EvtScript N(hammerMiss) = { - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim0C) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HammerBros_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HammerBros_Anim0C) EVT_WAIT(4) EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar0, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(SetPartSounds, ACTOR_SELF, LVar0, ACTOR_SOUND_JUMP, 0, 0) @@ -429,9 +438,9 @@ EvtScript N(hammerMiss) = { }; EvtScript N(hammerHit) = { - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim02) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim0C) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HammerBros_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HammerBros_Anim0C) EVT_WAIT(4) EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar0, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(SetPartSounds, ACTOR_SELF, LVar0, ACTOR_SOUND_JUMP, 0, 0) @@ -461,11 +470,11 @@ EvtScript N(attackHammerSurge) = { EVT_LOOP(100) EVT_ADD(LVar0, 20) EVT_MOD(LVar0, 360) - EVT_CALL(SetPartRotation, ACTOR_SELF, 2, 0, 0, LVar0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 3, 0, 0, LVar0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 4, 0, 0, LVar0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 5, 0, 0, LVar0) - EVT_CALL(SetPartRotation, ACTOR_SELF, 6, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_HAMMER_1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_HAMMER_2, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_HAMMER_3, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_HAMMER_4, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_HAMMER_5, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -473,24 +482,24 @@ EvtScript N(attackHammerSurge) = { EVT_SUB(LVar0, 23) EVT_ADD(LVar1, 23) EVT_SUB(LVar2, 2) - EVT_CALL(SetPartPos, ACTOR_SELF, 2, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 5, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_HAMMER_1, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_HAMMER_2, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_HAMMER_3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_HAMMER_4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_HAMMER_5, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_CALL(SetPartScale, ACTOR_SELF, 4, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_CALL(SetPartScale, ACTOR_SELF, 5, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_1, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_2, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_4, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_5, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 4, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 5, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_1, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_2, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_4, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_HAMMER_5, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -513,15 +522,15 @@ EvtScript N(attackHammerSurge) = { EVT_EXEC(N(hammerMiss)) EVT_WAIT(5) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HammerBros_Anim02) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(15) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -553,12 +562,12 @@ EvtScript N(attackHammerSurge) = { EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_40) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HammerBros_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_HammerBros_Anim02) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_40) EVT_WAIT(5) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 50), 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 50), 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) diff --git a/src/battle/common/actor/koopa_troopa.inc.c b/src/battle/common/actor/koopa_troopa.inc.c index 2d94fc9a17..c68c75f7d4 100644 --- a/src/battle/common/actor/koopa_troopa.inc.c +++ b/src/battle/common/actor/koopa_troopa.inc.c @@ -4,52 +4,59 @@ #include "script_api/battle.h" #include "sprite/npc/KoopaTroopa.h" +extern EvtScript N(init); +extern EvtScript N(idle); +extern EvtScript N(takeTurn); +extern EvtScript N(handleEvent); +extern s32 N(IdleAnimations)[]; + +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 1, - ELEMENT_SMASH, 1, - ELEMENT_JUMP, 1, - ELEMENT_WATER, 1, - ELEMENT_BLAST, 1, + ELEMENT_NORMAL, 1, + ELEMENT_SMASH, 1, + ELEMENT_JUMP, 1, + ELEMENT_WATER, 1, + ELEMENT_BLAST, 1, ELEMENT_END, }; -s32 N(DefenseTable_flipped)[] = { - ELEMENT_NORMAL, 0, +s32 N(DefenseTable_Flipped)[] = { + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 60, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 90, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 90, + STATUS_KEY_POISON, 60, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -extern s32 N(IdleAnimations)[]; -extern EvtScript N(init); - -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 36 }, .opacity = 255, @@ -66,8 +73,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_KOOPA_TROOPA, .level = 6, .maxHP = 4, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 70, @@ -79,54 +86,50 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 28, 36 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 32 }, - .statusMessageOffset = { 5, 32 }, + .statusTextOffset = { 5, 32 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Idle, - STATUS_STONE, ANIM_KoopaTroopa_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Idle, - STATUS_STOP, ANIM_KoopaTroopa_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Idle, - STATUS_PARALYZE, ANIM_KoopaTroopa_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Idle, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Idle, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Idle, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Stunned, STATUS_END, }; s32 N(IdleAnimations_8021CADC)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Walk, - STATUS_STONE, ANIM_KoopaTroopa_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Walk, - STATUS_STOP, ANIM_KoopaTroopa_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Walk, - STATUS_PARALYZE, ANIM_KoopaTroopa_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Walk, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Walk, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Walk, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Stunned, STATUS_END, }; s32 N(IdleAnimations_flipped)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_ToppleStruggle, - STATUS_STONE, ANIM_KoopaTroopa_ToppleStill, - STATUS_SLEEP, ANIM_KoopaTroopa_ToppleSleep, - STATUS_POISON, ANIM_KoopaTroopa_ToppleStruggle, - STATUS_STOP, ANIM_KoopaTroopa_ToppleStill, - STATUS_STATIC, ANIM_KoopaTroopa_ToppleStruggle, - STATUS_PARALYZE, ANIM_KoopaTroopa_ToppleStill, - STATUS_DIZZY, ANIM_KoopaTroopa_ToppleStunned, - STATUS_FEAR, ANIM_KoopaTroopa_ToppleStunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_ToppleStruggle, + STATUS_KEY_STONE, ANIM_KoopaTroopa_ToppleStill, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_ToppleSleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_ToppleStruggle, + STATUS_KEY_STOP, ANIM_KoopaTroopa_ToppleStill, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_ToppleStruggle, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_ToppleStill, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_ToppleStunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_ToppleStunned, STATUS_END, }; -extern EvtScript N(takeTurn); -extern EvtScript N(idle); -extern EvtScript N(handleEvent); - EvtScript N(init) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) @@ -136,24 +139,24 @@ EvtScript N(init) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(8021CBD8) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_DIZZY) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -4) - EVT_CALL(N(UnkBattleFunc1), -15, 32, 5, 32) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 32) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -4) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 32, 5, 32) EVT_END_IF EVT_CASE_EQ(1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_SWITCH EVT_RETURN EVT_END @@ -172,7 +175,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -181,15 +184,15 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021CADC))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021CADC))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) EVT_END_SWITCH EVT_LOOP(20) EVT_LABEL(2) @@ -200,7 +203,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -209,15 +212,15 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021CADC))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021CADC))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) EVT_END_SWITCH EVT_LOOP(80) EVT_LABEL(3) @@ -228,7 +231,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(3) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(3) EVT_END_IF @@ -282,12 +285,12 @@ EvtScript N(handleEvent) = { EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 9, 2) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Hurt) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_CHILD_THREAD @@ -312,7 +315,7 @@ EvtScript N(handleEvent) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ToppleStruggle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ToppleStruggle) EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Hurt) @@ -342,8 +345,8 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_ShellEnter) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellExit) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellExit) EVT_WAIT(10) EVT_END_IF EVT_ELSE @@ -440,7 +443,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellSpin) EVT_ELSE EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_IF_EQ(LVar0, 1) @@ -448,20 +451,20 @@ EvtScript N(takeTurn) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 9, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(30) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ToppleStruggle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ToppleStruggle) EVT_SET(LVar0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_CHILD_THREAD @@ -479,12 +482,12 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Idle) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -4) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 32) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -4) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_END_IF @@ -495,7 +498,7 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellEnter) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellEnter) EVT_WAIT(10) EVT_CHILD_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -507,7 +510,7 @@ EvtScript N(takeTurn) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_CHILD_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellSpin) EVT_WAIT(10) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF @@ -530,7 +533,7 @@ EvtScript N(takeTurn) = { EVT_CALL(MoveBattleCamOver, 10) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellExit) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellExit) EVT_WAIT(8) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) @@ -538,15 +541,15 @@ EvtScript N(takeTurn) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_BeginPanic1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_BeginPanic1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_BeginPanic2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_BeginPanic2) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Panic) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Panic) EVT_WAIT(6) EVT_SUB(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -554,14 +557,14 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Panic) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Panic) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetPartYaw, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -590,13 +593,13 @@ EvtScript N(takeTurn) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellExit) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellExit) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Run) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/koopatrol.inc.c b/src/battle/common/actor/koopatrol.inc.c index fee610c920..f58eb89046 100644 --- a/src/battle/common/actor/koopatrol.inc.c +++ b/src/battle/common/actor/koopatrol.inc.c @@ -4,6 +4,16 @@ #include "sprite/npc/Koopatrol.h" #include "effects.h" +extern EvtScript N(init); +extern EvtScript N(takeTurn); +extern EvtScript N(idle); +extern EvtScript N(handleEvent); +extern EvtScript N(nextTurn); + +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + enum N(ActorVars) { N(VAR_STATE) = 0, N(VAR_SUMMON_COUNT) = 1, @@ -17,133 +27,127 @@ enum N(States) { N(STATE_CHARGED) = 2, }; -extern EvtScript N(init); -extern EvtScript N(takeTurn); -extern EvtScript N(idle); -extern EvtScript N(handleEvent); -extern EvtScript N(nextTurn); - s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Koopatrol_Anim01, - STATUS_STONE, ANIM_Koopatrol_Anim00, - STATUS_SLEEP, ANIM_Koopatrol_Anim11, - STATUS_POISON, ANIM_Koopatrol_Anim01, - STATUS_STOP, ANIM_Koopatrol_Anim00, - STATUS_STATIC, ANIM_Koopatrol_Anim01, - STATUS_PARALYZE, ANIM_Koopatrol_Anim00, - STATUS_DIZZY, ANIM_Koopatrol_Anim13, - STATUS_FEAR, ANIM_Koopatrol_Anim13, + STATUS_KEY_NORMAL, ANIM_Koopatrol_Anim01, + STATUS_KEY_STONE, ANIM_Koopatrol_Anim00, + STATUS_KEY_SLEEP, ANIM_Koopatrol_Anim11, + STATUS_KEY_POISON, ANIM_Koopatrol_Anim01, + STATUS_KEY_STOP, ANIM_Koopatrol_Anim00, + STATUS_KEY_STATIC, ANIM_Koopatrol_Anim01, + STATUS_KEY_PARALYZE, ANIM_Koopatrol_Anim00, + STATUS_KEY_DIZZY, ANIM_Koopatrol_Anim13, + STATUS_KEY_FEAR, ANIM_Koopatrol_Anim13, STATUS_END, }; s32 N(IdleAnimations_stepBack)[] = { - STATUS_NORMAL, ANIM_Koopatrol_Anim03, - STATUS_STONE, ANIM_Koopatrol_Anim00, - STATUS_SLEEP, ANIM_Koopatrol_Anim11, - STATUS_POISON, ANIM_Koopatrol_Anim03, - STATUS_STOP, ANIM_Koopatrol_Anim00, - STATUS_STATIC, ANIM_Koopatrol_Anim03, - STATUS_PARALYZE, ANIM_Koopatrol_Anim00, - STATUS_DIZZY, ANIM_Koopatrol_Anim13, - STATUS_FEAR, ANIM_Koopatrol_Anim13, + STATUS_KEY_NORMAL, ANIM_Koopatrol_Anim03, + STATUS_KEY_STONE, ANIM_Koopatrol_Anim00, + STATUS_KEY_SLEEP, ANIM_Koopatrol_Anim11, + STATUS_KEY_POISON, ANIM_Koopatrol_Anim03, + STATUS_KEY_STOP, ANIM_Koopatrol_Anim00, + STATUS_KEY_STATIC, ANIM_Koopatrol_Anim03, + STATUS_KEY_PARALYZE, ANIM_Koopatrol_Anim00, + STATUS_KEY_DIZZY, ANIM_Koopatrol_Anim13, + STATUS_KEY_FEAR, ANIM_Koopatrol_Anim13, STATUS_END, }; s32 N(IdleAnimations_flipped)[] = { - STATUS_NORMAL, ANIM_Koopatrol_Anim0F, - STATUS_STONE, ANIM_Koopatrol_Anim10, - STATUS_SLEEP, ANIM_Koopatrol_Anim12, - STATUS_POISON, ANIM_Koopatrol_Anim0F, - STATUS_STOP, ANIM_Koopatrol_Anim10, - STATUS_STATIC, ANIM_Koopatrol_Anim0F, - STATUS_PARALYZE, ANIM_Koopatrol_Anim10, - STATUS_DIZZY, ANIM_Koopatrol_Anim14, - STATUS_FEAR, ANIM_Koopatrol_Anim14, + STATUS_KEY_NORMAL, ANIM_Koopatrol_Anim0F, + STATUS_KEY_STONE, ANIM_Koopatrol_Anim10, + STATUS_KEY_SLEEP, ANIM_Koopatrol_Anim12, + STATUS_KEY_POISON, ANIM_Koopatrol_Anim0F, + STATUS_KEY_STOP, ANIM_Koopatrol_Anim10, + STATUS_KEY_STATIC, ANIM_Koopatrol_Anim0F, + STATUS_KEY_PARALYZE, ANIM_Koopatrol_Anim10, + STATUS_KEY_DIZZY, ANIM_Koopatrol_Anim14, + STATUS_KEY_FEAR, ANIM_Koopatrol_Anim14, STATUS_END, }; s32 N(IdleAnimations_charged)[] = { - STATUS_NORMAL, ANIM_Koopatrol_Anim06, - STATUS_STONE, ANIM_Koopatrol_Anim06, - STATUS_SLEEP, ANIM_Koopatrol_Anim06, - STATUS_POISON, ANIM_Koopatrol_Anim06, - STATUS_STOP, ANIM_Koopatrol_Anim06, - STATUS_STATIC, ANIM_Koopatrol_Anim06, - STATUS_PARALYZE, ANIM_Koopatrol_Anim06, - STATUS_DIZZY, ANIM_Koopatrol_Anim06, - STATUS_FEAR, ANIM_Koopatrol_Anim06, + STATUS_KEY_NORMAL, ANIM_Koopatrol_Anim06, + STATUS_KEY_STONE, ANIM_Koopatrol_Anim06, + STATUS_KEY_SLEEP, ANIM_Koopatrol_Anim06, + STATUS_KEY_POISON, ANIM_Koopatrol_Anim06, + STATUS_KEY_STOP, ANIM_Koopatrol_Anim06, + STATUS_KEY_STATIC, ANIM_Koopatrol_Anim06, + STATUS_KEY_PARALYZE, ANIM_Koopatrol_Anim06, + STATUS_KEY_DIZZY, ANIM_Koopatrol_Anim06, + STATUS_KEY_FEAR, ANIM_Koopatrol_Anim06, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 3, - ELEMENT_SHOCK, 3, + ELEMENT_NORMAL, 3, + ELEMENT_SHOCK, 3, ELEMENT_END, }; -s32 N(DefenseTable_flipped)[] = { - ELEMENT_NORMAL, 0, +s32 N(DefenseTable_Flipped)[] = { + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_charged)[] = { - ELEMENT_NORMAL, 3, - ELEMENT_FIRE, 3, + ELEMENT_NORMAL, 3, + ELEMENT_FIRE, 3, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 60, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 70, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 60, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 70, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; s32 N(StatusTable_charged)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 32 }, .opacity = 255, @@ -160,8 +164,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_KOOPATROL, .level = 25, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -173,12 +177,12 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 85, .coinReward = 2, .size = { 32, 42 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 32 }, - .statusMessageOffset = { 5, 32 }, + .statusTextOffset = { 5, 32 }, }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" #include "common/StartRumbleWithParams.inc.c" EvtScript N(init) = { @@ -220,22 +224,22 @@ EvtScript N(update_unknown) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(N(STATE_NORMAL)) EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_DIZZY) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -4) - EVT_CALL(N(UnkBattleFunc1), -15, 32, 5, 32) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 32) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -4) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 32, 5, 32) EVT_END_IF EVT_CASE_EQ(N(STATE_FLIPPED)) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_CASE_EQ(N(STATE_CHARGED)) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 20) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -6) - EVT_CALL(N(UnkBattleFunc1), -15, 22, 5, 22) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 20) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 22, 5, 22) EVT_END_SWITCH EVT_RETURN EVT_END @@ -254,7 +258,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP | STATUS_FLAG_GLOWING) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED | STATUS_FLAG_GLOWING) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -263,15 +267,15 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_stepBack))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_stepBack))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(N(STATE_NORMAL)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CASE_EQ(N(STATE_FLIPPED)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) EVT_END_SWITCH EVT_LOOP(20) EVT_LABEL(2) @@ -282,7 +286,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP | STATUS_FLAG_GLOWING) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED | STATUS_FLAG_GLOWING) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -291,15 +295,15 @@ EvtScript N(idle) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_stepBack))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_stepBack))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(N(STATE_NORMAL)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CASE_EQ(N(STATE_FLIPPED)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) EVT_END_SWITCH EVT_LOOP(80) EVT_LABEL(3) @@ -310,7 +314,7 @@ EvtScript N(idle) = { EVT_WAIT(1) EVT_GOTO(3) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP | STATUS_FLAG_GLOWING) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED | STATUS_FLAG_GLOWING) EVT_WAIT(1) EVT_GOTO(3) EVT_END_IF @@ -391,7 +395,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim06) EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim08) EVT_WAIT(5) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) @@ -400,13 +404,13 @@ EvtScript N(handleEvent) = { EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_FLIPPED)) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIPPED), 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim0B) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(4) @@ -429,7 +433,7 @@ EvtScript N(handleEvent) = { EVT_END_LOOP EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim0F) EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) @@ -455,15 +459,15 @@ EvtScript N(handleEvent) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) EVT_IF_EQ(LVar0, N(STATE_CHARGED)) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_NOT_FLAG(LVarA, STATUS_FLAG_DEFENSE_BOOST | STATUS_FLAG_ATTACK_BOOST) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) EVT_END_IF - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim08) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) @@ -477,8 +481,8 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim07) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim08) EVT_WAIT(10) EVT_END_IF EVT_CASE_EQ(N(STATE_FLIPPED)) @@ -538,7 +542,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim06) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim08) EVT_WAIT(5) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim0B) @@ -635,7 +639,7 @@ EvtScript N(attackShellToss) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim06) EVT_ELSE EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) EVT_IF_EQ(LVar0, N(STATE_FLIPPED)) @@ -643,20 +647,20 @@ EvtScript N(attackShellToss) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_FLIPPED), LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(15) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(10) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim0F) EVT_SET(LVar0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD @@ -674,13 +678,13 @@ EvtScript N(attackShellToss) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim01) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -4) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 32) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -4) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -691,7 +695,7 @@ EvtScript N(attackShellToss) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim07) EVT_WAIT(10) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -703,7 +707,7 @@ EvtScript N(attackShellToss) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim06) EVT_WAIT(10) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF @@ -729,20 +733,20 @@ EvtScript N(attackShellToss) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim08) EVT_WAIT(8) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_WAIT(4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim16) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim16) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim16) EVT_WAIT(6) EVT_SUB(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -750,14 +754,14 @@ EvtScript N(attackShellToss) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim16) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim16) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim01) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetPartYaw, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim01) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -786,13 +790,13 @@ EvtScript N(attackShellToss) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim08) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -815,13 +819,13 @@ EvtScript N(attackShellMissile) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 10) EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 6, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 45, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim15) EVT_WAIT(30) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 20) EVT_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim07) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -832,14 +836,14 @@ EvtScript N(attackShellMissile) = { EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(0.5)) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim06) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_charged))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_charged))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, FALSE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_charged))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_CHARGED)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_charged))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_charged))) EVT_CALL(EnableActorGlow, ACTOR_SELF, TRUE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_WAIT(10) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -895,21 +899,21 @@ EvtScript N(attackShellMissile) = { EVT_IF_NOT_FLAG(LVarA, STATUS_FLAG_DEFENSE_BOOST | STATUS_FLAG_ATTACK_BOOST) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) EVT_END_IF - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(SetActorPos, ACTOR_SELF, 300, 0, 0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim08) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim08) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_WAIT(10) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -960,18 +964,18 @@ EvtScript N(attackShellMissile) = { EVT_IF_NOT_FLAG(LVarA, STATUS_FLAG_DEFENSE_BOOST | STATUS_FLAG_ATTACK_BOOST) EVT_CALL(EnableActorGlow, ACTOR_SELF, FALSE) EVT_END_IF - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(SetActorPos, ACTOR_SELF, 300, 0, 0) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim01) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_STATE), N(STATE_NORMAL)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -1045,7 +1049,7 @@ EvtScript N(findTarget) = { Vec3i N(summon_pos) = { NPC_DISPOSE_LOCATION }; Formation N(summon_formation) = { - { .actor = &NAMESPACE, .home = { .vec = &N(summon_pos) }, .priority = 100, } + ACTOR_BY_POS(NAMESPACE, N(summon_pos), 100) }; EvtScript N(summonFriend) = { @@ -1055,20 +1059,20 @@ EvtScript N(summonFriend) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim02) EVT_WAIT(20) EVT_LOOP(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim02) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim09) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim02) EVT_WAIT(8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2E5) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim09) EVT_WAIT(8) EVT_END_LOOP EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1079,7 +1083,7 @@ EvtScript N(summonFriend) = { EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, LVar0, LVar1, LVar2, 30, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Koopatrol_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Koopatrol_Anim16) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1143,7 +1147,7 @@ EvtScript N(findPlacesToSummon) = { EVT_SWITCH(LVar2) EVT_CASE_EQ(ACTOR_TYPE_KOOPATROL) EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(GetActorVar, LVar0, N(VAR_STATE), LVar3) EVT_IF_EQ(LVar3, N(STATE_NORMAL)) EVT_CALL(GetActorVar, LVar0, N(VAR_SUMMON_COUNT), LVar3) diff --git a/src/battle/common/actor/magikoopa.inc.c b/src/battle/common/actor/magikoopa.inc.c index 163eef6ff5..71e678b37f 100644 --- a/src/battle/common/actor/magikoopa.inc.c +++ b/src/battle/common/actor/magikoopa.inc.c @@ -5,6 +5,23 @@ #include "sprite/npc/FlyingMagikoopa.h" #include "effects.h" +extern EvtScript N(init); +extern EvtScript N(idle); +extern EvtScript N(takeTurn); +extern EvtScript N(handleEvent); +extern EvtScript N(init_flying); +extern EvtScript N(handleEvent_flying); + +extern s32 N(IdleAnimations)[]; +extern s32 N(IdleAnimations_flying)[]; +extern s32 N(idleAnimtions_broomstick)[]; + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + enum N(ActorVars) { N(VAR_FLAG_HIT_COMBO) = 0, N(VAR_HAS_CLONE) = 1, @@ -32,81 +49,70 @@ enum N(ActionIds) { N(ACTION_MAKE_TRANSPARENT) = 7, }; -extern EvtScript N(init); -extern EvtScript N(idle); -extern EvtScript N(takeTurn); -extern EvtScript N(handleEvent); -extern EvtScript N(init_flying); -extern EvtScript N(handleEvent_flying); - -extern s32 N(IdleAnimations)[]; -extern s32 N(IdleAnimations_flying)[]; -extern s32 N(idleAnimtions_broomstick)[]; - s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_flying)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 40, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 60, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 40, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 60, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; s32 N(StatusTable_flying)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 40, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 60, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, -1, - STATUS_SHRINK_TURN_MOD, -1, - STATUS_STOP_TURN_MOD, -2, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 40, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 60, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, -1, + STATUS_TURN_MOD_SHRINK, -1, + STATUS_TURN_MOD_STOP, -2, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -118,10 +124,10 @@ ActorPartBlueprint N(parts)[] = { }, }; -ActorPartBlueprint N(parts_flying)[] = { +ActorPartBlueprint N(ActorParts_flying)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -133,7 +139,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, @@ -145,7 +151,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -162,8 +168,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_MAGIKOOPA, .level = 26, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 40, @@ -175,9 +181,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 2, .size = { 36, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 32 }, + .statusTextOffset = { 10, 32 }, }; ActorBlueprint N(flying) = { @@ -185,8 +191,8 @@ ActorBlueprint N(flying) = { .type = ACTOR_TYPE_FLYING_MAGIKOOPA, .level = 26, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts_flying)), - .partsData = N(parts_flying), + .partCount = ARRAY_COUNT(N(ActorParts_flying)), + .partsData = N(ActorParts_flying), .initScript = &N(init_flying), .statusTable = N(StatusTable_flying), .escapeChance = 40, @@ -198,39 +204,39 @@ ActorBlueprint N(flying) = { .powerBounceChance = 80, .coinReward = 2, .size = { 48, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -25, 20 }, - .statusMessageOffset = { 1, 34 }, + .statusTextOffset = { 1, 34 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Magikoopa_Anim01, - STATUS_STONE, ANIM_Magikoopa_Anim00, - STATUS_SLEEP, ANIM_Magikoopa_Anim08, - STATUS_POISON, ANIM_Magikoopa_Anim01, - STATUS_STOP, ANIM_Magikoopa_Anim00, - STATUS_STATIC, ANIM_Magikoopa_Anim01, - STATUS_PARALYZE, ANIM_Magikoopa_Anim00, - STATUS_DIZZY, ANIM_Magikoopa_Anim07, - STATUS_FEAR, ANIM_Magikoopa_Anim07, + STATUS_KEY_NORMAL, ANIM_Magikoopa_Anim01, + STATUS_KEY_STONE, ANIM_Magikoopa_Anim00, + STATUS_KEY_SLEEP, ANIM_Magikoopa_Anim08, + STATUS_KEY_POISON, ANIM_Magikoopa_Anim01, + STATUS_KEY_STOP, ANIM_Magikoopa_Anim00, + STATUS_KEY_STATIC, ANIM_Magikoopa_Anim01, + STATUS_KEY_PARALYZE, ANIM_Magikoopa_Anim00, + STATUS_KEY_DIZZY, ANIM_Magikoopa_Anim07, + STATUS_KEY_FEAR, ANIM_Magikoopa_Anim07, STATUS_END, }; s32 N(IdleAnimations_flying)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Anim01, - STATUS_STONE, ANIM_FlyingMagikoopa_Anim00, - STATUS_SLEEP, ANIM_FlyingMagikoopa_Anim08, - STATUS_POISON, ANIM_FlyingMagikoopa_Anim01, - STATUS_STOP, ANIM_FlyingMagikoopa_Anim00, - STATUS_STATIC, ANIM_FlyingMagikoopa_Anim01, - STATUS_PARALYZE, ANIM_FlyingMagikoopa_Anim00, - STATUS_DIZZY, ANIM_FlyingMagikoopa_Anim07, - STATUS_FEAR, ANIM_FlyingMagikoopa_Anim07, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Anim01, + STATUS_KEY_STONE, ANIM_FlyingMagikoopa_Anim00, + STATUS_KEY_SLEEP, ANIM_FlyingMagikoopa_Anim08, + STATUS_KEY_POISON, ANIM_FlyingMagikoopa_Anim01, + STATUS_KEY_STOP, ANIM_FlyingMagikoopa_Anim00, + STATUS_KEY_STATIC, ANIM_FlyingMagikoopa_Anim01, + STATUS_KEY_PARALYZE, ANIM_FlyingMagikoopa_Anim00, + STATUS_KEY_DIZZY, ANIM_FlyingMagikoopa_Anim07, + STATUS_KEY_FEAR, ANIM_FlyingMagikoopa_Anim07, STATUS_END, }; s32 N(idleAnimtions_broomstick)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Anim0A, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Anim0A, STATUS_END, }; @@ -247,19 +253,19 @@ EvtScript N(idle) = { EVT_ADD(LVarF, 1) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar2) EVT_IF_FLAG(LVar2, ACTOR_FLAG_FLYING) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 2, LVar1) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_2, LVar1) EVT_CALL(SetPartAlpha, LVar0, 1, LVar1) EVT_ELSE - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(SetPartAlpha, LVar0, 1, LVar1) EVT_END_IF EVT_ELSE EVT_SET(LVarF, 0) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar2) EVT_IF_FLAG(LVar2, ACTOR_FLAG_FLYING) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 2, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_2, 255) EVT_ELSE - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_END_IF EVT_END_IF EVT_WAIT(1) @@ -294,36 +300,36 @@ EvtScript N(canBeKnockedOff) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" #include "common/StartRumbleWithParams.inc.c" EvtScript N(knockOff) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_CAN_FALL), LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim04) EVT_GOTO(0) EVT_END_IF EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_POW) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim04) EVT_GOTO(0) EVT_END_IF EVT_RETURN EVT_LABEL(0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 1) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -336,7 +342,7 @@ EvtScript N(knockOff) = { EVT_END_THREAD EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -347,18 +353,18 @@ EvtScript N(knockOff) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_MAGIKOOPA) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 32) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 32) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TYPE_CHANGED, TRUE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) @@ -376,7 +382,7 @@ EvtScript N(knockOff) = { EvtScript N(flee) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, EVENT_SCARE_AWAY) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) @@ -401,7 +407,7 @@ EvtScript N(flee) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_EXEC_WAIT(EVS_ForceNextTarget) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END @@ -476,7 +482,7 @@ EvtScript N(removeClone) = { EVT_END_IF EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_LAST_ACTION_IS_MAKE_CLONE), 0) EVT_CALL(GetLastElement, LVarA) - EVT_IF_FLAG(LVarA, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS) + EVT_IF_FLAG(LVarA, DAMAGE_TYPE_MULTIPLE_POPUPS) EVT_LABEL(0) EVT_CALL(GetBattleFlags, LVarA) EVT_IF_FLAG(LVarA, BS_FLAGS1_100) @@ -488,9 +494,9 @@ EvtScript N(removeClone) = { EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_CLONE_ID), -1) EVT_CALL(GetActorFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, ACTOR_FLAG_FLYING) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_ELSE - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, FALSE) EVT_END_IF EVT_CALL(GetActorPos, LVar0, LVar1, LVar2, LVar3) EVT_CALL(RemoveActor, LVar0) @@ -508,7 +514,7 @@ EvtScript N(removeClone) = { EvtScript N(handleEvent) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_HIT_COMBO) @@ -588,13 +594,13 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) EVT_EXEC_WAIT(N(removeClone)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -604,11 +610,11 @@ EvtScript N(handleEvent) = { EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_EXEC_WAIT(N(removeClone)) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, 0, 2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, 0, 2, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, -4, 5, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, -4, 5, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 1) @@ -635,7 +641,7 @@ EvtScript N(handleEvent) = { EvtScript N(handleEvent_flying) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 2, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_2, 255) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_HIT_COMBO) @@ -725,11 +731,11 @@ EvtScript N(handleEvent_flying) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 2) @@ -737,13 +743,13 @@ EvtScript N(handleEvent_flying) = { EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) EVT_EXEC_WAIT(N(removeClone)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -753,11 +759,11 @@ EvtScript N(handleEvent_flying) = { EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_EXEC_WAIT(N(removeClone)) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -3, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -3, 0, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -15, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -15, 0, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 2) @@ -794,9 +800,9 @@ EvtScript N(healOne) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -833,9 +839,9 @@ EvtScript N(healOne) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -846,9 +852,9 @@ EvtScript N(healOne) = { EVT_CALL(PlaySoundAtActor, LVarB, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, LVarB, 5, FALSE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -874,9 +880,9 @@ EvtScript N(healAll) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -913,9 +919,9 @@ EvtScript N(healAll) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) @@ -939,9 +945,9 @@ EvtScript N(healAll) = { EVT_CALL(PlaySoundAtActor, LVar0, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, LVar0, 3, TRUE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) @@ -995,7 +1001,7 @@ EvtScript N(attackMagicBlast) = { EVT_ADD(LVar1, 33) EVT_PLAY_EFFECT(EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) @@ -1014,7 +1020,7 @@ EvtScript N(attackMagicBlast) = { EVT_ADD(LVar1, 36) EVT_PLAY_EFFECT(EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_FLAG(LVar3, STATUS_FLAG_SHRINK) @@ -1039,12 +1045,12 @@ EvtScript N(attackMagicBlast) = { EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(SetAnimation, LVarA, 1, ANIM_Magikoopa_Anim03) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim03) EVT_ELSE EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(SetAnimation, LVarA, 1, ANIM_FlyingMagikoopa_Anim03) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim03) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1107,12 +1113,12 @@ EvtScript N(attackMagicBlast) = { EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(SetAnimation, LVarA, 1, ANIM_Magikoopa_Anim03) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim03) EVT_ELSE EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(SetAnimation, LVarA, 1, ANIM_FlyingMagikoopa_Anim03) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim03) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -1253,69 +1259,69 @@ EvtScript N(init_clone_flying) = { }; s32 N(DefenseTable_clone)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_clone_flying)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_clone)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(StatusTable_clone_flying)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts_clone)[] = { +ActorPartBlueprint N(ActorParts_clone)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -1327,10 +1333,10 @@ ActorPartBlueprint N(parts_clone)[] = { }, }; -ActorPartBlueprint N(parts_clone_flying)[] = { +ActorPartBlueprint N(ActorParts_clone_flying)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, @@ -1347,8 +1353,8 @@ ActorBlueprint N(clone) = { .type = ACTOR_TYPE_MAGICLONE, .level = 26, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts_clone)), - .partsData = N(parts_clone), + .partCount = ARRAY_COUNT(N(ActorParts_clone)), + .partsData = N(ActorParts_clone), .initScript = &N(init_clone), .statusTable = N(StatusTable_clone), .escapeChance = 40, @@ -1360,9 +1366,9 @@ ActorBlueprint N(clone) = { .powerBounceChance = 75, .coinReward = 0, .size = { 36, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 32 }, + .statusTextOffset = { 10, 32 }, }; ActorBlueprint N(clone_flying) = { @@ -1370,8 +1376,8 @@ ActorBlueprint N(clone_flying) = { .type = ACTOR_TYPE_FLYING_MAGICLONE, .level = 26, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts_clone_flying)), - .partsData = N(parts_clone_flying), + .partCount = ARRAY_COUNT(N(ActorParts_clone_flying)), + .partsData = N(ActorParts_clone_flying), .initScript = &N(init_clone_flying), .statusTable = N(StatusTable_clone_flying), .escapeChance = 40, @@ -1383,19 +1389,19 @@ ActorBlueprint N(clone_flying) = { .powerBounceChance = 75, .coinReward = 2, .size = { 48, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -25, 20 }, - .statusMessageOffset = { 1, 34 }, + .statusTextOffset = { 1, 34 }, }; Vec3i N(clone_pos) = { NPC_DISPOSE_LOCATION }; Formation N(formation_clone) = { - { .actor = &N(clone), .home = { .vec = &N(clone_pos) }, .priority = 0, }, + ACTOR_BY_POS(N(clone), N(clone_pos), 0), }; Formation N(formation_clone_flying) = { - { .actor = &N(clone_flying), .home = { .vec = &N(clone_pos) }, .priority = 0, }, + ACTOR_BY_POS(N(clone_flying), N(clone_pos), 0), }; EvtScript N(makeClone) = { @@ -1429,12 +1435,12 @@ EvtScript N(makeClone) = { EVT_WAIT(25) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST3) EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_CALL(SetAnimation, LVarA, 1, ANIM_Magikoopa_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 23) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_CALL(SetAnimation, LVarA, 1, ANIM_FlyingMagikoopa_Anim02) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 23) @@ -1476,15 +1482,15 @@ EvtScript N(makeClone) = { EVT_CALL(ForceHomePos, LVar9, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, LVar9) EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_ELSE - EVT_CALL(SetPartEventBits, ACTOR_SELF, 2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_2, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_END_IF EVT_IF_EQ(LocalFlag(0), 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_CALL(SetAnimation, LVar9, 1, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_CALL(SetAnimation, LVar9, 1, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -1544,9 +1550,9 @@ EvtScript N(boostAttack) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -1583,9 +1589,9 @@ EvtScript N(boostAttack) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -1593,9 +1599,9 @@ EvtScript N(boostAttack) = { EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DD) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(BoostAttack, LVar8, 1) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1656,9 +1662,9 @@ EvtScript N(boostDefense) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -1695,9 +1701,9 @@ EvtScript N(boostDefense) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -1705,9 +1711,9 @@ EvtScript N(boostDefense) = { EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DD) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(BoostDefense, LVar8, 1) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1768,9 +1774,9 @@ EvtScript N(electrify) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2F0) @@ -1807,9 +1813,9 @@ EvtScript N(electrify) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -1822,9 +1828,9 @@ EvtScript N(electrify) = { EVT_END_LOOP EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(ElectrifyActor, LVar8, 3) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1885,9 +1891,9 @@ EvtScript N(makeTransparent) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -1924,9 +1930,9 @@ EvtScript N(makeTransparent) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -1934,9 +1940,9 @@ EvtScript N(makeTransparent) = { EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DB) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(VanishActor, LVar8, 2) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/common/actor/medi_guy.inc.c b/src/battle/common/actor/medi_guy.inc.c index 3ca7eaaacc..1fb88d9dbd 100644 --- a/src/battle/common/actor/medi_guy.inc.c +++ b/src/battle/common/actor/medi_guy.inc.c @@ -9,58 +9,62 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); -#include "common/UnkBattleFunc1.inc.c" +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" #include "common/MediGuySpriteRotationFunc.inc.c" s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_MediGuy_Anim01, - STATUS_STONE, ANIM_MediGuy_Anim00, - STATUS_SLEEP, ANIM_MediGuy_Anim04, - STATUS_POISON, ANIM_MediGuy_Anim01, - STATUS_STOP, ANIM_MediGuy_Anim00, - STATUS_STATIC, ANIM_MediGuy_Anim01, - STATUS_PARALYZE, ANIM_MediGuy_Anim00, - STATUS_DIZZY, ANIM_MediGuy_Anim0A, - STATUS_FEAR, ANIM_MediGuy_Anim0A, + STATUS_KEY_NORMAL, ANIM_MediGuy_Anim01, + STATUS_KEY_STONE, ANIM_MediGuy_Anim00, + STATUS_KEY_SLEEP, ANIM_MediGuy_Anim04, + STATUS_KEY_POISON, ANIM_MediGuy_Anim01, + STATUS_KEY_STOP, ANIM_MediGuy_Anim00, + STATUS_KEY_STATIC, ANIM_MediGuy_Anim01, + STATUS_KEY_PARALYZE, ANIM_MediGuy_Anim00, + STATUS_KEY_DIZZY, ANIM_MediGuy_Anim0A, + STATUS_KEY_FEAR, ANIM_MediGuy_Anim0A, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 38 }, .opacity = 255, @@ -77,8 +81,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_MEDI_GUY, .level = 14, .maxHP = 7, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 60, @@ -90,9 +94,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 2, .size = { 24, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 12, 31 }, + .statusTextOffset = { 12, 31 }, }; EvtScript N(init) = { @@ -111,13 +115,13 @@ EvtScript N(idle) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -2, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -5) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -2, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -5) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -2, 38) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -5) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 12, 31) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -2, 38) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -5) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 12, 31) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -127,12 +131,12 @@ EvtScript N(idle) = { EvtScript N(returnHome) = { EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MediGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MediGuy_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MediGuy_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MediGuy_Anim01) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END @@ -188,7 +192,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_MediGuy_Anim06) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, 0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, 0) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_MediGuy_Anim07) EVT_EXEC_WAIT(EVS_Enemy_Death) @@ -255,11 +259,11 @@ EvtScript N(flyingAttack) = { EVT_SETF(LVar0, EVT_FLOAT(0.0)) EVT_LOOP(15) EVT_ADDF(LVar0, EVT_FLOAT(2.0)) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar0) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MediGuy_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MediGuy_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) @@ -272,7 +276,7 @@ EvtScript N(flyingAttack) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2F8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MediGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MediGuy_Anim05) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) @@ -283,7 +287,7 @@ EvtScript N(flyingAttack) = { EVT_SET(LVar0, 0) EVT_LOOP(60) EVT_CALL(N(MediGuySpriteRotationFunc), LVar0, LVar1, 15, 60, EVT_FLOAT(30.0)) - EVT_CALL(SetPartRotation, ACTOR_SELF, 1, 0, 0, LVar1) + EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_MAIN, 0, 0, LVar1) EVT_ADD(LVar0, 1) EVT_WAIT(1) EVT_END_LOOP @@ -294,7 +298,7 @@ EvtScript N(flyingAttack) = { EVT_ADD(LVar2, 1) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MediGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MediGuy_Anim05) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_QUADRATIC_OUT) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -302,10 +306,10 @@ EvtScript N(flyingAttack) = { EVT_WAIT(30) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -315,7 +319,7 @@ EvtScript N(flyingAttack) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2F8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MediGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MediGuy_Anim05) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) @@ -329,7 +333,7 @@ EvtScript N(flyingAttack) = { EVT_ADD(LVar2, 1) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MediGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MediGuy_Anim05) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_QUADRATIC_OUT) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) @@ -365,12 +369,12 @@ EvtScript N(healOneAlly) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2F8) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_214) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MediGuy_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MediGuy_Anim05) EVT_ADD(LVar2, 50) EVT_PLAY_EFFECT(EFFECT_SPARKLES, 1, LVar1, LVar2, LVar3, 10, 0) EVT_PLAY_EFFECT(EFFECT_RECOVER, 2, LVar1, LVar2, LVar3, 0, 0) EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MediGuy_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MediGuy_Anim01) EVT_WAIT(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, LVarA) @@ -385,9 +389,9 @@ EvtScript N(healOneAlly) = { EVT_CALL(PlaySoundAtActor, LVarA, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, LVarA, LVar4, FALSE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/common/actor/monty_mole.inc.c b/src/battle/common/actor/monty_mole.inc.c index 17caaeac4f..c90f7d4e95 100644 --- a/src/battle/common/actor/monty_mole.inc.c +++ b/src/battle/common/actor/monty_mole.inc.c @@ -10,40 +10,46 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 80, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 10, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 90, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, -1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 90, + STATUS_KEY_POISON, 80, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 10, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, -1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 16 }, .opacity = 255, @@ -55,7 +61,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, -15 }, .targetOffset = { -2, 12 }, .opacity = 255, @@ -67,7 +73,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -84,8 +90,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_MONTY_MOLE, .level = 8, .maxHP = 3, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 80, @@ -97,44 +103,44 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 34, 18 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_MontyMole_Anim01, - STATUS_STONE, ANIM_MontyMole_Anim00, - STATUS_SLEEP, ANIM_MontyMole_Anim14, - STATUS_POISON, ANIM_MontyMole_Anim01, - STATUS_STOP, ANIM_MontyMole_Anim00, - STATUS_STATIC, ANIM_MontyMole_Anim01, - STATUS_PARALYZE, ANIM_MontyMole_Anim00, - STATUS_DIZZY, ANIM_MontyMole_Anim14, - STATUS_FEAR, ANIM_MontyMole_Anim14, + STATUS_KEY_NORMAL, ANIM_MontyMole_Anim01, + STATUS_KEY_STONE, ANIM_MontyMole_Anim00, + STATUS_KEY_SLEEP, ANIM_MontyMole_Anim14, + STATUS_KEY_POISON, ANIM_MontyMole_Anim01, + STATUS_KEY_STOP, ANIM_MontyMole_Anim00, + STATUS_KEY_STATIC, ANIM_MontyMole_Anim01, + STATUS_KEY_PARALYZE, ANIM_MontyMole_Anim00, + STATUS_KEY_DIZZY, ANIM_MontyMole_Anim14, + STATUS_KEY_FEAR, ANIM_MontyMole_Anim14, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_MontyMole_Anim0F, + STATUS_KEY_NORMAL, ANIM_MontyMole_Anim0F, STATUS_END, }; s32 N(IdleAnimations_hole)[] = { - STATUS_NORMAL, ANIM_MontyMole_Anim12, + STATUS_KEY_NORMAL, ANIM_MontyMole_Anim12, STATUS_END, }; s32 N(IdleAnimations_unused)[] = { - STATUS_NORMAL, ANIM_MontyMole_Anim06, + STATUS_KEY_NORMAL, ANIM_MontyMole_Anim06, STATUS_END, }; -ActorPartBlueprint N(parts_hole)[] = { +ActorPartBlueprint N(ActorParts_hole)[] = { { .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -149,19 +155,19 @@ ActorPartBlueprint N(parts_hole)[] = { EvtScript N(init_hole) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetPartScale, ACTOR_SELF, 1, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF EVT_RETURN EVT_END }; ActorBlueprint N(hole) = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, + .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, .type = ACTOR_TYPE_MONTY_HOLE, .level = 9, .maxHP = 5, - .partCount = ARRAY_COUNT(N(parts_hole)), - .partsData = N(parts_hole), + .partCount = ARRAY_COUNT(N(ActorParts_hole)), + .partsData = N(ActorParts_hole), .initScript = &N(init_hole), .statusTable = NULL, .escapeChance = 80, @@ -173,19 +179,19 @@ ActorBlueprint N(hole) = { .powerBounceChance = 90, .coinReward = 2, .size = { 32, 18 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; Vec3i N(hole_pos) = { NPC_DISPOSE_LOCATION, }; Formation N(formation_hole_1) = { - { .actor = &N(hole), .home = { .vec = &N(hole_pos) },}, + ACTOR_BY_POS(N(hole), N(hole_pos), 0), }; Formation N(formation_hole_2) = { - { .actor = &N(hole), .home = { .vec = &N(hole_pos) }, .var0 = 1 }, + ACTOR_BY_POS(N(hole), N(hole_pos), 0, 1), }; EvtScript N(makeHole) = { @@ -227,12 +233,12 @@ EvtScript N(handleEvent) = { EVT_IF_FLAG(LVarE, DAMAGE_TYPE_SMASH) EVT_CHILD_THREAD EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim07) EVT_END_CHILD_THREAD EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim06) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim08) EVT_WAIT(10) EVT_ELSE EVT_SET_CONST(LVar0, 1) @@ -260,14 +266,14 @@ EvtScript N(handleEvent) = { EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SMASH) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim11) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim11) EVT_WAIT(80) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim10) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim10) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim14) EVT_WAIT(20) EVT_ELSE EVT_SET_CONST(LVar0, 1) @@ -279,7 +285,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim05) EVT_EXEC_WAIT(EVS_Enemy_Hit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim06) EVT_WAIT(10) EVT_EXEC_WAIT(N(makeHole)) EVT_SET_CONST(LVar0, 1) @@ -287,21 +293,21 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_RECOVER_STATUS) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim06) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim07) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim08) EVT_WAIT(8) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim06) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim07) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim08) EVT_WAIT(15) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_DMG_APPLY, TRUE) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_hole))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_hole))) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) EVT_SET_CONST(LVar0, 1) @@ -310,29 +316,29 @@ EvtScript N(handleEvent) = { EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_EXEC_WAIT(N(makeHole)) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -5, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim19) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim19) EVT_ELSE EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -9, 0) EVT_ELSE EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -23, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim09) EVT_END_IF EVT_WAIT(1000) EVT_RETURN EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim11) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim11) EVT_WAIT(40) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim10) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim10) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim14) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim14) EVT_WAIT(20) EVT_CASE_EQ(EVENT_UP_AND_AWAY) EVT_EXEC_WAIT(N(makeHole)) @@ -359,21 +365,21 @@ EvtScript N(takeTurn) = { EVT_WAIT(20) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) EVT_END_CHILD_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_MontyMole_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_MontyMole_Anim04) EVT_WAIT(37) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_IF - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 3, SOUND_MOLE_THROW) - EVT_CALL(SetPartSounds, ACTOR_SELF, 3, ACTOR_SOUND_FLY, 0, 0) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_3, SOUND_MOLE_THROW) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_3, ACTOR_SOUND_FLY, 0, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -384,11 +390,11 @@ EvtScript N(takeTurn) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 100) EVT_SET(LVar1, -5) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(12.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MontyMole_Anim0F) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 30, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(12.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MontyMole_Anim0F) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, 30, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF @@ -401,10 +407,10 @@ EvtScript N(takeTurn) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(12.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 3, ANIM_MontyMole_Anim0F) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 20, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(12.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_3, ANIM_MontyMole_Anim0F) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, 20, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) @@ -413,13 +419,13 @@ EvtScript N(takeTurn) = { EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) EVT_SET(LVar1, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 3, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 25, EASING_LINEAR) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 3, EVT_FLOAT(4.0)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_3, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, 25, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_3, EVT_FLOAT(4.0)) EVT_SUB(LVar0, 20) - EVT_CALL(FlyPartTo, ACTOR_SELF, 3, LVar0, LVar1, LVar2, 0, 21, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2, 0, 21, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/paragoomba.inc.c b/src/battle/common/actor/paragoomba.inc.c index c83a3cfdfb..4e973a0182 100644 --- a/src/battle/common/actor/paragoomba.inc.c +++ b/src/battle/common/actor/paragoomba.inc.c @@ -5,63 +5,70 @@ #include "sprite/npc/Goomba.h" #include "sprite/npc/Paragoomba.h" +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, +}; + s32 N(DefenseTable_8021B110)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_8021B11C)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8021B128)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; s32 N(StatusTable_8021B1D4)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 80, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 80, - STATUS_STATIC, 80, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 80, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 80, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; @@ -71,10 +78,10 @@ extern s32 N(IdleAnimations_8021B3D0)[]; extern s32 N(IdleAnimations_8021B3DC)[]; extern EvtScript N(init_8021B3E8); -ActorPartBlueprint N(PartsTable_8021B280)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -86,7 +93,7 @@ ActorPartBlueprint N(PartsTable_8021B280)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -98,7 +105,7 @@ ActorPartBlueprint N(PartsTable_8021B280)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { -16, 24 }, .opacity = 255, @@ -110,7 +117,7 @@ ActorPartBlueprint N(PartsTable_8021B280)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { -16, 24 }, .opacity = 255, @@ -127,8 +134,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_PARAGOOMBA, .level = 6, .maxHP = 2, - .partCount = ARRAY_COUNT( N(PartsTable_8021B280)), - .partsData = N(PartsTable_8021B280), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021B3E8), .statusTable = N(StatusTable_8021B1D4), .escapeChance = 90, @@ -140,44 +147,44 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 36, 26 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021B338)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Idle, - STATUS_STONE, ANIM_Paragoomba_Still, - STATUS_SLEEP, ANIM_Paragoomba_Sleep, - STATUS_POISON, ANIM_Paragoomba_Idle, - STATUS_STOP, ANIM_Paragoomba_Still, - STATUS_STATIC, ANIM_Paragoomba_Idle, - STATUS_PARALYZE, ANIM_Paragoomba_Still, - STATUS_DIZZY, ANIM_Paragoomba_Dizzy, - STATUS_FEAR, ANIM_Paragoomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Idle, + STATUS_KEY_STONE, ANIM_Paragoomba_Still, + STATUS_KEY_SLEEP, ANIM_Paragoomba_Sleep, + STATUS_KEY_POISON, ANIM_Paragoomba_Idle, + STATUS_KEY_STOP, ANIM_Paragoomba_Still, + STATUS_KEY_STATIC, ANIM_Paragoomba_Idle, + STATUS_KEY_PARALYZE, ANIM_Paragoomba_Still, + STATUS_KEY_DIZZY, ANIM_Paragoomba_Dizzy, + STATUS_KEY_FEAR, ANIM_Paragoomba_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021B384)[] = { - STATUS_NORMAL, ANIM_Paragoomba_Run, - STATUS_STONE, ANIM_Paragoomba_Still, - STATUS_SLEEP, ANIM_Paragoomba_Sleep, - STATUS_POISON, ANIM_Paragoomba_Idle, - STATUS_STOP, ANIM_Paragoomba_Still, - STATUS_STATIC, ANIM_Paragoomba_Run, - STATUS_PARALYZE, ANIM_Paragoomba_Still, - STATUS_DIZZY, ANIM_Paragoomba_Dizzy, - STATUS_FEAR, ANIM_Paragoomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_Paragoomba_Run, + STATUS_KEY_STONE, ANIM_Paragoomba_Still, + STATUS_KEY_SLEEP, ANIM_Paragoomba_Sleep, + STATUS_KEY_POISON, ANIM_Paragoomba_Idle, + STATUS_KEY_STOP, ANIM_Paragoomba_Still, + STATUS_KEY_STATIC, ANIM_Paragoomba_Run, + STATUS_KEY_PARALYZE, ANIM_Paragoomba_Still, + STATUS_KEY_DIZZY, ANIM_Paragoomba_Dizzy, + STATUS_KEY_FEAR, ANIM_Paragoomba_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021B3D0)[] = { - STATUS_NORMAL, ANIM_Paragoomba_LWingStill, + STATUS_KEY_NORMAL, ANIM_Paragoomba_LWingStill, STATUS_END, }; s32 N(IdleAnimations_8021B3DC)[] = { - STATUS_NORMAL, ANIM_Paragoomba_RWingStill, + STATUS_KEY_NORMAL, ANIM_Paragoomba_RWingStill, STATUS_END, }; @@ -200,7 +207,7 @@ EvtScript N(idle_8021B434) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -209,13 +216,13 @@ EvtScript N(idle_8021B434) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021B384))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021B384))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -226,11 +233,11 @@ EvtScript N(idle_8021B434) = { EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021B338))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021B338))) EVT_LOOP(40) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -246,7 +253,7 @@ EvtScript N(8021B6F0) = { EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Idle) EVT_RETURN EVT_END }; @@ -303,7 +310,7 @@ EvtScript N(handleEvent_8021B768) = { EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_Paragoomba_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dizzy) EVT_EXEC_WAIT(N(8021B6F0)) EVT_CASE_EQ(EVENT_SHOCK_DEATH) EVT_SET_CONST(LVar0, 2) @@ -334,7 +341,7 @@ EvtScript N(handleEvent_8021B768) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Run) EVT_EXEC_WAIT(N(8021B6F0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) @@ -373,7 +380,7 @@ EvtScript N(takeTurn_8021BD5C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -392,7 +399,7 @@ EvtScript N(takeTurn_8021BD5C) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dive) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -403,7 +410,7 @@ EvtScript N(takeTurn_8021BD5C) = { EVT_SET(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_QUADRATIC_OUT) EVT_THREAD EVT_LOOP(4) @@ -411,23 +418,23 @@ EvtScript N(takeTurn_8021BD5C) = { EVT_WAIT(4) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Miss) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 2, EVT_FLOAT(3.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Miss) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_2, EVT_FLOAT(3.0)) EVT_WAIT(10) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(10) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 2, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_2, EVT_FLOAT(1.0)) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Run) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(8021B6F0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -442,7 +449,7 @@ EvtScript N(takeTurn_8021BD5C) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dive) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -450,7 +457,7 @@ EvtScript N(takeTurn_8021BD5C) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Dive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Dive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_END_SWITCH EVT_WAIT(2) @@ -462,12 +469,12 @@ EvtScript N(takeTurn_8021BD5C) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Run) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(5) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Paragoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Paragoomba_Run) EVT_EXEC_WAIT(N(8021B6F0)) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -482,21 +489,21 @@ extern EvtScript N(8021CB94); #include "common/StartRumbleWithParams.inc.c" EvtScript N(8021C574) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, 4, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(HideHealthBar, ACTOR_SELF) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, -9, 7, -2) - EVT_CALL(SetPartPos, ACTOR_SELF, 4, LVar0, LVar1, LVar2) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 4, 11, 7, -2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_3, -9, 7, -2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_4, LVar0, LVar1, LVar2) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_4, 11, 7, -2) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_BurnStill) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_BurnStill) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hurt) EVT_END_IF EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_301, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -511,7 +518,7 @@ EvtScript N(8021C574) = { EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hurt) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -522,21 +529,21 @@ EvtScript N(8021C574) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(10) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(GetIndexFromHome, ACTOR_SELF, LVar0) EVT_MOD(LVar0, 4) EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_8021B128))) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_GOOMBA) @@ -552,28 +559,28 @@ EvtScript N(8021C574) = { // TODO: deduplicate s32 N(IdleAnimations_8021CAFC)[] = { - STATUS_NORMAL, ANIM_Goomba_Idle, - STATUS_STONE, ANIM_Goomba_Still, - STATUS_SLEEP, ANIM_Goomba_Sleep, - STATUS_POISON, ANIM_Goomba_Idle, - STATUS_STOP, ANIM_Goomba_Still, - STATUS_STATIC, ANIM_Goomba_Idle, - STATUS_PARALYZE, ANIM_Goomba_Still, - STATUS_DIZZY, ANIM_Goomba_Dizzy, - STATUS_FEAR, ANIM_Goomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Idle, + STATUS_KEY_STONE, ANIM_Goomba_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Idle, + STATUS_KEY_PARALYZE, ANIM_Goomba_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021CB48)[] = { - STATUS_NORMAL, ANIM_Goomba_Run, - STATUS_STONE, ANIM_Goomba_Still, - STATUS_SLEEP, ANIM_Goomba_Sleep, - STATUS_POISON, ANIM_Goomba_Idle, - STATUS_STOP, ANIM_Goomba_Still, - STATUS_STATIC, ANIM_Goomba_Run, - STATUS_PARALYZE, ANIM_Goomba_Still, - STATUS_DIZZY, ANIM_Goomba_Dizzy, - STATUS_FEAR, ANIM_Goomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_Goomba_Run, + STATUS_KEY_STONE, ANIM_Goomba_Still, + STATUS_KEY_SLEEP, ANIM_Goomba_Sleep, + STATUS_KEY_POISON, ANIM_Goomba_Idle, + STATUS_KEY_STOP, ANIM_Goomba_Still, + STATUS_KEY_STATIC, ANIM_Goomba_Run, + STATUS_KEY_PARALYZE, ANIM_Goomba_Still, + STATUS_KEY_DIZZY, ANIM_Goomba_Dizzy, + STATUS_KEY_FEAR, ANIM_Goomba_Dizzy, STATUS_END, }; @@ -596,7 +603,7 @@ EvtScript N(idle_8021CBE0) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -605,14 +612,14 @@ EvtScript N(idle_8021CBE0) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021CB48))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021CB48))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021CAFC))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021CAFC))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -621,14 +628,14 @@ EvtScript N(idle_8021CBE0) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021CB48))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021CB48))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021CAFC))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021CAFC))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -685,14 +692,14 @@ EvtScript N(handleEvent_8021CEBC) = { EVT_SET_CONST(LVar1, ANIM_Goomba_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(EVENT_SHOCK_DEATH) @@ -721,12 +728,12 @@ EvtScript N(handleEvent_8021CEBC) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 1) @@ -749,7 +756,7 @@ EvtScript N(handleEvent_8021CEBC) = { EVT_RETURN EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -765,18 +772,18 @@ EvtScript N(takeTurn_8021D6E8) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -804,10 +811,10 @@ EvtScript N(takeTurn_8021D6E8) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -816,14 +823,14 @@ EvtScript N(takeTurn_8021D6E8) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -838,26 +845,26 @@ EvtScript N(takeTurn_8021D6E8) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -880,10 +887,10 @@ EvtScript N(takeTurn_8021D6E8) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Tense) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Tense) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -900,7 +907,7 @@ EvtScript N(takeTurn_8021D6E8) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -913,15 +920,15 @@ EvtScript N(takeTurn_8021D6E8) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Idle) EVT_WAIT(3) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Goomba_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Goomba_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/paratroopa.inc.c b/src/battle/common/actor/paratroopa.inc.c index 97a304bfe7..3248db8ed8 100644 --- a/src/battle/common/actor/paratroopa.inc.c +++ b/src/battle/common/actor/paratroopa.inc.c @@ -5,84 +5,90 @@ #include "sprite/npc/KoopaTroopa.h" #include "sprite/npc/ParaTroopa.h" -s32 N(DefenseTable_8021EAD0)[] = { - ELEMENT_NORMAL, 1, - ELEMENT_SMASH, 1, - ELEMENT_JUMP, 1, - ELEMENT_WATER, 1, - ELEMENT_BLAST, 1, - ELEMENT_END, -}; - -s32 N(DefenseTable_8021EAFC)[] = { - ELEMENT_NORMAL, 1, - ELEMENT_END, -}; - -s32 N(DefenseTable_8021EB08)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END, -}; - -s32 N(StatusTable_8021EB14)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 60, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 90, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - -s32 N(StatusTable_8021EBC0)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 60, - STATUS_FROZEN, 100, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 90, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, - STATUS_END, -}; - extern s32 N(IdleAnimations_80220AA0)[]; extern s32 N(IdleAnimations_8021ED00)[]; extern s32 N(IdleAnimations_8021ED98)[]; extern EvtScript N(init_8021EE0C); -ActorPartBlueprint N(PartsTable_8021EC6C)[] = { +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + +s32 N(DefenseTable_8021EAD0)[] = { + ELEMENT_NORMAL, 1, + ELEMENT_SMASH, 1, + ELEMENT_JUMP, 1, + ELEMENT_WATER, 1, + ELEMENT_BLAST, 1, + ELEMENT_END, +}; + +s32 N(DefenseTable_8021EAFC)[] = { + ELEMENT_NORMAL, 1, + ELEMENT_END, +}; + +s32 N(DefenseTable_8021EB08)[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END, +}; + +s32 N(StatusTable_8021EB14)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 90, + STATUS_KEY_POISON, 60, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, + STATUS_END, +}; + +s32 N(StatusTable_8021EBC0)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 90, + STATUS_KEY_POISON, 60, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, + STATUS_END, +}; + +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 36 }, .opacity = 255, @@ -94,7 +100,7 @@ ActorPartBlueprint N(PartsTable_8021EC6C)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -4, 36 }, .opacity = 255, @@ -106,7 +112,7 @@ ActorPartBlueprint N(PartsTable_8021EC6C)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 32 }, .opacity = 255, @@ -123,8 +129,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_PARATROOPA, .level = 6, .maxHP = 4, - .partCount = ARRAY_COUNT( N(PartsTable_8021EC6C)), - .partsData = N(PartsTable_8021EC6C), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021EE0C), .statusTable = N(StatusTable_8021EBC0), .escapeChance = 60, @@ -136,47 +142,47 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 1, .size = { 50, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 29 }, - .statusMessageOffset = { 8, 30 }, + .statusTextOffset = { 8, 30 }, }; s32 N(IdleAnimations_8021ED00)[] = { - STATUS_NORMAL, ANIM_ParaTroopa_Idle, - STATUS_STONE, ANIM_ParaTroopa_Still, - STATUS_SLEEP, ANIM_ParaTroopa_Sleep, - STATUS_POISON, ANIM_ParaTroopa_Still, - STATUS_STOP, ANIM_ParaTroopa_Still, - STATUS_STATIC, ANIM_ParaTroopa_Idle, - STATUS_PARALYZE, ANIM_ParaTroopa_Still, - STATUS_DIZZY, ANIM_ParaTroopa_Stunned, - STATUS_FEAR, ANIM_ParaTroopa_Stunned, + STATUS_KEY_NORMAL, ANIM_ParaTroopa_Idle, + STATUS_KEY_STONE, ANIM_ParaTroopa_Still, + STATUS_KEY_SLEEP, ANIM_ParaTroopa_Sleep, + STATUS_KEY_POISON, ANIM_ParaTroopa_Still, + STATUS_KEY_STOP, ANIM_ParaTroopa_Still, + STATUS_KEY_STATIC, ANIM_ParaTroopa_Idle, + STATUS_KEY_PARALYZE, ANIM_ParaTroopa_Still, + STATUS_KEY_DIZZY, ANIM_ParaTroopa_Stunned, + STATUS_KEY_FEAR, ANIM_ParaTroopa_Stunned, STATUS_END, }; s32 N(IdleAnimations_8021ED4C)[] = { - STATUS_NORMAL, ANIM_ParaTroopa_Idle, - STATUS_STONE, ANIM_ParaTroopa_Still, - STATUS_SLEEP, ANIM_ParaTroopa_Sleep, - STATUS_POISON, ANIM_ParaTroopa_Still, - STATUS_STOP, ANIM_ParaTroopa_Still, - STATUS_STATIC, ANIM_ParaTroopa_Idle, - STATUS_PARALYZE, ANIM_ParaTroopa_Still, - STATUS_DIZZY, ANIM_ParaTroopa_Stunned, - STATUS_FEAR, ANIM_ParaTroopa_Stunned, + STATUS_KEY_NORMAL, ANIM_ParaTroopa_Idle, + STATUS_KEY_STONE, ANIM_ParaTroopa_Still, + STATUS_KEY_SLEEP, ANIM_ParaTroopa_Sleep, + STATUS_KEY_POISON, ANIM_ParaTroopa_Still, + STATUS_KEY_STOP, ANIM_ParaTroopa_Still, + STATUS_KEY_STATIC, ANIM_ParaTroopa_Idle, + STATUS_KEY_PARALYZE, ANIM_ParaTroopa_Still, + STATUS_KEY_DIZZY, ANIM_ParaTroopa_Stunned, + STATUS_KEY_FEAR, ANIM_ParaTroopa_Stunned, STATUS_END, }; s32 N(IdleAnimations_8021ED98)[] = { - STATUS_NORMAL, ANIM_ParaTroopa_WingsStill, - STATUS_STONE, ANIM_ParaTroopa_Still, - STATUS_SLEEP, ANIM_ParaTroopa_Sleep, - STATUS_POISON, ANIM_ParaTroopa_Still, - STATUS_STOP, ANIM_ParaTroopa_Still, - STATUS_STATIC, ANIM_ParaTroopa_WingsStill, - STATUS_PARALYZE, ANIM_ParaTroopa_Still, - STATUS_DIZZY, ANIM_ParaTroopa_Stunned, - STATUS_FEAR, ANIM_ParaTroopa_Stunned, + STATUS_KEY_NORMAL, ANIM_ParaTroopa_WingsStill, + STATUS_KEY_STONE, ANIM_ParaTroopa_Still, + STATUS_KEY_SLEEP, ANIM_ParaTroopa_Sleep, + STATUS_KEY_POISON, ANIM_ParaTroopa_Still, + STATUS_KEY_STOP, ANIM_ParaTroopa_Still, + STATUS_KEY_STATIC, ANIM_ParaTroopa_WingsStill, + STATUS_KEY_PARALYZE, ANIM_ParaTroopa_Still, + STATUS_KEY_DIZZY, ANIM_ParaTroopa_Stunned, + STATUS_KEY_FEAR, ANIM_ParaTroopa_Stunned, STATUS_END, }; @@ -202,17 +208,17 @@ EvtScript N(init_8021EE0C) = { #include "common/StartRumbleWithParams.inc.c" -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(8021EE84) = { EVT_IF_FLAG(LVar1, 0x00041000) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, 0, 25) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 3, -6) - EVT_CALL(N(UnkBattleFunc1), -19, 25, 4, 28) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, 0, 25) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_2, 3, -6) + EVT_CALL(N(SetAbsoluteStatusOffsets), -19, 25, 4, 28) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 2, -2, 36) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 2, 0, -7) - EVT_CALL(N(UnkBattleFunc1), -10, 29, 8, 30) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_2, -2, 36) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_2, 0, -7) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 29, 8, 30) EVT_END_IF EVT_RETURN EVT_END @@ -226,7 +232,7 @@ EvtScript N(idle_8021EF5C) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) EVT_EXEC_WAIT(N(8021EE84)) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -235,15 +241,15 @@ EvtScript N(idle_8021EF5C) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021ED4C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021ED4C))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021ED00))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021ED00))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) EVT_EXEC_WAIT(N(8021EE84)) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -252,15 +258,15 @@ EvtScript N(idle_8021EF5C) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(0.6)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021ED4C))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021ED4C))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleFlyToGoal, ACTOR_SELF, 0, -5, EASING_LINEAR) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 2, EVT_PTR(N(IdleAnimations_8021ED00))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_2, EVT_PTR(N(IdleAnimations_8021ED00))) EVT_LOOP(40) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) EVT_EXEC_WAIT(N(8021EE84)) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -272,11 +278,11 @@ EvtScript N(idle_8021EF5C) = { }; EvtScript N(8021F26C) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Idle) EVT_RETURN EVT_END }; @@ -426,7 +432,7 @@ EvtScript N(takeTurn_8021FA24) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_05) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 30, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) @@ -440,7 +446,7 @@ EvtScript N(takeTurn_8021FA24) = { EVT_SET(LVarA, LVar0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Windup) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Windup) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(AddGoalPos, ACTOR_SELF, 6, 6, 0) @@ -454,7 +460,7 @@ EvtScript N(takeTurn_8021FA24) = { EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_ShellDive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_ShellDive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_LINEAR) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 30) @@ -479,13 +485,13 @@ EvtScript N(takeTurn_8021FA24) = { EVT_SUB(LVar0, 30) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Hurt) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 30) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Hurt) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -497,11 +503,11 @@ EvtScript N(takeTurn_8021FA24) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_EXEC_WAIT(N(8021F26C)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, -1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -509,7 +515,7 @@ EvtScript N(takeTurn_8021FA24) = { EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Windup) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Windup) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(AddGoalPos, ACTOR_SELF, 6, 6, 0) @@ -520,7 +526,7 @@ EvtScript N(takeTurn_8021FA24) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_FLY, SOUND_0, SOUND_0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_ShellDive) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_ShellDive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) @@ -531,7 +537,7 @@ EvtScript N(takeTurn_8021FA24) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 30, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_ShellHit) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_ShellHit) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 10, 0) EVT_SET(LVar0, 0) @@ -545,7 +551,7 @@ EvtScript N(takeTurn_8021FA24) = { EVT_END_LOOP EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, -10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_ParaTroopa_Idle) EVT_END_THREAD EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 30, EASING_LINEAR) EVT_WAIT(10) @@ -563,16 +569,16 @@ EvtScript N(takeTurn_8021FA24) = { extern EvtScript N(80220B84); EvtScript N(802204DC) = { - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, 0, 0, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, 0, 0, 0) + EVT_CALL(HideHealthBar, ACTOR_SELF) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 8) EVT_SUB(LVar2, 2) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Hurt) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Hurt) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_301, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVarA) EVT_IF_EQ(LVarA, 0) @@ -591,12 +597,12 @@ EvtScript N(802204DC) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(10) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_ELSE EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -605,12 +611,12 @@ EvtScript N(802204DC) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_THREAD EVT_LOOP(10) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_THREAD EVT_CALL(N(StartRumbleWithParams), 150, 7) EVT_THREAD @@ -623,7 +629,7 @@ EvtScript N(802204DC) = { EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Idle) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_8021EB14))) EVT_CALL(BindNextTurn, ACTOR_SELF, 0) @@ -640,41 +646,41 @@ EvtScript N(802204DC) = { }; s32 N(IdleAnimations_80220AA0)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Idle, - STATUS_STONE, ANIM_KoopaTroopa_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Idle, - STATUS_STOP, ANIM_KoopaTroopa_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Idle, - STATUS_PARALYZE, ANIM_KoopaTroopa_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Idle, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Idle, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Idle, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Stunned, STATUS_END, }; s32 N(IdleAnimations_80220AEC)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_Walk, - STATUS_STONE, ANIM_KoopaTroopa_Still, - STATUS_SLEEP, ANIM_KoopaTroopa_Sleep, - STATUS_POISON, ANIM_KoopaTroopa_Walk, - STATUS_STOP, ANIM_KoopaTroopa_Still, - STATUS_STATIC, ANIM_KoopaTroopa_Walk, - STATUS_PARALYZE, ANIM_KoopaTroopa_Still, - STATUS_DIZZY, ANIM_KoopaTroopa_Stunned, - STATUS_FEAR, ANIM_KoopaTroopa_Stunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_Walk, + STATUS_KEY_STONE, ANIM_KoopaTroopa_Still, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_Sleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_Walk, + STATUS_KEY_STOP, ANIM_KoopaTroopa_Still, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_Walk, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_Still, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_Stunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_Stunned, STATUS_END, }; s32 N(IdleAnimations_80220B38)[] = { - STATUS_NORMAL, ANIM_KoopaTroopa_ToppleStruggle, - STATUS_STONE, ANIM_KoopaTroopa_ToppleStill, - STATUS_SLEEP, ANIM_KoopaTroopa_ToppleSleep, - STATUS_POISON, ANIM_KoopaTroopa_ToppleStruggle, - STATUS_STOP, ANIM_KoopaTroopa_ToppleStill, - STATUS_STATIC, ANIM_KoopaTroopa_ToppleStruggle, - STATUS_PARALYZE, ANIM_KoopaTroopa_ToppleStill, - STATUS_DIZZY, ANIM_KoopaTroopa_ToppleStunned, - STATUS_FEAR, ANIM_KoopaTroopa_ToppleStunned, + STATUS_KEY_NORMAL, ANIM_KoopaTroopa_ToppleStruggle, + STATUS_KEY_STONE, ANIM_KoopaTroopa_ToppleStill, + STATUS_KEY_SLEEP, ANIM_KoopaTroopa_ToppleSleep, + STATUS_KEY_POISON, ANIM_KoopaTroopa_ToppleStruggle, + STATUS_KEY_STOP, ANIM_KoopaTroopa_ToppleStill, + STATUS_KEY_STATIC, ANIM_KoopaTroopa_ToppleStruggle, + STATUS_KEY_PARALYZE, ANIM_KoopaTroopa_ToppleStill, + STATUS_KEY_DIZZY, ANIM_KoopaTroopa_ToppleStunned, + STATUS_KEY_FEAR, ANIM_KoopaTroopa_ToppleStunned, STATUS_END, }; @@ -695,18 +701,18 @@ EvtScript N(80220BE8) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_IF_FLAG(LVar1, 0x00041000) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -4) - EVT_CALL(N(UnkBattleFunc1), -15, 32, 5, 32) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 32) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -4) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 32, 5, 32) EVT_END_IF EVT_CASE_EQ(1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_SWITCH EVT_RETURN EVT_END @@ -725,7 +731,7 @@ EvtScript N(idle_80220D40) = { EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -734,15 +740,15 @@ EvtScript N(idle_80220D40) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220AEC))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220AEC))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220AA0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220AA0))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220B38))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220B38))) EVT_END_SWITCH EVT_LOOP(20) EVT_LABEL(2) @@ -753,7 +759,7 @@ EvtScript N(idle_80220D40) = { EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -762,15 +768,15 @@ EvtScript N(idle_80220D40) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220AEC))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220AEC))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220AA0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220AA0))) EVT_CASE_EQ(1) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220B38))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220B38))) EVT_END_SWITCH EVT_LOOP(80) EVT_LABEL(3) @@ -781,7 +787,7 @@ EvtScript N(idle_80220D40) = { EVT_WAIT(1) EVT_GOTO(3) EVT_END_IF - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(3) EVT_END_IF @@ -839,12 +845,12 @@ EvtScript N(handleEvent_80221228) = { EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 9, 2) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8021EB08))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220B38))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -5, 15) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8021EB08))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220B38))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -5, 15) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Hurt) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_CHILD_THREAD @@ -869,7 +875,7 @@ EvtScript N(handleEvent_80221228) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ToppleStruggle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ToppleStruggle) EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Hurt) @@ -899,8 +905,8 @@ EvtScript N(handleEvent_80221228) = { EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_ShellEnter) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellExit) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellExit) EVT_WAIT(10) EVT_END_IF EVT_ELSE @@ -997,7 +1003,7 @@ EvtScript N(takeTurn_80221DAC) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellSpin) EVT_ELSE EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_IF_EQ(LVar0, 1) @@ -1005,20 +1011,20 @@ EvtScript N(takeTurn_80221DAC) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 9, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(30) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(3.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(3.0)) EVT_WAIT(20) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_0, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_JUMP_3E2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ToppleStruggle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ToppleStruggle) EVT_SET(LVar0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_CHILD_THREAD @@ -1036,12 +1042,12 @@ EvtScript N(takeTurn_80221DAC) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Idle) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_80220AA0))) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8021EAD0))) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 32) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -4) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_80220AA0))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8021EAD0))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 32) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -4) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) EVT_END_IF @@ -1052,7 +1058,7 @@ EvtScript N(takeTurn_80221DAC) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellEnter) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellEnter) EVT_WAIT(10) EVT_CHILD_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1064,7 +1070,7 @@ EvtScript N(takeTurn_80221DAC) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_CHILD_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellSpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellSpin) EVT_WAIT(10) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF @@ -1087,7 +1093,7 @@ EvtScript N(takeTurn_80221DAC) = { EVT_CALL(MoveBattleCamOver, 10) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellExit) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellExit) EVT_WAIT(8) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) @@ -1095,15 +1101,15 @@ EvtScript N(takeTurn_80221DAC) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_BeginPanic1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_BeginPanic1) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_BeginPanic2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_BeginPanic2) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Panic) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Panic) EVT_WAIT(6) EVT_SUB(LVar1, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1111,14 +1117,14 @@ EvtScript N(takeTurn_80221DAC) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Panic) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Panic) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Idle) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetPartYaw, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Idle) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -1147,13 +1153,13 @@ EvtScript N(takeTurn_80221DAC) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_ShellExit) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_ShellExit) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Run) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_KoopaTroopa_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KoopaTroopa_Idle) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/pokey.inc.c b/src/battle/common/actor/pokey.inc.c index 103dc516d6..eeb4a2f8b8 100644 --- a/src/battle/common/actor/pokey.inc.c +++ b/src/battle/common/actor/pokey.inc.c @@ -4,6 +4,15 @@ #include "script_api/battle.h" #include "sprite/npc/Pokey.h" +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, + PRT_4 = 4, + PRT_5 = 5, + PRT_6 = 6, +}; + enum N(ActorVars) { N(VAR_PARTS_THROWN) = 0, N(VAR_ANIM_IMMUNE) = 1, @@ -33,39 +42,39 @@ extern EvtScript N(onHit); extern EvtScript N(flee); s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 90, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 90, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 90, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -77,7 +86,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 72 }, .opacity = 255, @@ -89,7 +98,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 54 }, .opacity = 255, @@ -101,7 +110,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 4, + .index = PRT_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 36 }, .opacity = 255, @@ -113,7 +122,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 5, + .index = PRT_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, .opacity = 255, @@ -125,7 +134,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 6, + .index = PRT_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -142,8 +151,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_POKEY, .level = 9, .maxHP = 4, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 70, @@ -155,57 +164,57 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 24, 80 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -15, 75 }, - .statusMessageOffset = { 10, 65 }, + .statusTextOffset = { 10, 65 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Pokey_Anim04, - STATUS_STONE, ANIM_Pokey_Anim00, - STATUS_SLEEP, ANIM_Pokey_Anim25, - STATUS_STOP, ANIM_Pokey_Anim00, - STATUS_PARALYZE, ANIM_Pokey_Anim00, - STATUS_DIZZY, ANIM_Pokey_Anim21, - STATUS_FEAR, ANIM_Pokey_Anim21, + STATUS_KEY_NORMAL, ANIM_Pokey_Anim04, + STATUS_KEY_STONE, ANIM_Pokey_Anim00, + STATUS_KEY_SLEEP, ANIM_Pokey_Anim25, + STATUS_KEY_STOP, ANIM_Pokey_Anim00, + STATUS_KEY_PARALYZE, ANIM_Pokey_Anim00, + STATUS_KEY_DIZZY, ANIM_Pokey_Anim21, + STATUS_KEY_FEAR, ANIM_Pokey_Anim21, STATUS_END, }; s32 N(IdleAnimations_3bodyParts)[] = { - STATUS_NORMAL, ANIM_Pokey_Anim05, - STATUS_STONE, ANIM_Pokey_Anim01, - STATUS_SLEEP, ANIM_Pokey_Anim26, - STATUS_STOP, ANIM_Pokey_Anim01, - STATUS_PARALYZE, ANIM_Pokey_Anim01, - STATUS_DIZZY, ANIM_Pokey_Anim22, - STATUS_FEAR, ANIM_Pokey_Anim22, + STATUS_KEY_NORMAL, ANIM_Pokey_Anim05, + STATUS_KEY_STONE, ANIM_Pokey_Anim01, + STATUS_KEY_SLEEP, ANIM_Pokey_Anim26, + STATUS_KEY_STOP, ANIM_Pokey_Anim01, + STATUS_KEY_PARALYZE, ANIM_Pokey_Anim01, + STATUS_KEY_DIZZY, ANIM_Pokey_Anim22, + STATUS_KEY_FEAR, ANIM_Pokey_Anim22, STATUS_END, }; s32 N(IdleAnimations_2bodyParts)[] = { - STATUS_NORMAL, ANIM_Pokey_Anim06, - STATUS_STONE, ANIM_Pokey_Anim02, - STATUS_SLEEP, ANIM_Pokey_Anim27, - STATUS_STOP, ANIM_Pokey_Anim02, - STATUS_PARALYZE, ANIM_Pokey_Anim02, - STATUS_DIZZY, ANIM_Pokey_Anim23, - STATUS_FEAR, ANIM_Pokey_Anim23, + STATUS_KEY_NORMAL, ANIM_Pokey_Anim06, + STATUS_KEY_STONE, ANIM_Pokey_Anim02, + STATUS_KEY_SLEEP, ANIM_Pokey_Anim27, + STATUS_KEY_STOP, ANIM_Pokey_Anim02, + STATUS_KEY_PARALYZE, ANIM_Pokey_Anim02, + STATUS_KEY_DIZZY, ANIM_Pokey_Anim23, + STATUS_KEY_FEAR, ANIM_Pokey_Anim23, STATUS_END, }; s32 N(IdleAnimations_1bodyPart)[] = { - STATUS_NORMAL, ANIM_Pokey_Anim07, - STATUS_STONE, ANIM_Pokey_Anim03, - STATUS_SLEEP, ANIM_Pokey_Anim28, - STATUS_STOP, ANIM_Pokey_Anim03, - STATUS_PARALYZE, ANIM_Pokey_Anim03, - STATUS_DIZZY, ANIM_Pokey_Anim24, - STATUS_FEAR, ANIM_Pokey_Anim24, + STATUS_KEY_NORMAL, ANIM_Pokey_Anim07, + STATUS_KEY_STONE, ANIM_Pokey_Anim03, + STATUS_KEY_SLEEP, ANIM_Pokey_Anim28, + STATUS_KEY_STOP, ANIM_Pokey_Anim03, + STATUS_KEY_PARALYZE, ANIM_Pokey_Anim03, + STATUS_KEY_DIZZY, ANIM_Pokey_Anim24, + STATUS_KEY_FEAR, ANIM_Pokey_Anim24, STATUS_END, }; s32 N(IdleAnimations_thrownBodyPart)[] = { - STATUS_NORMAL, ANIM_Pokey_Anim16, + STATUS_KEY_NORMAL, ANIM_Pokey_Anim16, STATUS_END, }; @@ -393,7 +402,7 @@ EvtScript N(handleEvent) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) EVT_EXEC_WAIT(EVS_Enemy_ShockHit) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) @@ -436,7 +445,7 @@ EvtScript N(handleEvent) = { EVT_END_SWITCH EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar2) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar2) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar6) @@ -480,10 +489,10 @@ EvtScript N(timberAttack) = { EVT_ELSE EVT_CALL(AddGoalPos, ACTOR_SELF, 24, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim08) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim04) EVT_CASE_EQ(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) @@ -491,10 +500,10 @@ EvtScript N(timberAttack) = { EVT_ELSE EVT_CALL(AddGoalPos, ACTOR_SELF, 16, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim09) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim05) EVT_CASE_EQ(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) @@ -502,10 +511,10 @@ EvtScript N(timberAttack) = { EVT_ELSE EVT_CALL(AddGoalPos, ACTOR_SELF, 8, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim0A) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim06) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_342) EVT_CALL(MakeLerp, 0, -40, 20, EASING_COS_IN_OUT) @@ -546,29 +555,29 @@ EvtScript N(timberAttack) = { EVT_END_IF EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim08) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim04) EVT_CASE_EQ(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim09) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim05) EVT_CASE_EQ(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim0A) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim06) EVT_END_SWITCH - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -584,7 +593,7 @@ EvtScript N(timberAttack) = { EVT_END_SWITCH EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 0), LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 0), LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -601,23 +610,23 @@ EvtScript N(timberAttack) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim08) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim04) EVT_CASE_EQ(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim09) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim05) EVT_CASE_EQ(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim0A) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim06) EVT_END_SWITCH EVT_END_CASE_GROUP EVT_END_SWITCH @@ -637,7 +646,7 @@ EvtScript N(calcSummonChance) = { EVT_SWITCH(LVar2) EVT_CASE_EQ(ACTOR_TYPE_POKEY) EVT_CALL(GetStatusFlags, LVar0, LVar3) - EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_SHRINK | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAGS_IMMOBILIZED | STATUS_FLAG_SHRINK) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVar3) EVT_IF_EQ(LVar3, 0) EVT_CALL(GetActorVar, LVar0, N(VAR_SUMMON_COUNT), LVar3) @@ -706,19 +715,19 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 1) EVT_END_IF - EVT_CALL(SetPartSounds, ACTOR_SELF, 6, ACTOR_SOUND_JUMP, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_6, ACTOR_SOUND_JUMP, 0, 0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) EVT_END_IF EVT_CHILD_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(2.2)) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim16) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(2.2)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Pokey_Anim16) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) EVT_SWITCH(LVarA) @@ -727,34 +736,34 @@ EvtScript N(takeTurn) = { EVT_ADD(LVar1, 38) EVT_ELSE EVT_ADD(LVar1, 15) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(1.2)) EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 15, TRUE) EVT_CASE_EQ(1) EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) EVT_ADD(LVar1, 20) EVT_ELSE EVT_ADD(LVar1, 8) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(1.2)) EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 15, TRUE) EVT_CASE_EQ(2) EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) EVT_ADD(LVar1, 8) EVT_ELSE EVT_ADD(LVar1, 3) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(1.2)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(1.2)) EVT_END_IF - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 15, TRUE) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 15, TRUE) EVT_CASE_EQ(3) EVT_END_SWITCH EVT_END_CHILD_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_342) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW1), LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_WAIT(12) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW2), LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2CE) EVT_WAIT(3) @@ -775,42 +784,42 @@ EvtScript N(takeTurn) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 80) EVT_SUB(LVar1, 5) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(20.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim16) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(20.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Pokey_Anim16) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(20.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim16) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, TRUE) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 0), 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(20.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Pokey_Anim16) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 0), 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) EVT_SET(LVar1, 0) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 25, EASING_LINEAR) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(4.0)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(6.0)) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 25, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(4.0)) EVT_SUB(LVar0, 24) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 21, EASING_LINEAR) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(3.0)) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 21, EASING_LINEAR) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(3.0)) EVT_SUB(LVar0, 20) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, 20, EASING_LINEAR) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, 20, EASING_LINEAR) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -877,7 +886,7 @@ EvtScript N(findPlaceForSummon) = { Vec3i N(summon_pos) = { 400, -100, 0 }; Formation N(summon_formation) = { - { .actor = &NAMESPACE, .home = { .vec = &N(summon_pos) }, .priority = 100 }, + ACTOR_BY_POS(NAMESPACE, N(summon_pos), 100), }; EvtScript N(unearthFriend) = { @@ -887,7 +896,7 @@ EvtScript N(unearthFriend) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 30) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim04) EVT_CALL(MakeLerp, 0, -20, 20, EASING_COS_IN_OUT) EVT_LABEL(0) EVT_CALL(UpdateLerp) @@ -987,7 +996,7 @@ EvtScript N(unearthFriend) = { EVT_GOTO(5) EVT_END_IF EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim04) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -1008,18 +1017,18 @@ EvtScript N(attackHeadDive) = { EVT_ADD(LVar0, 50) EVT_SET(LVar1, 0) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim0B) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim07) EVT_WAIT(4) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(4) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim0B) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 2, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -1067,15 +1076,15 @@ EvtScript N(attackHeadDive) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim0B) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim07) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH @@ -1092,8 +1101,8 @@ EvtScript N(attackHeadDive) = { EVT_END_CHILD_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 18, FALSE, TRUE, FALSE) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 0), 2, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 0), 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim07) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) @@ -1114,14 +1123,14 @@ EvtScript N(attackHeadDive) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_SUB(LVar0, 10) EVT_CALL(JumpToGoal, ACTOR_SELF, 4, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim07) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim0B) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_EXEC_WAIT(EVS_Enemy_HopToPos) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Pokey_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Pokey_Anim07) EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -1154,7 +1163,7 @@ EvtScript N(onSpinSmash) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(afterPartThrown) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) @@ -1167,15 +1176,15 @@ EvtScript N(afterPartThrown) = { EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW2), ANIM_Pokey_Anim13) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), ANIM_Pokey_Anim1A) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), ANIM_Pokey_Anim1B) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_3bodyParts))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_3bodyParts))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), 1) EVT_CALL(SetActorSize, ACTOR_SELF, 62, EVT_IGNORE_ARG) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 62, EVT_IGNORE_ARG) - EVT_CALL(N(UnkBattleFunc1), -15, 55, 10, 45) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 62, EVT_IGNORE_ARG) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 55, 10, 45) EVT_CASE_EQ(1) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_IMMUNE), ANIM_Pokey_Anim06) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), ANIM_Pokey_Anim0A) @@ -1184,30 +1193,30 @@ EvtScript N(afterPartThrown) = { EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_THROW2), ANIM_Pokey_Anim15) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), ANIM_Pokey_Anim1C) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), ANIM_Pokey_Anim1D) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_2bodyParts))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_2bodyParts))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), 2) EVT_CALL(SetActorSize, ACTOR_SELF, 44, EVT_IGNORE_ARG) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 44, EVT_IGNORE_ARG) - EVT_CALL(N(UnkBattleFunc1), -15, 35, 10, 25) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 44, EVT_IGNORE_ARG) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 35, 10, 25) EVT_CASE_EQ(2) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_IMMUNE), ANIM_Pokey_Anim07) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), ANIM_Pokey_Anim0B) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), ANIM_Pokey_Anim0F) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), ANIM_Pokey_Anim1E) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), ANIM_Pokey_Anim1F) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_1bodyPart))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_1bodyPart))) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_5, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), 3) EVT_CALL(SetActorSize, ACTOR_SELF, 26, EVT_IGNORE_ARG) - EVT_CALL(SetPartSize, ACTOR_SELF, 1, 26, EVT_IGNORE_ARG) - EVT_CALL(N(UnkBattleFunc1), -15, 15, 10, 5) + EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 26, EVT_IGNORE_ARG) + EVT_CALL(N(SetAbsoluteStatusOffsets), -15, 15, 10, 5) EVT_END_SWITCH EVT_RETURN EVT_END @@ -1258,13 +1267,13 @@ EvtScript N(bounceOnHit) = { EvtScript N(doSpinSmashHit) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) EVT_END_IF EVT_EXEC_WAIT(N(afterPartThrown)) EVT_SET_CONST(LVar0, 1) @@ -1299,9 +1308,9 @@ EvtScript N(doSpinSmashHit) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(7.0)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 0, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(7.0)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 0, TRUE) EVT_CHILD_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD @@ -1311,11 +1320,11 @@ EvtScript N(doSpinSmashHit) = { EVT_GOTO(1) EVT_LABEL(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) - EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 6, EVT_FLOAT(0.1)) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) - EVT_CALL(JumpPartTo, ACTOR_SELF, 6, 296, 0, 0, 0, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartJumpGravity, ACTOR_SELF, PRT_6, EVT_FLOAT(0.1)) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(6.0)) + EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_6, 296, 0, 0, 0, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_RETURN EVT_END }; @@ -1323,9 +1332,9 @@ EvtScript N(doSpinSmashHit) = { EvtScript N(onHit) = { EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_ELSE - EVT_CALL(SetPartScale, ACTOR_SELF, 6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_6, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(1.0)) EVT_END_IF EVT_EXEC_WAIT(N(afterPartThrown)) EVT_SET_CONST(LVar0, 1) @@ -1333,7 +1342,7 @@ EvtScript N(onHit) = { EVT_SWITCH(LVar1) EVT_CASE_OR_EQ(EVENT_BURN_HIT) EVT_CASE_OR_EQ(EVENT_BURN_DEATH) - EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Pokey_Anim20) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_6, ANIM_Pokey_Anim20) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN), LVar1) EVT_END_CASE_GROUP EVT_CASE_DEFAULT @@ -1347,23 +1356,23 @@ EvtScript N(onHit) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_PARTS_THROWN), LVarA) EVT_IF_NE(LVarA, 3) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(SetPartPos, ACTOR_SELF, 6, LVar0, LVar1, LVar2) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, 6, EVT_FLOAT(6.0)) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartMoveSpeed, ACTOR_SELF, PRT_6, EVT_FLOAT(6.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) EVT_SET(LVar1, 0) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 10, 18, EASING_LINEAR) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 10, 18, EASING_LINEAR) EVT_ADD(LVar0, 20) - EVT_CALL(FlyPartTo, ACTOR_SELF, 6, LVar0, LVar1, LVar2, 8, 10, EASING_LINEAR) + EVT_CALL(FlyPartTo, ACTOR_SELF, PRT_6, LVar0, LVar1, LVar2, 8, 10, EASING_LINEAR) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_6, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_ELSE EVT_WAIT(30) EVT_END_IF @@ -1371,7 +1380,7 @@ EvtScript N(onHit) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(EVENT_BURN_HIT) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4) EVT_DIV(LVar3, 2) @@ -1381,7 +1390,7 @@ EvtScript N(onHit) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, LVar3, 10, 0) EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_BURN2), LVar1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, LVar1) EVT_WAIT(10) EVT_CASE_DEFAULT EVT_END_SWITCH @@ -1435,7 +1444,7 @@ EvtScript N(flee) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, EASING_LINEAR) EVT_WAIT(8) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN diff --git a/src/battle/common/actor/putrid_piranha.inc.c b/src/battle/common/actor/putrid_piranha.inc.c index 63b08a4cd7..107dd3e221 100644 --- a/src/battle/common/actor/putrid_piranha.inc.c +++ b/src/battle/common/actor/putrid_piranha.inc.c @@ -10,54 +10,58 @@ extern EvtScript N(handleEvent_8021B3D0); extern EvtScript N(bite); extern EvtScript N(breath); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations_8021B0A0)[] = { - STATUS_NORMAL, ANIM_LargePiranha_Putrid_Anim01, - STATUS_STONE, ANIM_LargePiranha_Putrid_Anim00, - STATUS_SLEEP, ANIM_LargePiranha_Putrid_Anim00, - STATUS_POISON, ANIM_LargePiranha_Putrid_Anim01, - STATUS_STOP, ANIM_LargePiranha_Putrid_Anim00, - STATUS_STATIC, ANIM_LargePiranha_Putrid_Anim00, - STATUS_PARALYZE, ANIM_LargePiranha_Putrid_Anim00, - STATUS_PARALYZE, ANIM_LargePiranha_Putrid_Anim00, - STATUS_DIZZY, ANIM_LargePiranha_Putrid_Anim0F, + STATUS_KEY_NORMAL, ANIM_LargePiranha_Putrid_Anim01, + STATUS_KEY_STONE, ANIM_LargePiranha_Putrid_Anim00, + STATUS_KEY_SLEEP, ANIM_LargePiranha_Putrid_Anim00, + STATUS_KEY_POISON, ANIM_LargePiranha_Putrid_Anim01, + STATUS_KEY_STOP, ANIM_LargePiranha_Putrid_Anim00, + STATUS_KEY_STATIC, ANIM_LargePiranha_Putrid_Anim00, + STATUS_KEY_PARALYZE, ANIM_LargePiranha_Putrid_Anim00, + STATUS_KEY_PARALYZE, ANIM_LargePiranha_Putrid_Anim00, + STATUS_KEY_DIZZY, ANIM_LargePiranha_Putrid_Anim0F, STATUS_END, }; s32 N(DefenseTable_8021B0EC)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_FIRE, 0, + ELEMENT_NORMAL, 0, + ELEMENT_FIRE, 0, ELEMENT_END, }; s32 N(StatusTable_8021B100)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 95, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 50, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 85, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 95, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 50, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 85, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(PartsTable_8021B1AC)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -15, 50 }, .opacity = 255, @@ -74,8 +78,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_PUTRID_PIRANHA, .level = 17, .maxHP = 12, - .partCount = ARRAY_COUNT( N(PartsTable_8021B1AC)), - .partsData = N(PartsTable_8021B1AC), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021B1F8), .statusTable = N(StatusTable_8021B100), .escapeChance = 60, @@ -87,9 +91,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 95, .coinReward = 1, .size = { 60, 52 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -22, 32 }, - .statusMessageOffset = { 1, 44 }, + .statusTextOffset = { 1, 44 }, }; EvtScript N(init_8021B1F8) = { @@ -100,19 +104,19 @@ EvtScript N(init_8021B1F8) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle_8021B244) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) EVT_IF_FLAG(LVarA, STATUS_FLAG_DIZZY) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -27, 33) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 5, -11) - EVT_CALL(N(UnkBattleFunc1), -37, 9, -7, 31) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -27, 33) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 5, -11) + EVT_CALL(N(SetAbsoluteStatusOffsets), -37, 9, -7, 31) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -15, 50) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 3, -14) - EVT_CALL(N(UnkBattleFunc1), -22, 32, 1, 44) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -15, 50) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 3, -14) + EVT_CALL(N(SetAbsoluteStatusOffsets), -22, 32, 1, 44) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -121,10 +125,10 @@ EvtScript N(idle_8021B244) = { }; EvtScript N(8021B354) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim03) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim01) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_RETURN EVT_END @@ -246,7 +250,7 @@ EvtScript N(bite) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim18) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_WAIT(8) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -271,15 +275,15 @@ EvtScript N(bite) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim17) EVT_WAIT(8) EVT_ELSE EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -291,7 +295,7 @@ EvtScript N(bite) = { EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim01) EVT_END_IF EVT_THREAD EVT_WAIT(8) @@ -301,11 +305,11 @@ EvtScript N(bite) = { EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim05) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim06) EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim07) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF @@ -318,32 +322,32 @@ EvtScript N(bite) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim18) EVT_WAIT(10) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim17) EVT_WAIT(10) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) EVT_ELSE - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(8021B354)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim05) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim06) EVT_WAIT(1) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -354,7 +358,7 @@ EvtScript N(bite) = { EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim07) EVT_WAIT(20) EVT_CALL(YieldTurn) EVT_CALL(GetBattlePhase, LVar0) @@ -362,13 +366,13 @@ EvtScript N(bite) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim18) EVT_WAIT(10) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_SURFACE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim17) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim17) EVT_WAIT(10) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, FALSE) EVT_ELSE @@ -392,9 +396,9 @@ EvtScript N(breath) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim03) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -406,8 +410,8 @@ EvtScript N(breath) = { EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim01) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim08) EVT_WAIT(11) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3AB) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -424,27 +428,27 @@ EvtScript N(breath) = { EVT_END_IF EVT_CALL(N(UnkEffect6FFunc), LVar2, LVar0, LVar1, LVar2, LVar3, 30, 120, 0, 120) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim09) EVT_WAIT(5) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim0A) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(14) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(7.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(8021B354)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -452,14 +456,14 @@ EvtScript N(breath) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, DMG_STATUS_KEY(STATUS_FLAG_POISON, 3, 100), 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LargePiranha_Putrid_Anim0A) EVT_WAIT(20) EVT_CALL(YieldTurn) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) diff --git a/src/battle/common/actor/red_magikoopa.inc.c b/src/battle/common/actor/red_magikoopa.inc.c index 55f2ff8c1a..bd3cd86308 100644 --- a/src/battle/common/actor/red_magikoopa.inc.c +++ b/src/battle/common/actor/red_magikoopa.inc.c @@ -15,70 +15,76 @@ extern s32 N(IdleAnimations1)[]; extern s32 N(IdleAnimations2)[]; extern s32 N(IdleAnimations3)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_flying)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; s32 N(StatusTable_flying)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -90,10 +96,10 @@ ActorPartBlueprint N(parts)[] = { }, }; -ActorPartBlueprint N(parts_flying)[] = { +ActorPartBlueprint N(ActorParts_flying)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -105,7 +111,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, @@ -117,7 +123,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -134,8 +140,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_RED_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 40, @@ -147,9 +153,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 2, .size = { 36, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 32 }, + .statusTextOffset = { 10, 32 }, }; ActorBlueprint N(flying) = { @@ -157,8 +163,8 @@ ActorBlueprint N(flying) = { .type = ACTOR_TYPE_FLYING_RED_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts_flying)), - .partsData = N(parts_flying), + .partCount = ARRAY_COUNT(N(ActorParts_flying)), + .partsData = N(ActorParts_flying), .initScript = &N(init_flying), .statusTable = N(StatusTable_flying), .escapeChance = 40, @@ -170,39 +176,39 @@ ActorBlueprint N(flying) = { .powerBounceChance = 80, .coinReward = 2, .size = { 48, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -25, 20 }, - .statusMessageOffset = { 1, 34 }, + .statusTextOffset = { 1, 34 }, }; s32 N(IdleAnimations1)[] = { - STATUS_NORMAL, ANIM_Magikoopa_Red_Anim01, - STATUS_STONE, ANIM_Magikoopa_Red_Anim00, - STATUS_SLEEP, ANIM_Magikoopa_Red_Anim08, - STATUS_POISON, ANIM_Magikoopa_Red_Anim01, - STATUS_STOP, ANIM_Magikoopa_Red_Anim00, - STATUS_STATIC, ANIM_Magikoopa_Red_Anim01, - STATUS_PARALYZE, ANIM_Magikoopa_Red_Anim00, - STATUS_DIZZY, ANIM_Magikoopa_Red_Anim07, - STATUS_FEAR, ANIM_Magikoopa_Red_Anim07, + STATUS_KEY_NORMAL, ANIM_Magikoopa_Red_Anim01, + STATUS_KEY_STONE, ANIM_Magikoopa_Red_Anim00, + STATUS_KEY_SLEEP, ANIM_Magikoopa_Red_Anim08, + STATUS_KEY_POISON, ANIM_Magikoopa_Red_Anim01, + STATUS_KEY_STOP, ANIM_Magikoopa_Red_Anim00, + STATUS_KEY_STATIC, ANIM_Magikoopa_Red_Anim01, + STATUS_KEY_PARALYZE, ANIM_Magikoopa_Red_Anim00, + STATUS_KEY_DIZZY, ANIM_Magikoopa_Red_Anim07, + STATUS_KEY_FEAR, ANIM_Magikoopa_Red_Anim07, STATUS_END, }; s32 N(IdleAnimations2)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Red_Anim01, - STATUS_STONE, ANIM_FlyingMagikoopa_Red_Anim00, - STATUS_SLEEP, ANIM_FlyingMagikoopa_Red_Anim08, - STATUS_POISON, ANIM_FlyingMagikoopa_Red_Anim01, - STATUS_STOP, ANIM_FlyingMagikoopa_Red_Anim00, - STATUS_STATIC, ANIM_FlyingMagikoopa_Red_Anim01, - STATUS_PARALYZE, ANIM_FlyingMagikoopa_Red_Anim00, - STATUS_DIZZY, ANIM_FlyingMagikoopa_Red_Anim07, - STATUS_FEAR, ANIM_FlyingMagikoopa_Red_Anim07, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Red_Anim01, + STATUS_KEY_STONE, ANIM_FlyingMagikoopa_Red_Anim00, + STATUS_KEY_SLEEP, ANIM_FlyingMagikoopa_Red_Anim08, + STATUS_KEY_POISON, ANIM_FlyingMagikoopa_Red_Anim01, + STATUS_KEY_STOP, ANIM_FlyingMagikoopa_Red_Anim00, + STATUS_KEY_STATIC, ANIM_FlyingMagikoopa_Red_Anim01, + STATUS_KEY_PARALYZE, ANIM_FlyingMagikoopa_Red_Anim00, + STATUS_KEY_DIZZY, ANIM_FlyingMagikoopa_Red_Anim07, + STATUS_KEY_FEAR, ANIM_FlyingMagikoopa_Red_Anim07, STATUS_END, }; s32 N(IdleAnimations3)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Red_Anim0A, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Red_Anim0A, STATUS_END, }; @@ -213,7 +219,7 @@ EvtScript N(idle) = { #include "common/ShrinkActor.inc.c" #include "common/GetSelectedMoveID.inc.c" -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" #include "common/StartRumbleWithParams.inc.c" #include "world/common/todo/UnkFunc52.inc.c" @@ -275,13 +281,13 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_Red_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim02) EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -290,11 +296,11 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, 0, 2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, 0, 2, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, -4, 5, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, -4, 5, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 1) @@ -336,30 +342,30 @@ EvtScript N(canBeKnockedOff) = { EvtScript N(knockOff) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim04) EVT_GOTO(0) EVT_END_IF EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_POW) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim04) EVT_GOTO(0) EVT_END_IF EVT_RETURN EVT_LABEL(0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 1) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -372,7 +378,7 @@ EvtScript N(knockOff) = { EVT_END_THREAD EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -383,18 +389,18 @@ EvtScript N(knockOff) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim01) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim01) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_RED_MAGIKOOPA) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 32) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 32) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TYPE_CHANGED, TRUE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) @@ -477,24 +483,24 @@ EvtScript N(handleEvent_flying) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Red_Anim01) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Red_Anim01) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Red_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Red_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Red_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Red_Anim02) EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -503,11 +509,11 @@ EvtScript N(handleEvent_flying) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -3, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -3, 0, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -15, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -15, 0, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 2) @@ -545,7 +551,7 @@ EvtScript N(attackMagicBlast) = { EVT_ADD(LVar1, 36) EVT_END_IF EVT_PLAY_EFFECT(EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Red_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Red_Anim02) EVT_WAIT(30) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -553,7 +559,7 @@ EvtScript N(attackMagicBlast) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Red_Anim03) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar9) @@ -575,16 +581,16 @@ EvtScript N(attackMagicBlast) = { EVT_END_IF EVT_WAIT(14) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Red_Anim03) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -624,11 +630,11 @@ EvtScript N(attackWandStrike) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DB) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim02) EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -647,11 +653,11 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim03) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim03) EVT_WAIT(11) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DC) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -667,20 +673,20 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim01) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -697,20 +703,20 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim01) EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, EASING_COS_IN_OUT) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -722,7 +728,7 @@ EvtScript N(attackWandStrike) = { EvtScript N(flee) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, EVENT_SCARE_AWAY) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) @@ -747,7 +753,7 @@ EvtScript N(flee) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_EXEC_WAIT(EVS_ForceNextTarget) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END @@ -830,9 +836,9 @@ EvtScript N(takeTurn) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Red_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Red_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -869,9 +875,9 @@ EvtScript N(takeTurn) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Red_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Red_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -879,9 +885,9 @@ EvtScript N(takeTurn) = { EVT_CALL(PlaySoundAtActor, LVar8, SOUND_2DD) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(BoostAttack, LVar8, 1) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/common/actor/red_shy_guy.inc.c b/src/battle/common/actor/red_shy_guy.inc.c index c3bee03903..9ef9c500e8 100644 --- a/src/battle/common/actor/red_shy_guy.inc.c +++ b/src/battle/common/actor/red_shy_guy.inc.c @@ -9,41 +9,45 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 0, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 70, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 90, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 70, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 90, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -60,8 +64,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SHY_GUY, .level = 14, .maxHP = 7, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 60, @@ -73,21 +77,21 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 28, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_ShyGuy_Red_Anim01, - STATUS_STONE, ANIM_ShyGuy_Red_Anim00, - STATUS_SLEEP, ANIM_ShyGuy_Red_Anim12, - STATUS_POISON, ANIM_ShyGuy_Red_Anim01, - STATUS_STOP, ANIM_ShyGuy_Red_Anim00, - STATUS_STATIC, ANIM_ShyGuy_Red_Anim01, - STATUS_PARALYZE, ANIM_ShyGuy_Red_Anim00, - STATUS_DIZZY, ANIM_ShyGuy_Red_Anim13, - STATUS_FEAR, ANIM_ShyGuy_Red_Anim13, + STATUS_KEY_NORMAL, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_STONE, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_SLEEP, ANIM_ShyGuy_Red_Anim12, + STATUS_KEY_POISON, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_STOP, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_STATIC, ANIM_ShyGuy_Red_Anim01, + STATUS_KEY_PARALYZE, ANIM_ShyGuy_Red_Anim00, + STATUS_KEY_DIZZY, ANIM_ShyGuy_Red_Anim13, + STATUS_KEY_FEAR, ANIM_ShyGuy_Red_Anim13, STATUS_END, }; @@ -99,19 +103,19 @@ EvtScript N(init) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(idle) = { EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, -4, 14) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 13, 10, 13) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -4, 14) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 13, 10, 13) EVT_ELSE - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -10) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_END_IF EVT_WAIT(1) EVT_GOTO(0) @@ -124,7 +128,7 @@ EvtScript N(returnHome) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim03) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_RETURN EVT_END }; @@ -232,7 +236,7 @@ EvtScript N(bumpAttack) = { EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -249,10 +253,10 @@ EvtScript N(bumpAttack) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -269,14 +273,14 @@ EvtScript N(bumpAttack) = { EVT_WAIT(15) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -289,14 +293,14 @@ EvtScript N(bumpAttack) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 10) EVT_SET(LVar1, 0) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) @@ -309,7 +313,7 @@ EvtScript N(bumpAttack) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_WAIT(8) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(returnHome)) @@ -328,9 +332,9 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_234) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim03) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(3.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -340,7 +344,7 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_20BA, SOUND_3B4) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK_INCREMENT, 10, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_SUB(LVar0, 40) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -351,10 +355,10 @@ EvtScript N(acrobaticAttack) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_THREAD EVT_WAIT(12) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -366,7 +370,7 @@ EvtScript N(acrobaticAttack) = { EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim05) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -380,24 +384,24 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_THREAD EVT_WAIT(9) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim0A) EVT_END_THREAD EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -439,9 +443,9 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_349 | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim09) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim07) EVT_WAIT(15) EVT_GOTO(2) EVT_LABEL(1) @@ -452,18 +456,18 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 20, FALSE, TRUE, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim10) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim10) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C3) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RandInt, 100, LVar0) EVT_IF_LT(LVar0, 50) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim11) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim11) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim13) EVT_END_IF EVT_WAIT(25) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_LABEL(2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) @@ -471,7 +475,7 @@ EvtScript N(acrobaticAttack) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim04) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_ShyGuy_Red_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_ShyGuy_Red_Anim01) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/slot_machine.inc.c b/src/battle/common/actor/slot_machine.inc.c index 39c85e3bca..59807bded6 100644 --- a/src/battle/common/actor/slot_machine.inc.c +++ b/src/battle/common/actor/slot_machine.inc.c @@ -9,44 +9,48 @@ extern EvtScript N(handleEvent); BSS s32 N(slot_machine_buffer)[10]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(intTable1)[] = { 0, 1, 0, 2, 0, 2, 0, 2, }; s32 N(intTable2)[] = { 0, 1, 0, 2, 1, 2, 0, 2, }; s32 N(intTable3)[] = { 0, 1, 0, 2, 0, 2, 0, 2, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -59,12 +63,12 @@ ActorPartBlueprint N(parts)[] = { }; ActorBlueprint N(slot_machine_stop) = { - .flags = ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_ATTACK, + .flags = ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_SLOT_MACHINE_STOP, .level = 99, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -76,18 +80,18 @@ ActorBlueprint N(slot_machine_stop) = { .powerBounceChance = 0, .coinReward = 0, .size = { 44, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; ActorBlueprint N(slot_machine_start) = { - .flags = ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_HIDE_HP_BAR | ACTOR_FLAG_NO_ATTACK, + .flags = ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_SLOT_MACHINE_START, .level = 99, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -99,9 +103,9 @@ ActorBlueprint N(slot_machine_start) = { .powerBounceChance = 0, .coinReward = 0, .size = { 44, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; API_CALLABLE(N(IsDemoBattle)) { @@ -289,7 +293,7 @@ EvtScript N(idle) = { EVT_END_IF EVT_THREAD #if !VERSION_PAL - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) #endif EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(SetBattleCamTarget, 0, 100, 0) @@ -339,12 +343,12 @@ EvtScript N(idle) = { EVT_SET(ArrayVar(3), 0) EVT_SET(ArrayVar(4), 0) #if !VERSION_PAL - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) #endif EVT_END_THREAD #if VERSION_PAL EVT_WAIT(75) - EVT_CALL(UseBattleCamPreset, 2) + EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 25) EVT_WAIT(30) #endif @@ -352,7 +356,7 @@ EvtScript N(idle) = { EVT_BREAK_LOOP EVT_END_LOOP #if VERSION_PAL - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) #endif EVT_END_IF EVT_LABEL(1) @@ -407,7 +411,7 @@ EvtScript N(handleEvent) = { EVT_CALL(TranslateModel, 29, 0, 0, 0) EVT_IF_EQ(ArrayVar(2), 1) #if VERSION_PAL - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) #endif EVT_SET(ArrayVar(8), 100) EVT_SET(ArrayVar(9), 150) @@ -432,7 +436,7 @@ EvtScript N(handleEvent) = { EVT_CALL(TranslateModel, 29, 0, 0, 0) EVT_IF_EQ(ArrayVar(3), 1) #if VERSION_PAL - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) #endif EVT_SET(ArrayVar(8), 150) EVT_SET(ArrayVar(9), 100) @@ -457,7 +461,7 @@ EvtScript N(handleEvent) = { EVT_CALL(TranslateModel, 29, 0, 0, 0) EVT_IF_EQ(ArrayVar(4), 1) #if VERSION_PAL - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) #endif EVT_SET(ArrayVar(8), 200) EVT_SET(ArrayVar(9), 150) diff --git a/src/battle/common/actor/spike_top.inc.c b/src/battle/common/actor/spike_top.inc.c index 2abeaf3b19..d3d6fb952e 100644 --- a/src/battle/common/actor/spike_top.inc.c +++ b/src/battle/common/actor/spike_top.inc.c @@ -12,47 +12,51 @@ extern EvtScript N(spikeTop_HandleEvent_Ceiling); extern EvtScript N(spikeTop_TakeTurn_Floor); extern EvtScript N(spikeTop_HandleEvent_Floor); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 4, - ELEMENT_FIRE, 99, - ELEMENT_BLAST, 99, + ELEMENT_NORMAL, 4, + ELEMENT_FIRE, 99, + ELEMENT_BLAST, 99, ELEMENT_END, }; s32 N(DefenseTable_8021C8CC)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, -1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, -1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -69,8 +73,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SPIKE_TOP, .level = 17, .maxHP = 4, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 60, @@ -82,69 +86,69 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 1, .size = { 24, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -8, 16 }, - .statusMessageOffset = { 8, 13 }, + .statusTextOffset = { 8, 13 }, }; s32 N(IdleAnimations_8021C9D0)[] = { - STATUS_NORMAL, ANIM_SpikeTop_Anim03, - STATUS_STONE, ANIM_SpikeTop_Anim00, - STATUS_SLEEP, ANIM_SpikeTop_Anim1B, - STATUS_POISON, ANIM_SpikeTop_Anim03, - STATUS_STOP, ANIM_SpikeTop_Anim00, - STATUS_STATIC, ANIM_SpikeTop_Anim03, - STATUS_PARALYZE, ANIM_SpikeTop_Anim00, - STATUS_DIZZY, ANIM_SpikeTop_Anim1E, - STATUS_FEAR, ANIM_SpikeTop_Anim1E, + STATUS_KEY_NORMAL, ANIM_SpikeTop_Anim03, + STATUS_KEY_STONE, ANIM_SpikeTop_Anim00, + STATUS_KEY_SLEEP, ANIM_SpikeTop_Anim1B, + STATUS_KEY_POISON, ANIM_SpikeTop_Anim03, + STATUS_KEY_STOP, ANIM_SpikeTop_Anim00, + STATUS_KEY_STATIC, ANIM_SpikeTop_Anim03, + STATUS_KEY_PARALYZE, ANIM_SpikeTop_Anim00, + STATUS_KEY_DIZZY, ANIM_SpikeTop_Anim1E, + STATUS_KEY_FEAR, ANIM_SpikeTop_Anim1E, STATUS_END, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_SpikeTop_Anim04, - STATUS_STONE, ANIM_SpikeTop_Anim01, - STATUS_SLEEP, ANIM_SpikeTop_Anim1C, - STATUS_POISON, ANIM_SpikeTop_Anim04, - STATUS_STOP, ANIM_SpikeTop_Anim01, - STATUS_STATIC, ANIM_SpikeTop_Anim04, - STATUS_PARALYZE, ANIM_SpikeTop_Anim01, - STATUS_DIZZY, ANIM_SpikeTop_Anim1F, - STATUS_FEAR, ANIM_SpikeTop_Anim1F, + STATUS_KEY_NORMAL, ANIM_SpikeTop_Anim04, + STATUS_KEY_STONE, ANIM_SpikeTop_Anim01, + STATUS_KEY_SLEEP, ANIM_SpikeTop_Anim1C, + STATUS_KEY_POISON, ANIM_SpikeTop_Anim04, + STATUS_KEY_STOP, ANIM_SpikeTop_Anim01, + STATUS_KEY_STATIC, ANIM_SpikeTop_Anim04, + STATUS_KEY_PARALYZE, ANIM_SpikeTop_Anim01, + STATUS_KEY_DIZZY, ANIM_SpikeTop_Anim1F, + STATUS_KEY_FEAR, ANIM_SpikeTop_Anim1F, STATUS_END, }; s32 N(IdleAnimations_8021CA68)[] = { - STATUS_NORMAL, ANIM_SpikeTop_Anim05, - STATUS_STONE, ANIM_SpikeTop_Anim02, - STATUS_SLEEP, ANIM_SpikeTop_Anim1D, - STATUS_POISON, ANIM_SpikeTop_Anim05, - STATUS_STOP, ANIM_SpikeTop_Anim02, - STATUS_STATIC, ANIM_SpikeTop_Anim05, - STATUS_DIZZY, ANIM_SpikeTop_Anim20, - STATUS_FEAR, ANIM_SpikeTop_Anim20, + STATUS_KEY_NORMAL, ANIM_SpikeTop_Anim05, + STATUS_KEY_STONE, ANIM_SpikeTop_Anim02, + STATUS_KEY_SLEEP, ANIM_SpikeTop_Anim1D, + STATUS_KEY_POISON, ANIM_SpikeTop_Anim05, + STATUS_KEY_STOP, ANIM_SpikeTop_Anim02, + STATUS_KEY_STATIC, ANIM_SpikeTop_Anim05, + STATUS_KEY_DIZZY, ANIM_SpikeTop_Anim20, + STATUS_KEY_FEAR, ANIM_SpikeTop_Anim20, STATUS_END, }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(init) = { EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 0) - EVT_CALL(N(UnkBattleFunc1), -10, 0, 10, 0) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 0, 10, 0) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(spikeTop_TakeTurn_Ceiling))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(spikeTop_HandleEvent_Ceiling))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, FALSE) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(spikeTop_TakeTurn_Floor))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(spikeTop_HandleEvent_Floor))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021C9D0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021C9D0))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_END_IF EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -159,21 +163,21 @@ EvtScript N(idle) = { }; EvtScript N(spikeTop_FallDown) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 1, 20) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -3, -8) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 1, 20) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -3, -8) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(spikeTop_TakeTurn_Floor))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(spikeTop_HandleEvent_Floor))) EVT_CALL(SetActorVar, ACTOR_SELF, 9, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8021C8CC))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021CA68))) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8021C8CC))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021CA68))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim15) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) @@ -201,7 +205,7 @@ EvtScript N(spikeTop_FallDown) = { EVT_ADD(LVar1, LVarE) EVT_ADD(LVar2, LVarF) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim05) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim05) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) @@ -370,14 +374,14 @@ EvtScript N(spikeTop_HandleEvent_Floor) = { EVT_EXEC_WAIT(EVS_Enemy_SpinSmashHit) EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 2) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 1, 20) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -3, -8) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 1, 20) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -3, -8) EVT_CALL(SetActorVar, ACTOR_SELF, 9, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_8021C8CC))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021CA68))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_8021C8CC))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021CA68))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim13) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim13) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_THREAD EVT_WAIT(1) @@ -401,7 +405,7 @@ EvtScript N(spikeTop_HandleEvent_Floor) = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim15) EVT_CASE_EQ(EVENT_SHOCK_HIT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_SpikeTop_Anim13) @@ -426,7 +430,7 @@ EvtScript N(spikeTop_HandleEvent_Floor) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_SpikeTop_Anim0B) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim0E) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim0E) EVT_WAIT(8) EVT_ELSE EVT_SET_CONST(LVar0, 1) @@ -439,7 +443,7 @@ EvtScript N(spikeTop_HandleEvent_Floor) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_SpikeTop_Anim0B) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim0C) EVT_WAIT(8) EVT_ELSE EVT_SET_CONST(LVar0, 1) @@ -530,7 +534,7 @@ EvtScript N(spikeTop_HandleEvent_Floor) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_SpikeTop_Anim0B) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim0C) EVT_WAIT(8) EVT_ELSE EVT_SET_CONST(LVar0, 1) @@ -550,14 +554,14 @@ EvtScript N(spikeTop_TakeTurn_Ceiling) = { EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(spikeTop_TakeTurn_Floor))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(spikeTop_HandleEvent_Floor))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021C9D0))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021C9D0))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_FLIPABLE, TRUE) EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) EVT_MOD(LVar0, 4) EVT_CALL(SetGoalToIndex, ACTOR_SELF, LVar0) @@ -573,16 +577,16 @@ EvtScript N(spikeTop_TakeTurn_Ceiling) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar4, LVar2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim09) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar4, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim01) EVT_WAIT(8) EVT_END_IF EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP, SOUND_301, 0) @@ -600,8 +604,8 @@ EvtScript N(spikeTop_TakeTurn_Ceiling) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetPartYaw, ACTOR_SELF, 1, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim15) + EVT_CALL(SetPartYaw, ACTOR_SELF, PRT_MAIN, 180) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim15) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -619,7 +623,7 @@ EvtScript N(spikeTop_TakeTurn_Ceiling) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim00) EVT_END_THREAD EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -629,11 +633,11 @@ EvtScript N(spikeTop_TakeTurn_Ceiling) = { EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim08) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim08) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim03) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim03) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -641,7 +645,7 @@ EvtScript N(spikeTop_TakeTurn_Ceiling) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim15) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim15) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -666,7 +670,7 @@ EvtScript N(spikeTop_TakeTurn_Ceiling) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_THREAD EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim00) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim00) EVT_END_THREAD EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -676,7 +680,7 @@ EvtScript N(spikeTop_TakeTurn_Ceiling) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_SpikeTop_Anim08) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim03) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_LABEL(10) @@ -695,27 +699,27 @@ EvtScript N(spikeTop_TakeTurn_Floor) = { EVT_SUB(LVar0, 1) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 9, LVar0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_ELSE - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_SpikeTop_Anim05) EVT_SET_CONST(LVar2, ANIM_SpikeTop_Anim03) EVT_EXEC_WAIT(EVS_Enemy_FlipBackUp) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 24) - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, -1, -9) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021C9D0))) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 24) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -9) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021C9D0))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_SPIKY_TOP, TRUE) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -725,9 +729,9 @@ EvtScript N(spikeTop_TakeTurn_Floor) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim0B) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim0F) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim0F) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) @@ -737,7 +741,7 @@ EvtScript N(spikeTop_TakeTurn_Floor) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2021) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim0A) EVT_WAIT(20) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20D3) @@ -770,7 +774,7 @@ EvtScript N(spikeTop_TakeTurn_Floor) = { EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 200) @@ -778,9 +782,9 @@ EvtScript N(spikeTop_TakeTurn_Floor) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(10.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim0C) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim0C) EVT_WAIT(10) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -807,14 +811,14 @@ EvtScript N(spikeTop_TakeTurn_Floor) = { EVT_ADD(LVar0, 20) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim03) EVT_WAIT(8) EVT_CALL(YieldTurn) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_SpikeTop_Anim08) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikeTop_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikeTop_Anim03) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/spiked_goomba.inc.c b/src/battle/common/actor/spiked_goomba.inc.c index 9fda41f638..b095f29008 100644 --- a/src/battle/common/actor/spiked_goomba.inc.c +++ b/src/battle/common/actor/spiked_goomba.inc.c @@ -4,43 +4,47 @@ #include "script_api/battle.h" #include "sprite/npc/SpikedGoomba.h" +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable_8021E3B0)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable_8021E3BC)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 100, - STATUS_POISON, 80, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 80, - STATUS_STATIC, 80, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 80, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 80, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; extern s32 N(IdleAnimations_8021E4B4)[]; extern EvtScript N(init_8021E54C); -ActorPartBlueprint N(PartsTable_8021E468)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, @@ -57,8 +61,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SPIKED_GOOMBA, .level = 6, .maxHP = 2, - .partCount = ARRAY_COUNT( N(PartsTable_8021E468)), - .partsData = N(PartsTable_8021E468), + .partCount = ARRAY_COUNT( N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init_8021E54C), .statusTable = N(StatusTable_8021E3BC), .escapeChance = 90, @@ -70,34 +74,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 100, .coinReward = 1, .size = { 24, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; s32 N(IdleAnimations_8021E4B4)[] = { - STATUS_NORMAL, ANIM_SpikedGoomba_Idle, - STATUS_STONE, ANIM_SpikedGoomba_Still, - STATUS_SLEEP, ANIM_SpikedGoomba_Sleep, - STATUS_POISON, ANIM_SpikedGoomba_Idle, - STATUS_STOP, ANIM_SpikedGoomba_Still, - STATUS_STATIC, ANIM_SpikedGoomba_Idle, - STATUS_PARALYZE, ANIM_SpikedGoomba_Still, - STATUS_DIZZY, ANIM_SpikedGoomba_Dizzy, - STATUS_FEAR, ANIM_SpikedGoomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_SpikedGoomba_Idle, + STATUS_KEY_STONE, ANIM_SpikedGoomba_Still, + STATUS_KEY_SLEEP, ANIM_SpikedGoomba_Sleep, + STATUS_KEY_POISON, ANIM_SpikedGoomba_Idle, + STATUS_KEY_STOP, ANIM_SpikedGoomba_Still, + STATUS_KEY_STATIC, ANIM_SpikedGoomba_Idle, + STATUS_KEY_PARALYZE, ANIM_SpikedGoomba_Still, + STATUS_KEY_DIZZY, ANIM_SpikedGoomba_Dizzy, + STATUS_KEY_FEAR, ANIM_SpikedGoomba_Dizzy, STATUS_END, }; s32 N(IdleAnimations_8021E500)[] = { - STATUS_NORMAL, ANIM_SpikedGoomba_Run, - STATUS_STONE, ANIM_SpikedGoomba_Still, - STATUS_SLEEP, ANIM_SpikedGoomba_Sleep, - STATUS_POISON, ANIM_SpikedGoomba_Idle, - STATUS_STOP, ANIM_SpikedGoomba_Still, - STATUS_STATIC, ANIM_SpikedGoomba_Run, - STATUS_PARALYZE, ANIM_SpikedGoomba_Still, - STATUS_DIZZY, ANIM_SpikedGoomba_Dizzy, - STATUS_FEAR, ANIM_SpikedGoomba_Dizzy, + STATUS_KEY_NORMAL, ANIM_SpikedGoomba_Run, + STATUS_KEY_STONE, ANIM_SpikedGoomba_Still, + STATUS_KEY_SLEEP, ANIM_SpikedGoomba_Sleep, + STATUS_KEY_POISON, ANIM_SpikedGoomba_Idle, + STATUS_KEY_STOP, ANIM_SpikedGoomba_Still, + STATUS_KEY_STATIC, ANIM_SpikedGoomba_Run, + STATUS_KEY_PARALYZE, ANIM_SpikedGoomba_Still, + STATUS_KEY_DIZZY, ANIM_SpikedGoomba_Dizzy, + STATUS_KEY_FEAR, ANIM_SpikedGoomba_Dizzy, STATUS_END, }; @@ -120,7 +124,7 @@ EvtScript N(idle_8021E598) = { EVT_LOOP(LVar0) EVT_LABEL(0) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -129,14 +133,14 @@ EvtScript N(idle_8021E598) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021E500))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021E500))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021E4B4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021E4B4))) EVT_LOOP(20) EVT_LABEL(1) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(1) EVT_END_IF @@ -145,14 +149,14 @@ EvtScript N(idle_8021E598) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_CALL(SetActorIdleSpeed, ACTOR_SELF, EVT_FLOAT(1.0)) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021E500))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021E500))) EVT_CALL(SetIdleGoal, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(IdleRunToGoal, ACTOR_SELF, 0) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_8021E4B4))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_8021E4B4))) EVT_LOOP(80) EVT_LABEL(2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar1) - EVT_IF_FLAG(LVar1, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar1, STATUS_FLAGS_IMMOBILIZED) EVT_WAIT(1) EVT_GOTO(2) EVT_END_IF @@ -209,14 +213,14 @@ EvtScript N(handleEvent_8021E874) = { EVT_SET_CONST(LVar1, ANIM_SpikedGoomba_Hurt) EVT_EXEC_WAIT(EVS_Enemy_JumpBack) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dizzy) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dizzy) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CASE_EQ(EVENT_SHOCK_DEATH) @@ -245,12 +249,12 @@ EvtScript N(handleEvent_8021E874) = { EVT_EXEC_WAIT(EVS_Enemy_Death) EVT_RETURN EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 1) @@ -273,8 +277,8 @@ EvtScript N(handleEvent_8021E874) = { EVT_RETURN EVT_CASE_EQ(EVENT_SPIKE_TAUNT) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Laugh) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Laugh) EVT_END_IF EVT_WAIT(10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -288,7 +292,7 @@ EvtScript N(handleEvent_8021E874) = { EVT_WAIT(20) EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -304,18 +308,18 @@ EvtScript N(takeTurn_8021F1BC) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Run) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, -2, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -343,10 +347,10 @@ EvtScript N(takeTurn_8021F1BC) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Sleep) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Sleep) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 5, 0) EVT_WAIT(1) @@ -355,14 +359,14 @@ EvtScript N(takeTurn_8021F1BC) = { EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 7, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Hurt) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Hurt) EVT_WAIT(5) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) @@ -377,26 +381,26 @@ EvtScript N(takeTurn_8021F1BC) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Dizzy) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Dizzy) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -419,10 +423,10 @@ EvtScript N(takeTurn_8021F1BC) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(6) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Midair) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Midair) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.3), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) @@ -439,7 +443,7 @@ EvtScript N(takeTurn_8021F1BC) = { EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) EVT_SET(LVar1, 0) @@ -454,19 +458,19 @@ EvtScript N(takeTurn_8021F1BC) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 6, FALSE, TRUE, FALSE) EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar0) EVT_IF_GT(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Laugh) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Laugh) EVT_WAIT(15) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Idle) EVT_WAIT(3) EVT_END_IF EVT_CALL(YieldTurn) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(2.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SpikedGoomba_Run) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(2.0)) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_SpikedGoomba_Run) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) diff --git a/src/battle/common/actor/spiny.inc.c b/src/battle/common/actor/spiny.inc.c index fd4e21afde..d9ac1dd897 100644 --- a/src/battle/common/actor/spiny.inc.c +++ b/src/battle/common/actor/spiny.inc.c @@ -10,76 +10,81 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Spiny_Anim01, - STATUS_STONE, ANIM_Spiny_Anim00, - STATUS_SLEEP, ANIM_Spiny_Anim10, - STATUS_POISON, ANIM_Spiny_Anim01, - STATUS_STOP, ANIM_Spiny_Anim00, - STATUS_STATIC, ANIM_Spiny_Anim01, - STATUS_PARALYZE, ANIM_Spiny_Anim00, - STATUS_DIZZY, ANIM_Spiny_Anim12, - STATUS_FEAR, ANIM_Spiny_Anim12, + STATUS_KEY_NORMAL, ANIM_Spiny_Anim01, + STATUS_KEY_STONE, ANIM_Spiny_Anim00, + STATUS_KEY_SLEEP, ANIM_Spiny_Anim10, + STATUS_KEY_POISON, ANIM_Spiny_Anim01, + STATUS_KEY_STOP, ANIM_Spiny_Anim00, + STATUS_KEY_STATIC, ANIM_Spiny_Anim01, + STATUS_KEY_PARALYZE, ANIM_Spiny_Anim00, + STATUS_KEY_DIZZY, ANIM_Spiny_Anim12, + STATUS_KEY_FEAR, ANIM_Spiny_Anim12, STATUS_END, }; s32 N(IdleAnimations_flipped)[] = { - STATUS_NORMAL, ANIM_Spiny_Anim02, - STATUS_STONE, ANIM_Spiny_Anim15, - STATUS_SLEEP, ANIM_Spiny_Anim11, - STATUS_POISON, ANIM_Spiny_Anim02, - STATUS_STOP, ANIM_Spiny_Anim15, - STATUS_STATIC, ANIM_Spiny_Anim02, - STATUS_PARALYZE, ANIM_Spiny_Anim15, - STATUS_DIZZY, ANIM_Spiny_Anim13, - STATUS_FEAR, ANIM_Spiny_Anim13, + STATUS_KEY_NORMAL, ANIM_Spiny_Anim02, + STATUS_KEY_STONE, ANIM_Spiny_Anim15, + STATUS_KEY_SLEEP, ANIM_Spiny_Anim11, + STATUS_KEY_POISON, ANIM_Spiny_Anim02, + STATUS_KEY_STOP, ANIM_Spiny_Anim15, + STATUS_KEY_STATIC, ANIM_Spiny_Anim02, + STATUS_KEY_PARALYZE, ANIM_Spiny_Anim15, + STATUS_KEY_DIZZY, ANIM_Spiny_Anim13, + STATUS_KEY_FEAR, ANIM_Spiny_Anim13, STATUS_END, }; s32 N(IdleAnimations_2)[] = { - STATUS_NORMAL, ANIM_Lakitu_Anim0B, + STATUS_KEY_NORMAL, ANIM_Lakitu_Anim0B, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 3, + ELEMENT_NORMAL, 3, ELEMENT_END, }; -s32 N(DefenseTable_flipped)[] = { - ELEMENT_NORMAL, 0, +s32 N(DefenseTable_Flipped)[] = { + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, @@ -91,7 +96,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -108,8 +113,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SPINY, .level = 19, .maxHP = 5, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 60, @@ -121,9 +126,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 90, .coinReward = 1, .size = { 24, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -142,18 +147,18 @@ EvtScript N(idle) = { }; EvtScript N(returnHome) = { - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Lakitu_Anim0C) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0C) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Spiny_Anim1A) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim1A) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Spiny_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim01) EVT_RETURN EVT_END }; @@ -236,15 +241,15 @@ EvtScript N(handleEvent) = { EVT_CASE_EQ(EVENT_FLIP_TRIGGER) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Spiny_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim0A) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Spiny_Anim16) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim16) EVT_END_IF EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable_flipped))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flipped))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_200000, FALSE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable_Flipped))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flipped))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_200000, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) EVT_USE_BUF(N(bounceArray)) EVT_LOOP(19) @@ -262,7 +267,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Spiny_Anim06) EVT_EXEC_WAIT(EVS_Enemy_NoDamageHit) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Spiny_Anim07) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim07) EVT_WAIT(10) EVT_CASE_EQ(1) EVT_SET_CONST(LVar0, 1) @@ -368,23 +373,23 @@ EvtScript N(takeTurn) = { EVT_SUB(LVar0, 1) EVT_CALL(SetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_GT(LVar0, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Spiny_Anim14) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim14) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Spiny_Anim14) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim14) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Spiny_Anim02) EVT_SET_CONST(LVar2, ANIM_Spiny_Anim01) EVT_EXEC_WAIT(EVS_Enemy_FlipBackUp) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) - EVT_CALL(SetDefenseTable, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_200000, TRUE) + EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_200000, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -398,9 +403,9 @@ EvtScript N(takeTurn) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 0) EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Spiny_Anim19) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim19) EVT_WAIT(8) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Spiny_Anim18) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Spiny_Anim18) EVT_WAIT(10) EVT_ELSE EVT_WAIT(20) @@ -414,13 +419,13 @@ EvtScript N(takeTurn) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 32, 4, 0, 10, 0) EVT_END_THREAD EVT_CALL(EnableActorBlur, ACTOR_SELF, 1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Lakitu_Anim0C) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0C) EVT_WAIT(10) - EVT_CALL(PlaySoundAtPart, ACTOR_SELF, 2, SOUND_2C7) + EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_2, SOUND_2C7) EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) - EVT_CALL(SetPartSounds, ACTOR_SELF, 2, ACTOR_SOUND_WALK, 0, 0) + EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_2, ACTOR_SOUND_WALK, 0, 0) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, 0, 0, 4, BS_FLAGS1_10) EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(HIT_RESULT_MISS) @@ -450,10 +455,10 @@ EvtScript N(takeTurn) = { EVT_CALL(EnableActorBlur, ACTOR_SELF, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(6.0)) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH @@ -467,7 +472,7 @@ EvtScript N(takeTurn) = { EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_Lakitu_Anim0B) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_Lakitu_Anim0B) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) EVT_SET(LVar1, 0) diff --git a/src/battle/common/actor/swooper.inc.c b/src/battle/common/actor/swooper.inc.c index e9823864a3..1b32b3c940 100644 --- a/src/battle/common/actor/swooper.inc.c +++ b/src/battle/common/actor/swooper.inc.c @@ -9,40 +9,44 @@ extern EvtScript N(takeTurn); extern EvtScript N(idle); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 60, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 90, - STATUS_SHRINK, 90, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 60, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 90, + STATUS_KEY_SHRINK, 90, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 29 }, .opacity = 255, @@ -59,8 +63,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SWOOPER, .level = 10, .maxHP = 4, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -72,38 +76,38 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 1, .size = { 31, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, -20 }, - .statusMessageOffset = { 10, -20 }, + .statusTextOffset = { 10, -20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Swooper_Anim0C, - STATUS_STONE, ANIM_Swooper_Anim0B, - STATUS_SLEEP, ANIM_Swooper_Anim0F, - STATUS_POISON, ANIM_Swooper_Anim0C, - STATUS_STOP, ANIM_Swooper_Anim0B, - STATUS_STATIC, ANIM_Swooper_Anim0C, - STATUS_PARALYZE, ANIM_Swooper_Anim0B, - STATUS_DIZZY, ANIM_Swooper_Anim10, - STATUS_FEAR, ANIM_Swooper_Anim10, + STATUS_KEY_NORMAL, ANIM_Swooper_Anim0C, + STATUS_KEY_STONE, ANIM_Swooper_Anim0B, + STATUS_KEY_SLEEP, ANIM_Swooper_Anim0F, + STATUS_KEY_POISON, ANIM_Swooper_Anim0C, + STATUS_KEY_STOP, ANIM_Swooper_Anim0B, + STATUS_KEY_STATIC, ANIM_Swooper_Anim0C, + STATUS_KEY_PARALYZE, ANIM_Swooper_Anim0B, + STATUS_KEY_DIZZY, ANIM_Swooper_Anim10, + STATUS_KEY_FEAR, ANIM_Swooper_Anim10, STATUS_END, }; s32 N(IdleAnimations_flying)[] = { - STATUS_NORMAL, ANIM_Swooper_Anim02, - STATUS_STONE, ANIM_Swooper_Anim01, - STATUS_SLEEP, ANIM_Swooper_Anim13, - STATUS_POISON, ANIM_Swooper_Anim02, - STATUS_STOP, ANIM_Swooper_Anim01, - STATUS_STATIC, ANIM_Swooper_Anim02, - STATUS_PARALYZE, ANIM_Swooper_Anim01, - STATUS_DIZZY, ANIM_Swooper_Anim14, - STATUS_FEAR, ANIM_Swooper_Anim14, + STATUS_KEY_NORMAL, ANIM_Swooper_Anim02, + STATUS_KEY_STONE, ANIM_Swooper_Anim01, + STATUS_KEY_SLEEP, ANIM_Swooper_Anim13, + STATUS_KEY_POISON, ANIM_Swooper_Anim02, + STATUS_KEY_STOP, ANIM_Swooper_Anim01, + STATUS_KEY_STATIC, ANIM_Swooper_Anim02, + STATUS_KEY_PARALYZE, ANIM_Swooper_Anim01, + STATUS_KEY_DIZZY, ANIM_Swooper_Anim14, + STATUS_KEY_FEAR, ANIM_Swooper_Anim14, STATUS_END, }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(init) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn))) @@ -123,20 +127,20 @@ EvtScript N(returnHome) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim02) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, -24, 0) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, TRUE) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim0C) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 24) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim02) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) @@ -234,13 +238,13 @@ EvtScript N(hadleEvent_flying) = { }; EvtScript N(knockDown) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) EVT_IF_LE(LVar0, 0) EVT_RETURN EVT_END_IF EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim02) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) @@ -266,10 +270,10 @@ EvtScript N(knockDown) = { EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) EVT_END_IF - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -10) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 22) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flying))) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -10) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 22) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flying))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, TRUE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) @@ -392,8 +396,8 @@ EvtScript N(handleEvent) = { EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flying))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim02) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flying))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim02) EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) @@ -422,7 +426,7 @@ EvtScript N(takeTurn_flying) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim02) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) @@ -432,7 +436,7 @@ EvtScript N(takeTurn_flying) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim02) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) @@ -446,7 +450,7 @@ EvtScript N(takeTurn_flying) = { EVT_WAIT(10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim06) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -455,20 +459,20 @@ EvtScript N(takeTurn_flying) = { EVT_SUB(LVar0, 50) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim06) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(10.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(10.0)) EVT_WAIT(15) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -485,13 +489,13 @@ EvtScript N(takeTurn_flying) = { EVT_WAIT(10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim06) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim06) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) @@ -499,7 +503,7 @@ EvtScript N(takeTurn_flying) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_WAIT(10) EVT_CALL(YieldTurn) @@ -522,7 +526,7 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim02) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) @@ -535,25 +539,25 @@ EvtScript N(takeTurn) = { EVT_WAIT(10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim06) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(AddGoalPos, ACTOR_SELF, -50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim06) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -40, EASING_LINEAR) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(10.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(10.0)) EVT_WAIT(15) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -570,10 +574,10 @@ EvtScript N(takeTurn) = { EVT_WAIT(10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim06) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim06) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -40, EASING_LINEAR) EVT_WAIT(2) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) @@ -581,7 +585,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_WAIT(10) EVT_CALL(YieldTurn) diff --git a/src/battle/common/actor/swoopula.inc.c b/src/battle/common/actor/swoopula.inc.c index c94f8ba0ec..a4c85158e6 100644 --- a/src/battle/common/actor/swoopula.inc.c +++ b/src/battle/common/actor/swoopula.inc.c @@ -12,40 +12,44 @@ extern EvtScript N(handleEvent); extern s32 N(IdleAnimations)[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 60, - STATUS_POISON, 60, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 80, - STATUS_PARALYZE, 80, - STATUS_SHRINK, 75, - STATUS_STOP, 85, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 1, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 60, + STATUS_KEY_POISON, 60, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 80, + STATUS_KEY_PARALYZE, 80, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 85, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 1, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 29 }, .opacity = 255, @@ -62,8 +66,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SWOOPULA, .level = 22, .maxHP = 8, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 30, @@ -75,34 +79,34 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 1, .size = { 31, 24 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, -20 }, - .statusMessageOffset = { 10, -20 }, + .statusTextOffset = { 10, -20 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Swooper_Gray_Anim0C, - STATUS_STONE, ANIM_Swooper_Gray_Anim0B, - STATUS_SLEEP, ANIM_Swooper_Gray_Anim0F, - STATUS_POISON, ANIM_Swooper_Gray_Anim0C, - STATUS_STOP, ANIM_Swooper_Gray_Anim0B, - STATUS_STATIC, ANIM_Swooper_Gray_Anim0C, - STATUS_PARALYZE, ANIM_Swooper_Gray_Anim0B, - STATUS_DIZZY, ANIM_Swooper_Gray_Anim10, - STATUS_FEAR, ANIM_Swooper_Gray_Anim10, + STATUS_KEY_NORMAL, ANIM_Swooper_Gray_Anim0C, + STATUS_KEY_STONE, ANIM_Swooper_Gray_Anim0B, + STATUS_KEY_SLEEP, ANIM_Swooper_Gray_Anim0F, + STATUS_KEY_POISON, ANIM_Swooper_Gray_Anim0C, + STATUS_KEY_STOP, ANIM_Swooper_Gray_Anim0B, + STATUS_KEY_STATIC, ANIM_Swooper_Gray_Anim0C, + STATUS_KEY_PARALYZE, ANIM_Swooper_Gray_Anim0B, + STATUS_KEY_DIZZY, ANIM_Swooper_Gray_Anim10, + STATUS_KEY_FEAR, ANIM_Swooper_Gray_Anim10, STATUS_END, }; s32 N(IdleAnimations_flying)[] = { - STATUS_NORMAL, ANIM_Swooper_Gray_Anim02, - STATUS_STONE, ANIM_Swooper_Gray_Anim01, - STATUS_SLEEP, ANIM_Swooper_Gray_Anim13, - STATUS_POISON, ANIM_Swooper_Gray_Anim02, - STATUS_STOP, ANIM_Swooper_Gray_Anim01, - STATUS_STATIC, ANIM_Swooper_Gray_Anim02, - STATUS_PARALYZE, ANIM_Swooper_Gray_Anim01, - STATUS_DIZZY, ANIM_Swooper_Gray_Anim14, - STATUS_FEAR, ANIM_Swooper_Gray_Anim14, + STATUS_KEY_NORMAL, ANIM_Swooper_Gray_Anim02, + STATUS_KEY_STONE, ANIM_Swooper_Gray_Anim01, + STATUS_KEY_SLEEP, ANIM_Swooper_Gray_Anim13, + STATUS_KEY_POISON, ANIM_Swooper_Gray_Anim02, + STATUS_KEY_STOP, ANIM_Swooper_Gray_Anim01, + STATUS_KEY_STATIC, ANIM_Swooper_Gray_Anim02, + STATUS_KEY_PARALYZE, ANIM_Swooper_Gray_Anim01, + STATUS_KEY_DIZZY, ANIM_Swooper_Gray_Anim14, + STATUS_KEY_FEAR, ANIM_Swooper_Gray_Anim14, STATUS_END, }; @@ -124,20 +128,20 @@ EvtScript N(returnHome) = { EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 0, -24, 0) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, TRUE) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim0C) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 24) EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_SIN_OUT) @@ -234,16 +238,16 @@ EvtScript N(hadleEvent_flying) = { EVT_END }; -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" EvtScript N(knockDown) = { - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) EVT_IF_LE(LVar0, 0) EVT_RETURN EVT_END_IF EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) @@ -269,10 +273,10 @@ EvtScript N(knockDown) = { EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) EVT_END_IF - EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, 1, 0, -10) - EVT_CALL(SetTargetOffset, ACTOR_SELF, 1, 0, 22) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 20) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flying))) + EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 0, -10) + EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 22) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flying))) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, TRUE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CALL(SetActorVar, ACTOR_SELF, 8, 1) @@ -395,8 +399,8 @@ EvtScript N(handleEvent) = { EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_FIRST_STRIKE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) - EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_PTR(N(IdleAnimations_flying))) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(IdleAnimations_flying))) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) @@ -427,7 +431,7 @@ EvtScript N(takeTurn_flying) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(GetBattlePhase, LVar0) EVT_IF_EQ(LVar0, PHASE_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) @@ -437,7 +441,7 @@ EvtScript N(takeTurn_flying) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) @@ -451,7 +455,7 @@ EvtScript N(takeTurn_flying) = { EVT_WAIT(10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim06) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) @@ -460,20 +464,20 @@ EvtScript N(takeTurn_flying) = { EVT_SUB(LVar0, 50) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim06) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(10.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(10.0)) EVT_WAIT(15) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -490,14 +494,14 @@ EvtScript N(takeTurn_flying) = { EVT_WAIT(10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim06) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, FALSE, FALSE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -4, -8, -15) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim06) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) @@ -507,7 +511,7 @@ EvtScript N(takeTurn_flying) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) EVT_WAIT(10) EVT_LOOP(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_WAIT(21) EVT_LOOP(2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) @@ -549,7 +553,7 @@ EvtScript N(takeTurn_flying) = { EVT_WAIT(30) EVT_END_LOOP EVT_ELSE - EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_03, 0x7FFF) + EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_03, 0x00007FFF) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_STOP_LEECH) EVT_CALL(action_command_stop_leech_init) @@ -559,7 +563,7 @@ EvtScript N(takeTurn_flying) = { EVT_CALL(action_command_stop_leech_start, 0, 0x7FFF, 3) EVT_SET(LVarD, 0) EVT_LOOP(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_SET(LocalFlag(0), 0) EVT_LOOP(21) EVT_CALL(GetActionSuccessCopy, LVar1) @@ -871,7 +875,7 @@ EvtScript N(takeTurn_flying) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_WAIT(10) EVT_CALL(YieldTurn) @@ -894,7 +898,7 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_ENEMY_APPROACH) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_UPSIDE_DOWN, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar1, 24) @@ -907,25 +911,25 @@ EvtScript N(takeTurn) = { EVT_WAIT(10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim06) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(AddGoalPos, ACTOR_SELF, -50, 0, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim06) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -40, EASING_LINEAR) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(10.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(10.0)) EVT_WAIT(15) - EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) + EVT_CALL(SetAnimationRate, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0)) EVT_IF_EQ(LVarA, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) EVT_END_IF EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_EXEC_WAIT(N(returnHome)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -942,11 +946,11 @@ EvtScript N(takeTurn) = { EVT_WAIT(10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(5.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.8)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim06) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -4, -8, -15) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim06) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim06) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -40, EASING_LINEAR) EVT_IF_EQ(LocalFlag(0), 1) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) @@ -956,7 +960,7 @@ EvtScript N(takeTurn) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_STONE) EVT_WAIT(10) EVT_LOOP(2) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_WAIT(21) EVT_LOOP(2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_3E0) @@ -1009,7 +1013,7 @@ EvtScript N(takeTurn) = { EVT_CALL(action_command_stop_leech_start, 0, 32767, 3) EVT_SET(LVarD, 0) EVT_LOOP(5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_SET(LocalFlag(0), 0) EVT_LOOP(21) EVT_CALL(GetActionSuccessCopy, LVar1) @@ -1176,7 +1180,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Swooper_Gray_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, EASING_LINEAR) EVT_WAIT(10) EVT_CALL(YieldTurn) diff --git a/src/battle/common/actor/whacka.inc.c b/src/battle/common/actor/whacka.inc.c index 4f0d9119ac..debb76bb8d 100644 --- a/src/battle/common/actor/whacka.inc.c +++ b/src/battle/common/actor/whacka.inc.c @@ -10,53 +10,57 @@ extern EvtScript N(handleEvent); extern EvtScript N(spawnWhackasBump); extern EvtScript N(die); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Whacka_Idle, - STATUS_STONE, ANIM_Whacka_Still, - STATUS_SLEEP, ANIM_Whacka_Idle, - STATUS_POISON, ANIM_Whacka_Idle, - STATUS_STOP, ANIM_Whacka_Still, - STATUS_STATIC, ANIM_Whacka_Idle, - STATUS_PARALYZE, ANIM_Whacka_Still, - STATUS_DIZZY, ANIM_Whacka_Idle, - STATUS_FEAR, ANIM_Whacka_Idle, + STATUS_KEY_NORMAL, ANIM_Whacka_Idle, + STATUS_KEY_STONE, ANIM_Whacka_Still, + STATUS_KEY_SLEEP, ANIM_Whacka_Idle, + STATUS_KEY_POISON, ANIM_Whacka_Idle, + STATUS_KEY_STOP, ANIM_Whacka_Still, + STATUS_KEY_STATIC, ANIM_Whacka_Idle, + STATUS_KEY_PARALYZE, ANIM_Whacka_Still, + STATUS_KEY_DIZZY, ANIM_Whacka_Idle, + STATUS_KEY_FEAR, ANIM_Whacka_Idle, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 0, - STATUS_POISON, 0, - STATUS_FROZEN, 0, - STATUS_DIZZY, 0, - STATUS_FEAR, 0, - STATUS_STATIC, 0, - STATUS_PARALYZE, 0, - STATUS_SHRINK, 0, - STATUS_STOP, 0, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 0, + STATUS_KEY_POISON, 0, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 0, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 0, + STATUS_KEY_PARALYZE, 0, + STATUS_KEY_SHRINK, 0, + STATUS_KEY_STOP, 0, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, .opacity = 255, @@ -69,12 +73,12 @@ ActorPartBlueprint N(parts)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_HIDE_HP_BAR, + .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_HEALTH_BAR, .type = ACTOR_TYPE_WHACKA, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -86,9 +90,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 50, .coinReward = 0, .size = { 47, 32 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -20, 40 }, - .statusMessageOffset = { 10, 30 }, + .statusTextOffset = { 10, 30 }, }; API_CALLABLE(N(IsHitEightTimes)) { @@ -108,7 +112,7 @@ EvtScript N(init) = { EVT_CALL(N(IsHitEightTimes)) EVT_IF_EQ(LVar0, 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_END_IF EVT_RETURN EVT_END @@ -287,7 +291,7 @@ EvtScript N(spawnWhackasBump) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2073) EVT_THREAD EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Whacka_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Whacka_Idle) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 5) EVT_ADD(LVar1, 20) @@ -302,13 +306,13 @@ EvtScript N(die) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BURROW_DIG) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Whacka_Burrow) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Whacka_Burrow) EVT_WAIT(40) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_NE(LVar0, 0) EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_DROP_WHACKA_BUMP, TRUE) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN diff --git a/src/battle/common/actor/white_clubba.inc.c b/src/battle/common/actor/white_clubba.inc.c index 66408da516..9fe026531e 100644 --- a/src/battle/common/actor/white_clubba.inc.c +++ b/src/battle/common/actor/white_clubba.inc.c @@ -8,55 +8,59 @@ extern EvtScript N(idle); extern EvtScript N(takeTurn); extern EvtScript N(handleEvent); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleClubba_Frost_Anim01, - STATUS_STONE, ANIM_BattleClubba_Frost_Anim00, - STATUS_SLEEP, ANIM_BattleClubba_Frost_Anim03, - STATUS_POISON, ANIM_BattleClubba_Frost_Anim01, - STATUS_STOP, ANIM_BattleClubba_Frost_Anim00, - STATUS_STATIC, ANIM_BattleClubba_Frost_Anim01, - STATUS_PARALYZE, ANIM_BattleClubba_Frost_Anim00, - STATUS_DIZZY, ANIM_BattleClubba_Frost_Anim05, - STATUS_FEAR, ANIM_BattleClubba_Frost_Anim05, + STATUS_KEY_NORMAL, ANIM_BattleClubba_Frost_Anim01, + STATUS_KEY_STONE, ANIM_BattleClubba_Frost_Anim00, + STATUS_KEY_SLEEP, ANIM_BattleClubba_Frost_Anim03, + STATUS_KEY_POISON, ANIM_BattleClubba_Frost_Anim01, + STATUS_KEY_STOP, ANIM_BattleClubba_Frost_Anim00, + STATUS_KEY_STATIC, ANIM_BattleClubba_Frost_Anim01, + STATUS_KEY_PARALYZE, ANIM_BattleClubba_Frost_Anim00, + STATUS_KEY_DIZZY, ANIM_BattleClubba_Frost_Anim05, + STATUS_KEY_FEAR, ANIM_BattleClubba_Frost_Anim05, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_FIRE, -2, - ELEMENT_ICE, 99, + ELEMENT_NORMAL, 0, + ELEMENT_FIRE, -2, + ELEMENT_ICE, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 80, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 100, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 75, - STATUS_STOP, 80, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 1, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 1, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 80, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 75, + STATUS_KEY_STOP, 80, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 1, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 1, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -12, 32 }, .opacity = 255, @@ -73,8 +77,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_WHITE_CLUBBA, .level = 23, .maxHP = 12, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 50, @@ -86,9 +90,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 2, .size = { 42, 42 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 35 }, + .statusTextOffset = { 10, 35 }, }; EvtScript N(init) = { @@ -219,7 +223,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_WAIT(15) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim02) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) @@ -229,7 +233,7 @@ EvtScript N(takeTurn) = { EVT_CALL(AddGoalPos, ACTOR_SELF, 10, 0, -6) EVT_END_IF EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim01) EVT_WAIT(10) EVT_END_IF EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -237,7 +241,7 @@ EvtScript N(takeTurn) = { EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim08) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim08) EVT_WAIT(20) EVT_IF_EQ(LVar0, HIT_RESULT_LUCKY) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_TRIGGER_LUCKY, 0, 0, 0) @@ -246,11 +250,11 @@ EvtScript N(takeTurn) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(YieldTurn) EVT_CALL(SetActorYaw, ACTOR_SELF, 180) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SWEAT) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleClubba_Frost_Anim02) EVT_EXEC_WAIT(EVS_Enemy_ReturnHome) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 1, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_MAIN, 0) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) @@ -273,10 +277,10 @@ EvtScript N(takeTurn) = { EVT_GOTO(50) EVT_END_IF EVT_LABEL(40) // heavy club attack - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim09) EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim0A) EVT_WAIT(2) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -286,10 +290,10 @@ EvtScript N(takeTurn) = { EVT_END_THREAD EVT_GOTO(100) EVT_LABEL(50) // swift club attack - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim09) EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim0A) EVT_WAIT(2) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -301,10 +305,10 @@ EvtScript N(takeTurn) = { EVT_IF_EQ(LVar0, 0) EVT_GOTO(100) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim09) EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim0A) EVT_WAIT(2) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -316,10 +320,10 @@ EvtScript N(takeTurn) = { EVT_IF_EQ(LVar0, 0) EVT_GOTO(100) EVT_END_IF - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim09) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim09) EVT_WAIT(15) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20C5) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleClubba_Frost_Anim0A) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleClubba_Frost_Anim0A) EVT_WAIT(2) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) diff --git a/src/battle/common/actor/white_magikoopa.inc.c b/src/battle/common/actor/white_magikoopa.inc.c index 47200e60db..a8cb331ecc 100644 --- a/src/battle/common/actor/white_magikoopa.inc.c +++ b/src/battle/common/actor/white_magikoopa.inc.c @@ -7,75 +7,81 @@ extern s32 N(IdleAnimations_80223D70)[]; extern s32 N(IdleAnimations_80223DBC)[]; extern s32 N(IdleAnimations_80223E08)[]; -extern EvtScript N(init_80225F58); -extern EvtScript N(init_80225FBC); +extern EvtScript N(EVS_Init_Ground); +extern EvtScript N(EVS_Init_Flying); extern EvtScript N(takeTurn_802274E4); extern EvtScript N(run_away); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(DefenseTable_80223B20)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_80223B2C)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; -s32 N(StatusTable_80223B38)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, +s32 N(StatusTable_Ground)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -s32 N(StatusTable_80223BE4)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, +s32 N(StatusTable_Flying)[] = { + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(PartsTable_80223C90)[] = { +ActorPartBlueprint N(GroundParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -87,10 +93,10 @@ ActorPartBlueprint N(PartsTable_80223C90)[] = { }, }; -ActorPartBlueprint N(PartsTable_80223CB4)[] = { +ActorPartBlueprint N(FlyingParts)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -102,7 +108,7 @@ ActorPartBlueprint N(PartsTable_80223CB4)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, @@ -114,7 +120,7 @@ ActorPartBlueprint N(PartsTable_80223CB4)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -131,10 +137,10 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_WHITE_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT( N(PartsTable_80223C90)), - .partsData = N(PartsTable_80223C90), - .initScript = &N(init_80225F58), - .statusTable = N(StatusTable_80223B38), + .partCount = ARRAY_COUNT( N(GroundParts)), + .partsData = N(GroundParts), + .initScript = &N(EVS_Init_Ground), + .statusTable = N(StatusTable_Ground), .escapeChance = 40, .airLiftChance = 80, .hurricaneChance = 70, @@ -144,9 +150,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 2, .size = { 36, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 32 }, + .statusTextOffset = { 10, 32 }, }; ActorBlueprint N(flying) = { @@ -154,10 +160,10 @@ ActorBlueprint N(flying) = { .type = ACTOR_TYPE_FLYING_WHITE_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT( N(PartsTable_80223CB4)), - .partsData = N(PartsTable_80223CB4), - .initScript = &N(init_80225FBC), - .statusTable = N(StatusTable_80223BE4), + .partCount = ARRAY_COUNT( N(FlyingParts)), + .partsData = N(FlyingParts), + .initScript = &N(EVS_Init_Flying), + .statusTable = N(StatusTable_Flying), .escapeChance = 40, .airLiftChance = 95, .hurricaneChance = 75, @@ -167,39 +173,39 @@ ActorBlueprint N(flying) = { .powerBounceChance = 80, .coinReward = 2, .size = { 48, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -25, 20 }, - .statusMessageOffset = { 1, 34 }, + .statusTextOffset = { 1, 34 }, }; s32 N(IdleAnimations_80223D70)[] = { - STATUS_NORMAL, ANIM_Magikoopa_White_Anim01, - STATUS_STONE, ANIM_Magikoopa_White_Anim00, - STATUS_SLEEP, ANIM_Magikoopa_White_Anim08, - STATUS_POISON, ANIM_Magikoopa_White_Anim01, - STATUS_STOP, ANIM_Magikoopa_White_Anim00, - STATUS_STATIC, ANIM_Magikoopa_White_Anim01, - STATUS_PARALYZE, ANIM_Magikoopa_White_Anim00, - STATUS_DIZZY, ANIM_Magikoopa_White_Anim07, - STATUS_FEAR, ANIM_Magikoopa_White_Anim07, + STATUS_KEY_NORMAL, ANIM_Magikoopa_White_Anim01, + STATUS_KEY_STONE, ANIM_Magikoopa_White_Anim00, + STATUS_KEY_SLEEP, ANIM_Magikoopa_White_Anim08, + STATUS_KEY_POISON, ANIM_Magikoopa_White_Anim01, + STATUS_KEY_STOP, ANIM_Magikoopa_White_Anim00, + STATUS_KEY_STATIC, ANIM_Magikoopa_White_Anim01, + STATUS_KEY_PARALYZE, ANIM_Magikoopa_White_Anim00, + STATUS_KEY_DIZZY, ANIM_Magikoopa_White_Anim07, + STATUS_KEY_FEAR, ANIM_Magikoopa_White_Anim07, STATUS_END, }; s32 N(IdleAnimations_80223DBC)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_White_Anim01, - STATUS_STONE, ANIM_FlyingMagikoopa_White_Anim00, - STATUS_SLEEP, ANIM_FlyingMagikoopa_White_Anim08, - STATUS_POISON, ANIM_FlyingMagikoopa_White_Anim01, - STATUS_STOP, ANIM_FlyingMagikoopa_White_Anim00, - STATUS_STATIC, ANIM_FlyingMagikoopa_White_Anim01, - STATUS_PARALYZE, ANIM_FlyingMagikoopa_White_Anim00, - STATUS_DIZZY, ANIM_FlyingMagikoopa_White_Anim07, - STATUS_FEAR, ANIM_FlyingMagikoopa_White_Anim07, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_White_Anim01, + STATUS_KEY_STONE, ANIM_FlyingMagikoopa_White_Anim00, + STATUS_KEY_SLEEP, ANIM_FlyingMagikoopa_White_Anim08, + STATUS_KEY_POISON, ANIM_FlyingMagikoopa_White_Anim01, + STATUS_KEY_STOP, ANIM_FlyingMagikoopa_White_Anim00, + STATUS_KEY_STATIC, ANIM_FlyingMagikoopa_White_Anim01, + STATUS_KEY_PARALYZE, ANIM_FlyingMagikoopa_White_Anim00, + STATUS_KEY_DIZZY, ANIM_FlyingMagikoopa_White_Anim07, + STATUS_KEY_FEAR, ANIM_FlyingMagikoopa_White_Anim07, STATUS_END, }; s32 N(IdleAnimations_80223E08)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_White_Anim0A, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_White_Anim0A, STATUS_END, }; @@ -207,7 +213,7 @@ s32 N(IdleAnimations_80223E08)[] = { #include "common/GetSelectedMoveID.inc.c" -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" #include "common/StartRumbleWithParams.inc.c" @@ -280,13 +286,13 @@ EvtScript N(handleEvent_80223E24) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_White_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim02) EVT_EXEC_WAIT(N(run_away)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -295,11 +301,11 @@ EvtScript N(handleEvent_80223E24) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, 0, 2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, 0, 2, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, -4, 5, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, -4, 5, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 1) @@ -341,30 +347,30 @@ EvtScript N(canBeKnockedOff) = { EvtScript N(knockOff) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim04) EVT_GOTO(0) EVT_END_IF EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_POW) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim04) EVT_GOTO(0) EVT_END_IF EVT_RETURN EVT_LABEL(0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 1) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -377,7 +383,7 @@ EvtScript N(knockOff) = { EVT_END_THREAD EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -388,18 +394,18 @@ EvtScript N(knockOff) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim01) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim01) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80223E24))) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_WHITE_MAGIKOOPA) - EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_80223B38))) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 32) + EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable_Ground))) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 32) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TYPE_CHANGED, TRUE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) @@ -482,24 +488,24 @@ EvtScript N(handleEvent_80224A44) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim01) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim01) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_White_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim02) EVT_EXEC_WAIT(N(run_away)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -508,11 +514,11 @@ EvtScript N(handleEvent_80224A44) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -3, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -3, 0, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -15, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -15, 0, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 2) @@ -550,7 +556,7 @@ EvtScript N(wMagikoopa_ShapeSpell) = { EVT_ADD(LVar1, 36) EVT_END_IF EVT_PLAY_EFFECT(EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim02) EVT_WAIT(30) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -558,7 +564,7 @@ EvtScript N(wMagikoopa_ShapeSpell) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim03) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar9) @@ -580,16 +586,16 @@ EvtScript N(wMagikoopa_ShapeSpell) = { EVT_END_IF EVT_WAIT(14) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim03) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -629,11 +635,11 @@ EvtScript N(wMagikoopa_WandStrike) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DB) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim02) EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -652,11 +658,11 @@ EvtScript N(wMagikoopa_WandStrike) = { EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim03) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim03) EVT_WAIT(11) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DC) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -672,20 +678,20 @@ EvtScript N(wMagikoopa_WandStrike) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim01) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -702,20 +708,20 @@ EvtScript N(wMagikoopa_WandStrike) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim01) EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, EASING_COS_IN_OUT) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -727,7 +733,7 @@ EvtScript N(wMagikoopa_WandStrike) = { EvtScript N(run_away) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, EVENT_SCARE_AWAY) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) @@ -752,13 +758,13 @@ EvtScript N(run_away) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_EXEC_WAIT(EVS_ForceNextTarget) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END }; -EvtScript N(init_80225F58) = { +EvtScript N(EVS_Init_Ground) = { EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80223E14))) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_802274E4))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80223E24))) @@ -767,7 +773,7 @@ EvtScript N(init_80225F58) = { EVT_END }; -EvtScript N(init_80225FBC) = { +EvtScript N(EVS_Init_Flying) = { EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_80223E14))) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_802274E4))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80224A44))) @@ -942,9 +948,9 @@ EvtScript N(healOne) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -981,9 +987,9 @@ EvtScript N(healOne) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -994,9 +1000,9 @@ EvtScript N(healOne) = { EVT_CALL(PlaySoundAtActor, LVar8, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, LVar8, 5, FALSE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) @@ -1028,9 +1034,9 @@ EvtScript N(healAll) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST1) @@ -1067,9 +1073,9 @@ EvtScript N(healAll) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_White_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_White_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_White_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_White_Anim01) EVT_END_IF EVT_WAIT(5) EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) @@ -1093,9 +1099,9 @@ EvtScript N(healAll) = { EVT_CALL(PlaySoundAtActor, LVar0, SOUND_25C) EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(HealActor, LVar0, 3, TRUE) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) diff --git a/src/battle/common/actor/yellow_magikoopa.inc.c b/src/battle/common/actor/yellow_magikoopa.inc.c index 5b929e80df..9c57732f9c 100644 --- a/src/battle/common/actor/yellow_magikoopa.inc.c +++ b/src/battle/common/actor/yellow_magikoopa.inc.c @@ -14,70 +14,76 @@ extern EvtScript N(takeTurn); extern EvtScript N(init_flying); extern EvtScript N(flee); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, + PRT_3 = 3, +}; + s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(DefenseTable_flying)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 75, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 75, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; s32 N(StatusTable_flying)[] = { - STATUS_NORMAL, 0, - STATUS_DEFAULT, 0, - STATUS_SLEEP, 50, - STATUS_POISON, 50, - STATUS_FROZEN, 0, - STATUS_DIZZY, 100, - STATUS_FEAR, 0, - STATUS_STATIC, 50, - STATUS_PARALYZE, 75, - STATUS_SHRINK, 80, - STATUS_STOP, 90, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, -1, + STATUS_KEY_NORMAL, 0, + STATUS_KEY_DEFAULT, 0, + STATUS_KEY_SLEEP, 50, + STATUS_KEY_POISON, 50, + STATUS_KEY_FROZEN, 0, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 0, + STATUS_KEY_STATIC, 50, + STATUS_KEY_PARALYZE, 75, + STATUS_KEY_SHRINK, 80, + STATUS_KEY_STOP, 90, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, -1, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -89,10 +95,10 @@ ActorPartBlueprint N(parts)[] = { }, }; -ActorPartBlueprint N(parts_flying)[] = { +ActorPartBlueprint N(ActorParts_flying)[] = { { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, .opacity = 255, @@ -104,7 +110,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, .opacity = 255, @@ -116,7 +122,7 @@ ActorPartBlueprint N(parts_flying)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, - .index = 3, + .index = PRT_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -133,8 +139,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_YELLOW_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 40, @@ -146,9 +152,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 2, .size = { 36, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 32 }, + .statusTextOffset = { 10, 32 }, }; ActorBlueprint N(flying) = { @@ -156,8 +162,8 @@ ActorBlueprint N(flying) = { .type = ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA, .level = 21, .maxHP = 11, - .partCount = ARRAY_COUNT(N(parts_flying)), - .partsData = N(parts_flying), + .partCount = ARRAY_COUNT(N(ActorParts_flying)), + .partsData = N(ActorParts_flying), .initScript = &N(init_flying), .statusTable = N(StatusTable_flying), .escapeChance = 40, @@ -169,39 +175,39 @@ ActorBlueprint N(flying) = { .powerBounceChance = 80, .coinReward = 2, .size = { 48, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -25, 20 }, - .statusMessageOffset = { 1, 34 }, + .statusTextOffset = { 1, 34 }, }; s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Magikoopa_Yellow_Anim01, - STATUS_STONE, ANIM_Magikoopa_Yellow_Anim00, - STATUS_SLEEP, ANIM_Magikoopa_Yellow_Anim08, - STATUS_POISON, ANIM_Magikoopa_Yellow_Anim01, - STATUS_STOP, ANIM_Magikoopa_Yellow_Anim00, - STATUS_STATIC, ANIM_Magikoopa_Yellow_Anim01, - STATUS_PARALYZE, ANIM_Magikoopa_Yellow_Anim00, - STATUS_DIZZY, ANIM_Magikoopa_Yellow_Anim07, - STATUS_FEAR, ANIM_Magikoopa_Yellow_Anim07, + STATUS_KEY_NORMAL, ANIM_Magikoopa_Yellow_Anim01, + STATUS_KEY_STONE, ANIM_Magikoopa_Yellow_Anim00, + STATUS_KEY_SLEEP, ANIM_Magikoopa_Yellow_Anim08, + STATUS_KEY_POISON, ANIM_Magikoopa_Yellow_Anim01, + STATUS_KEY_STOP, ANIM_Magikoopa_Yellow_Anim00, + STATUS_KEY_STATIC, ANIM_Magikoopa_Yellow_Anim01, + STATUS_KEY_PARALYZE, ANIM_Magikoopa_Yellow_Anim00, + STATUS_KEY_DIZZY, ANIM_Magikoopa_Yellow_Anim07, + STATUS_KEY_FEAR, ANIM_Magikoopa_Yellow_Anim07, STATUS_END, }; s32 N(IdleAnimations_flying)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Yellow_Anim01, - STATUS_STONE, ANIM_FlyingMagikoopa_Yellow_Anim00, - STATUS_SLEEP, ANIM_FlyingMagikoopa_Yellow_Anim08, - STATUS_POISON, ANIM_FlyingMagikoopa_Yellow_Anim01, - STATUS_STOP, ANIM_FlyingMagikoopa_Yellow_Anim00, - STATUS_STATIC, ANIM_FlyingMagikoopa_Yellow_Anim01, - STATUS_PARALYZE, ANIM_FlyingMagikoopa_Yellow_Anim00, - STATUS_DIZZY, ANIM_FlyingMagikoopa_Yellow_Anim07, - STATUS_FEAR, ANIM_FlyingMagikoopa_Yellow_Anim07, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Yellow_Anim01, + STATUS_KEY_STONE, ANIM_FlyingMagikoopa_Yellow_Anim00, + STATUS_KEY_SLEEP, ANIM_FlyingMagikoopa_Yellow_Anim08, + STATUS_KEY_POISON, ANIM_FlyingMagikoopa_Yellow_Anim01, + STATUS_KEY_STOP, ANIM_FlyingMagikoopa_Yellow_Anim00, + STATUS_KEY_STATIC, ANIM_FlyingMagikoopa_Yellow_Anim01, + STATUS_KEY_PARALYZE, ANIM_FlyingMagikoopa_Yellow_Anim00, + STATUS_KEY_DIZZY, ANIM_FlyingMagikoopa_Yellow_Anim07, + STATUS_KEY_FEAR, ANIM_FlyingMagikoopa_Yellow_Anim07, STATUS_END, }; s32 N(80225248)[] = { - STATUS_NORMAL, ANIM_FlyingMagikoopa_Yellow_Anim0A, + STATUS_KEY_NORMAL, ANIM_FlyingMagikoopa_Yellow_Anim0A, STATUS_END, }; @@ -212,7 +218,7 @@ EvtScript N(idle) = { #include "common/ShrinkActor.inc.c" #include "common/GetSelectedMoveID.inc.c" -#include "common/UnkBattleFunc1.inc.c" +#include "common/battle/SetAbsoluteStatusOffsets.inc.c" #include "common/StartRumbleWithParams.inc.c" #include "world/common/todo/UnkFunc52.inc.c" @@ -274,13 +280,13 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim02) EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -289,11 +295,11 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, 0, 2, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, 0, 2, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 1, -4, 5, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_MAIN, -4, 5, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 1) @@ -335,30 +341,30 @@ EvtScript N(canBeKnockedOff) = { EvtScript N(knockOff) = { EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim04) EVT_GOTO(0) EVT_END_IF EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_POW) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim04) EVT_GOTO(0) EVT_END_IF EVT_RETURN EVT_LABEL(0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartScale, ACTOR_SELF, 3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) + EVT_CALL(SetPartScale, ACTOR_SELF, PRT_3, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar2, 1) - EVT_CALL(SetPartPos, ACTOR_SELF, 3, LVar0, LVar1, LVar2) + EVT_CALL(SetPartPos, ACTOR_SELF, PRT_3, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_301) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SET(LVar1, 0) @@ -371,7 +377,7 @@ EvtScript N(knockOff) = { EVT_END_THREAD EVT_CALL(GetLastEvent, ACTOR_SELF, LVar3) EVT_IF_EQ(LVar3, EVENT_15) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim04) EVT_CALL(GetActorPos, ACTOR_SELF, LVar3, LVar4, LVar5) EVT_ADD(LVar4, 10) EVT_ADD(LVar5, 5) @@ -382,18 +388,18 @@ EvtScript N(knockOff) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_LOOP(20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) EVT_WAIT(1) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim01) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_FLAG_INVISIBLE, TRUE) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim01) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLYING, FALSE) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent))) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_YELLOW_MAGIKOOPA) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(N(UnkBattleFunc1), -10, 20, 10, 32) + EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 32) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TYPE_CHANGED, TRUE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(GetIndexFromPos, ACTOR_SELF, LVar0) @@ -476,24 +482,24 @@ EvtScript N(handleEvent_flying) = { EVT_CALL(SetActorPos, ACTOR_SELF, 20, 0, 0) EVT_CALL(HPBarToCurrent, ACTOR_SELF) EVT_CASE_EQ(EVENT_END_FIRST_STRIKE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Yellow_Anim01) EVT_CALL(SetGoalToHome, ACTOR_SELF) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 1, EASING_LINEAR) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Yellow_Anim01) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_CASE_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim01) EVT_EXEC_WAIT(EVS_Enemy_Recover) EVT_CASE_EQ(EVENT_SCARE_AWAY) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim04) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Yellow_Anim04) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.5)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_WAIT(15) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Yellow_Anim02) EVT_EXEC_WAIT(N(flee)) EVT_RETURN EVT_CASE_EQ(EVENT_BEGIN_AIR_LIFT) @@ -502,11 +508,11 @@ EvtScript N(handleEvent_flying) = { EVT_EXEC_WAIT(EVS_Enemy_AirLift) EVT_CASE_EQ(EVENT_BLOW_AWAY) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) - EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -3, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -3, 0, 0) EVT_ELSE - EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, -15, 0, 0) + EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_2, -15, 0, 0) EVT_END_IF EVT_END_IF EVT_SET_CONST(LVar0, 2) @@ -544,7 +550,7 @@ EvtScript N(attackMagicBlast) = { EVT_ADD(LVar1, 36) EVT_END_IF EVT_PLAY_EFFECT(EFFECT_GATHER_MAGIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(0.5), 30, 0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Yellow_Anim02) EVT_WAIT(30) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVar0) @@ -552,7 +558,7 @@ EvtScript N(attackMagicBlast) = { EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) EVT_SET(LVarA, LVar0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Yellow_Anim03) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar9) @@ -574,16 +580,16 @@ EvtScript N(attackMagicBlast) = { EVT_END_IF EVT_WAIT(14) EVT_CALL(YieldTurn) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 2, 0, ACTOR_DECORATION_SWEAT) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_2, 0, ACTOR_DECORATION_SWEAT) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 2, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_2, 0) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST2) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim03) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Yellow_Anim03) EVT_WAIT(5) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarA) @@ -623,11 +629,11 @@ EvtScript N(attackWandStrike) = { EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_MINUS_1, BTL_CAM_MODEX_1, FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DB) EVT_THREAD - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim02) EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -646,11 +652,11 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim03) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim03) EVT_WAIT(11) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2DC) EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, 0, 0, 1, BS_FLAGS1_10) @@ -666,20 +672,20 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim01) EVT_CALL(FlyToGoal, ACTOR_SELF, 30, 0, EASING_COS_IN_OUT) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) EVT_CALL(UseIdleAnimation, ACTOR_SELF, TRUE) EVT_RETURN @@ -696,20 +702,20 @@ EvtScript N(attackWandStrike) = { EVT_SET(LVar0, 200) EVT_LOOP(20) EVT_SUB(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(YieldTurn) EVT_CALL(SetGoalToHome, ACTOR_SELF) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim01) EVT_CALL(FlyToGoal, ACTOR_SELF, 20, 0, EASING_COS_IN_OUT) EVT_SET(LVar0, 55) EVT_LOOP(20) EVT_ADD(LVar0, 10) - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, LVar0) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 255) + EVT_CALL(SetPartAlpha, ACTOR_SELF, PRT_MAIN, 255) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -721,7 +727,7 @@ EvtScript N(attackWandStrike) = { EvtScript N(flee) = { EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, 0) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(GetLastEvent, ACTOR_SELF, LVar0) EVT_IF_NE(LVar0, EVENT_SCARE_AWAY) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) @@ -746,7 +752,7 @@ EvtScript N(flee) = { EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_EXEC_WAIT(EVS_ForceNextTarget) - EVT_CALL(func_8027D32C, ACTOR_SELF) + EVT_CALL(HideHealthBar, ACTOR_SELF) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END @@ -829,9 +835,9 @@ EvtScript N(takeTurn) = { EVT_WAIT(15) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim02) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim02) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Yellow_Anim02) EVT_END_IF EVT_WAIT(5) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_2F0) @@ -868,9 +874,9 @@ EvtScript N(takeTurn) = { EVT_WAIT(30) EVT_CALL(GetActorFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, ACTOR_FLAG_FLYING) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Magikoopa_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Magikoopa_Yellow_Anim01) EVT_ELSE - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_FlyingMagikoopa_Yellow_Anim01) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_FlyingMagikoopa_Yellow_Anim01) EVT_END_IF EVT_WAIT(5) EVT_THREAD @@ -883,9 +889,9 @@ EvtScript N(takeTurn) = { EVT_END_LOOP EVT_END_THREAD EVT_THREAD - EVT_CALL(func_8026BF48, 1) + EVT_CALL(FreezeBattleState, TRUE) EVT_CALL(ElectrifyActor, LVar8, 3) - EVT_CALL(func_8026BF48, 0) + EVT_CALL(FreezeBattleState, FALSE) EVT_END_THREAD EVT_CALL(WaitForBuffDone) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/common/move/HammerSupport.inc.c b/src/battle/common/move/HammerSupport.inc.c index 78b61802ba..dfdb9cff19 100644 --- a/src/battle/common/move/HammerSupport.inc.c +++ b/src/battle/common/move/HammerSupport.inc.c @@ -163,7 +163,7 @@ EvtScript N(EVS_HammerSupport_F) = { }; EvtScript N(EVS_Hammer_ReturnHome_A) = { - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) EVT_CALL(MoveBattleCamOver, 5) EVT_CALL(func_802693F0) @@ -181,7 +181,7 @@ EvtScript N(EVS_Hammer_ReturnHome_A) = { }; EvtScript N(EVS_Hammer_ReturnHome_B) = { - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(func_802693F0) EVT_WAIT(20) EVT_CALL(EnablePlayerBlur, -1) @@ -197,7 +197,7 @@ EvtScript N(EVS_Hammer_ReturnHome_B) = { }; EvtScript N(EVS_Hammer_ReturnHome_C) = { - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_29) EVT_CALL(func_802693F0) EVT_WAIT(20) diff --git a/src/battle/common/move/ItemRefund.inc.c b/src/battle/common/move/ItemRefund.inc.c index 2600bf02f0..3d67700b27 100644 --- a/src/battle/common/move/ItemRefund.inc.c +++ b/src/battle/common/move/ItemRefund.inc.c @@ -11,7 +11,7 @@ API_CALLABLE(N(GiveRefund)) { f32 posX; f32 posY = player->currentPos.y + player->size.y; f32 posZ; - f32 facingAngleSign = 0.0f; + f32 angle = 0.0f; s32 delayTime = 0; s32 tempIcon; @@ -28,10 +28,10 @@ API_CALLABLE(N(GiveRefund)) { posX = player->currentPos.x; posZ = player->currentPos.z; - make_item_entity(ITEM_COIN, posX, posY, posZ, ITEM_SPAWN_MODE_TOSS_FADE1, 1 + 3 * i, facingAngleSign, 0); + make_item_entity(ITEM_COIN, posX, posY, posZ, ITEM_SPAWN_MODE_TOSS_FADE1, 1 + 3 * i, angle, 0); add_coins(1); - facingAngleSign += 30.0f; + angle += 30.0f; } delayTime = (i * 3) + 30; diff --git a/src/battle/common/move/JumpSupport.inc.c b/src/battle/common/move/JumpSupport.inc.c index f7aa10e1f5..e6a15fba5e 100644 --- a/src/battle/common/move/JumpSupport.inc.c +++ b/src/battle/common/move/JumpSupport.inc.c @@ -101,7 +101,7 @@ EvtScript N(EVS_JumpSupport_D) = { }; EvtScript N(EVS_JumpSupport_E) = { - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) EVT_CALL(func_802693F0) @@ -130,7 +130,7 @@ EvtScript N(EVS_JumpSupport_E) = { }; EvtScript N(EVS_JumpSupport_F) = { - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) EVT_CALL(func_802693F0) @@ -159,7 +159,7 @@ EvtScript N(EVS_JumpSupport_F) = { }; EvtScript N(EVS_JumpSupport_G) = { - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_29) EVT_CALL(func_802693F0) @@ -188,7 +188,7 @@ EvtScript N(EVS_JumpSupport_G) = { }; EvtScript N(EVS_JumpSupport_H) = { - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) EVT_CALL(func_802693F0) @@ -217,7 +217,7 @@ EvtScript N(EVS_JumpSupport_H) = { }; EvtScript N(EVS_JumpSupport_I) = { - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_100, FALSE) EVT_CALL(EnablePlayerBlur, -1) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) @@ -269,7 +269,7 @@ EvtScript N(EVS_JumpSupport_Miss) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) EVT_CALL(func_802693F0) EVT_CALL(EnablePlayerBlur, -1) - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(SetGoalToHome, ACTOR_PLAYER) EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0)) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Run) diff --git a/src/battle/common/stage/jan_BeachEffects.inc.c b/src/battle/common/stage/BeachEffects.inc.c similarity index 100% rename from src/battle/common/stage/jan_BeachEffects.inc.c rename to src/battle/common/stage/BeachEffects.inc.c diff --git a/src/battle/common/stage/MovingClouds.inc.c b/src/battle/common/stage/MovingClouds.inc.c new file mode 100644 index 0000000000..1ce60c8a1b --- /dev/null +++ b/src/battle/common/stage/MovingClouds.inc.c @@ -0,0 +1,114 @@ +#include "common.h" + +// Used for clouds moving back and forth in stage backgrounds +// They turn around upon reaching the edge of the stage +// The position at any give time is represented by an angle, with one full +// cycle corresponding to a cycle of the cloud's motion around the stage. + +// determines angle of 'patrolling' cloud based on position +API_CALLABLE(N(InterpCloudTransform)) { + Bytecode* args = script->ptrReadPos; + f32 interpAngleDeg = evt_get_variable(script, *args++) / 10.0; + s32 outVarX = *args++; + s32 outVarY = *args++; + s32 outVarZ = *args++; + s32 outVarAngle = *args++; + f32 interpAngleRad = DEG_TO_RAD(interpAngleDeg); + f32 posX = sin_rad(interpAngleRad) * 150.0f + 0.0f; + f32 posY = sin_rad(interpAngleRad * 8.0f) * 10.0f + 0.0f; + f32 posZ = cos_rad(interpAngleRad) * 150.0f / 20.0f + -50.0f; + s32 outAngle; + + evt_set_float_variable(script, outVarX, posX); + evt_set_float_variable(script, outVarY, posY); + evt_set_float_variable(script, outVarZ, posZ); + + outAngle = 0; + if (interpAngleDeg > 90.0f && interpAngleDeg < 270.0f) { + outAngle = 180; + } + if ((s32)fabsf(90.0f - interpAngleDeg) < 45) { + outAngle = 2.0f * (interpAngleDeg - 45.0f); + } + if ((s32)fabsf(270.0f - interpAngleDeg) < 45) { + outAngle = 2.0f * (interpAngleDeg - 225.0f) + 180.0f; + } + evt_set_variable(script, outVarAngle, outAngle); + + return ApiStatus_DONE2; +} + +// (in) LVar0 : modelID +// (in) LVar2 : motion phase offset +EvtScript N(EVS_AnimateCloud) = { + EVT_SET(LVarA, LVar0) + EVT_SET(LVar7, LVar2) + EVT_MUL(LVar7, 10) + EVT_LABEL(0) + EVT_ADD(LVar7, 4) + EVT_IF_GT(LVar7, 3599) + EVT_SUB(LVar7, 3600) + EVT_END_IF + EVT_CALL(N(InterpCloudTransform), LVar7, LVar0, LVar1, LVar2, LVar3) + EVT_CALL(TranslateModel, LVarA, LVar0, LVar1, LVar2) + EVT_CALL(RotateModel, LVarA, LVar3, 0, 1, 0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +// (in) LVar0 : modelID +// (in) LVar2 : motion phase offset +// (in) LVar3 : offsetY +// (in) LVar4 : offsetZ +EvtScript N(EVS_AnimateCloud_WithOffset2D) = { + EVT_SET(LVarA, LVar0) + EVT_SET(LVarB, LVar3) + EVT_SET(LVarC, LVar4) + EVT_SET(LVar7, LVar2) + EVT_MUL(LVar7, 10) + EVT_LABEL(0) + EVT_ADD(LVar7, 4) + EVT_IF_GT(LVar7, 3599) + EVT_SUB(LVar7, 3600) + EVT_END_IF + EVT_CALL(N(InterpCloudTransform), LVar7, LVar0, LVar1, LVar2, LVar3) + EVT_ADDF(LVar1, LVarB) + EVT_ADDF(LVar2, LVarC) + EVT_CALL(TranslateModel, LVarA, LVar0, LVar1, LVar2) + EVT_CALL(RotateModel, LVarA, LVar3, 0, 1, 0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +// (in) LVar0 : modelID +// (in) LVar2 : motion phase offset +// (in) LVar3 : offsetX +// (in) LVar4 : offsetY +// (in) LVar4 : offsetZ +EvtScript N(EVS_AnimateCloud_WithOffset3D) = { + EVT_SET(LVarA, LVar0) + EVT_SET(LVarB, LVar3) + EVT_SET(LVarC, LVar4) + EVT_SET(LVarD, LVar5) + EVT_SET(LVar7, LVar2) + EVT_MUL(LVar7, 10) + EVT_LABEL(0) + EVT_ADD(LVar7, 4) + EVT_IF_GT(LVar7, 3599) + EVT_SUB(LVar7, 3600) + EVT_END_IF + EVT_CALL(N(InterpCloudTransform), LVar7, LVar0, LVar1, LVar2, LVar3) + EVT_ADDF(LVar0, LVarB) + EVT_ADDF(LVar1, LVarC) + EVT_ADDF(LVar2, LVarD) + EVT_CALL(TranslateModel, LVarA, LVar0, LVar1, LVar2) + EVT_CALL(RotateModel, LVarA, LVar3, 0, 1, 0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/stage/TexturePanner.inc.c b/src/battle/common/stage/TexturePanner.inc.c new file mode 100644 index 0000000000..f7fe826934 --- /dev/null +++ b/src/battle/common/stage/TexturePanner.inc.c @@ -0,0 +1,66 @@ +#include "common.h" + +// pan the main tile along U and V +// (in) LVar1 : tex panner ID +// (in) LVar2 : main du +// (in) LVar2 : main dv +EvtScript N(EVS_TexturePanMain) = { + EVT_SET(LVarA, LVar1) + EVT_SET(LVarB, LVar2) + EVT_SET(LVarC, LVar3) + EVT_CALL(SetTexPanner, LVar0, LVar1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_MAIN, LVar0, LVar1) + EVT_ADD(LVar0, LVarB) + EVT_ADD(LVar1, LVarC) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +// pan the main and aux tiles along U +// (in) LVar1 : tex panner ID +// (in) LVar2 : main du +// (in) LVar2 : aux du +EvtScript N(EVS_TexturePanBothU) = { + EVT_SET(LVarA, LVar1) + EVT_SET(LVarB, LVar2) + EVT_SET(LVarC, LVar3) + EVT_CALL(SetTexPanner, LVar0, LVar1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_MAIN, LVar0, 0) + EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_AUX, LVar1, 0) + EVT_ADD(LVar0, LVarB) + EVT_ADD(LVar1, LVarC) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +// pan the main and aux tiles along V +// (in) LVar1 : tex panner ID +// (in) LVar2 : main dv +// (in) LVar2 : aux dv +EvtScript N(EVS_TexturePanBothV) = { + EVT_SET(LVarA, LVar1) + EVT_SET(LVarB, LVar2) + EVT_SET(LVarC, LVar3) + EVT_CALL(SetTexPanner, LVar0, LVar1) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_MAIN, 0, LVar0) + EVT_CALL(SetTexPanOffset, LVarA, TEX_PANNER_AUX, 0, LVar1) + EVT_ADD(LVar0, LVarB) + EVT_ADD(LVar1, LVarC) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; diff --git a/src/battle/common/stage/jan_00.inc.c b/src/battle/common/stage/jan_00.inc.c index bae5a701be..9049a6de58 100644 --- a/src/battle/common/stage/jan_00.inc.c +++ b/src/battle/common/stage/jan_00.inc.c @@ -3,7 +3,7 @@ #include "mapfs/jan_bt00_shape.h" #include "effects.h" -#include "jan_BeachEffects.inc.c" +#include "BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) diff --git a/src/battle/common/stage/jan_01.inc.c b/src/battle/common/stage/jan_01.inc.c index 6087291acb..b48e3263a8 100644 --- a/src/battle/common/stage/jan_01.inc.c +++ b/src/battle/common/stage/jan_01.inc.c @@ -2,7 +2,7 @@ #include "battle/battle.h" #include "mapfs/jan_bt01_shape.h" -#include "jan_BeachEffects.inc.c" +#include "BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) diff --git a/src/battle/common/stage/jan_01b.inc.c b/src/battle/common/stage/jan_01b.inc.c index 63494594e5..08bcc31405 100644 --- a/src/battle/common/stage/jan_01b.inc.c +++ b/src/battle/common/stage/jan_01b.inc.c @@ -2,7 +2,7 @@ #include "battle/battle.h" #include "mapfs/jan_bt01_shape.h" -#include "jan_BeachEffects.inc.c" +#include "BeachEffects.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) diff --git a/src/battle/common/stage/kmr_03.inc.c b/src/battle/common/stage/kmr_03.inc.c index 56b6a7ab17..addd748c52 100644 --- a/src/battle/common/stage/kmr_03.inc.c +++ b/src/battle/common/stage/kmr_03.inc.c @@ -2,16 +2,16 @@ #include "battle/battle.h" #include "mapfs/kmr_bt03_shape.h" -#include "world/common/todo/clouds.inc.c" +#include "battle/common/stage/MovingClouds.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_SET(LVar0, 1) EVT_SET(LVar2, 0) - EVT_EXEC(N(clouds1)) + EVT_EXEC(N(EVS_AnimateCloud)) EVT_SET(LVar0, 4) EVT_SET(LVar2, 70) - EVT_EXEC(N(clouds1)) + EVT_EXEC(N(EVS_AnimateCloud)) EVT_RETURN EVT_END }; diff --git a/src/battle/common/stage/kmr_04.inc.c b/src/battle/common/stage/kmr_04.inc.c index 48f7e9f348..2dd72f79f9 100644 --- a/src/battle/common/stage/kmr_04.inc.c +++ b/src/battle/common/stage/kmr_04.inc.c @@ -2,16 +2,16 @@ #include "battle/battle.h" #include "mapfs/kmr_bt04_shape.h" -#include "world/common/todo/clouds.inc.c" +#include "battle/common/stage/MovingClouds.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) EVT_SET(LVar0, 1) EVT_SET(LVar2, 0) - EVT_EXEC(N(clouds1)) + EVT_EXEC(N(EVS_AnimateCloud)) EVT_SET(LVar0, 4) EVT_SET(LVar2, 70) - EVT_EXEC(N(clouds1)) + EVT_EXEC(N(EVS_AnimateCloud)) EVT_RETURN EVT_END }; diff --git a/src/battle/common/stage/kmr_05.inc.c b/src/battle/common/stage/kmr_05.inc.c index 64f83db48b..94689f68f3 100644 --- a/src/battle/common/stage/kmr_05.inc.c +++ b/src/battle/common/stage/kmr_05.inc.c @@ -2,7 +2,7 @@ #include "battle/battle.h" #include "mapfs/kmr_bt05_shape.h" -#include "world/common/todo/clouds.inc.c" +#include "battle/common/stage/MovingClouds.inc.c" EvtScript N(EVS_PreBattle) = { EVT_CALL(SetSpriteShading, SHADING_NONE) diff --git a/src/battle/common/stage/kmr_06.inc.c b/src/battle/common/stage/kmr_06.inc.c index ff28dd5ed9..853f3593ed 100644 --- a/src/battle/common/stage/kmr_06.inc.c +++ b/src/battle/common/stage/kmr_06.inc.c @@ -2,7 +2,7 @@ #include "battle/battle.h" #include "mapfs/kmr_bt06_shape.h" -#include "world/common/todo/clouds.inc.c" +#include "battle/common/stage/MovingClouds.inc.c" #include "common/UnkFogFunc.inc.c" EvtScript N(EVS_PreBattle) = { @@ -10,10 +10,10 @@ EvtScript N(EVS_PreBattle) = { EVT_CALL(N(UnkFogFunc)) EVT_SET(LVar0, 1) EVT_SET(LVar2, 0) - EVT_EXEC(N(clouds1)) + EVT_EXEC(N(EVS_AnimateCloud)) EVT_SET(LVar0, 4) EVT_SET(LVar2, 70) - EVT_EXEC(N(clouds1)) + EVT_EXEC(N(EVS_AnimateCloud)) EVT_RETURN EVT_END }; diff --git a/src/battle/move/hammer/mega_quake.c b/src/battle/move/hammer/mega_quake.c index 10b8b2adbe..8d53645628 100644 --- a/src/battle/move/hammer/mega_quake.c +++ b/src/battle/move/hammer/mega_quake.c @@ -182,29 +182,29 @@ EvtScript N(EVS_802A3238) = { EVT_SET(LVar9, 0) EVT_CALL(InitTargetIterator) EVT_LABEL(10) - EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) - EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_QUAKE_HAMMER, 29, 0, 0, 16) - EVT_IF_EQ(LVar0, HIT_RESULT_MISS) - EVT_GOTO(11) - EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_GT(FALSE) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarF, 112) - EVT_CASE_DEFAULT - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarE, 48) - EVT_END_SWITCH - EVT_LABEL(11) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) - EVT_ADD(LVar9, 1) - EVT_CALL(GetTargetListLength, LVar1) - EVT_IF_LT(LVar9, LVar1) - EVT_GOTO(10) - EVT_END_IF - EVT_THREAD - EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) - EVT_END_THREAD + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_QUAKE_HAMMER, 29, 0, 0, 16) + EVT_IF_EQ(LVar0, HIT_RESULT_MISS) + EVT_GOTO(11) + EVT_END_IF + EVT_CALL(DidActionSucceed, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_GT(FALSE) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) + EVT_CASE_DEFAULT + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarE, 48) + EVT_END_SWITCH + EVT_LABEL(11) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) + EVT_ADD(LVar9, 1) + EVT_CALL(GetTargetListLength, LVar1) + EVT_IF_LT(LVar9, LVar1) + EVT_GOTO(10) + EVT_END_IF + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) + EVT_END_THREAD EVT_WAIT(10) EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_B)) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/move/hammer/power_quake.c b/src/battle/move/hammer/power_quake.c index 8e9ae2e2c0..81689bec72 100644 --- a/src/battle/move/hammer/power_quake.c +++ b/src/battle/move/hammer/power_quake.c @@ -139,9 +139,9 @@ EvtScript N(EVS_802A3168) = { EVT_CALL(DidActionSucceed, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarF, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) EVT_CASE_DEFAULT - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarE, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarE, 48) EVT_END_SWITCH EVT_LABEL(11) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) diff --git a/src/battle/move/hammer/quake_hammer.c b/src/battle/move/hammer/quake_hammer.c index bbb49e1fe8..e2224c0603 100644 --- a/src/battle/move/hammer/quake_hammer.c +++ b/src/battle/move/hammer/quake_hammer.c @@ -124,9 +124,9 @@ EvtScript N(EVS_802A3168) = { EVT_CALL(DidActionSucceed, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarF, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) EVT_CASE_DEFAULT - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarE, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarE, 48) EVT_END_SWITCH EVT_LABEL(11) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) diff --git a/src/battle/move/hammer/shrink_smash.c b/src/battle/move/hammer/shrink_smash.c index ce6605508d..5b4014503c 100644 --- a/src/battle/move/hammer/shrink_smash.c +++ b/src/battle/move/hammer/shrink_smash.c @@ -101,7 +101,7 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_CASE_EQ(2) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10E) EVT_END_SWITCH - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 100), LVarF, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 100), LVarF, 112) EVT_CASE_DEFAULT EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) @@ -112,7 +112,7 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_CASE_EQ(2) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10E) EVT_END_SWITCH - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 75), LVarE, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 75), LVarE, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_1) diff --git a/src/battle/move/hammer/spin_smash.c b/src/battle/move/hammer/spin_smash.c index a6b3ee8321..724456aa86 100644 --- a/src/battle/move/hammer/spin_smash.c +++ b/src/battle/move/hammer/spin_smash.c @@ -148,10 +148,10 @@ EvtScript N(EVS_UseMove1_Impl) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(func_802A1000_737890) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarF, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) EVT_CASE_DEFAULT EVT_CALL(func_802A1074_737904) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarE, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarE, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -270,10 +270,10 @@ EvtScript N(EVS_UseMove2_Impl) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(func_802A1000_737890) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarF, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) EVT_CASE_DEFAULT EVT_CALL(func_802A1074_737904) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarE, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarE, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -390,10 +390,10 @@ EvtScript N(EVS_UseMove3_Impl) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(func_802A1000_737890) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarF, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) EVT_CASE_DEFAULT EVT_CALL(func_802A1074_737904) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 25, 0, LVarE, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_SPIN_SMASH | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarE, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) diff --git a/src/battle/move/item/electro_pop.c b/src/battle/move/item/electro_pop.c index d933af3212..d3ed5a6f7b 100644 --- a/src/battle/move/item/electro_pop.c +++ b/src/battle/move/item/electro_pop.c @@ -11,7 +11,7 @@ API_CALLABLE(N(func_802A123C_7307DC)) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; - inflict_status(player, STATUS_STATIC, script->varTable[0]); + inflict_status(player, STATUS_KEY_STATIC, script->varTable[0]); player->statusAfflicted = 0; return ApiStatus_DONE2; } diff --git a/src/battle/move/item/fire_flower.c b/src/battle/move/item/fire_flower.c index 96213dfda4..b1f306b024 100644 --- a/src/battle/move/item/fire_flower.c +++ b/src/battle/move/item/fire_flower.c @@ -88,7 +88,7 @@ EvtScript N(EVS_UseItem) = { EVT_END_IF EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetItemPower, ITEM_FIRE_FLOWER, LVar0, LVar1) - EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) diff --git a/src/battle/move/item/pow_block.c b/src/battle/move/item/pow_block.c index a5410f4546..ba65d8dd15 100644 --- a/src/battle/move/item/pow_block.c +++ b/src/battle/move/item/pow_block.c @@ -112,7 +112,7 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(GetItemPower, ITEM_POW_BLOCK, LVar3, LVar4) EVT_CALL(ApplyShrinkFromOwner, LVar3) EVT_CALL(SetDamageSource, DMG_SRC_POW_BLOCK) - EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_POW | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, LVar3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_POW | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, LVar3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) EVT_IF_NE(LVar0, -1) diff --git a/src/battle/move/item/repel_gel.c b/src/battle/move/item/repel_gel.c index a762c62f84..8fc95b7e02 100644 --- a/src/battle/move/item/repel_gel.c +++ b/src/battle/move/item/repel_gel.c @@ -11,7 +11,7 @@ API_CALLABLE(N(func_802A123C_72DDAC)) { Actor* player = battleStatus->playerActor; ActorPart* part = player->partsTable; - inflict_status(player, STATUS_TRANSPARENT, script->varTable[0]); + inflict_status(player, STATUS_KEY_TRANSPARENT, script->varTable[0]); player->statusAfflicted = 0; part->flags |= ACTOR_PART_FLAG_100; diff --git a/src/battle/move/item/shooting_star.c b/src/battle/move/item/shooting_star.c index 40a3400719..d49fff90f6 100644 --- a/src/battle/move/item/shooting_star.c +++ b/src/battle/move/item/shooting_star.c @@ -122,7 +122,7 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(func_802A1388_71DAF8), LVar0, LVar1, LVar2) EVT_CALL(GetItemPower, ITEM_SHOOTING_STAR, LVar0, LVar1) - EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_WAIT(10) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) diff --git a/src/battle/move/item/snowman_doll.c b/src/battle/move/item/snowman_doll.c index b233c8d684..358aec7630 100644 --- a/src/battle/move/item/snowman_doll.c +++ b/src/battle/move/item/snowman_doll.c @@ -94,7 +94,7 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(N(func_802A123C_71C06C), LVar0, LVar1, LVar2) EVT_CALL(GetItemPower, ITEM_SNOWMAN_DOLL, LVar0, LVar1) - EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_ICE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_ICE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(5) EVT_LABEL(1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) diff --git a/src/battle/move/item/stone_cap.c b/src/battle/move/item/stone_cap.c index 51290d88b0..f7059f2e9b 100644 --- a/src/battle/move/item/stone_cap.c +++ b/src/battle/move/item/stone_cap.c @@ -17,7 +17,7 @@ API_CALLABLE(N(func_802A123C_7217DC)) { switch (script->functionTemp[0]) { case 0: - inflict_status(player, STATUS_STONE, script->varTable[0]); + inflict_status(player, STATUS_KEY_STONE, script->varTable[0]); player->statusAfflicted = 0; script->functionTemp[1] = 3; script->functionTemp[0] = 1; diff --git a/src/battle/move/item/strange_cake.c b/src/battle/move/item/strange_cake.c index 08ead371e9..1b10ff70df 100644 --- a/src/battle/move/item/strange_cake.c +++ b/src/battle/move/item/strange_cake.c @@ -235,7 +235,7 @@ API_CALLABLE(N(func_802A1AD8_731DD8)) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; - inflict_status(player, STATUS_STATIC, 3); + inflict_status(player, STATUS_KEY_STATIC, 3); player->statusAfflicted = 0; return ApiStatus_DONE2; @@ -246,7 +246,7 @@ API_CALLABLE(N(func_802A1B14_731E14)) { Actor* player = battleStatus->playerActor; ActorPart* part = player->partsTable; - inflict_status(player, STATUS_TRANSPARENT, 3); + inflict_status(player, STATUS_KEY_TRANSPARENT, 3); player->statusAfflicted = 0; part->flags |= ACTOR_PART_FLAG_100; @@ -257,7 +257,7 @@ API_CALLABLE(N(func_802A1B68_731E68)) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; - inflict_status(player, STATUS_SLEEP, 3); + inflict_status(player, STATUS_KEY_SLEEP, 3); player->statusAfflicted = 0; return ApiStatus_DONE2; diff --git a/src/battle/move/item/super_soda.c b/src/battle/move/item/super_soda.c index 2cbe03cdd0..f04b00efe3 100644 --- a/src/battle/move/item/super_soda.c +++ b/src/battle/move/item/super_soda.c @@ -52,7 +52,7 @@ API_CALLABLE(N(func_802A1378_725058)) { Actor* actor = get_actor(actorId); s32 actorClass = actor->actorID & ACTOR_CLASS_MASK; - if (actor->debuff != STATUS_END) { + if (actor->debuff != 0) { actor->debuffDuration = 0; actor->debuff = 0; remove_status_debuff(actor->hudElementDataIndex); diff --git a/src/battle/move/item/tasty_tonic.c b/src/battle/move/item/tasty_tonic.c index 8558457935..b9293edb3b 100644 --- a/src/battle/move/item/tasty_tonic.c +++ b/src/battle/move/item/tasty_tonic.c @@ -11,7 +11,7 @@ API_CALLABLE(N(func_802A123C_72223C)) { Actor* actor = get_actor(actorId); s32 id = actor->actorID & ACTOR_CLASS_MASK; - if (actor->debuff != STATUS_END) { + if (actor->debuff != 0) { actor->debuffDuration = 0; actor->debuff = 0; remove_status_debuff(actor->hudElementDataIndex); diff --git a/src/battle/move/item/thunder_bolt.c b/src/battle/move/item/thunder_bolt.c index d7c10cf9e6..1f3422846c 100644 --- a/src/battle/move/item/thunder_bolt.c +++ b/src/battle/move/item/thunder_bolt.c @@ -77,7 +77,7 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(StartRumble, 10) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_CALL(GetItemPower, ITEM_THUNDER_RAGE, LVar0, LVar1) - EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) diff --git a/src/battle/move/item/thunder_rage.c b/src/battle/move/item/thunder_rage.c index ab1b906eca..fc41f7718f 100644 --- a/src/battle/move/item/thunder_rage.c +++ b/src/battle/move/item/thunder_rage.c @@ -78,7 +78,7 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetItemPower, ITEM_THUNDER_RAGE, LVar0, LVar1) - EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) diff --git a/src/battle/move/item/volt_shroom.c b/src/battle/move/item/volt_shroom.c index 24576893c5..36229d80fa 100644 --- a/src/battle/move/item/volt_shroom.c +++ b/src/battle/move/item/volt_shroom.c @@ -10,7 +10,7 @@ API_CALLABLE(N(func_802A123C_71AA2C)) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; - inflict_status(player, STATUS_STATIC, script->varTable[0]); + inflict_status(player, STATUS_KEY_STATIC, script->varTable[0]); player->statusAfflicted = 0; return ApiStatus_DONE2; } diff --git a/src/battle/move/jump/auto_multibounce.c b/src/battle/move/jump/auto_multibounce.c index bdc234b2e2..dac55d7ee9 100644 --- a/src/battle/move/jump/auto_multibounce.c +++ b/src/battle/move/jump/auto_multibounce.c @@ -44,14 +44,14 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 112) EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 48) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_235) EVT_SWITCH(LVar0) @@ -111,18 +111,18 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 240) EVT_END_IF EVT_CASE_DEFAULT EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 48) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 240) EVT_END_IF EVT_END_SWITCH EVT_SWITCH(LVarF) @@ -186,14 +186,14 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 112) EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 48) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_235) EVT_SWITCH(LVar0) @@ -258,18 +258,18 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 240) EVT_END_IF EVT_CASE_DEFAULT EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 48) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 240) EVT_END_IF EVT_END_SWITCH EVT_SWITCH(LVarF) @@ -333,14 +333,14 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 112) EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 48) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_235) EVT_SWITCH(LVar0) @@ -398,18 +398,18 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 240) EVT_END_IF EVT_CASE_DEFAULT EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 48) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 240) EVT_END_IF EVT_END_SWITCH EVT_SWITCH(LVarF) diff --git a/src/battle/move/jump/dizzy_stomp.c b/src/battle/move/jump/dizzy_stomp.c index 8a14c1f619..3a803cef46 100644 --- a/src/battle/move/jump/dizzy_stomp.c +++ b/src/battle/move/jump/dizzy_stomp.c @@ -37,10 +37,10 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 3, 75), 1, 80) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 3, 75), 1, 80) EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 3, 75), 1, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 3, 75), 1, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -69,7 +69,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_CALL(func_80274A18, 24, 3) EVT_WAIT(1) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 3, 100), 1, 224) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 3, 100), 1, 224) EVT_CALL(func_80269550, LVarF) EVT_EXEC_WAIT(N(EVS_JumpSupport_E)) EVT_RETURN @@ -88,10 +88,10 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 3, 75), 2, 80) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 3, 75), 2, 80) EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 3, 75), 2, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 3, 75), 2, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -124,7 +124,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CALL(EnablePlayerBlur, 0) EVT_WAIT(1) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 3, 100), 2, 224) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 3, 100), 2, 224) EVT_CALL(func_80269550, LVarF) EVT_EXEC_WAIT(N(EVS_JumpSupport_E)) EVT_RETURN @@ -143,10 +143,10 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 3, 75), 3, 80) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 3, 75), 3, 80) EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 3, 75), 3, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 3, 75), 3, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -177,7 +177,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CALL(EnablePlayerBlur, 0) EVT_WAIT(1) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_DIZZY, 3, 100), 3, 224) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_DIZZY, 3, 100), 3, 224) EVT_CALL(func_80269550, LVarF) EVT_EXEC_WAIT(N(EVS_JumpSupport_E)) EVT_RETURN diff --git a/src/battle/move/jump/earthquake_jump.c b/src/battle/move/jump/earthquake_jump.c index d31c79edd6..abd96632c8 100644 --- a/src/battle/move/jump/earthquake_jump.c +++ b/src/battle/move/jump/earthquake_jump.c @@ -99,10 +99,10 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_SWITCH(LVarB) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 80) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 80) EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 48) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 48) EVT_END_SWITCH EVT_LABEL(2) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) @@ -203,14 +203,14 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 64) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 64) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 224) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 224) EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 32) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 32) EVT_END_SWITCH EVT_SWITCH(LVarF) EVT_CASE_EQ(0) @@ -319,10 +319,10 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_SWITCH(LVarB) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 80) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 80) EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 48) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 48) EVT_END_SWITCH EVT_LABEL(2) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) @@ -429,14 +429,14 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 64) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 64) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 224) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 224) EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 32) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 32) EVT_END_SWITCH EVT_SWITCH(LVarF) EVT_CASE_EQ(0) @@ -545,10 +545,10 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_SWITCH(LVarB) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 80) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 80) EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 48) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 48) EVT_END_SWITCH EVT_LABEL(2) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) @@ -651,14 +651,14 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 64) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 64) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 224) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 224) EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 32) + EVT_CALL(PlayerDamageEnemy, LVarC, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 32) EVT_END_SWITCH EVT_SWITCH(LVarF) EVT_CASE_EQ(0) diff --git a/src/battle/move/jump/multibounce.c b/src/battle/move/jump/multibounce.c index e40b320101..ed414ebb80 100644 --- a/src/battle/move/jump/multibounce.c +++ b/src/battle/move/jump/multibounce.c @@ -57,14 +57,14 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 112) EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 48) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_235) EVT_SWITCH(LVar0) @@ -124,18 +124,18 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 240) EVT_END_IF EVT_CASE_DEFAULT EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 48) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 1, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 1, 240) EVT_END_IF EVT_END_SWITCH EVT_SWITCH(LVarF) @@ -208,14 +208,14 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 112) EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 48) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_235) EVT_SWITCH(LVar0) @@ -280,18 +280,18 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 240) EVT_END_IF EVT_CASE_DEFAULT EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 48) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 2, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 2, 240) EVT_END_IF EVT_END_SWITCH EVT_SWITCH(LVarF) @@ -364,14 +364,14 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 112) EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 48) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_235) EVT_SWITCH(LVar0) @@ -429,18 +429,18 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CASE_GT(FALSE) EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 112) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 112) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 240) EVT_END_IF EVT_CASE_DEFAULT EVT_IF_EQ(LocalFlag(0), FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 48) EVT_ELSE EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15C, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, 3, 240) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_MULTI_BOUNCE | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, 3, 240) EVT_END_IF EVT_END_SWITCH EVT_SWITCH(LVarF) diff --git a/src/battle/move/jump/shrink_stomp.c b/src/battle/move/jump/shrink_stomp.c index ec85be6efc..72b97c2b64 100644 --- a/src/battle/move/jump/shrink_stomp.c +++ b/src/battle/move/jump/shrink_stomp.c @@ -37,10 +37,10 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 75), 1, 80) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 75), 1, 80) EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 75), 1, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 75), 1, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -69,7 +69,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_CALL(func_80274A18, 24, 3) EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15A) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 100), 1, 224) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 100), 1, 224) EVT_CALL(func_80269550, LVarF) EVT_EXEC_WAIT(N(EVS_JumpSupport_E)) EVT_RETURN @@ -88,10 +88,10 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15B) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 75), 2, 80) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 75), 2, 80) EVT_CASE_DEFAULT EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15B) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 75), 2, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 75), 2, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -124,7 +124,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CALL(EnablePlayerBlur, 0) EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15B) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 100), 2, 224) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 100), 2, 224) EVT_CALL(func_80269550, LVarF) EVT_EXEC_WAIT(N(EVS_JumpSupport_E)) EVT_RETURN @@ -143,10 +143,10 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15C) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 75), 3, 80) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 75), 3, 80) EVT_CASE_DEFAULT EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15C) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 75), 3, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 75), 3, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -177,7 +177,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CALL(EnablePlayerBlur, 0) EVT_WAIT(1) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_15C) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SHRINK, 3, 100), 3, 224) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SHRINK, 3, 100), 3, 224) EVT_CALL(func_80269550, LVarF) EVT_EXEC_WAIT(N(EVS_JumpSupport_E)) EVT_RETURN diff --git a/src/battle/move/jump/sleep_stomp.c b/src/battle/move/jump/sleep_stomp.c index 85d9f3ce78..9598d6c1fa 100644 --- a/src/battle/move/jump/sleep_stomp.c +++ b/src/battle/move/jump/sleep_stomp.c @@ -37,10 +37,10 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 75), 1, 80) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 75), 1, 80) EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 75), 1, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 75), 1, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -69,7 +69,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_CALL(func_80274A18, 24, 3) EVT_WAIT(1) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15A, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 100), 1, 224) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 100), 1, 224) EVT_CALL(func_80269550, LVarF) EVT_EXEC_WAIT(N(EVS_JumpSupport_E)) EVT_RETURN @@ -88,10 +88,10 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 75), 2, 80) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 75), 2, 80) EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 75), 2, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 75), 2, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -124,7 +124,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CALL(EnablePlayerBlur, 0) EVT_WAIT(1) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 100), 2, 224) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 100), 2, 224) EVT_CALL(func_80269550, LVarF) EVT_EXEC_WAIT(N(EVS_JumpSupport_E)) EVT_RETURN @@ -143,10 +143,10 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 75), 3, 80) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 75), 3, 80) EVT_CASE_DEFAULT EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 75), 3, 48) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 75), 3, 48) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) @@ -177,7 +177,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CALL(EnablePlayerBlur, 0) EVT_WAIT(1) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_15B, SOUND_0) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 100), 3, 224) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 100), 3, 224) EVT_CALL(func_80269550, LVarF) EVT_EXEC_WAIT(N(EVS_JumpSupport_E)) EVT_RETURN diff --git a/src/battle/move/star_power/chill_out.c b/src/battle/move/star_power/chill_out.c index d13ef6cea4..f943d262ac 100644 --- a/src/battle/move/star_power/chill_out.c +++ b/src/battle/move/star_power/chill_out.c @@ -418,7 +418,7 @@ EvtScript N(EVS_UsePower) = { EVT_IF_EQ(LVar0, 1) EVT_CALL(ShowMessageBox, BTL_MSG_CHILL_OUT_BEGIN, 60) EVT_END_IF - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_EXEC_WAIT(N(802A222C)) EVT_EXEC_WAIT(N(802A267C)) EVT_CALL(func_802A1528_7905F8) diff --git a/src/battle/move/star_power/focus.c b/src/battle/move/star_power/focus.c index a2c0d4d70d..70219a6e7a 100644 --- a/src/battle/move/star_power/focus.c +++ b/src/battle/move/star_power/focus.c @@ -288,7 +288,7 @@ EvtScript N(802A23BC) = { EvtScript N(EVS_UsePower) = { EVT_EXEC_WAIT(N(802A1630)) - EVT_CALL(func_802535B4, 1) + EVT_CALL(EnableBattleStatusBar, TRUE) EVT_CALL(GetOwnerID, LVarA) EVT_IF_EQ(LVarA, 0) EVT_CALL(PlaySound, SOUND_2053) @@ -305,7 +305,7 @@ EvtScript N(EVS_UsePower) = { EVT_CALL(ShowMessageBox, BTL_MSG_STAR_POWER_FILLED, 60) EVT_END_SWITCH EVT_CALL(WaitForMessageBoxDone) - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(SetGoalToHome, ACTOR_PLAYER) EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0)) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Run) diff --git a/src/battle/move/star_power/lullaby.c b/src/battle/move/star_power/lullaby.c index ae26658bac..7872f171c5 100644 --- a/src/battle/move/star_power/lullaby.c +++ b/src/battle/move/star_power/lullaby.c @@ -290,7 +290,7 @@ EvtScript N(EVS_UsePower) = { EVT_IF_EQ(LVar0, 6) EVT_GOTO(1) EVT_END_IF - EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, DMG_STATUS_CHANCE(STATUS_FLAG_SLEEP, 3, 100), 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, DMG_STATUS_KEY(STATUS_FLAG_SLEEP, 3, 100), 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) @@ -298,7 +298,7 @@ EvtScript N(EVS_UsePower) = { EVT_GOTO(0) EVT_END_IF EVT_WAIT(5) - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_EXEC_WAIT(N(802A1F5C)) EVT_EXEC_WAIT(N(802A23AC)) EVT_RETURN diff --git a/src/battle/move/star_power/peach_beam.c b/src/battle/move/star_power/peach_beam.c index a4e24180ec..fd970d5aa1 100644 --- a/src/battle/move/star_power/peach_beam.c +++ b/src/battle/move/star_power/peach_beam.c @@ -40,7 +40,7 @@ EvtScript N(EVS_UsePower) = { EVT_END_LOOP EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(N(unkStarBeamBgFunc)) - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_EXEC_WAIT(N(afterUsePower)) EVT_RETURN EVT_END diff --git a/src/battle/move/star_power/peach_focus.c b/src/battle/move/star_power/peach_focus.c index e9fad0c52a..5d171343aa 100644 --- a/src/battle/move/star_power/peach_focus.c +++ b/src/battle/move/star_power/peach_focus.c @@ -315,7 +315,7 @@ EvtScript N(EVS_UsePower) = { EVT_WAIT(1) EVT_CALL(SetActorYaw, ACTOR_SELF, 0) EVT_WAIT(1) - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(N(UnkBackgroundFunc)) EVT_WAIT(15) EVT_CALL(SetGoalToHome, ACTOR_PLAYER) diff --git a/src/battle/move/star_power/refresh.c b/src/battle/move/star_power/refresh.c index 68eb019b34..602c110103 100644 --- a/src/battle/move/star_power/refresh.c +++ b/src/battle/move/star_power/refresh.c @@ -77,7 +77,7 @@ API_CALLABLE(func_802A1518_78BB18) { API_CALLABLE(func_802A17D4_78BDD4) { Actor* actor = gBattleStatus.playerActor; - if (actor->debuff != STATUS_END) { + if (actor->debuff != 0) { actor->debuffDuration = 0; actor->debuff = 0; remove_status_debuff(actor->hudElementDataIndex); @@ -389,7 +389,7 @@ EvtScript N(EVS_UsePower) = { EVT_CALL(N(AddFP), 5) EVT_CALL(func_802A17D4_78BDD4) EVT_WAIT(30) - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_EXEC_WAIT(N(802A27FC)) EVT_RETURN EVT_END diff --git a/src/battle/move/star_power/smooch.c b/src/battle/move/star_power/smooch.c index 51c69a9b96..2d7576c0cd 100644 --- a/src/battle/move/star_power/smooch.c +++ b/src/battle/move/star_power/smooch.c @@ -390,7 +390,7 @@ EvtScript N(EVS_UsePower) = { EVT_THREAD EVT_CALL(N(UnkBackgroundFunc)) EVT_END_THREAD - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_160) EVT_CALL(SetActorJumpGravity, ACTOR_PLAYER, EVT_FLOAT(1.0)) EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(1.0)) diff --git a/src/battle/move/star_power/star_beam.c b/src/battle/move/star_power/star_beam.c index 3cf4793278..c2f7d26273 100644 --- a/src/battle/move/star_power/star_beam.c +++ b/src/battle/move/star_power/star_beam.c @@ -41,7 +41,7 @@ EvtScript N(EVS_UsePower) = { EVT_END_LOOP EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(N(unkStarBeamBgFunc)) - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_EXEC_WAIT(N(afterUsePower)) EVT_RETURN EVT_END diff --git a/src/battle/move/star_power/star_storm.c b/src/battle/move/star_power/star_storm.c index d6deebc700..c77651a61e 100644 --- a/src/battle/move/star_power/star_storm.c +++ b/src/battle/move/star_power/star_storm.c @@ -321,7 +321,7 @@ EvtScript N(EVS_UsePower) = { EVT_END_IF EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(func_802A1628_78EDF8, LVar0, LVar1, LVar2) - EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 7, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 7, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_WAIT(10) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) @@ -330,7 +330,7 @@ EvtScript N(EVS_UsePower) = { EVT_END_IF EVT_WAIT(20) EVT_EXEC_WAIT(N(802A202C)) - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_EXEC_WAIT(N(802A247C)) EVT_RETURN EVT_END diff --git a/src/battle/move/star_power/time_out.c b/src/battle/move/star_power/time_out.c index 5ddfba70bb..5bf42c78b6 100644 --- a/src/battle/move/star_power/time_out.c +++ b/src/battle/move/star_power/time_out.c @@ -262,7 +262,7 @@ EvtScript N(EVS_UsePower) = { EVT_IF_EQ(LVar0, 6) EVT_GOTO(1) EVT_END_IF - EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, DMG_STATUS_CHANCE(STATUS_FLAG_STOP, 5, 100), 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, DMG_STATUS_KEY(STATUS_FLAG_STOP, 5, 100), 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(5) EVT_LABEL(1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) @@ -270,7 +270,7 @@ EvtScript N(EVS_UsePower) = { EVT_GOTO(0) EVT_END_IF EVT_WAIT(5) - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_EXEC_WAIT(N(802A1E5C)) EVT_EXEC_WAIT(N(802A22AC)) EVT_RETURN diff --git a/src/battle/move/star_power/up_and_away.c b/src/battle/move/star_power/up_and_away.c index 50a7bf8844..d8d3cf5e23 100644 --- a/src/battle/move/star_power/up_and_away.c +++ b/src/battle/move/star_power/up_and_away.c @@ -409,7 +409,7 @@ EvtScript N(EVS_UsePower) = { EVT_WAIT(70) EVT_CALL(func_802A15B4_795894) EVT_EXEC_WAIT(N(802A200C)) - EVT_CALL(func_80276EFC) + EVT_CALL(PlayerYieldTurn) EVT_EXEC_WAIT(N(802A245C)) EVT_RETURN EVT_END diff --git a/src/battle/partner/bombette.c b/src/battle/partner/bombette.c index 1e68fc27f9..55b23324cf 100644 --- a/src/battle/partner/bombette.c +++ b/src/battle/partner/bombette.c @@ -22,6 +22,10 @@ extern EvtScript N(runAwayFail); extern EvtScript N(bodySlam); extern EvtScript N(bomb); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + enum { LF_MashEnded = LocalFlag(0), LF_MashStarted = LocalFlag(2), @@ -251,50 +255,50 @@ API_CALLABLE(N(GetMegaBombDamage)) { } s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleBombette_Walk, - STATUS_STONE, ANIM_BattleBombette_Still, - STATUS_SLEEP, ANIM_BattleBombette_Sleep, - STATUS_POISON, ANIM_BattleBombette_Still, - STATUS_STOP, ANIM_BattleBombette_Still, - STATUS_DAZE, ANIM_BattleBombette_Injured, - STATUS_TURN_DONE, ANIM_BattleBombette_Still, + STATUS_KEY_NORMAL, ANIM_BattleBombette_Walk, + STATUS_KEY_STONE, ANIM_BattleBombette_Still, + STATUS_KEY_SLEEP, ANIM_BattleBombette_Sleep, + STATUS_KEY_POISON, ANIM_BattleBombette_Still, + STATUS_KEY_STOP, ANIM_BattleBombette_Still, + STATUS_KEY_DAZE, ANIM_BattleBombette_Injured, + STATUS_KEY_INACTIVE, ANIM_BattleBombette_Still, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = 0, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 9, 20 }, .opacity = 255, @@ -311,8 +315,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BOMBETTE, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -324,9 +328,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 30, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -1255,10 +1259,10 @@ EvtScript N(bomb) = { EVT_CALL(N(GetPowerBombDamage), LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_SET(LF_MashEnded, 1) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_SWITCH EVT_LABEL(6) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) @@ -1277,10 +1281,10 @@ EvtScript N(bomb) = { EVT_CALL(N(GetMegaBombDamage), LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_SET(LF_MashEnded, 1) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_SWITCH EVT_LABEL(11) EVT_WAIT(5) diff --git a/src/battle/partner/bow.c b/src/battle/partner/bow.c index 4a993d6a81..b1bc0d360d 100644 --- a/src/battle/partner/bow.c +++ b/src/battle/partner/bow.c @@ -25,6 +25,11 @@ extern EvtScript N(hidePlayer); extern s32 bMarioHideAnims[]; +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_ZERO = 0, +}; + API_CALLABLE(N(IsOuttaSightActive)) { BattleStatus* battleStatus = &gBattleStatus; script->varTable[0] = battleStatus->outtaSightActive; @@ -80,14 +85,14 @@ API_CALLABLE(N(ModifyBowPos)) { API_CALLABLE(N(IsPartnerImmobile)) { BattleStatus* battleStatus = &gBattleStatus; Actor* playerActor = battleStatus->playerActor; - s32 isImmobile = playerActor->debuff == STATUS_FEAR - || playerActor->debuff == STATUS_DIZZY - || playerActor->debuff == STATUS_PARALYZE - || playerActor->debuff == STATUS_SLEEP - || playerActor->debuff == STATUS_FROZEN - || playerActor->debuff == STATUS_STOP; + s32 isImmobile = playerActor->debuff == STATUS_KEY_FEAR + || playerActor->debuff == STATUS_KEY_DIZZY + || playerActor->debuff == STATUS_KEY_PARALYZE + || playerActor->debuff == STATUS_KEY_SLEEP + || playerActor->debuff == STATUS_KEY_FROZEN + || playerActor->debuff == STATUS_KEY_STOP; - if (playerActor->stoneStatus == STATUS_STONE) { + if (playerActor->stoneStatus == STATUS_KEY_STONE) { isImmobile = TRUE; } @@ -121,7 +126,7 @@ API_CALLABLE(N(AverageSpookChance)) { targetActorBlueprint = targetActor->actorBlueprint; spookChance = targetActorBlueprint->spookChance; - if (targetActor->transparentStatus == STATUS_TRANSPARENT) { + if (targetActor->transparentStatus == STATUS_KEY_TRANSPARENT) { spookChance = 0; } @@ -145,50 +150,50 @@ API_CALLABLE(N(AverageSpookChance)) { } s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleBow_Walk, - STATUS_STONE, ANIM_BattleBow_Still, - STATUS_SLEEP, ANIM_BattleBow_Pray, - STATUS_POISON, ANIM_BattleBow_Still, - STATUS_STOP, ANIM_BattleBow_Still, - STATUS_DAZE, ANIM_BattleBow_Injured, - STATUS_TURN_DONE, ANIM_BattleBow_Still, + STATUS_KEY_NORMAL, ANIM_BattleBow_Walk, + STATUS_KEY_STONE, ANIM_BattleBow_Still, + STATUS_KEY_SLEEP, ANIM_BattleBow_Pray, + STATUS_KEY_POISON, ANIM_BattleBow_Still, + STATUS_KEY_STOP, ANIM_BattleBow_Still, + STATUS_KEY_DAZE, ANIM_BattleBow_Injured, + STATUS_KEY_INACTIVE, ANIM_BattleBow_Still, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = 0, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 9, 19 }, .opacity = 255, @@ -205,8 +210,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_BOW, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -218,9 +223,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 36, 29 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 22 }, - .statusMessageOffset = { 10, 22 }, + .statusTextOffset = { 10, 22 }, }; EvtScript N(init) = { @@ -542,9 +547,9 @@ EvtScript N(smack) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_PARTNER, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_Injured) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 0, 0, ACTOR_DECORATION_SEEING_STARS) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_ZERO, 0, ACTOR_DECORATION_SEEING_STARS) EVT_WAIT(30) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_Idle) EVT_WAIT(10) EVT_EXEC_WAIT(N(returnHome)) @@ -931,9 +936,9 @@ EvtScript N(spook) = { EVT_CALL(SetDamageSource, DMG_SRC_SPOOK) EVT_SWITCH(LVarF) EVT_CASE_GT(99) - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, STATUS_FLAG_400000, LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, STATUS_FLAG_400000, LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_CASE_DEFAULT - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, STATUS_FLAG_400000, LVarF, 0, BS_FLAGS1_80 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, STATUS_FLAG_400000, LVarF, 0, BS_FLAGS1_80 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_SWITCH EVT_LABEL(10) EVT_WAIT(5) @@ -1059,9 +1064,9 @@ EvtScript N(fanSmack) = { EVT_END_LOOP EVT_CALL(SetActorYaw, ACTOR_PARTNER, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_Injured) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 0, 0, ACTOR_DECORATION_SEEING_STARS) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_ZERO, 0, ACTOR_DECORATION_SEEING_STARS) EVT_WAIT(40) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_Idle) EVT_WAIT(10) EVT_EXEC_WAIT(N(returnHome)) diff --git a/src/battle/partner/goombario.c b/src/battle/partner/goombario.c index 32493aac92..a1e0a14731 100644 --- a/src/battle/partner/goombario.c +++ b/src/battle/partner/goombario.c @@ -30,6 +30,10 @@ extern EvtScript N(idle); extern EvtScript N(nextTurn); extern EvtScript N(takeTurn); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + API_CALLABLE(N(GetReturnMoveTime)) { BattleStatus* battleStatus = &gBattleStatus; Actor* partner = battleStatus->partnerActor; @@ -244,7 +248,6 @@ API_CALLABLE(N(JumpOnTarget)) { return ApiStatus_BLOCK; } - API_CALLABLE(N(OnMissHeadbonk)) { BattleStatus* battleStatus = &gBattleStatus; Actor* partner = gBattleStatus.partnerActor; @@ -335,7 +338,6 @@ API_CALLABLE(N(GetTattleCamPos)) { return ApiStatus_DONE2; } - API_CALLABLE(N(OpenTattleWindow)) { N(tattleEffect) = fx_tattle_window(0, 206, 144, 0, 1.0f, 0); @@ -420,7 +422,7 @@ API_CALLABLE(N(ChargeAtPos)) { z = evt_get_variable(script, *args++); fx_stat_change(boostAmount, x, y, z, 1.0f, 60); - gBattleStatus.flags1 |= BS_FLAGS1_40000000; + gBattleStatus.flags1 |= BS_FLAGS1_GOOMBARIO_CHARGED; return ApiStatus_DONE2; } @@ -428,7 +430,7 @@ API_CALLABLE(N(StopCharge)) { BattleStatus* battleStatus = &gBattleStatus; battleStatus->partnerActor->isGlowing = 0; - battleStatus->flags1 &= ~BS_FLAGS1_40000000; + battleStatus->flags1 &= ~BS_FLAGS1_GOOMBARIO_CHARGED; return ApiStatus_DONE2; } @@ -436,13 +438,13 @@ API_CALLABLE(N(StopCharge)) { API_CALLABLE(N(StopChargeAndGet)) { Actor* partner = gBattleStatus.partnerActor; - if (!(gBattleStatus.flags1 & BS_FLAGS1_40000000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_GOOMBARIO_CHARGED)) { partner->isGlowing = 0; } script->varTable[0] = partner->isGlowing; partner->isGlowing = 0; - gBattleStatus.flags1 &= ~BS_FLAGS1_40000000; + gBattleStatus.flags1 &= ~BS_FLAGS1_GOOMBARIO_CHARGED; return ApiStatus_DONE2; } @@ -478,50 +480,50 @@ API_CALLABLE(N(GetChargeMessage)) { } s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleGoombario_Walk, - STATUS_STONE, ANIM_BattleGoombario_Still, - STATUS_SLEEP, ANIM_BattleGoombario_CloseEyes, - STATUS_POISON, ANIM_BattleGoombario_Still, - STATUS_STOP, ANIM_BattleGoombario_Still, - STATUS_DAZE, ANIM_BattleGoombario_Injured, - STATUS_TURN_DONE, ANIM_BattleGoombario_Still, + STATUS_KEY_NORMAL, ANIM_BattleGoombario_Walk, + STATUS_KEY_STONE, ANIM_BattleGoombario_Still, + STATUS_KEY_SLEEP, ANIM_BattleGoombario_CloseEyes, + STATUS_KEY_POISON, ANIM_BattleGoombario_Still, + STATUS_KEY_STOP, ANIM_BattleGoombario_Still, + STATUS_KEY_DAZE, ANIM_BattleGoombario_Injured, + STATUS_KEY_INACTIVE, ANIM_BattleGoombario_Still, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = 0, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 8, 22 }, .opacity = 255, @@ -537,8 +539,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_GOOMBARIO, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -550,9 +552,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 29, 26 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -789,7 +791,7 @@ EvtScript N(returnHome) = { EVT_CALL(SetActorJumpGravity, ACTOR_PARTNER, EVT_FLOAT(1.2)) EVT_CALL(N(GetReturnMoveTime)) EVT_CALL(JumpToGoal, ACTOR_PARTNER, LVar0, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 18, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 19, 0) @@ -800,12 +802,12 @@ EvtScript N(returnHome) = { EVT_CALL(AddGoalPos, ACTOR_PARTNER, -10, 0, 0) EVT_CALL(JumpToGoal, ACTOR_PARTNER, 6, FALSE, FALSE, TRUE) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleGoombario_Idle) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 18, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 19, 0) EVT_WAIT(1) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Idle) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(2) EVT_CALL(SetGoalToHome, ACTOR_PARTNER) @@ -853,7 +855,7 @@ EvtScript N(returnHome2) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_END_THREAD EVT_CALL(JumpToGoal, ACTOR_PARTNER, LVar0, FALSE, TRUE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 18, 0) EVT_WAIT(1) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) @@ -861,14 +863,14 @@ EvtScript N(returnHome2) = { EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleGoombario_Idle) EVT_CALL(AddGoalPos, ACTOR_PARTNER, -20, 0, 0) EVT_CALL(JumpToGoal, ACTOR_PARTNER, 6, FALSE, FALSE, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 18, 0) EVT_WAIT(1) EVT_CALL(AddGoalPos, ACTOR_PARTNER, -10, 0, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleGoombario_Idle) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(JumpToGoal, ACTOR_PARTNER, 4, FALSE, FALSE, TRUE) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 18, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) @@ -927,7 +929,7 @@ EvtScript N(headbonk1) = { EVT_CALL(action_command_jump_init) EVT_EXEC_WAIT(N(runToTarget)) EVT_EXEC_WAIT(N(calcJumpTime)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 18, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 19, 0) @@ -935,7 +937,7 @@ EvtScript N(headbonk1) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_52) EVT_CALL(action_command_jump_start, LVarA, 3) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_52) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 9, 0) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) @@ -1032,7 +1034,7 @@ EvtScript N(headbonk2) = { EVT_CALL(action_command_jump_init) EVT_EXEC_WAIT(N(runToTarget)) EVT_EXEC_WAIT(N(calcJumpTime)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 18, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 19, 0) @@ -1040,7 +1042,7 @@ EvtScript N(headbonk2) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_52) EVT_CALL(action_command_jump_start, LVarA, 3) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_52) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 9, 0) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) @@ -1139,7 +1141,7 @@ EvtScript N(headbonk3) = { EVT_CALL(action_command_jump_init) EVT_EXEC_WAIT(N(runToTarget)) EVT_EXEC_WAIT(N(calcJumpTime)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 18, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 19, 0) @@ -1147,7 +1149,7 @@ EvtScript N(headbonk3) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_52) EVT_CALL(action_command_jump_start, LVarA, 3) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_52) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 9, 0) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) @@ -1216,7 +1218,7 @@ EvtScript N(headbonk3) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, EVT_IGNORE_ARG, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_END_THREAD EVT_THREAD EVT_SET(LVar0, 0) @@ -1259,7 +1261,7 @@ EvtScript N(multibonk) = { EVT_CALL(action_command_jump_init) EVT_EXEC_WAIT(N(runToTarget)) EVT_EXEC_WAIT(N(calcJumpTime)) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_PreHeadbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_PreHeadbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 18, 0) EVT_WAIT(5) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 19, 0) @@ -1267,7 +1269,7 @@ EvtScript N(multibonk) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_52) EVT_CALL(action_command_jump_start, LVarA, 1) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_52) - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 9, 0) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) @@ -1357,7 +1359,7 @@ EvtScript N(multibonk) = { EVT_CALL(SetActorRotation, ACTOR_SELF, 0, EVT_IGNORE_ARG, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleGoombario_Headbonk) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk) EVT_END_THREAD EVT_THREAD EVT_SET(LVar0, 0) @@ -1436,7 +1438,7 @@ EvtScript N(tattle) = { EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleGoombario_Idle) EVT_CALL(InitTargetIterator) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4, TRUE) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_TATTLE_OPEN, TRUE) EVT_CALL(N(OpenTattleWindow)) EVT_WAIT(12) EVT_CALL(SetCamEnabled, CAM_TATTLE, TRUE) @@ -1455,13 +1457,13 @@ EvtScript N(tattle) = { EVT_CALL(SetCamFlag80, CAM_TATTLE, TRUE) EVT_WAIT(10) EVT_CALL(N(GetTattleMessage)) - EVT_CALL(ActorSpeak, LVar0, ACTOR_SELF, 1, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) + EVT_CALL(ActorSpeak, LVar0, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) EVT_CALL(N(CloseTattleWindow)) EVT_WAIT(12) EVT_CALL(SetCamEnabled, CAM_TATTLE, FALSE) EVT_WAIT(32) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) - EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4, FALSE) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_TATTLE_OPEN, FALSE) EVT_CALL(PartnerYieldTurn) EVT_CALL(SetGoalToHome, ACTOR_PARTNER) EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(4.0)) diff --git a/src/battle/partner/goompa.c b/src/battle/partner/goompa.c index 34f50f33f9..0277248347 100644 --- a/src/battle/partner/goompa.c +++ b/src/battle/partner/goompa.c @@ -14,44 +14,48 @@ extern EvtScript N(runAway); extern EvtScript N(runAwayFail); extern EvtScript N(executeAction); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Goompa_Walk, + STATUS_KEY_NORMAL, ANIM_Goompa_Walk, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { - .index = 1, + .index = PRT_MAIN, .opacity = 255, .idleAnimations = N(IdleAnimations), .defenseTable = N(DefenseTable), @@ -62,15 +66,15 @@ ActorBlueprint NAMESPACE = { .flags = ACTOR_PART_FLAG_200000, .type = ACTOR_TYPE_GOOMBARIO, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .spinSmashReq = 4, .powerBounceChance = 80, .size = { 29, 26 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { diff --git a/src/battle/partner/kooper.c b/src/battle/partner/kooper.c index 80b843c8e0..0625d48c9f 100644 --- a/src/battle/partner/kooper.c +++ b/src/battle/partner/kooper.c @@ -25,6 +25,11 @@ extern EvtScript N(dizzyShell); extern EvtScript N(fireShell); extern EvtScript N(shellTossOnFirstStrike); +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_ZERO = 0, +}; + API_CALLABLE(N(SlowDown)) { BattleStatus* battleStatus = &gBattleStatus; Actor* partnerActor = battleStatus->partnerActor; @@ -77,7 +82,7 @@ API_CALLABLE(N(SetTargetsYaw)) { for (i = 0; i < actor->targetListLength; i++) { x = actor->currentPos.x; target = &actor->targetData[actor->targetIndexList[i]]; - targetX = target->pos.x; + targetX = target->posA.x; targetActor = get_actor(target->actorID); if (targetActor != NULL) { @@ -124,9 +129,9 @@ API_CALLABLE(N(AverageTargetDizzyChance)) { for (i = 0; i < partnerActor->targetListLength; i++) { targetActor = get_actor(partnerActor->targetData[i].actorID); targetActorPart = get_actor_part(targetActor, partnerActor->targetData[i].partID); - targetActorBlueprintBaseStatusChance = lookup_status_chance(targetActor->statusTable, STATUS_DIZZY); + targetActorBlueprintBaseStatusChance = lookup_status_chance(targetActor->statusTable, STATUS_KEY_DIZZY); - if (targetActor->transparentStatus == STATUS_TRANSPARENT) { + if (targetActor->transparentStatus == STATUS_KEY_TRANSPARENT) { targetActorBlueprintBaseStatusChance = 0; } @@ -178,50 +183,50 @@ API_CALLABLE(N(GetFireShellSpeedAndDamage)) { } s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleKooper_Walk, - STATUS_STONE, ANIM_BattleKooper_Still, - STATUS_SLEEP, ANIM_BattleKooper_Pray, - STATUS_POISON, ANIM_BattleKooper_Still, - STATUS_STOP, ANIM_BattleKooper_Still, - STATUS_DAZE, ANIM_BattleKooper_Injured, - STATUS_TURN_DONE, ANIM_BattleKooper_Still, + STATUS_KEY_NORMAL, ANIM_BattleKooper_Walk, + STATUS_KEY_STONE, ANIM_BattleKooper_Still, + STATUS_KEY_SLEEP, ANIM_BattleKooper_Pray, + STATUS_KEY_POISON, ANIM_BattleKooper_Still, + STATUS_KEY_STOP, ANIM_BattleKooper_Still, + STATUS_KEY_DAZE, ANIM_BattleKooper_Injured, + STATUS_KEY_INACTIVE, ANIM_BattleKooper_Still, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = 0, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 8, 27 }, .opacity = 255, @@ -238,8 +243,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_KOOPER, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -251,9 +256,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 32, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 30 }, - .statusMessageOffset = { 10, 30 }, + .statusTextOffset = { 10, 30 }, }; EvtScript N(init) = { @@ -622,7 +627,7 @@ EvtScript N(shellToss) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) EVT_CALL(MoveBattleCamOver, 15) EVT_EXEC_WAIT(N(getShellTossMoveTime)) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 0, 0, ACTOR_DECORATION_GREY_SMOKE_TRAIL) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_ZERO, 0, ACTOR_DECORATION_GREY_SMOKE_TRAIL) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(SetActorSpeed, ACTOR_PARTNER, LVarA) EVT_CALL(SetActorSounds, ACTOR_PARTNER, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) @@ -631,7 +636,7 @@ EvtScript N(shellToss) = { EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_THREAD EVT_CALL(N(SlowDown)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) EVT_END_THREAD EVT_WAIT(4) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellStill) @@ -665,7 +670,7 @@ EvtScript N(shellToss) = { EVT_CALL(RunToGoal, ACTOR_PARTNER, 0) EVT_RETURN EVT_END_IF - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) @@ -795,7 +800,7 @@ EvtScript N(powerShell) = { EVT_SET(LVarB, 260) EVT_DIVF(LVarB, LVarA) EVT_THREAD - EVT_CALL(AddActorDecoration, ACTOR_SELF, 0, 1, ACTOR_DECORATION_GREY_SMOKE_TRAIL) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_ZERO, 1, ACTOR_DECORATION_GREY_SMOKE_TRAIL) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 260) EVT_CALL(SetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) @@ -803,7 +808,7 @@ EvtScript N(powerShell) = { EVT_CALL(SetActorSounds, ACTOR_PARTNER, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(RunToGoal, ACTOR_PARTNER, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 1) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 1) EVT_END_THREAD EVT_SET(LocalFlag(0), 0) EVT_LABEL(10) @@ -831,9 +836,9 @@ EvtScript N(powerShell) = { EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarE, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarE, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0) EVT_LABEL(12) @@ -896,7 +901,7 @@ EvtScript N(dizzyShell) = { EVT_SET(LVar9, 0) EVT_SET(LVarA, EVT_FLOAT(8.0)) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_2026) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 0, 1, ACTOR_DECORATION_WHIRLWIND) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_ZERO, 1, ACTOR_DECORATION_WHIRLWIND) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) EVT_SET(LVar9, 1) EVT_LOOP(LVarD) @@ -937,7 +942,7 @@ EvtScript N(dizzyShell) = { EVT_SET(LVarB, 300) EVT_DIVF(LVarB, LVarA) EVT_THREAD - EVT_CALL(AddActorDecoration, ACTOR_SELF, 0, 0, ACTOR_DECORATION_GREY_SMOKE_TRAIL) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_ZERO, 0, ACTOR_DECORATION_GREY_SMOKE_TRAIL) EVT_CALL(EnableActorBlur, ACTOR_PARTNER, 1) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 350) @@ -945,8 +950,8 @@ EvtScript N(dizzyShell) = { EVT_CALL(SetActorSpeed, ACTOR_PARTNER, LVarA) EVT_CALL(SetActorSounds, ACTOR_PARTNER, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(RunToGoal, ACTOR_PARTNER, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 1) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 1) EVT_WAIT(20) EVT_CALL(SetActorPos, ACTOR_PARTNER, -200, 0, 0) EVT_CALL(SetGoalToHome, ACTOR_PARTNER) @@ -989,19 +994,19 @@ EvtScript N(dizzyShell) = { EVT_CASE_GT(0) EVT_IF_EQ(LVar9, 1) EVT_IF_EQ(LVarF, 100) - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 254, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_ELSE - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_IF EVT_ELSE - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_IF EVT_CASE_DEFAULT EVT_IF_EQ(LVar9, 1) - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 255, 0, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 255, 0, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_ELSE - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 255, 0, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 255, 0, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_IF EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0) @@ -1066,15 +1071,15 @@ EvtScript N(fireShell) = { EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_200C) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_28E) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 0, 0, ACTOR_DECORATION_RED_FLAMES) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_ZERO, 0, ACTOR_DECORATION_RED_FLAMES) EVT_WAIT(1) EVT_CALL(ModifyActorDecoration, ACTOR_PARTNER, -1, 0, 10, 10, 255, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 1, 1) - EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) - EVT_CALL(func_8026EBF8, ACTOR_PARTNER, -1, 0, 0, 1, 10, 1000, 10, 0, 0) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, SPR_PAL_BattleKooper, SPR_PAL_BattleKooper, 1, 10, 1000, 10, 0, 0) EVT_CALL(func_8026ED20, ACTOR_PARTNER, 0, 1) - EVT_SET(LVar6, 0) - EVT_SET(LVar7, 0) + EVT_SET(LVar6, SPR_PAL_BattleKooper) + EVT_SET(LVar7, SPR_PAL_BattleKooper) EVT_SET(LVar8, 30) EVT_SET(LVar9, 30) EVT_LOOP(LVarD) @@ -1084,46 +1089,46 @@ EvtScript N(fireShell) = { EVT_CASE_GE(80 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinFastest) EVT_SET(LVar9, 80 * DT) - EVT_SET(LVar7, 8) + EVT_SET(LVar7, SPR_PAL_BattleKooper_Red4) EVT_IF_NE(LVar6, LVar7) - EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) - EVT_CALL(func_8026EBF8, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF EVT_CASE_GE(60 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinFaster) EVT_SET(LVar9, 60 * DT) - EVT_SET(LVar7, 7) + EVT_SET(LVar7, SPR_PAL_BattleKooper_Red3) EVT_IF_NE(LVar6, LVar7) - EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) - EVT_CALL(func_8026EBF8, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF EVT_CASE_GE(40 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlower) EVT_SET(LVar9, 40 * DT) - EVT_SET(LVar7, 6) + EVT_SET(LVar7, SPR_PAL_BattleKooper_Red2) EVT_IF_NE(LVar6, LVar7) - EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) - EVT_CALL(func_8026EBF8, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF EVT_CASE_GE(20 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) EVT_SET(LVar9, 35 * DT) - EVT_SET(LVar7, 5) + EVT_SET(LVar7, SPR_PAL_BattleKooper_Red1) EVT_IF_NE(LVar6, LVar7) - EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) - EVT_CALL(func_8026EBF8, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) EVT_SET(LVar9, 30 * DT) - EVT_SET(LVar7, 0) + EVT_SET(LVar7, SPR_PAL_BattleKooper) EVT_IF_NE(LVar6, LVar7) - EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) - EVT_CALL(func_8026EBF8, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF EVT_END_SWITCH @@ -1193,9 +1198,9 @@ EvtScript N(fireShell) = { EVT_CALL(SetActorSpeed, ACTOR_PARTNER, LVarA) EVT_CALL(SetActorSounds, ACTOR_PARTNER, ACTOR_SOUND_WALK, SOUND_0, SOUND_0) EVT_CALL(RunToGoal, ACTOR_PARTNER, 0) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 1) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 1) EVT_WAIT(20) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) EVT_CALL(func_8026ED20, ACTOR_PARTNER, 0, 0) EVT_CALL(SetActorPos, ACTOR_PARTNER, -200, 0, 0) EVT_CALL(SetGoalToHome, ACTOR_PARTNER) @@ -1233,9 +1238,9 @@ EvtScript N(fireShell) = { EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0) EVT_LABEL(12) @@ -1288,7 +1293,7 @@ EvtScript N(shellTossOnFirstStrike) = { EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_THREAD EVT_CALL(N(SlowDown)) - EVT_CALL(RemoveActorDecoration, ACTOR_SELF, 0, 0) + EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) EVT_END_THREAD EVT_WAIT(4) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellStill) diff --git a/src/battle/partner/lakilester.c b/src/battle/partner/lakilester.c index 957c5549b7..7306620505 100644 --- a/src/battle/partner/lakilester.c +++ b/src/battle/partner/lakilester.c @@ -24,21 +24,10 @@ extern EvtScript N(spinySurge); extern EvtScript N(cloudNine); extern EvtScript N(hurricane); -typedef struct HurricaneState { - /* 0x00 */ char unk_00[0x44]; - /* 0x44 */ s16 breathSizeIncrease; - /* 0x46 */ s16 unk_46; - /* 0x48 */ char unk_48[0xC]; - /* 0x54 */ s16 unk_54; - /* 0x56 */ char unk_56[0x4]; - /* 0x5A */ s16 startingTotalPower; - /* 0x5C */ s8 state; - /* 0x5D */ s8 unk_5D; - /* 0x5E */ char unk_5E[0x12]; - /* 0x70 */ s16 intensity; - /* 0x72 */ s16 totalPower; - /* 0x74 */ char unk_74[0x10]; -} HurricaneState; +extern HudScript HES_AimBlinkA; +extern HudScript HES_AimReticle; +extern HudScript HES_AimTarget; +extern HudScript HES_StickTapRight; static s32 sSavedHurricaneIntensity; static s32 sBreathSizeIncrease; @@ -66,10 +55,26 @@ static s32 sNumEnemiesBeingBlown; static s32 sIsHurricaneActive; static s32 D_8023D338; -extern HudScript HES_AimBlinkA; -extern HudScript HES_AimReticle; -extern HudScript HES_AimTarget; -extern HudScript HES_StickTapRight; +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + +typedef struct HurricaneState { + /* 0x00 */ char unk_00[0x44]; + /* 0x44 */ s16 breathSizeIncrease; + /* 0x46 */ s16 unk_46; + /* 0x48 */ char unk_48[0xC]; + /* 0x54 */ s16 unk_54; + /* 0x56 */ char unk_56[0x4]; + /* 0x5A */ s16 startingTotalPower; + /* 0x5C */ s8 state; + /* 0x5D */ s8 unk_5D; + /* 0x5E */ char unk_5E[0x12]; + /* 0x70 */ s16 intensity; + /* 0x72 */ s16 totalPower; + /* 0x74 */ char unk_74[0x10]; +} HurricaneState; API_CALLABLE(N(SpinyFlipUpdatePopup)) { if (isInitialCall) { @@ -86,51 +91,51 @@ API_CALLABLE(N(SpinyFlipUpdatePopup)) { s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleLakilester_Walk, - STATUS_DAZE, ANIM_BattleLakilester_Injured, - STATUS_TURN_DONE, ANIM_BattleLakilester_Still, + STATUS_KEY_NORMAL, ANIM_BattleLakilester_Walk, + STATUS_KEY_DAZE, ANIM_BattleLakilester_Injured, + STATUS_KEY_INACTIVE, ANIM_BattleLakilester_Still, STATUS_END, }; s32 N(IdleAnimations_spiny)[] = { - STATUS_NORMAL, ANIM_BattleLakilester_Spiny, + STATUS_KEY_NORMAL, ANIM_BattleLakilester_Spiny, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = 0, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 12, 30 }, .opacity = 255, @@ -142,7 +147,7 @@ ActorPartBlueprint N(parts)[] = { }, { .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, - .index = 2, + .index = PRT_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -159,8 +164,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_LAKILESTER, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -172,9 +177,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 44, 40 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 30 }, - .statusMessageOffset = { 13, 31 }, + .statusTextOffset = { 13, 31 }, }; EvtScript N(init) = { @@ -749,7 +754,7 @@ API_CALLABLE(N(InitHurricane)) { hurricaneChance = 150; } } - if (actor->transparentStatus == STATUS_TRANSPARENT) { + if (actor->transparentStatus == STATUS_KEY_TRANSPARENT) { hurricaneChance = 0; } if (part->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) { @@ -773,7 +778,7 @@ API_CALLABLE(N(InitHurricane)) { target = &partner->targetData[targetIdx]; actor = get_actor(target->actorID); part = get_actor_part(actor, target->partID); - if (actor->transparentStatus == STATUS_TRANSPARENT || (part->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY)) { + if (actor->transparentStatus == STATUS_KEY_TRANSPARENT || (part->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY)) { sTargetStates[targetIdx] = -1; } else if (sTargetStates[targetIdx] != 0) { sTargetStates[targetIdx] = avgHurricaneChance; @@ -835,7 +840,7 @@ EvtScript N(spinyFlip) = { EVT_CALL(SetPartPos, ACTOR_PARTNER, 2, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_CALL(SetPartFlagBits, ACTOR_PARTNER, 2, ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_BattleLakilester_Spiny) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_BattleLakilester_Spiny) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleLakilester_LiftSpiny) EVT_LOOP(4) EVT_ADD(LVar1, 6) @@ -876,7 +881,7 @@ EvtScript N(spinyFlip) = { EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_201B) EVT_SWITCH(LVarF) EVT_CASE_EQ(-1) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_BattleLakilester_SpinySpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_BattleLakilester_SpinySpin) EVT_CALL(SetPartJumpGravity, ACTOR_PARTNER, 2, EVT_FLOAT(1.5)) EVT_SET(LVar0, LVar7) EVT_SET(LVar1, LVar8) @@ -884,7 +889,7 @@ EvtScript N(spinyFlip) = { EVT_CALL(JumpPartTo, ACTOR_PARTNER, 2, LVar7, LVar8, LVar9, 20) EVT_CALL(LandJumpPart, ACTOR_PARTNER, 2) EVT_CASE_EQ(0) - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_BattleLakilester_SpinySpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_BattleLakilester_SpinySpin) EVT_CALL(SetPartJumpGravity, ACTOR_PARTNER, 2, EVT_FLOAT(1.5)) EVT_SET(LVar0, LVar7) EVT_SET(LVar1, LVar8) @@ -892,7 +897,7 @@ EvtScript N(spinyFlip) = { EVT_CALL(JumpPartTo, ACTOR_PARTNER, 2, LVar7, LVar8, LVar9, 20) EVT_CALL(LandJumpPart, ACTOR_PARTNER, 2) EVT_CASE_DEFAULT - EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_BattleLakilester_SpinySpin) + EVT_CALL(SetAnimation, ACTOR_SELF, PRT_2, ANIM_BattleLakilester_SpinySpin) EVT_CALL(GetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) EVT_CALL(SetPartJumpGravity, ACTOR_PARTNER, 2, EVT_FLOAT(1.5)) EVT_CALL(JumpPartTo, ACTOR_PARTNER, 2, LVar0, LVar1, LVar2, 20) @@ -1060,9 +1065,9 @@ EvtScript N(spinySurge) = { EVT_CALL(N(GetSpinySurgeDamage)) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SPINY_SURGE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SPINY_SURGE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SPINY_SURGE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SPINY_SURGE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_GT(0) @@ -1094,7 +1099,7 @@ EvtScript N(spinySurge) = { EvtScript N(cloudNine_normal) = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) - EVT_CALL(SetBattleFlagBits, BS_FLAGS1_8, FALSE) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_SHOW_PLAYER_DECORATIONS, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_20000000, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_WATER_BLOCK) EVT_CALL(action_command_water_block_init, 2) @@ -1208,7 +1213,7 @@ EvtScript N(cloudNine_normal) = { EVT_CALL(ShowMessageBox, BTL_MSG_CLOUD_NINE_BEGIN, 60) EVT_CALL(WaitForMessageBoxDone) EVT_END_IF - EVT_CALL(SetBattleFlagBits, BS_FLAGS1_8, TRUE) + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_SHOW_PLAYER_DECORATIONS, TRUE) EVT_RETURN EVT_END }; @@ -1321,7 +1326,7 @@ EvtScript N(cloudNine_immobile) = { EvtScript N(cloudNine) = { EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_EXEC_WAIT(N(cloudNine_immobile)) EVT_ELSE EVT_EXEC_WAIT(N(cloudNine_normal)) diff --git a/src/battle/partner/parakarry.c b/src/battle/partner/parakarry.c index 3428bcbc7f..450e0c2c42 100644 --- a/src/battle/partner/parakarry.c +++ b/src/battle/partner/parakarry.c @@ -10,19 +10,6 @@ #define NAMESPACE battle_partner_parakarry -static EffectInstance* airRaidEffect; -static s32 D_8023BD74_unused; -static s32 hudMarkers[7]; -static s32 D_8023BD94_unused; -static s32 hudShimmers[6]; -static s32 D_8023BDB0_unused; -static s32 hudTarget; -static s32 hudTargetRotation; -static s32 shellShotTimer; -static s32 hudStick; -static s32 hudStickPosX; -static s32 hudStickPosY; - extern HudScript HES_AimMarkerA; extern HudScript HES_AimMarkerB; extern HudScript HES_AimMarkerC; @@ -53,6 +40,24 @@ extern EvtScript N(shellShot); extern EvtScript N(airLift); extern EvtScript N(airRaid); +static EffectInstance* airRaidEffect; +static s32 D_8023BD74_unused; +static s32 hudMarkers[7]; +static s32 D_8023BD94_unused; +static s32 hudShimmers[6]; +static s32 D_8023BDB0_unused; +static s32 hudTarget; +static s32 hudTargetRotation; +static s32 shellShotTimer; +static s32 hudStick; +static s32 hudStickPosX; +static s32 hudStickPosY; + +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + API_CALLABLE(N(ShellShotActionCommand)) { BattleStatus* battleStatus = &gBattleStatus; ActionCommandStatus* actionCommandStatus = &gActionCommandStatus; @@ -376,7 +381,7 @@ API_CALLABLE(N(AirLiftChance)) { s32 airLiftChance = targetActor->actorBlueprint->airLiftChance; s32 hpPercentLost = 100 - targetActor->currentHP * 100 / targetActor->maxHP; - if (targetActor->transparentStatus == STATUS_TRANSPARENT) { + if (targetActor->transparentStatus == STATUS_KEY_TRANSPARENT) { airLiftChance = 0; } @@ -614,50 +619,50 @@ API_CALLABLE(N(GetAirRaidDamage)) { } s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleParakarry_Walk, - STATUS_STONE, ANIM_BattleParakarry_Still, - STATUS_SLEEP, ANIM_BattleParakarry_Pray, - STATUS_POISON, ANIM_BattleParakarry_Still, - STATUS_STOP, ANIM_BattleParakarry_Still, - STATUS_DAZE, ANIM_BattleParakarry_Injured, - STATUS_TURN_DONE, ANIM_BattleParakarry_Still, + STATUS_KEY_NORMAL, ANIM_BattleParakarry_Walk, + STATUS_KEY_STONE, ANIM_BattleParakarry_Still, + STATUS_KEY_SLEEP, ANIM_BattleParakarry_Pray, + STATUS_KEY_POISON, ANIM_BattleParakarry_Still, + STATUS_KEY_STOP, ANIM_BattleParakarry_Still, + STATUS_KEY_DAZE, ANIM_BattleParakarry_Injured, + STATUS_KEY_INACTIVE, ANIM_BattleParakarry_Still, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = 0, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 11, 28 }, .opacity = 255, @@ -674,8 +679,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_PARAKARRY, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -687,9 +692,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 38, 38 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 30 }, - .statusMessageOffset = { 10, 30 }, + .statusTextOffset = { 10, 30 }, }; EvtScript N(init) = { @@ -1262,10 +1267,10 @@ EvtScript N(airRaid) = { EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_110) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0) EVT_WAIT(5) diff --git a/src/battle/partner/sushie.c b/src/battle/partner/sushie.c index 25dd796ba5..a1b5cfa916 100644 --- a/src/battle/partner/sushie.c +++ b/src/battle/partner/sushie.c @@ -26,6 +26,10 @@ extern EvtScript N(tidalWave); static EffectInstance* sEffect; +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + API_CALLABLE(N(SetSquirtAngle)) { ActorPart* targetPart; Actor* partner = gBattleStatus.partnerActor; @@ -384,50 +388,50 @@ API_CALLABLE(N(SetScaleTidalWaveCharge)) { } s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleSushie_Walk, - STATUS_STONE, ANIM_BattleSushie_Still, - STATUS_SLEEP, ANIM_BattleSushie_Pray, - STATUS_POISON, ANIM_BattleSushie_Still, - STATUS_STOP, ANIM_BattleSushie_Still, - STATUS_DAZE, ANIM_BattleSushie_Injured, - STATUS_TURN_DONE, ANIM_BattleSushie_Still, + STATUS_KEY_NORMAL, ANIM_BattleSushie_Walk, + STATUS_KEY_STONE, ANIM_BattleSushie_Still, + STATUS_KEY_SLEEP, ANIM_BattleSushie_Pray, + STATUS_KEY_POISON, ANIM_BattleSushie_Still, + STATUS_KEY_STOP, ANIM_BattleSushie_Still, + STATUS_KEY_DAZE, ANIM_BattleSushie_Injured, + STATUS_KEY_INACTIVE, ANIM_BattleSushie_Still, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = 0, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 12, 17 }, .opacity = 255, @@ -444,8 +448,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_SUSHIE, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -457,9 +461,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 37, 26 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -1205,9 +1209,9 @@ EvtScript N(tidalWave) = { EVT_END_IF EVT_SWITCH(LVarE) EVT_CASE_GE(6) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_WATER | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_WATER | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_WATER | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_WATER | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_WAIT(5) EVT_LABEL(10) diff --git a/src/battle/partner/twink.c b/src/battle/partner/twink.c index 9c4bb26385..c955148348 100644 --- a/src/battle/partner/twink.c +++ b/src/battle/partner/twink.c @@ -15,6 +15,10 @@ extern EvtScript N(celebrate); extern EvtScript N(runAway); extern EvtScript N(runAwayFail); +enum N(ActorPartIDs) { + PRT_MAIN = 1, +}; + API_CALLABLE(func_80238000_714CF0) { BattleStatus* battleStatus = &gBattleStatus; @@ -28,45 +32,45 @@ API_CALLABLE(func_80238000_714CF0) { } s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_Twink_Angry, - STATUS_TURN_DONE, ANIM_Twink_Still, + STATUS_KEY_NORMAL, ANIM_Twink_Angry, + STATUS_KEY_INACTIVE, ANIM_Twink_Still, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, + ELEMENT_NORMAL, 0, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = 0, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, .opacity = 255, @@ -83,8 +87,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_TWINK, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -96,9 +100,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 20, 20 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 30 }, - .statusMessageOffset = { 13, 31 }, + .statusTextOffset = { 13, 31 }, }; EvtScript N(init) = { @@ -112,8 +116,8 @@ EvtScript N(init) = { EVT_END_IF EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, 1, EVT_PTR(N(DefenseTable))) - EVT_CALL(AddActorDecoration, ACTOR_SELF, 1, 0, ACTOR_DECORATION_9) - EVT_CALL(ModifyActorDecoration, ACTOR_SELF, 1, 0, 0, 0, 0, 0) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_9) + EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 0, 0, 0, 0) EVT_RETURN EVT_END }; diff --git a/src/battle/partner/watt.c b/src/battle/partner/watt.c index 064438f54d..9bcf132a18 100644 --- a/src/battle/partner/watt.c +++ b/src/battle/partner/watt.c @@ -39,6 +39,11 @@ static s32 sWattEffectData_currentEffectIndex; static EffectInstance* sWattEffectData_effect1; static EffectInstance* sWattEffectData_effect2; +enum N(ActorPartIDs) { + PRT_MAIN = 1, + PRT_2 = 2, +}; + API_CALLABLE(N(WattFXUpdate)) { Actor* partner = gBattleStatus.partnerActor; f32 x, y, z; @@ -214,9 +219,9 @@ API_CALLABLE(N(TargetParalyzeChance)) { Actor* partnerActor = battleStatus->partnerActor; Actor* targetActor = get_actor(partnerActor->targetActorID); ActorPart* targetActorPart = get_actor_part(targetActor, partnerActor->targetPartIndex); - s32 statusChance = lookup_status_chance(targetActor->statusTable, STATUS_PARALYZE); + s32 statusChance = lookup_status_chance(targetActor->statusTable, STATUS_KEY_PARALYZE); - if (targetActor->transparentStatus == STATUS_TRANSPARENT) { + if (targetActor->transparentStatus == STATUS_KEY_TRANSPARENT) { statusChance = 0; } if (targetActorPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) { @@ -414,9 +419,9 @@ API_CALLABLE(N(AverageTargetParalyzeChance)) { for (i = 0; i < partnerActor->targetListLength; i++) { targetActor = get_actor(partnerActor->targetData[i].actorID); targetActorPart = get_actor_part(targetActor, partnerActor->targetData[i].partID); - targetActorBlueprintBaseStatusChance = lookup_status_chance(targetActor->statusTable, STATUS_PARALYZE); + targetActorBlueprintBaseStatusChance = lookup_status_chance(targetActor->statusTable, STATUS_KEY_PARALYZE); - if (targetActor->transparentStatus == STATUS_TRANSPARENT) { + if (targetActor->transparentStatus == STATUS_KEY_TRANSPARENT) { targetActorBlueprintBaseStatusChance = 0; } @@ -440,51 +445,51 @@ API_CALLABLE(N(AverageTargetParalyzeChance)) { } s32 N(IdleAnimations)[] = { - STATUS_NORMAL, ANIM_BattleWatt_Walk, - STATUS_STONE, ANIM_BattleWatt_Still, - STATUS_SLEEP, ANIM_BattleWatt_Sleep, - STATUS_POISON, ANIM_BattleWatt_Still, - STATUS_STOP, ANIM_BattleWatt_Still, - STATUS_DAZE, ANIM_BattleWatt_Injured, - STATUS_TURN_DONE, ANIM_BattleWatt_Still, + STATUS_KEY_NORMAL, ANIM_BattleWatt_Walk, + STATUS_KEY_STONE, ANIM_BattleWatt_Still, + STATUS_KEY_SLEEP, ANIM_BattleWatt_Sleep, + STATUS_KEY_POISON, ANIM_BattleWatt_Still, + STATUS_KEY_STOP, ANIM_BattleWatt_Still, + STATUS_KEY_DAZE, ANIM_BattleWatt_Injured, + STATUS_KEY_INACTIVE, ANIM_BattleWatt_Still, STATUS_END, }; s32 N(DefenseTable)[] = { - ELEMENT_NORMAL, 0, - ELEMENT_SHOCK, 99, + ELEMENT_NORMAL, 0, + ELEMENT_SHOCK, 99, ELEMENT_END, }; s32 N(StatusTable)[] = { - STATUS_NORMAL, 100, - STATUS_DEFAULT, 100, - STATUS_SLEEP, 100, - STATUS_POISON, 100, - STATUS_FROZEN, 100, - STATUS_DIZZY, 100, - STATUS_FEAR, 100, - STATUS_STATIC, 100, - STATUS_PARALYZE, 100, - STATUS_SHRINK, 100, - STATUS_STOP, 100, - STATUS_DEFAULT_TURN_MOD, 0, - STATUS_SLEEP_TURN_MOD, 0, - STATUS_POISON_TURN_MOD, 0, - STATUS_FROZEN_TURN_MOD, 0, - STATUS_DIZZY_TURN_MOD, 0, - STATUS_FEAR_TURN_MOD, 0, - STATUS_STATIC_TURN_MOD, 0, - STATUS_PARALYZE_TURN_MOD, 0, - STATUS_SHRINK_TURN_MOD, 0, - STATUS_STOP_TURN_MOD, 0, + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, STATUS_END, }; -ActorPartBlueprint N(parts)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, - .index = 1, + .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 10, 22 }, .opacity = 255, @@ -501,8 +506,8 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_WATT, .level = 0, .maxHP = 99, - .partCount = ARRAY_COUNT(N(parts)), - .partsData = N(parts), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), .initScript = &N(init), .statusTable = N(StatusTable), .escapeChance = 0, @@ -514,9 +519,9 @@ ActorBlueprint NAMESPACE = { .powerBounceChance = 80, .coinReward = 0, .size = { 34, 28 }, - .hpBarOffset = { 0, 0 }, + .healthBarOffset = { 0, 0 }, .statusIconOffset = { -10, 20 }, - .statusMessageOffset = { 10, 20 }, + .statusTextOffset = { 10, 20 }, }; EvtScript N(init) = { @@ -751,7 +756,7 @@ EvtScript N(charge) = { EVT_CALL(N(SetBackgroundAlpha), LVar9) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 9) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_IDLE) EVT_RETURN EVT_END }; @@ -898,7 +903,7 @@ EvtScript N(electroDash) = { EVT_CALL(StopLoopingSoundAtActor, ACTOR_PARTNER, 0) EVT_CALL(SetDamageSource, DMG_SRC_ELECTRO_DASH) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleWatt_Strain) - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 10) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_ATTACK) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(AddGoalPos, ACTOR_PARTNER, -5, 0, 0) EVT_CALL(FlyToGoal, ACTOR_PARTNER, 5, 0, EASING_LINEAR) @@ -991,7 +996,7 @@ EvtScript N(powerShock) = { EVT_CALL(N(UnkBackgroundFunc3)) EVT_SET(LVar9, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleWatt_StrainBigger) - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 10) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_ATTACK) EVT_THREAD EVT_LOOP(75 * DT) EVT_ADD(LVar9, 3) @@ -1000,7 +1005,7 @@ EvtScript N(powerShock) = { EVT_END_LOOP EVT_END_THREAD EVT_WAIT(75 * DT) - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 9) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_IDLE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_28A) EVT_THREAD EVT_SETF(LVar0, EVT_FLOAT(1.0)) @@ -1239,7 +1244,7 @@ EvtScript N(8023B450) = { EvtScript N(turboCharge) = { EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) - EVT_IF_FLAG(LVar0, STATUS_FLAG_SLEEP | STATUS_FLAG_FROZEN | STATUS_FLAG_FEAR | STATUS_FLAG_PARALYZE | STATUS_FLAG_DIZZY | STATUS_FLAG_STONE | STATUS_FLAG_STOP) + EVT_IF_FLAG(LVar0, STATUS_FLAGS_IMMOBILIZED) EVT_EXEC_WAIT(N(8023B450)) EVT_ELSE EVT_EXEC_WAIT(N(8023AE8C)) @@ -1289,7 +1294,7 @@ EvtScript N(megaShock) = { EVT_CALL(MoveBattleCamOver, 90 * DT) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_0, BTL_CAM_MODEX_0, TRUE) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleWatt_StrainBigger) - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 10) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_ATTACK) EVT_CALL(N(WattFXDisable)) EVT_CALL(GetActionResult, LVar1) EVT_WAIT(90 * DT) @@ -1302,7 +1307,7 @@ EvtScript N(megaShock) = { EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 9) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_IDLE) EVT_CALL(InitTargetIterator) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) @@ -1347,9 +1352,9 @@ EvtScript N(megaShock) = { EVT_GOTO(11) EVT_END_IF EVT_IF_EQ(LVarF, 100) - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, DMG_STATUS_ALWAYS(STATUS_FLAG_PARALYZE, 3), 254, 0, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, DMG_STATUS_ALWAYS(STATUS_FLAG_PARALYZE, 3), 254, 0, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_ELSE - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, DMG_STATUS_ALWAYS(STATUS_FLAG_PARALYZE, 3), LVarF, 0, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, DMG_STATUS_ALWAYS(STATUS_FLAG_PARALYZE, 3), LVarF, 0, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_END_IF EVT_LABEL(11) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) diff --git a/src/common/CanPlayerLoseAction.inc.c b/src/common/CanPlayerLoseAction.inc.c index 8b6e05eeda..e870d880df 100644 --- a/src/common/CanPlayerLoseAction.inc.c +++ b/src/common/CanPlayerLoseAction.inc.c @@ -4,7 +4,7 @@ API_CALLABLE(N(CanPlayerLoseAction)) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; - if (get_actor(script->owner1.actorID)->debuff != STATUS_SHRINK) { + if (get_actor(script->owner1.actorID)->debuff != STATUS_KEY_SHRINK) { if (gBattleStatus.hammerLossTurns == -1 || gBattleStatus.jumpLossTurns == -1 || gBattleStatus.itemLossTurns == -1) { evt_set_variable(script, *args++, 0); return ApiStatus_DONE2; diff --git a/src/common/ChompChainInit.inc.c b/src/common/ChompChainInit.inc.c deleted file mode 100644 index eadbea4b99..0000000000 --- a/src/common/ChompChainInit.inc.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "common.h" - -API_CALLABLE(N(ChompChainInit)) { - Actor* actor = get_actor(script->owner1.actorID); - ActorPart* actorPart; - ChompChainAnimationState* it; - s32 partOffset = 3; - f32 x, y, z; - s32 i; - - it = heap_malloc(8 * sizeof(ChompChainAnimationState)); - actor->state.functionTempPtr[0] = it; - - x = actor->currentPos.x + 12.0; - y = actor->currentPos.y + 5.0; - z = actor->currentPos.z; - - for (i = 0; i < 8; i++, it++) { - it->scale.x = 7.0f; - it->scale.z = 7.0f; - it->scale.y = 7.0f; - it->currentPos.x = x; - it->currentPos.y = y; - it->currentPos.z = z; - it->unk_1C = 0; - it->unk_20 = 0.6f; - it->unk_14 = 3.0f; - it->unk_18 = 0; - actorPart = get_actor_part(actor, partOffset + i); - actorPart->absolutePosition.x = it->currentPos.x; - actorPart->absolutePosition.y = it->currentPos.y; - actorPart->absolutePosition.z = it->currentPos.z; - } - return ApiStatus_DONE2; -} diff --git a/src/common/ChompChainUpdateHelperFunc.inc.c b/src/common/ChompChainUpdateHelperFunc.inc.c deleted file mode 100644 index 941cab9102..0000000000 --- a/src/common/ChompChainUpdateHelperFunc.inc.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "common.h" - -ApiStatus N(ChompChainUpdateHelperFunc)(ChompChainAnimationState* script, f32 magnitude, f32 angleDeg) { - f32 angle = DEG_TO_RAD(angleDeg); - f32 dirX = sin_rad(angle); - f32 dirY = cos_rad(angle); - - script->currentPos.x += -magnitude * dirX; - script->currentPos.y += magnitude * dirY; -} diff --git a/src/common/ChompChainUpdateHelperFunc2.inc.c b/src/common/ChompChainUpdateHelperFunc2.inc.c deleted file mode 100644 index 0310f7f270..0000000000 --- a/src/common/ChompChainUpdateHelperFunc2.inc.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "common.h" - -ApiStatus N(ChompChainUpdateHelperFunc2)(f32* x, f32 magnitude, f32 angleDeg) { - f32 angle = DEG_TO_RAD(angleDeg); - f32 dirX = sin_rad(angle); - f32 dirY = cos_rad(angle); - - *x = magnitude * dirY; -} diff --git a/src/common/ShrinkActor.inc.c b/src/common/ShrinkActor.inc.c index 56487875c3..09cde5a40f 100644 --- a/src/common/ShrinkActor.inc.c +++ b/src/common/ShrinkActor.inc.c @@ -13,7 +13,7 @@ API_CALLABLE(N(ShrinkActor)) { Actor* actor = get_actor(script->owner1.actorID); EffectInstance* effect = fx_shape_spell(0, var1, (f32) var2 + 5.0, var3, var4, var5, var6, var7); - if (actor->debuff == STATUS_SHRINK) { + if (actor->debuff == STATUS_KEY_SHRINK) { effect->data.footprint->unk_28 = 0.4f; } diff --git a/src/common/StarRodPowerUpEffect.inc.c b/src/common/StarRodPowerUpEffect.inc.c index 26e2d12621..6e42b87afb 100644 --- a/src/common/StarRodPowerUpEffect.inc.c +++ b/src/common/StarRodPowerUpEffect.inc.c @@ -32,7 +32,7 @@ API_CALLABLE(N(StarRodPowerUpEffect)) { f32 z = evt_get_variable(script, *args++); f32 arg4 = evt_get_float_variable(script, *args++); - if (actor->debuff == STATUS_SHRINK) { + if (actor->debuff == STATUS_KEY_SHRINK) { arg4 *= 0.4; } @@ -73,7 +73,7 @@ API_CALLABLE(N(StarRodPowerUpEffect)) { endedCount++; } else { #ifdef BOWSER_LARGE - if (actor->debuff != STATUS_SHRINK) { + if (actor->debuff != STATUS_KEY_SHRINK) { if (effectState->pos.y < 60.0) { effectState->pos.y += 4.5; } else if (effectState->pos.y < 90.0) { @@ -95,7 +95,7 @@ API_CALLABLE(N(StarRodPowerUpEffect)) { } } #else - if (actor->debuff != STATUS_SHRINK) { + if (actor->debuff != STATUS_KEY_SHRINK) { if (effectState->pos.y < 40.0) { effectState->pos.y += 3.0; } else if (effectState->pos.y < 60.0) { diff --git a/src/common/UnkAngleFunc2.inc.c b/src/common/UnkAngleFunc2.inc.c deleted file mode 100644 index 78d2ec018f..0000000000 --- a/src/common/UnkAngleFunc2.inc.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "common.h" - -// TODO: this include should have some scripts; see area_kmr_part_1/stage/kmr_03.c - -API_CALLABLE(N(UnkAngleFunc2)) { - Bytecode* args = script->ptrReadPos; - f32 var0 = evt_get_variable(script, *args++) / 10.0; - s32 a3 = *args++; - s32 a4 = *args++; - s32 a5 = *args++; - s32 a6 = *args++; - f32 temp1 = DEG_TO_RAD(var0); - f32 fout1 = sin_rad(temp1) * 150.0f + 0.0f; - f32 fout2 = sin_rad(temp1 * 8.0f) * 10.0f + 0.0f; - f32 fout3 = cos_rad(temp1) * 150.0f / 20.0f + -50.0f; - s32 outVal; - - evt_set_float_variable(script, a3, fout1); - evt_set_float_variable(script, a4, fout2); - evt_set_float_variable(script, a5, fout3); - - outVal = 0; - if (var0 > 90.0f && var0 < 270.0f) { - outVal = 180; - } - if ((s32)fabsf(90.0f - var0) < 45) { - outVal = 2.0f * (var0 - 45.0f); - } - if ((s32)fabsf(270.0f - var0) < 45) { - outVal = 2.0f * (var0 - 225.0f) + 180.0f; - } - evt_set_variable(script, a6, outVal); - - return ApiStatus_DONE2; -} diff --git a/src/common/UnkBattleFunc1.inc.c b/src/common/UnkBattleFunc1.inc.c deleted file mode 100644 index 5471fdfe8f..0000000000 --- a/src/common/UnkBattleFunc1.inc.c +++ /dev/null @@ -1,17 +0,0 @@ -#include "battle/battle.h" - -API_CALLABLE(N(UnkBattleFunc1)) { - Bytecode* args = script->ptrReadPos; - s32 var0 = evt_get_variable(script, *args++); - s32 var1 = evt_get_variable(script, *args++); - s32 var2 = evt_get_variable(script, *args++); - s32 var3 = evt_get_variable(script, *args++); - Actor* actor = get_actor(script->owner1.actorID); - - actor->unk_194 = (s8)(var0 - actor->actorBlueprint->statusIconOffset.x); - actor->unk_195 = (s8)(var1 - actor->actorBlueprint->statusIconOffset.y); - actor->unk_196 = (s8)(var2 - actor->actorBlueprint->statusMessageOffset.x); - actor->unk_197 = (s8)(var3 - actor->actorBlueprint->statusMessageOffset.y); - - return ApiStatus_DONE2; -} diff --git a/src/common/UnkEffect6CFunc.inc.c b/src/common/UnkEffect6CFunc.inc.c deleted file mode 100644 index 28f0a6b189..0000000000 --- a/src/common/UnkEffect6CFunc.inc.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "battle/battle.h" -#include "effects.h" - -API_CALLABLE(N(UnkEffect6CFunc)) { - Bytecode* args = script->ptrReadPos; - - evt_set_variable(script, *args++, (s32) fx_tattle_window(0, 106.0f, 144.0f, 0, 1.0f, 0)); - return ApiStatus_DONE2; -} diff --git a/src/common/battle/ChompChainSupport.inc.c b/src/common/battle/ChompChainSupport.inc.c new file mode 100644 index 0000000000..b1559a55ad --- /dev/null +++ b/src/common/battle/ChompChainSupport.inc.c @@ -0,0 +1,206 @@ +#include "common.h" + +// ---------------------------------------------------------------- +// Requirements + +// actor part of the first link in the chain +#ifndef CHOMP_CHAIN_FIRST_PART_IDX + #error CHOMP_CHAIN_FIRST_PART_IDX is not defined! +#endif + +// actor part of the last link in the chain +#ifndef CHOMP_CHAIN_LAST_PART_IDX + #error CHOMP_CHAIN_LAST_PART_IDX is not defined! +#endif + +// actor var index which determines if chain sounds can play +#ifndef CHOMP_CHAIN_AVAR_SOUNDS + #error CHOMP_CHAIN_AVAR_SOUNDS is not defined! +#endif + +// ---------------------------------------------------------------- +// Options + +// define this TRUE to enable updating the z-pos of the chain +// CHOMP_CHAIN_UPDATE_Z + +// ---------------------------------------------------------------- + +#define NUM_CHAIN_LINKS (1 + CHOMP_CHAIN_LAST_PART_IDX - CHOMP_CHAIN_FIRST_PART_IDX) + +API_CALLABLE(N(ChompChainInit)) { + Actor* actor = get_actor(script->owner1.actorID); + ActorPart* actorPart; + ChompChain* chainParts; + s32 baseChainPart = CHOMP_CHAIN_FIRST_PART_IDX; + f32 x, y, z; + s32 i; + + chainParts = heap_malloc(NUM_CHAIN_LINKS * sizeof(*chainParts)); + actor->state.functionTempPtr[0] = chainParts; + + x = actor->currentPos.x + 12.0; + y = actor->currentPos.y + 5.0; + z = actor->currentPos.z; + + for (i = 0; i < NUM_CHAIN_LINKS; i++, chainParts++) { + chainParts->outerLinkLen = 7.0f; + chainParts->linkLengthZ = 7.0f; + chainParts->innerLinkLen = 7.0f; + chainParts->currentPos.x = x; + chainParts->currentPos.y = y; + chainParts->currentPos.z = z; + chainParts->settleAmt = 0; + chainParts->settleRate = 0.6f; + chainParts->gravAccel = 3.0f; + chainParts->velY = 0; + actorPart = get_actor_part(actor, baseChainPart + i); + actorPart->absolutePosition.x = chainParts->currentPos.x; + actorPart->absolutePosition.y = chainParts->currentPos.y; + actorPart->absolutePosition.z = chainParts->currentPos.z; + } + return ApiStatus_DONE2; +} + +void N(ChompChainAddPolarPos)(ChompChain* script, f32 magnitude, f32 angleDeg) { + f32 angle = DEG_TO_RAD(angleDeg); + f32 dirX = sin_rad(angle); + f32 dirY = cos_rad(angle); + + script->currentPos.x += -magnitude * dirX; + script->currentPos.y += magnitude * dirY; +} + +void N(ChompChainGetPolarX)(f32* x, f32 magnitude, f32 angleDeg) { + f32 angle = DEG_TO_RAD(angleDeg); + f32 dirX = sin_rad(angle); + f32 dirY = cos_rad(angle); + + *x = magnitude * dirY; +} + +API_CALLABLE(N(ChompChainUpdate)) { + Bytecode* args = script->ptrReadPos; + f32 sp18; + Actor* actor; + ActorPart* part; + ChompChain* chain; + f32 dist; + f32 angle; + f32 prevX, prevY; + s32 baseChainPart; + s32 posZ; + s32 i; + + actor = get_actor(script->owner1.actorID); + if (actor == NULL) { + return ApiStatus_BLOCK; + } + + #if CHOMP_CHAIN_UPDATE_Z == TRUE + posZ = evt_get_variable(script, *args++); + #endif + + baseChainPart = CHOMP_CHAIN_FIRST_PART_IDX; + + // initialize prev positions to the rear of the actor's body + chain = actor->state.functionTempPtr[0]; + if (actor->debuff == STATUS_KEY_SHRINK) { + prevX = actor->currentPos.x + 6.0; + prevY = actor->currentPos.y + 2.5; + } else { + prevX = actor->currentPos.x + 12.0; + prevY = actor->currentPos.y + 5.0; + } + + // update each link in the chain + for (i = 0; i < NUM_CHAIN_LINKS; i++, chain++) { + if (actor->debuff == STATUS_KEY_SHRINK) { + chain->outerLinkLen = 3.5f; + chain->linkLengthZ = 3.5f; + chain->innerLinkLen = 3.5f; + } else { + chain->outerLinkLen = 7.0f; + chain->linkLengthZ = 7.0f; + chain->innerLinkLen = 7.0f; + } + + // add gravity and clamp velocity at -2G + chain->velY -= chain->gravAccel; + if (chain->velY < 2.0f * -chain->gravAccel) { + chain->velY = 2.0f * -chain->gravAccel; + if (actor->state.varTable[CHOMP_CHAIN_AVAR_SOUNDS] && i == 0) { + sfx_play_sound_at_position(SOUND_2063, SOUND_SPACE_MODE_0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z); + } + } + + // add velocity and clamp position to roughly the radius of the chain (assuming ground at y = 0) + chain->currentPos.y += chain->velY; + if (actor->debuff == STATUS_KEY_SHRINK) { + if (chain->currentPos.y < 2.5) { + chain->currentPos.y = 2.5f; + chain->velY = 0.0f; + } + } else { + if (chain->currentPos.y < 5.0) { + chain->currentPos.y = 5.0f; + chain->velY = 0.0f; + } + } + + // get distance from previous part of the chain + dist = dist2D(prevX, prevY, chain->currentPos.x, chain->currentPos.y); + angle = atan2(prevX, prevY, chain->currentPos.x, chain->currentPos.y); + + if (dist >= chain->linkLengthZ) { + N(ChompChainGetPolarX)(&sp18, dist - chain->linkLengthZ, angle); + chain->velY += sp18 * 0.5; + } + + if (dist >= chain->innerLinkLen) { + f32 moveLen; + + if (dist >= chain->outerLinkLen) { + // clamp position to be outerLinkLen away from previous part + moveLen = dist; + moveLen = dist - chain->outerLinkLen; + } else { + chain->settleAmt += chain->settleRate; + moveLen = chain->settleAmt; + } + N(ChompChainAddPolarPos)(chain, moveLen, angle); + } else { + chain->settleAmt -= chain->settleRate * 0.2; + if (chain->settleAmt < 0.0) { + chain->settleAmt = 0.0f; + } + N(ChompChainAddPolarPos)(chain, chain->settleAmt, angle); + } + if (chain->settleAmt > 4.0) { + chain->settleAmt = 4.0f; + } + + #if CHOMP_CHAIN_UPDATE_Z == TRUE + chain->currentPos.z = posZ; + #endif + + part = get_actor_part(actor, baseChainPart + i); + part->absolutePosition.x = chain->currentPos.x; + part->absolutePosition.y = chain->currentPos.y; + part->absolutePosition.z = chain->currentPos.z; + + if (actor->debuff == STATUS_KEY_SHRINK) { + part->scale.x = 0.5f; + part->scale.y = 0.5f; + part->scale.z = 1.0f; + } else { + part->scale.x = 1.0f; + part->scale.y = 1.0f; + part->scale.z = 1.0f; + } + prevX = chain->currentPos.x; + prevY = chain->currentPos.y; + } + + return ApiStatus_DONE2; +} diff --git a/src/common/battle/SetAbsoluteStatusOffsets.inc.c b/src/common/battle/SetAbsoluteStatusOffsets.inc.c new file mode 100644 index 0000000000..3fed525093 --- /dev/null +++ b/src/common/battle/SetAbsoluteStatusOffsets.inc.c @@ -0,0 +1,17 @@ +#include "battle/battle.h" + +API_CALLABLE(N(SetAbsoluteStatusOffsets)) { + Bytecode* args = script->ptrReadPos; + s32 iconX = evt_get_variable(script, *args++); + s32 iconY = evt_get_variable(script, *args++); + s32 textX = evt_get_variable(script, *args++); + s32 textY = evt_get_variable(script, *args++); + Actor* actor = get_actor(script->owner1.actorID); + + actor->statusIconOffset.x = (s8)(iconX - actor->actorBlueprint->statusIconOffset.x); + actor->statusIconOffset.y = (s8)(iconY - actor->actorBlueprint->statusIconOffset.y); + actor->statusTextOffset.x = (s8)(textX - actor->actorBlueprint->statusTextOffset.x); + actor->statusTextOffset.y = (s8)(textY - actor->actorBlueprint->statusTextOffset.y); + + return ApiStatus_DONE2; +} diff --git a/src/effects/attack_result_text.c b/src/effects/attack_result_text.c index db2a18bd14..4970f87977 100644 --- a/src/effects/attack_result_text.c +++ b/src/effects/attack_result_text.c @@ -34,7 +34,7 @@ void attack_result_text_render(EffectInstance* effect); void func_E0090428(EffectInstance* effect); void func_E0090444(EffectInstance* effect); -EffectInstance* attack_result_text_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) { +EffectInstance* attack_result_text_main(s32 type, f32 posX, f32 posY, f32 posZ, f32 appearVel, s32 duration) { EffectBlueprint bp; EffectInstance* effect; AttackResultTextFXData* data; @@ -54,32 +54,32 @@ EffectInstance* attack_result_text_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, ASSERT(data != NULL); - data->unk_24 = 1; + data->isVisible = TRUE; data->unk_20 = 0; - data->unk_00 = arg0; - data->unk_1C = 0; - data->unk_04 = arg0 % 5; + data->type = type; + data->lifetime = 0; + data->unk_04 = type % 5; - if (arg5 <= 0) { - data->unk_18 = 100; + if (duration <= 0) { + data->timeLeft = 100; } else { - data->unk_18 = arg5; + data->timeLeft = duration; } - data->unk_14 = 0xFF; + data->alpha = 0xFF; - if (arg0 < 5) { - data->unk_08 = arg1; - data->unk_0C = arg2; - data->unk_10 = arg3; - data->unk_30 = 2.0f * (-shim_sin_deg(30.0f) * arg4); - data->unk_34 = 2.0f * (shim_cos_deg(30.0f) * arg4); + if (type < 5) { + data->pos.x = posX; + data->pos.y = posY; + data->pos.z = posZ; + data->vel.x = 2.0f * (-shim_sin_deg(30.0f) * appearVel); + data->vel.y = 2.0f * (shim_cos_deg(30.0f) * appearVel); } else { - data->unk_08 = -100.0f; - data->unk_0C = 40.0f; - data->unk_10 = 0.0f; - data->unk_30 = 115.0f; - data->unk_34 = 0.0f; + data->pos.x = -100.0f; + data->pos.y = 40.0f; + data->pos.z = 0.0f; + data->vel.x = 115.0f; + data->vel.y = 0.0f; } return effect; @@ -90,73 +90,73 @@ void attack_result_text_init(EffectInstance* effect) { void attack_result_text_update(EffectInstance* effect) { AttackResultTextFXData* data = effect->data.attackResultText; - s32 unk_00 = data->unk_00; - s32 old_unk_1C; - s32 unk_1C; - s32 unk_18; + s32 type = data->type; + s32 prevTime; + s32 curTime; + s32 timeLeft; u32 temp1C; - if (data->unk_18 < 100) { - data->unk_18--; + if (data->timeLeft < 100) { + data->timeLeft--; } - old_unk_1C = data->unk_1C; - data->unk_1C++; - unk_1C = data->unk_1C; + prevTime = data->lifetime; + data->lifetime++; + curTime = data->lifetime; - if (data->unk_18 < 0) { - data->unk_24 = 0; - data->unk_18 = -1; + if (data->timeLeft < 0) { + data->isVisible = FALSE; + data->timeLeft = -1; shim_remove_effect(effect); return; } - unk_18 = data->unk_18; + timeLeft = data->timeLeft; - if (unk_00 < 5) { - if (data->unk_1C < 9) { - data->unk_28 = (f32) D_E0090A68[old_unk_1C] * 0.01; + if (type < 5) { + if (data->lifetime < 9) { + data->scale = (f32) D_E0090A68[prevTime] * 0.01; } - temp1C = old_unk_1C - 100; - if (unk_1C == 10) { - data->unk_1C = 9; + temp1C = prevTime - 100; + if (curTime == 10) { + data->lifetime = 9; } if (temp1C < 7) { - data->unk_28 = (f32) D_E0090A70[temp1C] * 0.01; + data->scale = (f32) D_E0090A70[temp1C] * 0.01; } - if (unk_1C == 109) { - data->unk_1C = 108; + if (curTime == 109) { + data->lifetime = 108; } - if (unk_1C > 1000) { - data->unk_1C = 1000; + if (curTime > 1000) { + data->lifetime = 1000; } - if (unk_18 >= 6) { - data->unk_30 *= 0.75; - data->unk_34 *= 0.75; + if (timeLeft >= 6) { + data->vel.x *= 0.75; + data->vel.y *= 0.75; } - if (unk_18 < 5) { - data->unk_30 *= 0.7; - data->unk_34 *= 0.7; + if (timeLeft < 5) { + data->vel.x *= 0.7; + data->vel.y *= 0.7; } } else { - if (unk_18 >= 6) { - data->unk_30 *= 0.7; - data->unk_34 *= 0.7; + if (timeLeft >= 6) { + data->vel.x *= 0.7; + data->vel.y *= 0.7; } - if (unk_18 < 5) { - data->unk_30 *= 0.6; - data->unk_34 *= 0.6; + if (timeLeft < 5) { + data->vel.x *= 0.6; + data->vel.y *= 0.6; } } - data->unk_08 += data->unk_30; - data->unk_0C += data->unk_34; + data->pos.x += data->vel.x; + data->pos.y += data->vel.y; if (data->unk_20 != 0) { data->unk_20 = 0; - data->unk_1C = 100; + data->lifetime = 100; data->unk_04++; if (data->unk_04 > 2) { data->unk_04 = 2; @@ -173,15 +173,15 @@ void func_E0090428(EffectInstance* effect) { void func_E0090444(EffectInstance* effect) { AttackResultTextFXData* data = effect->data.attackResultText; - s32 unk_00 = data->unk_00; - s32 unk_1C = data->unk_1C; - Matrix4f sp18; - Matrix4f sp58; + s32 type = data->type; + s32 unk_1C = data->lifetime; + Matrix4f mtxA; + Matrix4f mtxB; s32 z; f32 scale; - if (data->unk_24 != 0) { - scale = data->unk_28; + if (data->isVisible) { + scale = data->scale; gDPPipeSync(gMainGfxPos++); gSPSegment(gMainGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effect->graphics->data)); gDPSetDepthSource(gMainGfxPos++, G_ZS_PRIM); @@ -191,32 +191,32 @@ void func_E0090444(EffectInstance* effect) { } gDPSetPrimDepth(gMainGfxPos++, z, 0); - if (unk_00 < 5) { - shim_guTranslateF(sp18, data->unk_08, data->unk_0C, data->unk_10); - shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f); - shim_guMtxCatF(sp58, sp18, sp18); - shim_guScaleF(sp58, scale, scale, 1.0f); - shim_guMtxCatF(sp58, sp18, sp18); - shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + if (type < 5) { + shim_guTranslateF(mtxA, data->pos.x, data->pos.y, data->pos.z); + shim_guRotateF(mtxB, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f); + shim_guMtxCatF(mtxB, mtxA, mtxA); + shim_guScaleF(mtxB, scale, scale, 1.0f); + shim_guMtxCatF(mtxB, mtxA, mtxA); + shim_guMtxF2L(mtxA, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gDPSetPrimColor(gMainGfxPos++, 0, 0, 255, 255, 255, data->unk_14); + gDPSetPrimColor(gMainGfxPos++, 0, 0, 255, 255, 255, data->alpha); gSPDisplayList(gMainGfxPos++, D_090015A8_391978); gSPDisplayList(gMainGfxPos++, D_E0090A40[data->unk_04]); gSPDisplayList(gMainGfxPos++, D_E0090A54[data->unk_04]); gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW); } else { - unk_00 -= 5; - gDPSetPrimColor(gMainGfxPos++, 0, 0, D_E0090A78[unk_00][0], D_E0090A78[unk_00][1], D_E0090A78[unk_00][2], data->unk_14); - gDPSetEnvColor(gMainGfxPos++, D_E0090A78[unk_00][3], D_E0090A78[unk_00][4], D_E0090A78[unk_00][5], 0); + type -= 5; + gDPSetPrimColor(gMainGfxPos++, 0, 0, D_E0090A78[type][0], D_E0090A78[type][1], D_E0090A78[type][2], data->alpha); + gDPSetEnvColor(gMainGfxPos++, D_E0090A78[type][3], D_E0090A78[type][4], D_E0090A78[type][5], 0); gSPDisplayList(gMainGfxPos++, D_09001500_3918D0); gSPDisplayList(gMainGfxPos++, D_E0090A40[data->unk_04]); gSPScisTextureRectangle(gMainGfxPos++, - data->unk_08 * 4.0f, - data->unk_0C * 4.0f, - (data->unk_08 + 128.0f) * 4.0f, - (data->unk_0C + 64.0f) * 4.0f, + data->pos.x * 4.0f, + data->pos.y * 4.0f, + (data->pos.x + 128.0f) * 4.0f, + (data->pos.y + 64.0f) * 4.0f, G_TX_RENDERTILE, 0, 1024, 512, 65024); } gDPPipeSync(gMainGfxPos++); diff --git a/src/effects/confetti.c b/src/effects/confetti.c index 1e64e7817d..996ed616b5 100644 --- a/src/effects/confetti.c +++ b/src/effects/confetti.c @@ -16,18 +16,18 @@ Gfx* D_E0088CC0[] = { }; Color_RGB8 D_E0088CDC[] = { - { 232, 160, 168, }, - { 168, 80, 88, }, - { 160, 168, 232, }, - { 72, 72, 232, }, - { 160, 232, 160, }, - { 96, 176, 120, }, - { 224, 224, 88, }, - { 176, 160, 56, }, - { 232, 160, 232, }, - { 176, 64, 160, }, - { 160, 216, 216, }, - { 88, 168, 168, }, + { 232, 160, 168 }, + { 168, 80, 88 }, + { 160, 168, 232 }, + { 72, 72, 232 }, + { 160, 232, 160 }, + { 96, 176, 120 }, + { 224, 224, 88 }, + { 176, 160, 56 }, + { 232, 160, 232 }, + { 176, 64, 160 }, + { 160, 216, 216 }, + { 88, 168, 168 }, }; u8 D_E0088D00[] = { 0, 1, 2, 3, 2, 1, 0, 0 }; diff --git a/src/effects/damage_indicator.c b/src/effects/damage_indicator.c index e17082d197..6b59c3e6ea 100644 --- a/src/effects/damage_indicator.c +++ b/src/effects/damage_indicator.c @@ -69,58 +69,59 @@ f32 D_E003CD1C[] = { void damage_indicator_init(EffectInstance* effect); void damage_indicator_update(EffectInstance* effect); void damage_indicator_render(EffectInstance* effect); -void func_E003C47C(EffectInstance* effect); -void func_E003C498(EffectInstance* effect); +void damage_indicator_render_ui(EffectInstance* effect); +void damage_indicator_render_impl(EffectInstance* effect); -void damage_indicator_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, s32 numParts, EffectInstance** effectOut) { +void damage_indicator_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 starsRadius, f32 starsAngle, s32 damageAmt, EffectInstance** effectOut) { EffectBlueprint bp; EffectBlueprint* bpPtr = &bp; EffectInstance* effect; - f32 temp_f20; + f32 angle; DamageIndicatorFXData* part; - s32 origNumParts = numParts; + s32 trueDamageAmt = damageAmt; s32 i; - if (numParts > 20) { - numParts = 20; + // limit number of stars that can appear + if (damageAmt > 20) { + damageAmt = 20; } - numParts++; + damageAmt++; bp.init = damage_indicator_init; bp.update = damage_indicator_update; bp.renderWorld = damage_indicator_render; - bp.renderUI = func_E003C47C; + bp.renderUI = damage_indicator_render_ui; bp.unk_00 = 0; bp.effectID = EFFECT_DAMAGE_INDICATOR; effect = shim_create_effect_instance(bpPtr); - effect->numParts = numParts; + effect->numParts = damageAmt; - effect->data.damageIndicator = part = shim_general_heap_malloc(numParts * sizeof(*part)); + effect->data.damageIndicator = part = shim_general_heap_malloc(damageAmt * sizeof(*part)); ASSERT(effect->data.damageIndicator != NULL); part->unk_00 = arg0; - part->unk_04.x = arg1; - part->unk_04.y = arg2; - part->unk_04.z = arg3; - part->unk_28 = arg4; - part->effectDurationTimer = 100; - part->unk_34 = 0; - part->numParts = origNumParts; + part->basePos.x = posX; + part->basePos.y = posY; + part->basePos.z = posZ; + part->radius = starsRadius; + part->timeLeft = 100; + part->lifetime = 0; + part->damageAmt = trueDamageAmt; part++; - for (i = 1; i < numParts; i++, part++) { - part->unk_04.x = 0.0f; - part->unk_04.y = 0.0f; - part->unk_04.z = 0.0f; - part->unk_10.x = part->unk_04.x; - part->unk_10.y = part->unk_04.y; - part->unk_10.z = part->unk_04.z; - temp_f20 = arg5 + (((s32) ((((i % 2) * 2) - 1) * i) / 2) * (30.0f - numParts)); - part->unk_38 = 0.2f; - part->unk_1C.x = -shim_sin_deg(temp_f20) * arg4 * 1.5; - part->unk_1C.y = shim_cos_deg(temp_f20) * arg4 * 1.5; - part->unk_1C.z = 0; + for (i = 1; i < damageAmt; i++, part++) { + part->basePos.x = 0.0f; + part->basePos.y = 0.0f; + part->basePos.z = 0.0f; + part->curPos.x = part->basePos.x; + part->curPos.y = part->basePos.y; + part->curPos.z = part->basePos.z; + angle = starsAngle + (((s32) ((((i % 2) * 2) - 1) * i) / 2) * (30.0f - damageAmt)); + part->scale = 0.2f; + part->relPos.x = -shim_sin_deg(angle) * starsRadius * 1.5; + part->relPos.y = shim_cos_deg(angle) * starsRadius * 1.5; + part->relPos.z = 0; part->alpha = 255; } *effectOut = effect; @@ -130,24 +131,22 @@ void damage_indicator_init(EffectInstance* effect) { } void damage_indicator_update(EffectInstance* effect) { + DamageIndicatorFXData* part = effect->data.damageIndicator; s32 temp_a2; s32 temp_t0; - s32 duration; - DamageIndicatorFXData* part = effect->data.damageIndicator; + s32 timeLeft; f32 phi_f12; s32 i; - /* decrement duration timer */ - if (part->effectDurationTimer < 100) { - part->effectDurationTimer--; + if (part->timeLeft < 100) { + part->timeLeft--; } - temp_a2 = part->unk_34++; - temp_t0 = part->unk_34; - duration = part->effectDurationTimer; + temp_a2 = part->lifetime++; + temp_t0 = part->lifetime; + timeLeft = part->timeLeft; - /* if duration is less than 0, remove effect */ - if (duration < 0) { + if (timeLeft < 0) { shim_remove_effect(effect); return; } @@ -156,59 +155,63 @@ void damage_indicator_update(EffectInstance* effect) { for (i = 1; i < effect->numParts; i++, part++) { f32 x, y, z; - if (duration > 5) { - part->unk_1C.x = part->unk_1C.x * 0.75; - part->unk_1C.y = part->unk_1C.y * 0.75; - part->unk_1C.z = part->unk_1C.z * 0.75; + if (timeLeft > 5) { + part->relPos.x = part->relPos.x * 0.75; + part->relPos.y = part->relPos.y * 0.75; + part->relPos.z = part->relPos.z * 0.75; } - if (duration < 5) { + if (timeLeft < 5) { part->alpha = part->alpha * 0.6; - part->unk_1C.x = part->unk_1C.x * 0.7; - part->unk_1C.y = part->unk_1C.y * 0.7; - part->unk_1C.z = part->unk_1C.z * 0.7; + part->relPos.x = part->relPos.x * 0.7; + part->relPos.y = part->relPos.y * 0.7; + part->relPos.z = part->relPos.z * 0.7; } phi_f12 = 1.0f; if (temp_a2 < 9) { phi_f12 = D_E003CD1C[temp_a2]; } - part->unk_10.x = part->unk_04.x * phi_f12; - part->unk_10.y = part->unk_04.y * phi_f12; - part->unk_10.z = part->unk_04.z * phi_f12; - part->unk_04.x += part->unk_1C.x; - part->unk_04.y += part->unk_1C.y; - part->unk_04.z += part->unk_1C.z; + part->curPos.x = part->basePos.x * phi_f12; + part->curPos.y = part->basePos.y * phi_f12; + part->curPos.z = part->basePos.z * phi_f12; + part->basePos.x += part->relPos.x; + part->basePos.y += part->relPos.y; + part->basePos.z += part->relPos.z; - part->unk_38 = (temp_t0 <= 40) ? (f32)D_E003CCD0[temp_a2] * 0.01 : 0.0f; + if (temp_t0 <= 40) { + part->scale = (f32)D_E003CCD0[temp_a2] * 0.01; + } else { + part->scale = 0.0f; + } } } void damage_indicator_render(EffectInstance* effect) { } -void func_E003C47C(EffectInstance* effect) { - func_E003C498(effect); +void damage_indicator_render_ui(EffectInstance* effect) { + damage_indicator_render_impl(effect); } -void func_E003C498(EffectInstance* effect) { +void damage_indicator_render_impl(EffectInstance* effect) { DamageIndicatorFXData* part = effect->data.damageIndicator; - Matrix4f sp20; - Matrix4f sp60; + Matrix4f mtxTransform; + Matrix4f mtxTemp; s32 spA0; s32 lastPartIdx; - s32 numParts = part->numParts; + s32 numParts = part->damageAmt; s32 i; gDPPipeSync(gMainGfxPos++); gSPSegment(gMainGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effect->graphics->data)); - shim_guTranslateF(sp20, part->unk_04.x, part->unk_04.y, part->unk_04.z); - shim_guRotateF(sp60, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f); - shim_guMtxCatF(sp60, sp20, sp20); - shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + shim_guTranslateF(mtxTransform, part->basePos.x, part->basePos.y, part->basePos.z); + shim_guRotateF(mtxTemp, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f); + shim_guMtxCatF(mtxTemp, mtxTransform, mtxTransform); + shim_guMtxF2L(mtxTransform, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); - spA0 = part->unk_34 - 1; + spA0 = part->lifetime - 1; lastPartIdx = effect->numParts - 1; part = &(effect->data.damageIndicator)[effect->numParts - 1]; @@ -227,15 +230,18 @@ void func_E003C498(EffectInstance* effect) { gSPDisplayList(gMainGfxPos++, D_09001D40_351F60); if (i == lastPartIdx) { - shim_guPositionF(sp20, 0.0f, 0.0f, 0.0f, part->unk_38, part->unk_10.x, part->unk_10.y, part->unk_10.z); - shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + shim_guPositionF(mtxTransform, 0.0f, 0.0f, 0.0f, part->scale, part->curPos.x, part->curPos.y, part->curPos.z); + shim_guMtxF2L(mtxTransform, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); gSPDisplayList(gMainGfxPos++, D_09002150_352370); gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW); - shim_guPositionF(sp20, 0.0f, 0.0f, 0.0f, part->unk_38, (part->unk_10.x + part->unk_04.x) * 0.5, (part->unk_10.y + part->unk_04.y) * 0.5, (part->unk_10.z + part->unk_04.z) * 0.5); - shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + shim_guPositionF(mtxTransform, 0.0f, 0.0f, 0.0f, part->scale, + (part->curPos.x + part->basePos.x) * 0.5, + (part->curPos.y + part->basePos.y) * 0.5, + (part->curPos.z + part->basePos.z) * 0.5); + shim_guMtxF2L(mtxTransform, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); gSPDisplayList(gMainGfxPos++, D_09002160_352380); @@ -244,13 +250,13 @@ void func_E003C498(EffectInstance* effect) { gSPDisplayList(gMainGfxPos++, D_09001D40_351F60); - shim_guTranslateF(sp20, part->unk_04.x, part->unk_04.y, part->unk_04.z); - shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + shim_guTranslateF(mtxTransform, part->basePos.x, part->basePos.y, part->basePos.z); + shim_guMtxF2L(mtxTransform, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); - shim_guScaleF(sp20, part->unk_38, part->unk_38, 1.0f); - shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + shim_guScaleF(mtxTransform, part->scale, part->scale, 1.0f); + shim_guMtxF2L(mtxTransform, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); @@ -268,12 +274,12 @@ void func_E003C498(EffectInstance* effect) { gSPDisplayList(gMainGfxPos++, D_E003CCA0[i]); gSPDisplayList(gMainGfxPos++, D_090021C0_3523E0); } else { - s32 temp = numParts % 10; - s32 temp2 = numParts / 10; - gSPDisplayList(gMainGfxPos++, D_E003CCA0[temp]); - gSPDisplayList(gMainGfxPos++, D_09002200_352420); - gSPDisplayList(gMainGfxPos++, D_E003CCA0[temp2]); - gSPDisplayList(gMainGfxPos++, D_090021E0_352400); + s32 onesDigit = numParts % 10; + s32 tensDigit = numParts / 10; + gSPDisplayList(gMainGfxPos++, D_E003CCA0[onesDigit]); // GfxLoadDigitTex + gSPDisplayList(gMainGfxPos++, D_09002200_352420); // GfxDrawOnesQuad + gSPDisplayList(gMainGfxPos++, D_E003CCA0[tensDigit]); + gSPDisplayList(gMainGfxPos++, D_090021E0_352400); // GfxDrawTensQuad } } else { gSPDisplayList(gMainGfxPos++, D_09002190_3523B0); diff --git a/src/effects/embers.c b/src/effects/embers.c index 1411be9d8c..d595f067b4 100644 --- a/src/effects/embers.c +++ b/src/effects/embers.c @@ -54,11 +54,11 @@ EffectInstance* embers_main( ASSERT(effect->data.embers != NULL); part->unk_00 = arg0; - part->unk_1C = 0; + part->lifetime = 0; if (arg8 <= 0) { - part->unk_18 = 1000; + part->timeLeft = 1000; } else { - part->unk_18 = arg8; + part->timeLeft = arg8; } part->unk_2C = 0; part->unk_04 = arg1; @@ -96,38 +96,38 @@ void embers_update(EffectInstance* effect) { EmbersFXData* part = effect->data.embers; f32 unk_10; f32 unk_14; - s32 unk_1C; + s32 time; f32 unk_68; f32 unk_6C; s32 i; if (effect->flags & FX_INSTANCE_FLAG_DISMISS) { effect->flags &= ~FX_INSTANCE_FLAG_DISMISS; - part->unk_18 = 0x10; + part->timeLeft = 16; } - if (part->unk_18 < 1000) { - part->unk_18--; + if (part->timeLeft < 1000) { + part->timeLeft--; } - part->unk_1C++; - if (part->unk_1C > 324000) { - part->unk_1C = 256; + part->lifetime++; + if (part->lifetime > 324000) { + part->lifetime = 256; } - if (part->unk_18 < 0) { + if (part->timeLeft < 0) { shim_remove_effect(effect); return; } - unk_1C = part->unk_1C; + time = part->lifetime; - if (part->unk_18 < 16) { - part->unk_2C = part->unk_18 * 16; + if (part->timeLeft < 16) { + part->unk_2C = part->timeLeft * 16; } - if (unk_1C < 16) { - part->unk_2C = unk_1C * 16 + 15; + if (time < 16) { + part->unk_2C = time * 16 + 15; } unk_10 = part->unk_10; diff --git a/src/effects/floating_rock.c b/src/effects/floating_rock.c index fa5e4f209e..a9e9b5e2a6 100644 --- a/src/effects/floating_rock.c +++ b/src/effects/floating_rock.c @@ -16,7 +16,7 @@ void floating_rock_update(EffectInstance* effect); void floating_rock_render(EffectInstance* effect); void floating_rock_appendGfx(void* effect); -EffectInstance* floating_rock_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 arg8) { +EffectInstance* floating_rock_main(s32 type, f32 posX, f32 posY, f32 posZ, f32 floorY, f32 fallVelocity, f32 fallAccel, f32 scale, s32 duration) { EffectBlueprint bp; EffectInstance* effect; FloatingRockFXData* data; @@ -34,26 +34,27 @@ EffectInstance* floating_rock_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 a data = effect->data.floatingRock = shim_general_heap_malloc(numParts * sizeof(*data)); ASSERT(effect->data.floatingRock != NULL); - data->unk_00 = arg0; - data->unk_04 = arg1; - data->unk_08 = arg2; - data->unk_0C = arg3; - data->unk_10 = arg4; - data->unk_18 = arg5; - data->unk_20 = arg6; - data->unk_48 = arg8; - data->unk_4C = 0; - data->unk_14 = 0; - data->unk_1C = 0; - data->unk_24 = 0; - data->unk_28 = shim_rand_int(360); - data->unk_2C = shim_rand_int(360); - data->unk_30.x = 0; - data->unk_44 = 255; + data->type = type; + data->pos.x = posX; + data->pos.y = posY; + data->pos.z = posZ; + data->floorY = floorY; + data->vel.y = fallVelocity; + data->fallAccel = fallAccel; + data->timeLeft = duration; + data->lifetime = 0; + data->vel.x = 0; + data->vel.z = 0; + data->rot.x = 0; + data->rot.y = shim_rand_int(360); + data->rot.z = shim_rand_int(360); + data->rotVel.x = 0.0f; + data->rotVel.z = 20.0f; + data->rotVel.y = -20.0f; + + data->scale = 2.0f * scale; + data->alpha = 255; data->unk_40 = 0; - data->unk_30.z = 20.0f; - data->unk_30.y = -20.0f; - data->unk_3C = 2.0f * arg7; return effect; } @@ -63,32 +64,32 @@ void floating_rock_init(EffectInstance* effect) { void floating_rock_update(EffectInstance* effect) { FloatingRockFXData* data = effect->data.floatingRock; - s32 unk48; + s32 time; - data->unk_48--; - data->unk_4C++; - if (data->unk_48 < 0) { + data->timeLeft--; + data->lifetime++; + if (data->timeLeft < 0) { shim_remove_effect(effect); return; } - unk48 = data->unk_48; - if (data->unk_08 != data->unk_10) { - data->unk_18 += data->unk_20; - data->unk_08 += data->unk_18; - data->unk_24 += data->unk_30.x; - data->unk_2C += data->unk_30.z; - data->unk_28 += data->unk_30.y; - if (data->unk_08 <= data->unk_10) { - data->unk_08 = data->unk_10; + time = data->timeLeft; + if (data->pos.y != data->floorY) { + data->vel.y += data->fallAccel; + data->pos.y += data->vel.y; + data->rot.x += data->rotVel.x; + data->rot.z += data->rotVel.z; + data->rot.y += data->rotVel.y; + if (data->pos.y <= data->floorY) { + data->pos.y = data->floorY; shim_load_effect(EFFECT_DUST); - dust_main(2, data->unk_04, data->unk_08, data->unk_0C, 20); - data->unk_48 = 30; + dust_main(2, data->pos.x, data->pos.y, data->pos.z, 20); + data->timeLeft = 30; } } - if (unk48 < 10) { - data->unk_44 *= 0.8; + if (time < 10) { + data->alpha *= 0.8; } } @@ -99,7 +100,7 @@ void floating_rock_render(EffectInstance *effect) { renderTask.appendGfx = floating_rock_appendGfx; renderTask.appendGfxArg = effect; - renderTask.distance = effect76->unk_0C; + renderTask.distance = effect76->pos.z; renderTask.renderMode = RENDER_MODE_2D; retTask = shim_queue_render_task(&renderTask); @@ -108,26 +109,26 @@ void floating_rock_render(EffectInstance *effect) { void floating_rock_appendGfx(void* effect) { FloatingRockFXData* data = ((EffectInstance*)effect)->data.floatingRock; - s32 unk_44 = data->unk_44; - Matrix4f sp20; + s32 alpha = data->alpha; + Matrix4f mtxTransform; gDPPipeSync(gMainGfxPos++); gSPSegment(gMainGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); - shim_guPositionF(sp20, data->unk_24, data->unk_2C, data->unk_28, data->unk_3C, data->unk_04, data->unk_08, data->unk_0C); - shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + shim_guPositionF(mtxTransform, data->rot.x, data->rot.z, data->rot.y, data->scale, data->pos.x, data->pos.y, data->pos.z); + shim_guMtxF2L(mtxTransform, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); - gDPSetPrimColor(gMainGfxPos++, 0, 0, 215, 215, 110, unk_44); + gDPSetPrimColor(gMainGfxPos++, 0, 0, 215, 215, 110, alpha); - if (unk_44 != 255) { + if (alpha != 255) { gDPSetRenderMode(gMainGfxPos++, G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2); } else { gDPSetRenderMode(gMainGfxPos++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); } gSPDisplayList(gMainGfxPos++, D_09000450_396540); - gSPDisplayList(gMainGfxPos++, D_E0098510[data->unk_00]); + gSPDisplayList(gMainGfxPos++, D_E0098510[data->type]); gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW); gDPPipeSync(gMainGfxPos++); } diff --git a/src/encounter.c b/src/encounter.c index 91bb7ac636..55cb7e5d70 100644 --- a/src/encounter.c +++ b/src/encounter.c @@ -27,7 +27,7 @@ ApiStatus PlayMerleeOrbFX(Evt* script, s32 isInitialCall); s32 D_80077C40 = 0; -EvtScript D_80077C44 = { +EvtScript EVS_MerleeDropCoins = { EVT_WAIT(10) EVT_CALL(FadeBackgroundToBlack) EVT_WAIT(10) @@ -66,7 +66,7 @@ EvtScript D_80077C44 = { EVT_END }; -EvtScript SCRIPT_NpcDefeat = { +EvtScript EVS_NpcDefeat = { EVT_CALL(GetBattleOutcome, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(OUTCOME_PLAYER_WON) @@ -78,13 +78,13 @@ EvtScript SCRIPT_NpcDefeat = { EVT_END }; -EvtScript D_80077E9C = { +EvtScript EVS_FleeBattleDrops = { EVT_CALL(OnFleeBattleDrops) EVT_RETURN EVT_END }; -EnemyDrops D_80077EB8 = { +EnemyDrops DefaultEnemyDrops = { .dropFlags = NPC_DROP_FLAG_80, .itemDropChance = 10, .itemDrops = { @@ -1640,7 +1640,7 @@ void update_encounters_post_battle(void) { case ENCOUNTER_SUBSTATE_POST_BATTLE_WON_CHECK_MERLEE_BONUS: if (currentEncounter->hasMerleeCoinBonus) { if (get_coin_drop_amount(currentEncounter->currentEnemy) != 0) { - D_800A0BB0 = start_script(&D_80077C44, EVT_PRIORITY_A, 0); + D_800A0BB0 = start_script(&EVS_MerleeDropCoins, EVT_PRIORITY_A, 0); D_800A0BB0->groupFlags = 0; D_800A0BB4 = D_800A0BB0->id; } else { @@ -1682,7 +1682,7 @@ void update_encounters_post_battle(void) { script->groupFlags = 0; currentEncounter->battleStartCountdown = 1; } else { - script = start_script_in_group(&SCRIPT_NpcDefeat, EVT_PRIORITY_A, 0, 0); + script = start_script_in_group(&EVS_NpcDefeat, EVT_PRIORITY_A, 0, 0); enemy->defeatScript = script; enemy->defeatScriptID = script->id; script->owner1.enemy = enemy; @@ -1895,7 +1895,7 @@ void update_encounters_post_battle(void) { enemy = currentEncounter->currentEnemy; if (!(currentEncounter->flags & ENCOUNTER_STATUS_FLAG_4)) { - script = start_script(&D_80077E9C, EVT_PRIORITY_A, 0); + script = start_script(&EVS_FleeBattleDrops, EVT_PRIORITY_A, 0); enemy->defeatScript = script; enemy->defeatScriptID = script->id; script->owner1.enemy = enemy; @@ -2375,7 +2375,7 @@ s32 check_conversation_trigger(void) { playerStatus->encounteredNPC = npc; playerStatus->flags |= PS_FLAG_HAS_CONVERSATION_NPC; if (playerStatus->pressedButtons & BUTTON_A) { - close_status_menu(); + close_status_bar(); gCurrentEncounter.hitType = ENCOUNTER_TRIGGER_CONVERSATION; enemy->encountered = ENCOUNTER_TRIGGER_CONVERSATION; encounterStatus->currentEncounter = encounter; @@ -2471,7 +2471,7 @@ void create_encounters(void) { npcSettings = enemy->npcSettings = npcData->settings; enemy->drops = &npcData->drops; if ((*(s16*)(&npcData->drops) & 0xFF00) != 0x8000) { //TODO s16? - enemy->drops = &D_80077EB8; + enemy->drops = &DefaultEnemyDrops; } enemy->encountered = 0; if ((s32) npcData->init < EVT_LIMIT) { diff --git a/src/encounter_api.c b/src/encounter_api.c index 93f8fbcac8..c2035e53d0 100644 --- a/src/encounter_api.c +++ b/src/encounter_api.c @@ -183,7 +183,7 @@ ApiStatus DoNpcDefeat(Evt* script, s32 isInitialCall) { kill_script(script); npc->currentAnim = owner->animList[6]; - newScript = start_script(&SCRIPT_NpcDefeat, EVT_PRIORITY_A, 0); + newScript = start_script(&EVS_NpcDefeat, EVT_PRIORITY_A, 0); owner->defeatScript = newScript; owner->defeatScriptID = newScript->id; newScript->owner1.enemy = owner; diff --git a/src/entity/ItemBlock.c b/src/entity/ItemBlock.c index 72c2e58dea..2e542a3020 100644 --- a/src/entity/ItemBlock.c +++ b/src/entity/ItemBlock.c @@ -56,23 +56,23 @@ void entity_HitItemBlock_appear(Entity* entity) { void entity_ItemBlock_spawn_item(Entity* entity) { BlockData* data = entity->dataBuf.block; - s32 facingAngle; + s32 angle; if (data->item == 0 || (entity->flags & ENTITY_FLAG_100000)) { return; } - facingAngle = player_get_camera_facing_angle(); + angle = player_get_camera_facing_angle(); entity->flags |= ENTITY_FLAG_100000; if (data->item == ITEM_COIN) { make_item_entity(ITEM_COIN, entity->position.x, entity->position.y + 28.0, entity->position.z, - ITEM_SPAWN_MODE_ITEM_BLOCK_COIN, 0, facingAngle, data->gameFlagIndex); + ITEM_SPAWN_MODE_ITEM_BLOCK_COIN, 0, angle, data->gameFlagIndex); } else { - facingAngle += 360; + angle += 360; make_item_entity(data->item, entity->position.x, entity->position.y + 20.0, entity->position.z, (gItemTable[data->item].typeFlags & ITEM_TYPE_FLAG_BADGE) ? ITEM_SPAWN_MODE_ITEM_BLOCK_BADGE : ITEM_SPAWN_MODE_ITEM_BLOCK_ITEM, - 0, facingAngle, data->gameFlagIndex); + 0, angle, data->gameFlagIndex); } } diff --git a/src/evt/f8f60_len_1560.c b/src/evt/f8f60_len_1560.c index d6407c894c..fa916d0d31 100644 --- a/src/evt/f8f60_len_1560.c +++ b/src/evt/f8f60_len_1560.c @@ -503,25 +503,28 @@ ApiStatus GetValueByRef(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus EnableStatusMenu(Evt* script, s32 isInitialCall) { +ApiStatus EnableWorldStatusBar(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; - if (evt_get_variable(script, *args++) != 0) { - decrement_status_menu_disabled(); + b32 shouldEnable = evt_get_variable(script, *args++); + + if (shouldEnable) { + decrement_status_bar_disabled(); } else { - increment_status_menu_disabled(); + increment_status_bar_disabled(); } return ApiStatus_DONE2; } -ApiStatus ShowStatusMenu(Evt* script, s32 isInitialCall) { +ApiStatus ShowWorldStatusBar(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; + b32 shouldShow = evt_get_variable(script, *args++); - if (evt_get_variable(script, *args++) != 0) { - status_menu_ignore_changes(); - close_status_menu(); + if (shouldShow) { + status_bar_ignore_changes(); + close_status_bar(); } else { - status_menu_respond_to_changes(); + status_bar_respond_to_changes(); } return ApiStatus_DONE2; diff --git a/src/evt/fa4c0_len_3bf0.c b/src/evt/fa4c0_len_3bf0.c index 1093ea518a..c2ff5b1349 100644 --- a/src/evt/fa4c0_len_3bf0.c +++ b/src/evt/fa4c0_len_3bf0.c @@ -285,7 +285,7 @@ ApiStatus ShowKeyChoicePopup(Evt* script, s32 isInitialCall) { disable_player_input(); disable_player_static_collisions(); partner_disable_input(); - close_status_menu(); + close_status_bar(); numEntries = 0; gOverrideFlags |= GLOBAL_OVERRIDES_40; @@ -376,7 +376,7 @@ ApiStatus ShowConsumableChoicePopup(Evt* script, s32 isInitialCall) { disable_player_input(); disable_player_static_collisions(); partner_disable_input(); - close_status_menu(); + close_status_bar(); numEntries = 0; gOverrideFlags |= GLOBAL_OVERRIDES_40; diff --git a/src/evt/player_api.c b/src/evt/player_api.c index 7d6fbfe754..3566a51fe5 100644 --- a/src/evt/player_api.c +++ b/src/evt/player_api.c @@ -41,7 +41,7 @@ ApiStatus DisablePlayerInput(Evt* script, s32 isInitialCall) { if (enable) { disable_player_input(); partner_disable_input(); - close_status_menu(); + close_status_bar(); func_800E984C(); if (playerStatus->actionState == ACTION_STATE_SPIN) { playerStatus->animFlags |= PA_FLAG_INTERRUPT_SPIN; diff --git a/src/pause/pause_main.c b/src/pause/pause_main.c index faf84b74e0..cd9ad323c3 100644 --- a/src/pause/pause_main.c +++ b/src/pause/pause_main.c @@ -650,7 +650,7 @@ void pause_init(void) { posX -= 45; } } - pauseWindows = &gWindows[25]; + pauseWindows = &gWindows[WINDOW_ID_PAUSE_TAB_STATS]; x = pauseWindows[gPausePanels[0]->col].pos.x; gWindows[WINDOW_ID_PAUSE_TAB_INVIS].pos.x = x + 6; diff --git a/src/sprite.h b/src/sprite.h index d445ad98b2..05b18e3498 100644 --- a/src/sprite.h +++ b/src/sprite.h @@ -4,6 +4,7 @@ #include "common.h" #define SPR_PLAYER_COLOR_VARIATIONS 6 +#define SPR_PEACH_BTL_PAL_STRIDE 4 enum SpriteIDFields { SPRITE_ID_ANIM_MASK = 0x000000FF, diff --git a/src/state_battle.c b/src/state_battle.c index cb6b5211a1..861aacf253 100644 --- a/src/state_battle.c +++ b/src/state_battle.c @@ -86,7 +86,7 @@ void state_step_battle(void) { clear_worker_list(); hud_element_set_aux_cache(NULL, 0); hud_element_clear_cache(); - reset_status_menu(); + reset_status_bar(); clear_item_entity_data(); clear_script_list(); clear_npcs(); diff --git a/src/state_file_select.c b/src/state_file_select.c index 5629cb9b95..c2dfc026d2 100644 --- a/src/state_file_select.c +++ b/src/state_file_select.c @@ -147,7 +147,7 @@ void state_step_language_select(void) { clear_worker_list(); hud_element_set_aux_cache(&D_80200000, 0x20000); hud_element_clear_cache(); - reset_status_menu(); + reset_status_bar(); clear_item_entity_data(); clear_script_list(); clear_npcs(); @@ -325,7 +325,7 @@ void state_step_exit_language_select(void) { calculate_model_sizes(); npc_reload_all(); - status_menu_respond_to_changes(); + status_bar_respond_to_changes(); set_time_freeze_mode(TIME_FREEZE_PARTIAL); } set_windows_visible(WINDOW_GROUP_ALL); diff --git a/src/state_pause.c b/src/state_pause.c index 0afd88d5bc..ebb7336c59 100644 --- a/src/state_pause.c +++ b/src/state_pause.c @@ -92,7 +92,7 @@ void state_step_pause(void) { clear_worker_list(); hud_element_set_aux_cache(D_80200000, 0x38000); // TODO shiftability (what should this symbol be?) hud_element_clear_cache(); - reset_status_menu(); + reset_status_bar(); clear_item_entity_data(); clear_script_list(); clear_npcs(); @@ -203,7 +203,7 @@ void state_step_unpause(void) { calculate_model_sizes(); npc_reload_all(); set_windows_visible(WINDOW_GROUP_ALL); - status_menu_respond_to_changes(); + status_bar_respond_to_changes(); set_time_freeze_mode(TIME_FREEZE_PARTIAL); D_800A0921 = 3; gPlayerStatus.alpha2 = gPlayerStatus.alpha1 - 1; diff --git a/src/status_icons.c b/src/status_icons.c index 1170f8600d..370c81d832 100644 --- a/src/status_icons.c +++ b/src/status_icons.c @@ -365,28 +365,28 @@ void update_all_status_icons(void* data) { if (icon->status1.activeTask == STATUS_ICON_TASK_LOAD) { switch (icon->status1.active) { - case STATUS_SLEEP: + case STATUS_KEY_SLEEP: elementID = icon->status1.activeElementID = hud_element_create(&HES_AsleepBegin); break; - case STATUS_PARALYZE: + case STATUS_KEY_PARALYZE: elementID = icon->status1.activeElementID = hud_element_create(&HES_ParalyzedBegin); break; - case STATUS_DIZZY: + case STATUS_KEY_DIZZY: elementID = icon->status1.activeElementID = hud_element_create(&HES_DizzyBegin); break; - case STATUS_FEAR: + case STATUS_KEY_FEAR: elementID = icon->status1.activeElementID = hud_element_create(&HES_WeakenedLoop); break; - case STATUS_STOP: + case STATUS_KEY_STOP: elementID = icon->status1.activeElementID = hud_element_create(&HES_StoppedBegin); break; - case STATUS_POISON: + case STATUS_KEY_POISON: elementID = icon->status1.activeElementID = hud_element_create(&HES_PoisonedBegin); break; - case STATUS_SHRINK: + case STATUS_KEY_SHRINK: elementID = icon->status1.activeElementID = hud_element_create(&HES_ShrunkBegin); break; - case STATUS_FROZEN: + case STATUS_KEY_FROZEN: elementID = icon->status1.activeElementID = hud_element_create(&HES_FrozenBegin); break; default: @@ -403,28 +403,28 @@ void update_all_status_icons(void* data) { break; case STATUS_ICON_TASK_LOAD: switch (icon->status1.removing) { - case STATUS_SLEEP: + case STATUS_KEY_SLEEP: hud_element_set_script(icon->status1.removingElementID, &HES_AsleepEnd); break; - case STATUS_PARALYZE: + case STATUS_KEY_PARALYZE: hud_element_set_script(icon->status1.removingElementID, &HES_ParalyzedEnd); break; - case STATUS_DIZZY: + case STATUS_KEY_DIZZY: hud_element_set_script(icon->status1.removingElementID, &HES_DizzyEnd); break; - case STATUS_FEAR: + case STATUS_KEY_FEAR: hud_element_set_script(icon->status1.removingElementID, &HES_WeakenedLoop); break; - case STATUS_STOP: + case STATUS_KEY_STOP: hud_element_set_script(icon->status1.removingElementID, &HES_StoppedEnd); break; - case STATUS_POISON: + case STATUS_KEY_POISON: hud_element_set_script(icon->status1.removingElementID, &HES_PoisonedEnd); break; - case STATUS_SHRINK: + case STATUS_KEY_SHRINK: hud_element_set_script(icon->status1.removingElementID, &HES_ShrunkEnd); break; - case STATUS_FROZEN: + case STATUS_KEY_FROZEN: hud_element_set_script(icon->status1.removingElementID, &HES_FrozenEnd); break; default: @@ -449,7 +449,7 @@ void update_all_status_icons(void* data) { if (icon->status2.activeTask == STATUS_ICON_TASK_LOAD) { switch (icon->status2.active) { - case STATUS_STATIC: + case STATUS_KEY_STATIC: elementID = icon->status2.activeElementID = hud_element_create(&HES_ElectrifiedBegin); break; default: @@ -467,7 +467,7 @@ void update_all_status_icons(void* data) { break; case STATUS_ICON_TASK_LOAD: switch (icon->status2.removing) { - case STATUS_STATIC: + case STATUS_KEY_STATIC: hud_element_set_script(icon->status2.removingElementID, &HES_ElectrifiedEnd); break; default: @@ -491,7 +491,7 @@ void update_all_status_icons(void* data) { if (icon->status3.activeTask == STATUS_ICON_TASK_LOAD) { switch (icon->status3.active) { - case STATUS_TRANSPARENT: + case STATUS_KEY_TRANSPARENT: elementID = icon->status3.activeElementID = hud_element_create(&HES_TransparentBegin); break; default: @@ -509,7 +509,7 @@ void update_all_status_icons(void* data) { break; case STATUS_ICON_TASK_LOAD: switch (icon->status3.removing) { - case STATUS_TRANSPARENT: + case STATUS_KEY_TRANSPARENT: hud_element_set_script(icon->status3.removingElementID, &HES_TransparentEnd); break; default: @@ -1060,7 +1060,7 @@ void remove_status_debuff(s32 iconID) { if (statusIcon->status1.active && !statusIcon->status1.removing) { statusIcon->status1.removing = statusIcon->status1.active; statusIcon->status1.removingTask = STATUS_ICON_TASK_LOAD; - statusIcon->status1.active = STATUS_END; + statusIcon->status1.active = 0; statusIcon->status1.activeTask = STATUS_ICON_TASK_NONE; statusIcon->status1.frameCounter = 10; statusIcon->status1.removingElementID = statusIcon->status1.activeElementID; diff --git a/src/world/action/hit_fire.c b/src/world/action/hit_fire.c index 6ceb17feb6..8cd9dcc744 100644 --- a/src/world/action/hit_fire.c +++ b/src/world/action/hit_fire.c @@ -29,7 +29,7 @@ void action_update_hit_fire(void) { ReturnAngle = atan2(playerStatus->position.x, playerStatus->position.z, playerStatus->lastGoodPosition.x, playerStatus->lastGoodPosition.z); playerStatus->currentSpeed = get_xz_dist_to_player(playerStatus->lastGoodPosition.x, playerStatus->lastGoodPosition.z) / 18.0f; subtract_hp(1); - open_status_menu_long(); + open_status_bar_long(); gOverrideFlags |= GLOBAL_OVERRIDES_40; } diff --git a/src/world/action/hit_lava.c b/src/world/action/hit_lava.c index a9e7efc305..31704df89a 100644 --- a/src/world/action/hit_lava.c +++ b/src/world/action/hit_lava.c @@ -46,7 +46,7 @@ void action_update_hit_lava(void) { gCameras[CAM_DEFAULT].moveFlags |= (CAMERA_MOVE_IGNORE_PLAYER_Y | CAMERA_MOVE_FLAG_2); LaunchInterpPhase = 90.0f; subtract_hp(1); - open_status_menu_long(); + open_status_bar_long(); gOverrideFlags |= GLOBAL_OVERRIDES_40; sfx_play_sound_at_player(SOUND_E8, SOUND_SPACE_MODE_0); } diff --git a/src/world/area_arn/arn_07/arn_07_5_npc.c b/src/world/area_arn/arn_07/arn_07_5_npc.c index dc30124f1a..363c195077 100644 --- a/src/world/area_arn/arn_07/arn_07_5_npc.c +++ b/src/world/area_arn/arn_07/arn_07_5_npc.c @@ -11,7 +11,7 @@ API_CALLABLE(N(UpgradeStarPowerCh3)) { set_max_SP(3); gPlayerData.curHP = gPlayerData.curMaxHP; gPlayerData.curFP = gPlayerData.curMaxFP; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_end/end_00/end_00_1_main.c b/src/world/area_end/end_00/end_00_1_main.c index 250164b480..0aff320cdc 100644 --- a/src/world/area_end/end_00/end_00_1_main.c +++ b/src/world/area_end/end_00/end_00_1_main.c @@ -8,7 +8,7 @@ EvtScript N(EVS_Main) = { EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) EVT_CALL(FadeOutMusic, 0, 500) EVT_CALL(ClearAmbientSounds, 250) - EVT_CALL(EnableStatusMenu, FALSE) + EVT_CALL(EnableWorldStatusBar, FALSE) EVT_WAIT(30) EVT_EXEC(N(EVS_ManageParade)) EVT_RETURN diff --git a/src/world/area_end/end_00/end_00_3_parade_setup.c b/src/world/area_end/end_00/end_00_3_parade_setup.c index 888f0d3e53..9479244de8 100644 --- a/src/world/area_end/end_00/end_00_3_parade_setup.c +++ b/src/world/area_end/end_00/end_00_3_parade_setup.c @@ -208,11 +208,11 @@ EvtScript N(EVS_TexPan_Water) = { }; AnimID N(ExtraAnims_Tutankoopa)[] = { - ANIM_Tutankoopa_Anim02, - ANIM_Tutankoopa_Anim06, - ANIM_Tutankoopa_Anim09, - ANIM_Tutankoopa_Anim01, - ANIM_Tutankoopa_Anim04, + ANIM_Tutankoopa_Run, + ANIM_Tutankoopa_Hurt, + ANIM_Tutankoopa_LevitateStill, + ANIM_Tutankoopa_Idle, + ANIM_Tutankoopa_Lift, ANIM_LIST_END }; @@ -512,13 +512,13 @@ ParadeNpcInfo N(ParadeNpcsTable)[] = { .yaw = 270.0f }, [NPC_Tutankoopa1] { - .initialAnim = ANIM_Tutankoopa_Anim02, + .initialAnim = ANIM_Tutankoopa_Run, .animList = N(ExtraAnims_Tutankoopa), .pos = { -1040.0f, 0.0f, 30.0f }, .yaw = 270.0f }, [NPC_ChainChomp1] { - .initialAnim = ANIM_ChainChomp_Anim03, + .initialAnim = ANIM_ChainChomp_QuickBite, .pos = { -1000.0f, 0.0f, 30.0f }, .yaw = 270.0f }, @@ -549,23 +549,23 @@ ParadeNpcInfo N(ParadeNpcsTable)[] = { .yaw = 270.0f }, [NPC_Tutankoopa2] { - .initialAnim = ANIM_Tutankoopa_Anim02, + .initialAnim = ANIM_Tutankoopa_Run, .animList = N(ExtraAnims_Tutankoopa), .pos = { 0.0f, -500.0f, 0.0f }, .yaw = 90.0f }, [NPC_ChainChomp2] { - .initialAnim = ANIM_ChainChomp_Anim03, + .initialAnim = ANIM_ChainChomp_QuickBite, .pos = { 0.0f, -500.0f, 0.0f }, .yaw = 90.0f }, [NPC_ChainChomp3] { - .initialAnim = ANIM_ChainChomp_Anim03, + .initialAnim = ANIM_ChainChomp_QuickBite, .pos = { 0.0f, -500.0f, 0.0f }, .yaw = 90.0f }, [NPC_ChainChomp4] { - .initialAnim = ANIM_ChainChomp_Anim03, + .initialAnim = ANIM_ChainChomp_QuickBite, .pos = { 0.0f, -500.0f, 0.0f }, .yaw = 90.0f }, diff --git a/src/world/area_end/end_00/end_00_6_caravan.c b/src/world/area_end/end_00/end_00_6_caravan.c index 8c12316b76..8f41b34de7 100644 --- a/src/world/area_end/end_00/end_00_6_caravan.c +++ b/src/world/area_end/end_00/end_00_6_caravan.c @@ -125,7 +125,7 @@ EvtScript N(EVS_ParadePhase_Caravan) = { EVT_CALL(SetNpcPos, NPC_Tutankoopa1, -1350, 0, 30 * DT) EVT_CALL(SetNpcYaw, NPC_Tutankoopa1, 90) EVT_CALL(NpcMoveTo, NPC_Tutankoopa1, -1110, 30, 30 * DT) - EVT_CALL(SetNpcAnimation, NPC_Tutankoopa1, ANIM_Tutankoopa_Anim09) + EVT_CALL(SetNpcAnimation, NPC_Tutankoopa1, ANIM_Tutankoopa_LevitateStill) EVT_CALL(MakeLerp, 0, 90, 5, EASING_LINEAR) EVT_LOOP(5) EVT_CALL(UpdateLerp) @@ -147,14 +147,14 @@ EvtScript N(EVS_ParadePhase_Caravan) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(SetNpcAnimation, NPC_Tutankoopa1, ANIM_Tutankoopa_Anim01) + EVT_CALL(SetNpcAnimation, NPC_Tutankoopa1, ANIM_Tutankoopa_Idle) EVT_CALL(InterpNpcYaw, NPC_Tutankoopa1, 270, 7) EVT_WAIT(15 * DT) EVT_CALL(InterpNpcYaw, NPC_Tutankoopa1, 90, 7) EVT_WAIT(15 * DT) EVT_CALL(InterpNpcYaw, NPC_Tutankoopa1, 270, 7) EVT_WAIT(15 * DT) - EVT_CALL(SetNpcAnimation, NPC_Tutankoopa1, ANIM_Tutankoopa_Anim04) + EVT_CALL(SetNpcAnimation, NPC_Tutankoopa1, ANIM_Tutankoopa_Lift) EVT_CALL(SetNpcJumpscale, NPC_Tutankoopa1, EVT_FLOAT(1.0)) EVT_CALL(NpcJump0, NPC_Tutankoopa1, -1140, 0, 30, 15 * DT) EVT_CALL(NpcJump0, NPC_Tutankoopa1, -1170, 0, 30, 15 * DT) diff --git a/src/world/area_end/end_01/end_01_1_main.c b/src/world/area_end/end_01/end_01_1_main.c index 6225644257..5c53f51bd9 100644 --- a/src/world/area_end/end_01/end_01_1_main.c +++ b/src/world/area_end/end_01/end_01_1_main.c @@ -12,7 +12,7 @@ EvtScript N(EVS_Main) = { EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE) EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) EVT_CALL(N(WidenCameraFOV)) - EVT_CALL(EnableStatusMenu, FALSE) + EVT_CALL(EnableWorldStatusBar, FALSE) EVT_EXEC(N(EVS_ManageParade)) EVT_WAIT(1) EVT_RETURN diff --git a/src/world/area_flo/flo_00/flo_00_3_npc.c b/src/world/area_flo/flo_00/flo_00_3_npc.c index 2f0214a981..e11efef42b 100644 --- a/src/world/area_flo/flo_00/flo_00_3_npc.c +++ b/src/world/area_flo/flo_00/flo_00_3_npc.c @@ -14,7 +14,7 @@ API_CALLABLE(N(UpgradeStarPowerCh6)) { set_max_SP(6); gPlayerData.curHP = gPlayerData.curMaxHP; gPlayerData.curFP = gPlayerData.curMaxFP; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_flo/flo_00/flo_00_5_beanstalk.c b/src/world/area_flo/flo_00/flo_00_5_beanstalk.c index 0831b0d366..594ecf446d 100644 --- a/src/world/area_flo/flo_00/flo_00_5_beanstalk.c +++ b/src/world/area_flo/flo_00/flo_00_5_beanstalk.c @@ -47,15 +47,15 @@ API_CALLABLE(N(PartnerRideBeanstalk)) { #include "common/CosInterpMinMax.inc.c" -#include "world/common/todo/SyncStatusMenu.inc.c" +#include "world/common/todo/SyncStatusBar.inc.c" -API_CALLABLE(N(DisableStatusMenu)) { - increment_status_menu_disabled(); +API_CALLABLE(N(DisableStatusBar)) { + increment_status_bar_disabled(); return ApiStatus_DONE2; } -API_CALLABLE(N(EnableStatusMenu)) { - decrement_status_menu_disabled(); +API_CALLABLE(N(EnableWorldStatusBar)) { + decrement_status_bar_disabled(); return ApiStatus_DONE2; } @@ -555,7 +555,7 @@ EvtScript N(EVS_BeanPatch_ItemPrompt) = { EVT_CALL(SetPlayerAnimation, ANIM_MarioW1_PlaceItem) EVT_WAIT(5) EVT_CALL(RemoveKeyItemAt, LVar1) - EVT_CALL(N(SyncStatusMenu)) + EVT_CALL(N(SyncStatusBar)) EVT_CALL(MakeItemEntity, ITEM_MIRACLE_WATER, BEANSTALK_BASE_X, 0, BEANSTALK_BASE_Z, ITEM_SPAWN_MODE_DECORATION, 0) EVT_SET(MV_BeanstalkItemEntity, LVar0) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Still) @@ -603,9 +603,9 @@ EvtScript N(EVS_BeanPatch_TryInteract) = { EVT_RETURN EVT_END_IF EVT_END_IF - EVT_CALL(N(DisableStatusMenu)) + EVT_CALL(N(DisableStatusBar)) EVT_EXEC_WAIT(N(EVS_BeanPatch_ItemPrompt)) - EVT_CALL(N(EnableStatusMenu)) + EVT_CALL(N(EnableWorldStatusBar)) EVT_RETURN EVT_END }; diff --git a/src/world/area_hos/hos_05/hos_05_4_npc.c b/src/world/area_hos/hos_05/hos_05_4_npc.c index 3762a3c42b..7cc622bde7 100644 --- a/src/world/area_hos/hos_05/hos_05_4_npc.c +++ b/src/world/area_hos/hos_05/hos_05_4_npc.c @@ -6,7 +6,7 @@ API_CALLABLE(N(UnlockStarBeam)) { gPlayerData.curHP = gPlayerData.curMaxHP; gPlayerData.curFP = gPlayerData.curMaxFP; gPlayerData.specialBarsFilled = gPlayerData.maxStarPower * 256; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_hos/hos_06/hos_06_6_chest.c b/src/world/area_hos/hos_06/hos_06_6_chest.c index 0a7b125c74..1336662871 100644 --- a/src/world/area_hos/hos_06/hos_06_6_chest.c +++ b/src/world/area_hos/hos_06/hos_06_6_chest.c @@ -202,7 +202,7 @@ EvtScript N(EVS_Interact_MagicChest_Mario) = { EVT_IF_LE(LVar1, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D5, 160, 40) EVT_ELSE - EVT_CALL(ShowGotItem, LVar0, FALSE, 2) + EVT_CALL(ShowGotItem, LVar0, FALSE, ITEM_PICKUP_FLAG_NO_ANIMS) EVT_CALL(AddItem, LVar0, LVar1) EVT_CALL(N(SetItemRetrieved)) EVT_END_IF diff --git a/src/world/area_isk/isk_04/isk_04_6_demo.c b/src/world/area_isk/isk_04/isk_04_6_demo.c index 384ed8f651..ea67a01b28 100644 --- a/src/world/area_isk/isk_04/isk_04_6_demo.c +++ b/src/world/area_isk/isk_04/isk_04_6_demo.c @@ -4,7 +4,7 @@ #include "world/common/todo/SwitchToPartner.inc.c" EvtScript N(EVS_ProvideDemoInputs) = { - EVT_CALL(EnableStatusMenu, FALSE) + EVT_CALL(EnableWorldStatusBar, FALSE) EVT_CALL(DemoSetButtons, BUTTON_C_DOWN) EVT_WAIT(5) EVT_CALL(DemoSetButtons, 0) diff --git a/src/world/area_isk/isk_11/isk_11_5_puzzle.c b/src/world/area_isk/isk_11/isk_11_5_puzzle.c index 355124f89c..b3366e1de2 100644 --- a/src/world/area_isk/isk_11/isk_11_5_puzzle.c +++ b/src/world/area_isk/isk_11/isk_11_5_puzzle.c @@ -79,7 +79,7 @@ EvtScript N(EVS_ItemPrompt_Socket1) = { EVT_SET(GB_ISK11_ItemSocket1, 0) EVT_CALL(RemoveItemEntity, MV_Socket1_ItemEntity) EVT_SET(MV_Socket1_ItemEntity, -1) - EVT_CALL(ShowGotItem, LVar0, FALSE, 1) + EVT_CALL(ShowGotItem, LVar0, FALSE, ITEM_PICKUP_FLAG_NO_SOUND) EVT_END_IF EVT_CALL(DisablePlayerInput, FALSE) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) @@ -130,7 +130,7 @@ EvtScript N(EVS_ItemPrompt_Socket2) = { EVT_SET(GB_ISK11_ItemSocket2, 0) EVT_CALL(RemoveItemEntity, MV_Socket2_ItemEntity) EVT_SET(MV_Socket2_ItemEntity, -1) - EVT_CALL(ShowGotItem, LVar0, FALSE, 1) + EVT_CALL(ShowGotItem, LVar0, FALSE, ITEM_PICKUP_FLAG_NO_SOUND) EVT_END_IF EVT_CALL(DisablePlayerInput, FALSE) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) @@ -181,7 +181,7 @@ EvtScript N(EVS_ItemPrompt_Socket3) = { EVT_SET(GB_ISK11_ItemSocket3, 0) EVT_CALL(RemoveItemEntity, MV_Socket3_ItemEntity) EVT_SET(MV_Socket3_ItemEntity, -1) - EVT_CALL(ShowGotItem, LVar0, FALSE, 1) + EVT_CALL(ShowGotItem, LVar0, FALSE, ITEM_PICKUP_FLAG_NO_SOUND) EVT_END_IF EVT_CALL(DisablePlayerInput, FALSE) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) @@ -232,7 +232,7 @@ EvtScript N(EVS_ItemPrompt_Socket4) = { EVT_SET(GB_ISK11_ItemSocket4, 0) EVT_CALL(RemoveItemEntity, MV_Socket4_ItemEntity) EVT_SET(MV_Socket4_ItemEntity, -1) - EVT_CALL(ShowGotItem, LVar0, FALSE, 1) + EVT_CALL(ShowGotItem, LVar0, FALSE, ITEM_PICKUP_FLAG_NO_SOUND) EVT_END_IF EVT_CALL(DisablePlayerInput, FALSE) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) @@ -283,7 +283,7 @@ EvtScript N(EVS_ItemPrompt_Socket5) = { EVT_SET(GB_ISK11_ItemSocket5, 0) EVT_CALL(RemoveItemEntity, MV_Socket5_ItemEntity) EVT_SET(MV_Socket5_ItemEntity, -1) - EVT_CALL(ShowGotItem, LVar0, FALSE, 1) + EVT_CALL(ShowGotItem, LVar0, FALSE, ITEM_PICKUP_FLAG_NO_SOUND) EVT_END_IF EVT_CALL(DisablePlayerInput, FALSE) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) diff --git a/src/world/area_isk/isk_14/isk_14_3_npc.c b/src/world/area_isk/isk_14/isk_14_3_npc.c index 09b3b1e0b6..a4dbdb62c8 100644 --- a/src/world/area_isk/isk_14/isk_14_3_npc.c +++ b/src/world/area_isk/isk_14/isk_14_3_npc.c @@ -159,7 +159,7 @@ EvtScript N(EVS_NpcIdle_StoneChomp) = { EVT_CALL(N(DestroyAmbushWorker)) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_INVISIBLE, FALSE) EVT_WAIT(10) - EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_StoneChomp_Anim04) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_StoneChomp_Bite) EVT_WAIT(18) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_INVISIBLE, FALSE) EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE) diff --git a/src/world/area_isk/isk_16/isk_16_2_npc.c b/src/world/area_isk/isk_16/isk_16_2_npc.c index 2d98e2012b..c282a5e2e8 100644 --- a/src/world/area_isk/isk_16/isk_16_2_npc.c +++ b/src/world/area_isk/isk_16/isk_16_2_npc.c @@ -46,19 +46,19 @@ EvtScript N(EVS_NpcInit_ChainChomp) = { }; NpcSettings N(NpcSettings_Tutankoopa_01) = { - .defaultAnim = ANIM_Tutankoopa_Anim01, + .defaultAnim = ANIM_Tutankoopa_Idle, .height = 40, .radius = 36, }; NpcSettings N(NpcSettings_ChainChomp) = { - .defaultAnim = ANIM_ChainChomp_Anim03, + .defaultAnim = ANIM_ChainChomp_QuickBite, .height = 32, .radius = 32, }; NpcSettings N(NpcSettings_Tutankoopa_02) = { - .defaultAnim = ANIM_Tutankoopa_Anim00, + .defaultAnim = ANIM_Tutankoopa_Still, .height = 40, .radius = 36, }; @@ -75,22 +75,22 @@ NpcData N(NpcData_Tutankoopa)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_IGNORE_PLAYER_COLLISION | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .drops = NO_DROPS, .animations = { - .idle = ANIM_Tutankoopa_Anim01, - .walk = ANIM_Tutankoopa_Anim01, - .run = ANIM_Tutankoopa_Anim01, - .chase = ANIM_Tutankoopa_Anim01, - .anim_4 = ANIM_Tutankoopa_Anim01, - .anim_5 = ANIM_Tutankoopa_Anim01, - .death = ANIM_Tutankoopa_Anim06, - .hit = ANIM_Tutankoopa_Anim06, - .anim_8 = ANIM_Tutankoopa_Anim01, - .anim_9 = ANIM_Tutankoopa_Anim01, - .anim_A = ANIM_Tutankoopa_Anim01, - .anim_B = ANIM_Tutankoopa_Anim01, - .anim_C = ANIM_Tutankoopa_Anim01, - .anim_D = ANIM_Tutankoopa_Anim01, - .anim_E = ANIM_Tutankoopa_Anim01, - .anim_F = ANIM_Tutankoopa_Anim01, + .idle = ANIM_Tutankoopa_Idle, + .walk = ANIM_Tutankoopa_Idle, + .run = ANIM_Tutankoopa_Idle, + .chase = ANIM_Tutankoopa_Idle, + .anim_4 = ANIM_Tutankoopa_Idle, + .anim_5 = ANIM_Tutankoopa_Idle, + .death = ANIM_Tutankoopa_Hurt, + .hit = ANIM_Tutankoopa_Hurt, + .anim_8 = ANIM_Tutankoopa_Idle, + .anim_9 = ANIM_Tutankoopa_Idle, + .anim_A = ANIM_Tutankoopa_Idle, + .anim_B = ANIM_Tutankoopa_Idle, + .anim_C = ANIM_Tutankoopa_Idle, + .anim_D = ANIM_Tutankoopa_Idle, + .anim_E = ANIM_Tutankoopa_Idle, + .anim_F = ANIM_Tutankoopa_Idle, }, }, { @@ -101,22 +101,22 @@ NpcData N(NpcData_Tutankoopa)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_IGNORE_PLAYER_COLLISION | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .drops = NO_DROPS, .animations = { - .idle = ANIM_Tutankoopa_Anim01, - .walk = ANIM_Tutankoopa_Anim01, - .run = ANIM_Tutankoopa_Anim01, - .chase = ANIM_Tutankoopa_Anim01, - .anim_4 = ANIM_Tutankoopa_Anim01, - .anim_5 = ANIM_Tutankoopa_Anim01, - .death = ANIM_Tutankoopa_Anim06, - .hit = ANIM_Tutankoopa_Anim06, - .anim_8 = ANIM_Tutankoopa_Anim01, - .anim_9 = ANIM_Tutankoopa_Anim01, - .anim_A = ANIM_Tutankoopa_Anim01, - .anim_B = ANIM_Tutankoopa_Anim01, - .anim_C = ANIM_Tutankoopa_Anim01, - .anim_D = ANIM_Tutankoopa_Anim01, - .anim_E = ANIM_Tutankoopa_Anim01, - .anim_F = ANIM_Tutankoopa_Anim01, + .idle = ANIM_Tutankoopa_Idle, + .walk = ANIM_Tutankoopa_Idle, + .run = ANIM_Tutankoopa_Idle, + .chase = ANIM_Tutankoopa_Idle, + .anim_4 = ANIM_Tutankoopa_Idle, + .anim_5 = ANIM_Tutankoopa_Idle, + .death = ANIM_Tutankoopa_Hurt, + .hit = ANIM_Tutankoopa_Hurt, + .anim_8 = ANIM_Tutankoopa_Idle, + .anim_9 = ANIM_Tutankoopa_Idle, + .anim_A = ANIM_Tutankoopa_Idle, + .anim_B = ANIM_Tutankoopa_Idle, + .anim_C = ANIM_Tutankoopa_Idle, + .anim_D = ANIM_Tutankoopa_Idle, + .anim_E = ANIM_Tutankoopa_Idle, + .anim_F = ANIM_Tutankoopa_Idle, }, }, }; @@ -130,22 +130,22 @@ NpcData N(NpcData_ChainChomp) = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_IGNORE_PLAYER_COLLISION | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .drops = NO_DROPS, .animations = { - .idle = ANIM_ChainChomp_Anim00, - .walk = ANIM_ChainChomp_Anim00, - .run = ANIM_ChainChomp_Anim00, - .chase = ANIM_ChainChomp_Anim00, - .anim_4 = ANIM_ChainChomp_Anim00, - .anim_5 = ANIM_ChainChomp_Anim00, - .death = ANIM_ChainChomp_Anim00, - .hit = ANIM_ChainChomp_Anim00, - .anim_8 = ANIM_ChainChomp_Anim00, - .anim_9 = ANIM_ChainChomp_Anim00, - .anim_A = ANIM_ChainChomp_Anim00, - .anim_B = ANIM_ChainChomp_Anim00, - .anim_C = ANIM_ChainChomp_Anim00, - .anim_D = ANIM_ChainChomp_Anim00, - .anim_E = ANIM_ChainChomp_Anim00, - .anim_F = ANIM_ChainChomp_Anim00, + .idle = ANIM_ChainChomp_Still, + .walk = ANIM_ChainChomp_Still, + .run = ANIM_ChainChomp_Still, + .chase = ANIM_ChainChomp_Still, + .anim_4 = ANIM_ChainChomp_Still, + .anim_5 = ANIM_ChainChomp_Still, + .death = ANIM_ChainChomp_Still, + .hit = ANIM_ChainChomp_Still, + .anim_8 = ANIM_ChainChomp_Still, + .anim_9 = ANIM_ChainChomp_Still, + .anim_A = ANIM_ChainChomp_Still, + .anim_B = ANIM_ChainChomp_Still, + .anim_C = ANIM_ChainChomp_Still, + .anim_D = ANIM_ChainChomp_Still, + .anim_E = ANIM_ChainChomp_Still, + .anim_F = ANIM_ChainChomp_Still, }, }; diff --git a/src/world/area_isk/isk_16/isk_16_3_boss.c b/src/world/area_isk/isk_16/isk_16_3_boss.c index 948a4388b7..3a138a417c 100644 --- a/src/world/area_isk/isk_16/isk_16_3_boss.c +++ b/src/world/area_isk/isk_16/isk_16_3_boss.c @@ -50,7 +50,7 @@ EvtScript N(EVS_Scene_TutankoopaAppears) = { EVT_END_THREAD EVT_CALL(SetNpcImgFXParams, NPC_Tutankoopa_02, IMGFX_SET_ALPHA, 0, 0, 0, 0) EVT_CALL(SetNpcPos, NPC_Tutankoopa_02, 410, -905, 410) - EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_02, ANIM_Tutankoopa_Anim10) + EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_02, ANIM_Tutankoopa_HeaddressWithEyes) EVT_CALL(MakeLerp, 0, 255, 100 * DT, EASING_QUADRATIC_IN) EVT_LABEL(2) EVT_CALL(UpdateLerp) @@ -105,7 +105,7 @@ EvtScript N(EVS_Scene_TutankoopaAppears) = { EVT_GOTO(1) EVT_END_IF EVT_CALL(SetNpcPos, NPC_Tutankoopa_01, 457, -800, 316) - EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Anim01) + EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Idle) EVT_THREAD EVT_WAIT(59) EVT_CALL(PlaySoundAtNpc, NPC_Tutankoopa_01, SOUND_3EF, SOUND_SPACE_MODE_0) @@ -129,7 +129,7 @@ EvtScript N(EVS_Scene_TutankoopaAppears) = { EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(5.0 / DT)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) - EVT_CALL(SpeakToPlayer, NPC_Tutankoopa_01, ANIM_Tutankoopa_Anim0B, ANIM_Tutankoopa_Anim01, 0, MSG_CH2_00E3) + EVT_CALL(SpeakToPlayer, NPC_Tutankoopa_01, ANIM_Tutankoopa_Talk, ANIM_Tutankoopa_Idle, 0, MSG_CH2_00E3) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0 / DT)) EVT_CALL(DisablePlayerInput, FALSE) @@ -155,7 +155,7 @@ EvtScript N(EVS_Scene_TutankoopaDefeated) = { EVT_THREAD EVT_CALL(ShowMessageAtScreenPos, MSG_CH2_00E8, 160, 40) EVT_END_THREAD - EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Anim06) + EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Hurt) EVT_CALL(SetNpcJumpscale, NPC_Tutankoopa_01, EVT_FLOAT(1.0)) EVT_CALL(PlaySoundAtNpc, NPC_Tutankoopa_01, SOUND_20E3, SOUND_SPACE_MODE_0) EVT_CALL(NpcJump0, NPC_Tutankoopa_01, 442, -910, 393, 30 * DT) @@ -164,7 +164,7 @@ EvtScript N(EVS_Scene_TutankoopaDefeated) = { EVT_CALL(PlaySoundAtNpc, NPC_Tutankoopa_01, SOUND_JUMP_3E2, SOUND_SPACE_MODE_0) EVT_CALL(NpcJump0, NPC_Tutankoopa_01, 395, -910, 440, 10 * DT) EVT_WAIT(20 * DT) - EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Anim01) + EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Idle) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 410, -910, 410) EVT_CALL(SetPanTarget, CAM_DEFAULT, 490, -910, 327) EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(200.0)) @@ -185,15 +185,15 @@ EvtScript N(EVS_Scene_TutankoopaDefeated) = { EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_CALL(EnableModel, MODEL_o2359, TRUE) EVT_CALL(NpcFaceNpc, NPC_Tutankoopa_01, NPC_ChainChomp, 0) - EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Anim06) + EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Hurt) EVT_CALL(GetNpcPos, NPC_Tutankoopa_01, LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtNpc, NPC_Tutankoopa_01, SOUND_JUMP_3E2, SOUND_SPACE_MODE_0) EVT_CALL(NpcJump0, NPC_Tutankoopa_01, LVar0, LVar1, LVar2, 20 * DT) - EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Anim01) - EVT_CALL(SpeakToPlayer, NPC_Tutankoopa_01, ANIM_Tutankoopa_Anim0B, ANIM_Tutankoopa_Anim01, 5, MSG_CH2_00E9) + EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Idle) + EVT_CALL(SpeakToPlayer, NPC_Tutankoopa_01, ANIM_Tutankoopa_Talk, ANIM_Tutankoopa_Idle, 5, MSG_CH2_00E9) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) EVT_THREAD - EVT_CALL(SetNpcAnimation, NPC_ChainChomp, ANIM_ChainChomp_Anim03) + EVT_CALL(SetNpcAnimation, NPC_ChainChomp, ANIM_ChainChomp_QuickBite) EVT_CALL(SetNpcSpeed, NPC_ChainChomp, EVT_FLOAT(8.0 / DT)) EVT_CALL(SetNpcPos, NPC_ChainChomp, 486, -910, 340) EVT_CALL(GetNpcPos, NPC_Tutankoopa_01, LVar0, LVar1, LVar2) @@ -219,7 +219,7 @@ EvtScript N(EVS_Scene_TutankoopaDefeated) = { EVT_END_LOOP EVT_CALL(SetSelfVar, 1, 1) EVT_THREAD - EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Anim02) + EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_01, ANIM_Tutankoopa_Run) EVT_CALL(SetNpcSpeed, NPC_Tutankoopa_01, EVT_FLOAT(8.0 / DT)) EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_LookAround) EVT_LOOP(2) diff --git a/src/world/area_jan/jan_03/jan_03_3_shop.c b/src/world/area_jan/jan_03/jan_03_3_shop.c index 38d08eba21..dc5af59c77 100644 --- a/src/world/area_jan/jan_03/jan_03_3_shop.c +++ b/src/world/area_jan/jan_03/jan_03_3_shop.c @@ -76,7 +76,7 @@ ShopOwner N(Owner) = { EvtScript N(EVS_SetupShop) = { EVT_CALL(EnableGroup, MODEL_g126, FALSE) - EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_10000) + EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_TOSS_LOWER) EVT_CALL(MakeShopOwner, EVT_PTR(N(Owner))) EVT_RETURN EVT_END diff --git a/src/world/area_jan/jan_22/jan_22_3_npc.c b/src/world/area_jan/jan_22/jan_22_3_npc.c index 77b2546476..c613148852 100644 --- a/src/world/area_jan/jan_22/jan_22_3_npc.c +++ b/src/world/area_jan/jan_22/jan_22_3_npc.c @@ -27,7 +27,7 @@ API_CALLABLE(N(UpgradeStarPowerCh5)) { set_max_SP(5); playerData->curHP = playerData->curMaxHP; playerData->curFP = playerData->curMaxFP; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_kkj/kkj_16/kkj_16_3_npcs_later.c b/src/world/area_kkj/kkj_16/kkj_16_3_npcs_later.c index cf3b8155ee..0fee79dd88 100644 --- a/src/world/area_kkj/kkj_16/kkj_16_3_npcs_later.c +++ b/src/world/area_kkj/kkj_16/kkj_16_3_npcs_later.c @@ -26,7 +26,7 @@ AnimID N(ExtraAnims_HammerBros)[] = { EvtScript N(EVS_NpcInteract_HammerBros_01) = { EVT_IF_EQ(GF_KKJ16_Gift_ShootingStar, FALSE) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_HammerBros_Anim0A, ANIM_HammerBros_Anim02, 16, MSG_Peach_013A) - EVT_CALL(ShowGotItem, ITEM_SHOOTING_STAR, TRUE, 2) + EVT_CALL(ShowGotItem, ITEM_SHOOTING_STAR, TRUE, ITEM_PICKUP_FLAG_NO_ANIMS) EVT_SET(GF_KKJ16_Gift_ShootingStar, TRUE) EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_HammerBros_Anim0A, ANIM_HammerBros_Anim02, 16, MSG_Peach_013B) diff --git a/src/world/area_kkj/kkj_17/kkj_17_3_chest.c b/src/world/area_kkj/kkj_17/kkj_17_3_chest.c index 086b84ec2f..ece9e684c3 100644 --- a/src/world/area_kkj/kkj_17/kkj_17_3_chest.c +++ b/src/world/area_kkj/kkj_17/kkj_17_3_chest.c @@ -247,7 +247,7 @@ EvtScript N(EVS_UseMagicChest_Mario) = { EVT_IF_LE(LVar1, 0) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D5, 160, 40) EVT_ELSE - EVT_CALL(ShowGotItem, LVar0, FALSE, 2) + EVT_CALL(ShowGotItem, LVar0, FALSE, ITEM_PICKUP_FLAG_NO_ANIMS) EVT_CALL(AddItem, LVar0, LVar1) EVT_CALL(N(SetItemRetrieved)) EVT_END_IF diff --git a/src/world/area_kkj/kkj_20/kkj_20_4_npc.c b/src/world/area_kkj/kkj_20/kkj_20_4_npc.c index e01be0d028..ebd0c98a6b 100644 --- a/src/world/area_kkj/kkj_20/kkj_20_4_npc.c +++ b/src/world/area_kkj/kkj_20/kkj_20_4_npc.c @@ -202,7 +202,7 @@ EvtScript N(EVS_MeetToadHouseKeeper) = { EVT_CALL(SetPlayerJumpscale, 1) EVT_CALL(DisablePlayerPhysics, TRUE) EVT_CALL(SetNpcFlagBits, NPC_Toad, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) - EVT_CALL(N(ToadHouse_DisableStatusMenu)) + EVT_CALL(N(ToadHouse_DisableStatusBar)) EVT_IF_NE(LVar4, 0) EVT_EXEC(N(EVS_ToadHouse_Unk2)) EVT_END_IF @@ -243,7 +243,7 @@ EvtScript N(EVS_MeetToadHouseKeeper) = { EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(SetNpcFlagBits, NPC_Toad, NPC_FLAG_IGNORE_PLAYER_COLLISION, FALSE) EVT_CALL(SpeakToPlayer, NPC_Toad, ANIM_Toad_Red_Talk, ANIM_Toad_Red_Idle, 0, LVarB) - EVT_CALL(N(ToadHouse_ShowStatusMenu)) + EVT_CALL(N(ToadHouse_ShowWorldStatusBar)) EVT_RETURN EVT_END }; diff --git a/src/world/area_kkj/kkj_25/kkj_25_2_npc_initial.c b/src/world/area_kkj/kkj_25/kkj_25_2_npc_initial.c index 59a90c7d5c..876394cfcf 100644 --- a/src/world/area_kkj/kkj_25/kkj_25_2_npc_initial.c +++ b/src/world/area_kkj/kkj_25/kkj_25_2_npc_initial.c @@ -77,7 +77,7 @@ EvtScript N(EVS_NpcIdle_Kammy_Broom) = { }; API_CALLABLE(N(func_80240020_B06A20)) { - increment_status_menu_disabled(); + increment_status_bar_disabled(); set_screen_overlay_params_back(OVERLAY_SCREEN_COLOR, 255.0f); return ApiStatus_DONE2; diff --git a/src/world/area_kkj/kkj_25/kkj_25_7_kammy_defeated.c b/src/world/area_kkj/kkj_25/kkj_25_7_kammy_defeated.c index 55014cb547..dfd5e16b82 100644 --- a/src/world/area_kkj/kkj_25/kkj_25_7_kammy_defeated.c +++ b/src/world/area_kkj/kkj_25/kkj_25_7_kammy_defeated.c @@ -23,7 +23,7 @@ API_CALLABLE(N(UpgradeStarBeam)) { gPlayerData.curFP = gPlayerData.curMaxFP; gPlayerData.specialBarsFilled = gPlayerData.maxStarPower * 256; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_kkj/kkj_26/kkj_26_3_demo.c b/src/world/area_kkj/kkj_26/kkj_26_3_demo.c index d2ca9d7ec0..5c02d26a13 100644 --- a/src/world/area_kkj/kkj_26/kkj_26_3_demo.c +++ b/src/world/area_kkj/kkj_26/kkj_26_3_demo.c @@ -1,7 +1,7 @@ #include "kkj_26.h" EvtScript N(EVS_ProvideDemoInputs) = { - EVT_CALL(EnableStatusMenu, FALSE) + EVT_CALL(EnableWorldStatusBar, FALSE) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 550, 30, -20) EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(200.0)) EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.5), EVT_FLOAT(-10.0)) diff --git a/src/world/area_kkj/kkj_29/kkj_29_3_quiz.c b/src/world/area_kkj/kkj_29/kkj_29_3_quiz.c index be719bcad2..59f7ed144d 100644 --- a/src/world/area_kkj/kkj_29/kkj_29_3_quiz.c +++ b/src/world/area_kkj/kkj_29/kkj_29_3_quiz.c @@ -675,7 +675,7 @@ EvtScript N(EVS_DeclareWinner) = { EVT_WAIT(1) EVT_CALL(ContinueSpeech, NPC_HammerBros, ANIM_HammerBros_Anim0B, ANIM_HammerBros_Anim03, 0, MSG_Peach_0122) EVT_WAIT(10) - EVT_CALL(ShowGotItem, ITEM_JAMMIN_JELLY, TRUE, 2) + EVT_CALL(ShowGotItem, ITEM_JAMMIN_JELLY, TRUE, ITEM_PICKUP_FLAG_NO_ANIMS) EVT_SET(GF_KKJ29_PeachWonJamminJelly, TRUE) EVT_WAIT(10) EVT_CASE_EQ(OUTCOME_RIGHT_WON) diff --git a/src/world/area_kmr/kmr_02/kmr_02_3_npc.c b/src/world/area_kmr/kmr_02/kmr_02_3_npc.c index d58c788ad3..bc45e864eb 100644 --- a/src/world/area_kmr/kmr_02/kmr_02_3_npc.c +++ b/src/world/area_kmr/kmr_02/kmr_02_3_npc.c @@ -364,8 +364,8 @@ API_CALLABLE(N(OpenPauseMenu)) { return ApiStatus_DONE1; } -API_CALLABLE(N(CloseStatusMenu)) { - close_status_menu(); +API_CALLABLE(N(CloseStatusBar)) { + close_status_bar(); return ApiStatus_DONE2; } @@ -387,7 +387,7 @@ EvtScript N(EVS_PromptForBadgeTutorial) = { EVT_WAIT(10) EVT_SET(GF_Tutorial_Badges, TRUE) EVT_CALL(N(OpenPauseMenu)) - EVT_CALL(N(CloseStatusMenu)) + EVT_CALL(N(CloseStatusBar)) EVT_SET(GF_Tutorial_Badges, FALSE) EVT_RETURN EVT_END @@ -1325,7 +1325,7 @@ EvtScript N(EVS_NpcInteract_Toad) = { EVT_END }; -#include "world/common/todo/SyncStatusMenu.inc.c" +#include "world/common/todo/SyncStatusBar.inc.c" NOP_FIX // TODO figure out BSS nop issue API_CALLABLE(N(func_8024295C_8B29CC)) { @@ -1442,7 +1442,7 @@ EvtScript N(EVS_Scene_EldstarsPlea) = { EVT_CALL(EnableModel, MODEL_o561, FALSE) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(FullyRestoreHPandFP) - EVT_CALL(N(SyncStatusMenu)) + EVT_CALL(N(SyncStatusBar)) EVT_CALL(InterpPlayerYaw, 143, 0) EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_LayingDown) EVT_CALL(GetPlayerPos, -220, 33, -342) diff --git a/src/world/area_kmr/kmr_20/kmr_20_4_documents.c b/src/world/area_kmr/kmr_20/kmr_20_4_documents.c index 1fa26ee41f..75477e9696 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_4_documents.c +++ b/src/world/area_kmr/kmr_20/kmr_20_4_documents.c @@ -192,8 +192,8 @@ API_CALLABLE(N(ReadLetters)){ menu->numEntries = numEntries; menu->initialPos = script->functionTemp[3]; create_standard_popup_menu(menu); - status_menu_respond_to_changes(); - close_status_menu(); + status_bar_respond_to_changes(); + close_status_bar(); script->functionTemp[1] = 0; script->functionTemp[0] = 1; break; @@ -373,8 +373,8 @@ API_CALLABLE(N(ReadDiary)){ menu->numEntries = numEntries; menu->initialPos = script->functionTemp[3]; create_standard_popup_menu(menu); - status_menu_respond_to_changes(); - close_status_menu(); + status_bar_respond_to_changes(); + close_status_bar(); script->functionTemp[1] = 0; script->functionTemp[0] = 1; break; diff --git a/src/world/area_kmr/kmr_20/kmr_20_8_bed.c b/src/world/area_kmr/kmr_20/kmr_20_8_bed.c index e929174493..409c268b7d 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_8_bed.c +++ b/src/world/area_kmr/kmr_20/kmr_20_8_bed.c @@ -141,7 +141,7 @@ EvtScript N(EVS_UseBed) = { EVT_CALL(CloseMessage) EVT_CALL(SetPlayerJumpscale, 1) EVT_CALL(DisablePlayerPhysics, TRUE) - EVT_CALL(N(ToadHouse_DisableStatusMenu)) + EVT_CALL(N(ToadHouse_DisableStatusBar)) EVT_IF_NE(LVar4, 0) EVT_EXEC(N(EVS_ToadHouse_Unk2)) EVT_END_IF @@ -178,7 +178,7 @@ EvtScript N(EVS_UseBed) = { EVT_EXEC_GET_TID(N(EVS_ToadHouse_ReturnFromRest), LVar9) EVT_CALL(N(ToadHouse_AwaitScriptComplete), LVar9) EVT_CALL(DisablePlayerPhysics, FALSE) - EVT_CALL(N(ToadHouse_ShowStatusMenu)) + EVT_CALL(N(ToadHouse_ShowWorldStatusBar)) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN EVT_END diff --git a/src/world/area_kmr/kmr_22/kmr_22_2_npc.c b/src/world/area_kmr/kmr_22/kmr_22_2_npc.c index 3e097fe5f7..34401e4d48 100644 --- a/src/world/area_kmr/kmr_22/kmr_22_2_npc.c +++ b/src/world/area_kmr/kmr_22/kmr_22_2_npc.c @@ -103,22 +103,22 @@ NpcData N(NpcData_Chapter2)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_PLAYER_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | ENEMY_FLAG_800, .drops = NO_DROPS, .animations = { - .idle = ANIM_Tutankoopa_Anim01, - .walk = ANIM_Tutankoopa_Anim01, - .run = ANIM_Tutankoopa_Anim01, - .chase = ANIM_Tutankoopa_Anim01, - .anim_4 = ANIM_Tutankoopa_Anim01, - .anim_5 = ANIM_Tutankoopa_Anim01, - .death = ANIM_Tutankoopa_Anim06, - .hit = ANIM_Tutankoopa_Anim06, - .anim_8 = ANIM_Tutankoopa_Anim01, - .anim_9 = ANIM_Tutankoopa_Anim01, - .anim_A = ANIM_Tutankoopa_Anim01, - .anim_B = ANIM_Tutankoopa_Anim01, - .anim_C = ANIM_Tutankoopa_Anim01, - .anim_D = ANIM_Tutankoopa_Anim01, - .anim_E = ANIM_Tutankoopa_Anim01, - .anim_F = ANIM_Tutankoopa_Anim01, + .idle = ANIM_Tutankoopa_Idle, + .walk = ANIM_Tutankoopa_Idle, + .run = ANIM_Tutankoopa_Idle, + .chase = ANIM_Tutankoopa_Idle, + .anim_4 = ANIM_Tutankoopa_Idle, + .anim_5 = ANIM_Tutankoopa_Idle, + .death = ANIM_Tutankoopa_Hurt, + .hit = ANIM_Tutankoopa_Hurt, + .anim_8 = ANIM_Tutankoopa_Idle, + .anim_9 = ANIM_Tutankoopa_Idle, + .anim_A = ANIM_Tutankoopa_Idle, + .anim_B = ANIM_Tutankoopa_Idle, + .anim_C = ANIM_Tutankoopa_Idle, + .anim_D = ANIM_Tutankoopa_Idle, + .anim_E = ANIM_Tutankoopa_Idle, + .anim_F = ANIM_Tutankoopa_Idle, }, }, { @@ -130,22 +130,22 @@ NpcData N(NpcData_Chapter2)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_PLAYER_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | ENEMY_FLAG_800, .drops = NO_DROPS, .animations = { - .idle = ANIM_ChainChomp_Anim00, - .walk = ANIM_ChainChomp_Anim00, - .run = ANIM_ChainChomp_Anim00, - .chase = ANIM_ChainChomp_Anim00, - .anim_4 = ANIM_ChainChomp_Anim00, - .anim_5 = ANIM_ChainChomp_Anim00, - .death = ANIM_ChainChomp_Anim00, - .hit = ANIM_ChainChomp_Anim00, - .anim_8 = ANIM_ChainChomp_Anim00, - .anim_9 = ANIM_ChainChomp_Anim00, - .anim_A = ANIM_ChainChomp_Anim00, - .anim_B = ANIM_ChainChomp_Anim00, - .anim_C = ANIM_ChainChomp_Anim00, - .anim_D = ANIM_ChainChomp_Anim00, - .anim_E = ANIM_ChainChomp_Anim00, - .anim_F = ANIM_ChainChomp_Anim00, + .idle = ANIM_ChainChomp_Still, + .walk = ANIM_ChainChomp_Still, + .run = ANIM_ChainChomp_Still, + .chase = ANIM_ChainChomp_Still, + .anim_4 = ANIM_ChainChomp_Still, + .anim_5 = ANIM_ChainChomp_Still, + .death = ANIM_ChainChomp_Still, + .hit = ANIM_ChainChomp_Still, + .anim_8 = ANIM_ChainChomp_Still, + .anim_9 = ANIM_ChainChomp_Still, + .anim_A = ANIM_ChainChomp_Still, + .anim_B = ANIM_ChainChomp_Still, + .anim_C = ANIM_ChainChomp_Still, + .anim_D = ANIM_ChainChomp_Still, + .anim_E = ANIM_ChainChomp_Still, + .anim_F = ANIM_ChainChomp_Still, }, }, { @@ -156,22 +156,22 @@ NpcData N(NpcData_Chapter2)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_PLAYER_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | ENEMY_FLAG_800, .drops = NO_DROPS, .animations = { - .idle = ANIM_ChainChomp_Anim00, - .walk = ANIM_ChainChomp_Anim00, - .run = ANIM_ChainChomp_Anim00, - .chase = ANIM_ChainChomp_Anim00, - .anim_4 = ANIM_ChainChomp_Anim00, - .anim_5 = ANIM_ChainChomp_Anim00, - .death = ANIM_ChainChomp_Anim00, - .hit = ANIM_ChainChomp_Anim00, - .anim_8 = ANIM_ChainChomp_Anim00, - .anim_9 = ANIM_ChainChomp_Anim00, - .anim_A = ANIM_ChainChomp_Anim00, - .anim_B = ANIM_ChainChomp_Anim00, - .anim_C = ANIM_ChainChomp_Anim00, - .anim_D = ANIM_ChainChomp_Anim00, - .anim_E = ANIM_ChainChomp_Anim00, - .anim_F = ANIM_ChainChomp_Anim00, + .idle = ANIM_ChainChomp_Still, + .walk = ANIM_ChainChomp_Still, + .run = ANIM_ChainChomp_Still, + .chase = ANIM_ChainChomp_Still, + .anim_4 = ANIM_ChainChomp_Still, + .anim_5 = ANIM_ChainChomp_Still, + .death = ANIM_ChainChomp_Still, + .hit = ANIM_ChainChomp_Still, + .anim_8 = ANIM_ChainChomp_Still, + .anim_9 = ANIM_ChainChomp_Still, + .anim_A = ANIM_ChainChomp_Still, + .anim_B = ANIM_ChainChomp_Still, + .anim_C = ANIM_ChainChomp_Still, + .anim_D = ANIM_ChainChomp_Still, + .anim_E = ANIM_ChainChomp_Still, + .anim_F = ANIM_ChainChomp_Still, }, }, { @@ -182,22 +182,22 @@ NpcData N(NpcData_Chapter2)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_PLAYER_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | ENEMY_FLAG_800, .drops = NO_DROPS, .animations = { - .idle = ANIM_ChainChomp_Anim00, - .walk = ANIM_ChainChomp_Anim00, - .run = ANIM_ChainChomp_Anim00, - .chase = ANIM_ChainChomp_Anim00, - .anim_4 = ANIM_ChainChomp_Anim00, - .anim_5 = ANIM_ChainChomp_Anim00, - .death = ANIM_ChainChomp_Anim00, - .hit = ANIM_ChainChomp_Anim00, - .anim_8 = ANIM_ChainChomp_Anim00, - .anim_9 = ANIM_ChainChomp_Anim00, - .anim_A = ANIM_ChainChomp_Anim00, - .anim_B = ANIM_ChainChomp_Anim00, - .anim_C = ANIM_ChainChomp_Anim00, - .anim_D = ANIM_ChainChomp_Anim00, - .anim_E = ANIM_ChainChomp_Anim00, - .anim_F = ANIM_ChainChomp_Anim00, + .idle = ANIM_ChainChomp_Still, + .walk = ANIM_ChainChomp_Still, + .run = ANIM_ChainChomp_Still, + .chase = ANIM_ChainChomp_Still, + .anim_4 = ANIM_ChainChomp_Still, + .anim_5 = ANIM_ChainChomp_Still, + .death = ANIM_ChainChomp_Still, + .hit = ANIM_ChainChomp_Still, + .anim_8 = ANIM_ChainChomp_Still, + .anim_9 = ANIM_ChainChomp_Still, + .anim_A = ANIM_ChainChomp_Still, + .anim_B = ANIM_ChainChomp_Still, + .anim_C = ANIM_ChainChomp_Still, + .anim_D = ANIM_ChainChomp_Still, + .anim_E = ANIM_ChainChomp_Still, + .anim_F = ANIM_ChainChomp_Still, }, }, { @@ -208,22 +208,22 @@ NpcData N(NpcData_Chapter2)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_PLAYER_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | ENEMY_FLAG_800, .drops = NO_DROPS, .animations = { - .idle = ANIM_ChainChomp_Anim00, - .walk = ANIM_ChainChomp_Anim00, - .run = ANIM_ChainChomp_Anim00, - .chase = ANIM_ChainChomp_Anim00, - .anim_4 = ANIM_ChainChomp_Anim00, - .anim_5 = ANIM_ChainChomp_Anim00, - .death = ANIM_ChainChomp_Anim00, - .hit = ANIM_ChainChomp_Anim00, - .anim_8 = ANIM_ChainChomp_Anim00, - .anim_9 = ANIM_ChainChomp_Anim00, - .anim_A = ANIM_ChainChomp_Anim00, - .anim_B = ANIM_ChainChomp_Anim00, - .anim_C = ANIM_ChainChomp_Anim00, - .anim_D = ANIM_ChainChomp_Anim00, - .anim_E = ANIM_ChainChomp_Anim00, - .anim_F = ANIM_ChainChomp_Anim00, + .idle = ANIM_ChainChomp_Still, + .walk = ANIM_ChainChomp_Still, + .run = ANIM_ChainChomp_Still, + .chase = ANIM_ChainChomp_Still, + .anim_4 = ANIM_ChainChomp_Still, + .anim_5 = ANIM_ChainChomp_Still, + .death = ANIM_ChainChomp_Still, + .hit = ANIM_ChainChomp_Still, + .anim_8 = ANIM_ChainChomp_Still, + .anim_9 = ANIM_ChainChomp_Still, + .anim_A = ANIM_ChainChomp_Still, + .anim_B = ANIM_ChainChomp_Still, + .anim_C = ANIM_ChainChomp_Still, + .anim_D = ANIM_ChainChomp_Still, + .anim_E = ANIM_ChainChomp_Still, + .anim_F = ANIM_ChainChomp_Still, }, }, { @@ -234,22 +234,22 @@ NpcData N(NpcData_Chapter2)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_PLAYER_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | ENEMY_FLAG_800, .drops = NO_DROPS, .animations = { - .idle = ANIM_ChainChomp_Anim00, - .walk = ANIM_ChainChomp_Anim00, - .run = ANIM_ChainChomp_Anim00, - .chase = ANIM_ChainChomp_Anim00, - .anim_4 = ANIM_ChainChomp_Anim00, - .anim_5 = ANIM_ChainChomp_Anim00, - .death = ANIM_ChainChomp_Anim00, - .hit = ANIM_ChainChomp_Anim00, - .anim_8 = ANIM_ChainChomp_Anim00, - .anim_9 = ANIM_ChainChomp_Anim00, - .anim_A = ANIM_ChainChomp_Anim00, - .anim_B = ANIM_ChainChomp_Anim00, - .anim_C = ANIM_ChainChomp_Anim00, - .anim_D = ANIM_ChainChomp_Anim00, - .anim_E = ANIM_ChainChomp_Anim00, - .anim_F = ANIM_ChainChomp_Anim00, + .idle = ANIM_ChainChomp_Still, + .walk = ANIM_ChainChomp_Still, + .run = ANIM_ChainChomp_Still, + .chase = ANIM_ChainChomp_Still, + .anim_4 = ANIM_ChainChomp_Still, + .anim_5 = ANIM_ChainChomp_Still, + .death = ANIM_ChainChomp_Still, + .hit = ANIM_ChainChomp_Still, + .anim_8 = ANIM_ChainChomp_Still, + .anim_9 = ANIM_ChainChomp_Still, + .anim_A = ANIM_ChainChomp_Still, + .anim_B = ANIM_ChainChomp_Still, + .anim_C = ANIM_ChainChomp_Still, + .anim_D = ANIM_ChainChomp_Still, + .anim_E = ANIM_ChainChomp_Still, + .anim_F = ANIM_ChainChomp_Still, }, }, }; diff --git a/src/world/area_kmr/kmr_22/npc/chapter_2.inc.c b/src/world/area_kmr/kmr_22/npc/chapter_2.inc.c index da8c1051f6..9b5c3c609a 100644 --- a/src/world/area_kmr/kmr_22/npc/chapter_2.inc.c +++ b/src/world/area_kmr/kmr_22/npc/chapter_2.inc.c @@ -6,26 +6,26 @@ EvtScript N(EVS_NpcInit_Mamar) = { }; EvtScript N(EVS_NpcInit_Tutankoopa) = { - EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Tutankoopa_Anim08) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Tutankoopa_Levitate) EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0) EVT_RETURN EVT_END }; EvtScript N(EVS_NpcInit_ChainChomp) = { - EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_ChainChomp_Anim03) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_ChainChomp_QuickBite) EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0) EVT_CALL(SetNpcPos, NPC_SELF, 5, -25, -180) - EVT_CALL(SetNpcAnimation, NPC_ChainChomp_02, ANIM_ChainChomp_Anim02) + EVT_CALL(SetNpcAnimation, NPC_ChainChomp_02, ANIM_ChainChomp_Chain) EVT_CALL(SetNpcImgFXParams, NPC_ChainChomp_02, IMGFX_FILL_COLOR, 80, 80, 80, 0) EVT_CALL(SetNpcPos, NPC_ChainChomp_02, 35, -14, -180) - EVT_CALL(SetNpcAnimation, NPC_ChainChomp_03, ANIM_ChainChomp_Anim02) + EVT_CALL(SetNpcAnimation, NPC_ChainChomp_03, ANIM_ChainChomp_Chain) EVT_CALL(SetNpcImgFXParams, NPC_ChainChomp_03, IMGFX_FILL_COLOR, 80, 80, 80, 0) EVT_CALL(SetNpcPos, NPC_ChainChomp_03, 52, -18, -180) - EVT_CALL(SetNpcAnimation, NPC_ChainChomp_04, ANIM_ChainChomp_Anim02) + EVT_CALL(SetNpcAnimation, NPC_ChainChomp_04, ANIM_ChainChomp_Chain) EVT_CALL(SetNpcImgFXParams, NPC_ChainChomp_04, IMGFX_FILL_COLOR, 80, 80, 80, 0) EVT_CALL(SetNpcPos, NPC_ChainChomp_04, 69, -19, -180) - EVT_CALL(SetNpcAnimation, NPC_ChainChomp_05, ANIM_ChainChomp_Anim02) + EVT_CALL(SetNpcAnimation, NPC_ChainChomp_05, ANIM_ChainChomp_Chain) EVT_CALL(SetNpcImgFXParams, NPC_ChainChomp_05, IMGFX_FILL_COLOR, 80, 80, 80, 0) EVT_CALL(SetNpcPos, NPC_ChainChomp_05, 86, -19, -180) EVT_RETURN diff --git a/src/world/area_kmr/kmr_30/kmr_30_1_main.c b/src/world/area_kmr/kmr_30/kmr_30_1_main.c index f0ab45ed23..cf9815cb8a 100644 --- a/src/world/area_kmr/kmr_30/kmr_30_1_main.c +++ b/src/world/area_kmr/kmr_30/kmr_30_1_main.c @@ -7,7 +7,7 @@ EvtScript N(EVS_Main) = { EVT_CALL(SetSpriteShading, SHADING_KMR_30) EVT_SETUP_CAMERA_NO_LEAD() EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) - EVT_CALL(EnableStatusMenu, FALSE) + EVT_CALL(EnableWorldStatusBar, FALSE) EVT_THREAD EVT_CALL(FadeOutMusic, 0, 0x00001388) EVT_WAIT(390) diff --git a/src/world/area_mac/mac_00/mac_00_6_shop.c b/src/world/area_mac/mac_00/mac_00_6_shop.c index 23713ff8e8..681b3b9e80 100644 --- a/src/world/area_mac/mac_00/mac_00_6_shop.c +++ b/src/world/area_mac/mac_00/mac_00_6_shop.c @@ -76,7 +76,7 @@ ShopOwner N(Owner) = { }; EvtScript N(EVS_SetupShop) = { - EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_10000) + EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_TOSS_LOWER) EVT_CALL(MakeShopOwner, EVT_PTR(N(Owner))) EVT_RETURN EVT_END diff --git a/src/world/area_mac/mac_00/npc/dojo_members.inc.c b/src/world/area_mac/mac_00/npc/dojo_members.inc.c index fa481b9491..fb2e3891a3 100644 --- a/src/world/area_mac/mac_00/npc/dojo_members.inc.c +++ b/src/world/area_mac/mac_00/npc/dojo_members.inc.c @@ -159,7 +159,7 @@ EvtScript N(EVS_NpcInit_Lee) = { API_CALLABLE(N(SetPlayer1HP)) { gPlayerData.curHP = 1; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_mac/mac_01/npc/post_office.inc.c b/src/world/area_mac/mac_01/npc/post_office.inc.c index ee173e8bf7..1e6a07cf0d 100644 --- a/src/world/area_mac/mac_01/npc/post_office.inc.c +++ b/src/world/area_mac/mac_01/npc/post_office.inc.c @@ -115,8 +115,8 @@ API_CALLABLE(N(func_80245028_8058A8)) { menu->numEntries = numEntries; menu->initialPos = D_80262F68; create_standard_popup_menu(menu); - status_menu_respond_to_changes(); - close_status_menu(); + status_bar_respond_to_changes(); + close_status_bar(); script->functionTemp[0] = 0; } @@ -181,8 +181,8 @@ API_CALLABLE(N(func_8024522C_805AAC)) { menu->numEntries = numEntries; menu->initialPos = 0; create_standard_popup_menu(menu); - status_menu_respond_to_changes(); - close_status_menu(); + status_bar_respond_to_changes(); + close_status_bar(); script->functionTemp[0] = 0; } diff --git a/src/world/area_mac/mac_03/mac_03_8_demo.c b/src/world/area_mac/mac_03/mac_03_8_demo.c index 0081a30d02..426e2e0eef 100644 --- a/src/world/area_mac/mac_03/mac_03_8_demo.c +++ b/src/world/area_mac/mac_03/mac_03_8_demo.c @@ -61,7 +61,7 @@ EvtScript N(EVS_DemoUpdatePassengerPos) = { }; EvtScript N(EVS_DemoDepartForMtRugged) = { - EVT_CALL(EnableStatusMenu, FALSE) + EVT_CALL(EnableWorldStatusBar, FALSE) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(DisablePlayerPhysics, TRUE) EVT_CALL(DisablePartnerAI, 0) diff --git a/src/world/area_mac/mac_04/mac_04_5_shop.c b/src/world/area_mac/mac_04/mac_04_5_shop.c index 8c6f827b17..bf439c6563 100644 --- a/src/world/area_mac/mac_04/mac_04_5_shop.c +++ b/src/world/area_mac/mac_04/mac_04_5_shop.c @@ -75,7 +75,7 @@ ShopOwner N(Owner) = { }; EvtScript N(EVS_SetupShop) = { - EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_10000) + EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_TOSS_LOWER) EVT_CALL(MakeShopOwner, EVT_PTR(N(Owner))) EVT_RETURN EVT_END diff --git a/src/world/area_mac/mac_04/npc_chet_rippo.inc.c b/src/world/area_mac/mac_04/npc_chet_rippo.inc.c index b9715b5749..aa28c9a0d4 100644 --- a/src/world/area_mac/mac_04/npc_chet_rippo.inc.c +++ b/src/world/area_mac/mac_04/npc_chet_rippo.inc.c @@ -77,19 +77,19 @@ API_CALLABLE(N(SetNpcShadowScale)) { return ApiStatus_DONE2; } -API_CALLABLE(N(SetStatusMenuIgnoreChanges)) { - status_menu_ignore_changes(); +API_CALLABLE(N(SetStatusBarIgnoreChanges)) { + status_bar_ignore_changes(); return ApiStatus_DONE2; } -API_CALLABLE(N(SetStatusMenuRespondToChanges)) { - status_menu_respond_to_changes(); +API_CALLABLE(N(SetStatusBarRespondToChanges)) { + status_bar_respond_to_changes(); return ApiStatus_DONE2; } -API_CALLABLE(N(ForceStatusMenuToAppear)) { - status_menu_respond_to_changes(); - open_status_menu_long(); +API_CALLABLE(N(ForceStatusBarToAppear)) { + status_bar_respond_to_changes(); + open_status_bar_long(); return ApiStatus_DONE2; } @@ -100,21 +100,21 @@ EvtScript N(EVS_NpcInteract_ChetRippo) = { EVT_ELSE EVT_SET(LVar0, MSG_MAC_Housing_00A9) EVT_END_IF - EVT_CALL(N(SetStatusMenuIgnoreChanges)) + EVT_CALL(N(SetStatusBarIgnoreChanges)) EVT_CALL(SpeakToPlayer, NPC_ChetRippo, ANIM_ChetRippo_Talk, ANIM_ChetRippo_Idle, 0, LVar0) EVT_CALL(ShowCoinCounter, TRUE) EVT_CALL(ShowChoice, MSG_Choice_000E) EVT_IF_NE(LVar0, 0) EVT_CALL(ShowCoinCounter, FALSE) EVT_CALL(ContinueSpeech, NPC_ChetRippo, ANIM_ChetRippo_Talk, ANIM_ChetRippo_Idle, 0, MSG_MAC_Housing_00AA) - EVT_CALL(N(SetStatusMenuRespondToChanges)) + EVT_CALL(N(SetStatusBarRespondToChanges)) EVT_RETURN EVT_END_IF EVT_CALL(N(GetPlayerCoins)) EVT_IF_LT(LVar0, 39) EVT_CALL(ShowCoinCounter, FALSE) EVT_CALL(ContinueSpeech, NPC_ChetRippo, ANIM_ChetRippo_Talk, ANIM_ChetRippo_Idle, 0, MSG_MAC_Housing_00AB) - EVT_CALL(N(SetStatusMenuRespondToChanges)) + EVT_CALL(N(SetStatusBarRespondToChanges)) EVT_RETURN EVT_END_IF EVT_CALL(N(GetCurrentStatValues)) @@ -126,7 +126,7 @@ EvtScript N(EVS_NpcInteract_ChetRippo) = { EVT_IF_EQ(LVar0, 3) EVT_CALL(ShowCoinCounter, FALSE) EVT_CALL(ContinueSpeech, NPC_ChetRippo, ANIM_ChetRippo_Talk, ANIM_ChetRippo_Idle, 0, MSG_MAC_Housing_00AD) - EVT_CALL(N(SetStatusMenuRespondToChanges)) + EVT_CALL(N(SetStatusBarRespondToChanges)) EVT_RETURN EVT_END_IF EVT_SET(LVar2, 0) @@ -152,7 +152,7 @@ EvtScript N(EVS_NpcInteract_ChetRippo) = { EVT_IF_EQ(LVar2, 1) EVT_CALL(ShowCoinCounter, FALSE) EVT_CALL(ContinueSpeech, NPC_ChetRippo, ANIM_ChetRippo_Talk, ANIM_ChetRippo_Idle, 0, MSG_MAC_Housing_00B1) - EVT_CALL(N(SetStatusMenuRespondToChanges)) + EVT_CALL(N(SetStatusBarRespondToChanges)) EVT_RETURN EVT_END_IF EVT_CALL(AddCoin, -39) @@ -183,7 +183,7 @@ EvtScript N(EVS_NpcInteract_ChetRippo) = { EVT_PLAY_EFFECT(EFFECT_BIG_SMOKE_PUFF, LVar0, LVar1, LVar2, 1, 1, 1, 1) EVT_CALL(SetNpcPos, NPC_ChetRippo, NPC_DISPOSE_LOCATION) EVT_SET(AF_MAC_32, TRUE) - EVT_CALL(N(ForceStatusMenuToAppear)) + EVT_CALL(N(ForceStatusBarToAppear)) EVT_RETURN EVT_END }; diff --git a/src/world/area_mac/mac_04/npc_muskular.inc.c b/src/world/area_mac/mac_04/npc_muskular.inc.c index 5a0fdd08e1..925c950be9 100644 --- a/src/world/area_mac/mac_04/npc_muskular.inc.c +++ b/src/world/area_mac/mac_04/npc_muskular.inc.c @@ -5,7 +5,7 @@ API_CALLABLE(N(UpgradeStarPowerCh4)) { set_max_SP(4); playerData->curHP = playerData->curMaxHP; playerData->curFP = playerData->curMaxFP; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_mgm/mgm_01/mgm_01_2_npc.c b/src/world/area_mgm/mgm_01/mgm_01_2_npc.c index a46e06de9a..a057429aab 100644 --- a/src/world/area_mgm/mgm_01/mgm_01_2_npc.c +++ b/src/world/area_mgm/mgm_01/mgm_01_2_npc.c @@ -163,8 +163,8 @@ void N(worker_draw_score)(void) { API_CALLABLE(N(DisableMenus)) { gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_MENUS; - status_menu_ignore_changes(); - close_status_menu(); + status_bar_ignore_changes(); + close_status_bar(); return ApiStatus_DONE2; } @@ -636,8 +636,8 @@ API_CALLABLE(N(CreateMinigame)) { data->scoreWindowPosX = SCREEN_WIDTH + 1; data->scoreWindowPosY = 28; - status_menu_ignore_changes(); - close_status_menu(); + status_bar_ignore_changes(); + close_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_mgm/mgm_02/mgm_02_2_npc.c b/src/world/area_mgm/mgm_02/mgm_02_2_npc.c index 26e85cacc8..002293a2ba 100644 --- a/src/world/area_mgm/mgm_02/mgm_02_2_npc.c +++ b/src/world/area_mgm/mgm_02/mgm_02_2_npc.c @@ -226,8 +226,8 @@ API_CALLABLE(N(CreateScoreDisplay)) { API_CALLABLE(N(DisableMenus)) { gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_MENUS; - status_menu_ignore_changes(); - close_status_menu(); + status_bar_ignore_changes(); + close_status_bar(); return ApiStatus_DONE2; } @@ -978,8 +978,8 @@ API_CALLABLE(N(CreateMinigame)) { data->windowB_posX = SCREEN_WIDTH; data->timeLeft = PLAY_TIME; - status_menu_ignore_changes(); - close_status_menu(); + status_bar_ignore_changes(); + close_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_nok/nok_01/nok_01_5_shop.c b/src/world/area_nok/nok_01/nok_01_5_shop.c index 072fd22572..fe3a933d80 100644 --- a/src/world/area_nok/nok_01/nok_01_5_shop.c +++ b/src/world/area_nok/nok_01/nok_01_5_shop.c @@ -89,7 +89,7 @@ ShopOwner N(Owner) = { }; EvtScript N(EVS_SetupShop) = { - EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_10000) + EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_TOSS_LOWER) EVT_CALL(MakeShopOwner, EVT_PTR(N(Owner))) EVT_RETURN EVT_END diff --git a/src/world/area_nok/nok_01/nok_01_6_rooms.c b/src/world/area_nok/nok_01/nok_01_6_rooms.c index cc0d682a72..690d403d3d 100644 --- a/src/world/area_nok/nok_01/nok_01_6_rooms.c +++ b/src/world/area_nok/nok_01/nok_01_6_rooms.c @@ -2,15 +2,15 @@ API_CALLABLE(N(OnEnterShop)) { func_800E98EC(); - status_menu_ignore_changes(); - open_status_menu_long(); + status_bar_ignore_changes(); + open_status_bar_long(); return ApiStatus_DONE2; } API_CALLABLE(N(OnExitShop)) { func_800E9900(); - status_menu_respond_to_changes(); - close_status_menu(); + status_bar_respond_to_changes(); + close_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_nok/nok_02/nok_02_8_koot_favors.c b/src/world/area_nok/nok_02/nok_02_8_koot_favors.c index 8a96fabfb6..ffb8c13eac 100644 --- a/src/world/area_nok/nok_02/nok_02_8_koot_favors.c +++ b/src/world/area_nok/nok_02/nok_02_8_koot_favors.c @@ -396,7 +396,7 @@ EvtScript N(EVS_NpcInteract_KoopaKoot) = { EVT_CALL(N(GetFavorMessages), GB_KootFavor_Current) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, LVar2) EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00B1) - EVT_CALL(ShowGotItem, ITEM_STAR_PIECE, TRUE, 32) + EVT_CALL(ShowGotItem, ITEM_STAR_PIECE, TRUE, ITEM_PICKUP_FLAG_3_STAR_PIECES) EVT_CALL(AddStarPieces, 3) EVT_END_IF EVT_SWITCH(GB_KootFavor_Completed) diff --git a/src/world/area_pra/pra_01/pra_01_3_npc.c b/src/world/area_pra/pra_01/pra_01_3_npc.c index 87ed0cb7bc..945becc31d 100644 --- a/src/world/area_pra/pra_01/pra_01_3_npc.c +++ b/src/world/area_pra/pra_01/pra_01_3_npc.c @@ -11,7 +11,7 @@ API_CALLABLE(N(UpgradeStarPowerCh7)) { set_max_SP(7); gPlayerData.curHP = gPlayerData.curMaxHP; gPlayerData.curFP = gPlayerData.curMaxFP; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_sam/sam_02/sam_02_6_shop.c b/src/world/area_sam/sam_02/sam_02_6_shop.c index 468bb37308..68c294499c 100644 --- a/src/world/area_sam/sam_02/sam_02_6_shop.c +++ b/src/world/area_sam/sam_02/sam_02_6_shop.c @@ -99,7 +99,7 @@ EvtScript N(EVS_SetupShop) = { EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o512, COLLIDER_FLAGS_UPPER_MASK) EVT_END_SWITCH - EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_10000) + EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_TOSS_LOWER) EVT_CALL(MakeShopOwner, EVT_PTR(N(Owner))) EVT_RETURN EVT_END diff --git a/src/world/area_sam/sam_09/sam_09_4_sockets.c b/src/world/area_sam/sam_09/sam_09_4_sockets.c index 735e293a1e..cab8061781 100644 --- a/src/world/area_sam/sam_09/sam_09_4_sockets.c +++ b/src/world/area_sam/sam_09/sam_09_4_sockets.c @@ -158,7 +158,7 @@ EvtScript N(EVS_UseSocket1) = { EVT_CALL(RemoveItemEntity, MV_Socket1_ItemEntityID) EVT_SET(MV_Socket1_ItemID, -1) EVT_CALL(N(SerializeItemIDs)) - EVT_CALL(ShowGotItem, LVar0, FALSE, 0x40) + EVT_CALL(ShowGotItem, LVar0, FALSE, ITEM_PICKUP_FLAG_UNIQUE) EVT_SET(LVar2, MODEL_m1_kabe) EVT_SET(LVar4, COLLIDER_o55) EVT_EXEC_WAIT(N(EVS_TakeItemFromSocket)) @@ -207,7 +207,7 @@ EvtScript N(EVS_UseSocket2) = { EVT_CALL(RemoveItemEntity, MV_Socket2_ItemEntityID) EVT_SET(MV_Socket2_ItemID, -1) EVT_CALL(N(SerializeItemIDs)) - EVT_CALL(ShowGotItem, LVar0, FALSE, 0x40) + EVT_CALL(ShowGotItem, LVar0, FALSE, ITEM_PICKUP_FLAG_UNIQUE) EVT_SET(LVar2, MODEL_m2_kabe) EVT_SET(LVar4, COLLIDER_o54) EVT_EXEC_WAIT(N(EVS_TakeItemFromSocket)) @@ -256,7 +256,7 @@ EvtScript N(EVS_UseSocket3) = { EVT_CALL(RemoveItemEntity, MV_Socket3_ItemEntityID) EVT_SET(MV_Socket3_ItemID, -1) EVT_CALL(N(SerializeItemIDs)) - EVT_CALL(ShowGotItem, LVar0, FALSE, 0x40) + EVT_CALL(ShowGotItem, LVar0, FALSE, ITEM_PICKUP_FLAG_UNIQUE) EVT_SET(LVar2, MODEL_m3_kabe) EVT_SET(LVar4, COLLIDER_o53) EVT_EXEC_WAIT(N(EVS_TakeItemFromSocket)) diff --git a/src/world/area_sbk/sbk_02/sbk_02_4_npc.c b/src/world/area_sbk/sbk_02/sbk_02_4_npc.c index 6477bfd6a8..dca9478372 100644 --- a/src/world/area_sbk/sbk_02/sbk_02_4_npc.c +++ b/src/world/area_sbk/sbk_02/sbk_02_4_npc.c @@ -31,7 +31,7 @@ API_CALLABLE(N(UpgradeStarPowerCh2)) { set_max_SP(2); gPlayerData.curHP = gPlayerData.curMaxHP; gPlayerData.curFP = gPlayerData.curMaxFP; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/area_trd/trd_00/trd_00_3_npc.c b/src/world/area_trd/trd_00/trd_00_3_npc.c index 6a7ae013d1..6df9891519 100644 --- a/src/world/area_trd/trd_00/trd_00_3_npc.c +++ b/src/world/area_trd/trd_00/trd_00_3_npc.c @@ -7,11 +7,11 @@ API_CALLABLE(N(UpgradeStarPowerCh1)) { set_max_SP(1); gPlayerData.curHP = gPlayerData.curMaxHP; gPlayerData.curFP = gPlayerData.curMaxFP; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } -#include "world/common/todo/SyncStatusMenu.inc.c" +#include "world/common/todo/SyncStatusBar.inc.c" NpcSettings N(NpcSettings_KoopaBros) = { .height = 34, @@ -214,7 +214,7 @@ EvtScript N(D_80241DA4_99BA14) = { EVT_WAIT(1) EVT_END_LOOP EVT_CALL(FullyRestoreSP) - EVT_CALL(N(SyncStatusMenu)) + EVT_CALL(N(SyncStatusBar)) EVT_LABEL(10) EVT_WAIT(30 * DT) EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2) diff --git a/src/world/common/atomic/ToadHouse.data.inc.c b/src/world/common/atomic/ToadHouse.data.inc.c index a46dad4b30..81da00243e 100644 --- a/src/world/common/atomic/ToadHouse.data.inc.c +++ b/src/world/common/atomic/ToadHouse.data.inc.c @@ -72,7 +72,7 @@ EvtScript N(EVS_NpcInteract_ToadHouseKeeper) = { EVT_CALL(SetPlayerJumpscale, 1) EVT_CALL(DisablePlayerPhysics, TRUE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) - EVT_CALL(N(ToadHouse_DisableStatusMenu)) + EVT_CALL(N(ToadHouse_DisableStatusBar)) EVT_IF_NE(LVar4, 0) EVT_EXEC(N(EVS_ToadHouse_Unk2)) EVT_END_IF @@ -109,7 +109,7 @@ EvtScript N(EVS_NpcInteract_ToadHouseKeeper) = { EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_PLAYER_COLLISION, FALSE) EVT_CALL(SpeakToPlayer, NPC_SELF, TOADHOUSE_ANIM_TALK, TOADHOUSE_ANIM_IDLE, 0, LVarB) - EVT_CALL(N(ToadHouse_ShowStatusMenu)) + EVT_CALL(N(ToadHouse_ShowWorldStatusBar)) EVT_RETURN EVT_END }; diff --git a/src/world/common/atomic/ToadHouse.inc.c b/src/world/common/atomic/ToadHouse.inc.c index 846c58c6da..8a8ce3a282 100644 --- a/src/world/common/atomic/ToadHouse.inc.c +++ b/src/world/common/atomic/ToadHouse.inc.c @@ -2,14 +2,14 @@ #include "npc.h" #include "../../partners.h" -API_CALLABLE(N(ToadHouse_DisableStatusMenu)) { - status_menu_ignore_changes(); +API_CALLABLE(N(ToadHouse_DisableStatusBar)) { + status_bar_ignore_changes(); return ApiStatus_DONE2; } -API_CALLABLE(N(ToadHouse_ShowStatusMenu)) { - status_menu_respond_to_changes(); - sync_status_menu(); +API_CALLABLE(N(ToadHouse_ShowWorldStatusBar)) { + status_bar_respond_to_changes(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/common/atomic/ToadHouseHos.data.inc.c b/src/world/common/atomic/ToadHouseHos.data.inc.c index 106f5a741b..015b544a4c 100644 --- a/src/world/common/atomic/ToadHouseHos.data.inc.c +++ b/src/world/common/atomic/ToadHouseHos.data.inc.c @@ -64,7 +64,7 @@ EvtScript N(EVS_NpcInteract_ToadHouseKeeper) = { EVT_CALL(SetPlayerJumpscale, 1) EVT_CALL(DisablePlayerPhysics, TRUE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) - EVT_CALL(N(ToadHouse_DisableStatusMenu)) + EVT_CALL(N(ToadHouse_DisableStatusBar)) EVT_IF_NE(LVar4, 0) EVT_EXEC(N(8024AC8C)) EVT_END_IF @@ -101,7 +101,7 @@ EvtScript N(EVS_NpcInteract_ToadHouseKeeper) = { EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_PLAYER_COLLISION, FALSE) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_StarMan_Talk, ANIM_StarMan_Idle, 0, LVarB) - EVT_CALL(N(ToadHouse_ShowStatusMenu)) + EVT_CALL(N(ToadHouse_ShowWorldStatusBar)) EVT_RETURN EVT_END }; diff --git a/src/world/common/complete/Quizmo.inc.c b/src/world/common/complete/Quizmo.inc.c index 2a9ac6af1a..aa72b69406 100644 --- a/src/world/common/complete/Quizmo.inc.c +++ b/src/world/common/complete/Quizmo.inc.c @@ -248,7 +248,7 @@ API_CALLABLE(N(Quizmo_HideWorld)) { ItemEntity* itemEntity = get_item_entity(i); if (itemEntity != NULL && itemEntity->flags & ITEM_ENTITY_FLAG_10) { - itemEntity->flags |= ITEM_ENTITY_FLAG_8000000; + itemEntity->flags |= ITEM_ENTITY_FLAG_HIDING; } } @@ -302,7 +302,7 @@ API_CALLABLE(N(Quizmo_FadeInWorld)) { for (i = 0; i < MAX_ITEM_ENTITIES; i++) { ItemEntity* entity = get_item_entity(i); if (entity != NULL && entity->flags & ITEM_ENTITY_FLAG_10) { - entity->flags &= ~ITEM_ENTITY_FLAG_8000000; + entity->flags &= ~ITEM_ENTITY_FLAG_HIDING; } } diff --git a/src/world/common/enemy/StoneChomp.h b/src/world/common/enemy/StoneChomp.h index c170ef9df3..045ea4d381 100644 --- a/src/world/common/enemy/StoneChomp.h +++ b/src/world/common/enemy/StoneChomp.h @@ -14,20 +14,20 @@ #define STONE_CHOMP_ANIMS \ { \ - .idle = ANIM_StoneChomp_Anim01, \ - .walk = ANIM_StoneChomp_Anim05, \ - .run = ANIM_StoneChomp_Anim04, \ - .chase = ANIM_StoneChomp_Anim04, \ - .anim_4 = ANIM_StoneChomp_Anim01, \ - .anim_5 = ANIM_StoneChomp_Anim01, \ - .death = ANIM_StoneChomp_Anim06, \ - .hit = ANIM_StoneChomp_Anim06, \ - .anim_8 = ANIM_StoneChomp_Anim00, \ - .anim_9 = ANIM_StoneChomp_Anim00, \ - .anim_A = ANIM_StoneChomp_Anim00, \ - .anim_B = ANIM_StoneChomp_Anim00, \ - .anim_C = ANIM_StoneChomp_Anim00, \ - .anim_D = ANIM_StoneChomp_Anim00, \ - .anim_E = ANIM_StoneChomp_Anim00, \ - .anim_F = ANIM_StoneChomp_Anim00, \ + .idle = ANIM_StoneChomp_Idle, \ + .walk = ANIM_StoneChomp_SlowBite, \ + .run = ANIM_StoneChomp_Bite, \ + .chase = ANIM_StoneChomp_Bite, \ + .anim_4 = ANIM_StoneChomp_Idle, \ + .anim_5 = ANIM_StoneChomp_Idle, \ + .death = ANIM_StoneChomp_Hurt, \ + .hit = ANIM_StoneChomp_Hurt, \ + .anim_8 = ANIM_StoneChomp_Still, \ + .anim_9 = ANIM_StoneChomp_Still, \ + .anim_A = ANIM_StoneChomp_Still, \ + .anim_B = ANIM_StoneChomp_Still, \ + .anim_C = ANIM_StoneChomp_Still, \ + .anim_D = ANIM_StoneChomp_Still, \ + .anim_E = ANIM_StoneChomp_Still, \ + .anim_F = ANIM_StoneChomp_Still, \ } diff --git a/src/world/common/enemy/StoneChomp.inc.c b/src/world/common/enemy/StoneChomp.inc.c index cc96a2accd..8c10ad6469 100644 --- a/src/world/common/enemy/StoneChomp.inc.c +++ b/src/world/common/enemy/StoneChomp.inc.c @@ -17,7 +17,7 @@ API_CALLABLE(N(StoneChompFXA)) { bp.flags = NPC_FLAG_IGNORE_ENTITY_COLLISION | NPC_FLAG_IGNORE_PLAYER_COLLISION | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8 | NPC_FLAG_INVISIBLE; - bp.initialAnim = ANIM_StoneChomp_Anim02; + bp.initialAnim = ANIM_StoneChomp_Chain; bp.onUpdate = NULL; bp.onRender = NULL; diff --git a/src/world/common/todo/SyncStatusMenu.inc.c b/src/world/common/todo/SyncStatusBar.inc.c similarity index 53% rename from src/world/common/todo/SyncStatusMenu.inc.c rename to src/world/common/todo/SyncStatusBar.inc.c index aadb6719e6..0de68ef5cf 100644 --- a/src/world/common/todo/SyncStatusMenu.inc.c +++ b/src/world/common/todo/SyncStatusBar.inc.c @@ -1,7 +1,7 @@ #include "common.h" #include "npc.h" -API_CALLABLE(N(SyncStatusMenu)) { - sync_status_menu(); +API_CALLABLE(N(SyncStatusBar)) { + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/common/todo/UnkFunc1.inc.c b/src/world/common/todo/UnkFunc1.inc.c index 112c116119..2cb2d35cb2 100644 --- a/src/world/common/todo/UnkFunc1.inc.c +++ b/src/world/common/todo/UnkFunc1.inc.c @@ -2,7 +2,7 @@ #include "npc.h" API_CALLABLE(N(UnkFunc1)) { - increment_status_menu_disabled(); + increment_status_bar_disabled(); set_screen_overlay_params_back(OVERLAY_SCREEN_COLOR, 255.0f); return ApiStatus_DONE2; } diff --git a/src/world/common/todo/clouds.inc.c b/src/world/common/todo/clouds.inc.c deleted file mode 100644 index 0b2ba2040d..0000000000 --- a/src/world/common/todo/clouds.inc.c +++ /dev/null @@ -1,65 +0,0 @@ -#include "common/UnkAngleFunc2.inc.c" - -EvtScript N(clouds1) = { - EVT_SET(LVarA, LVar0) - EVT_SET(LVar7, LVar2) - EVT_MUL(LVar7, 10) - EVT_LABEL(0) - EVT_ADD(LVar7, 4) - EVT_IF_GT(LVar7, 3599) - EVT_SUB(LVar7, 3600) - EVT_END_IF - EVT_CALL(N(UnkAngleFunc2), LVar7, LVar0, LVar1, LVar2, LVar3) - EVT_CALL(TranslateModel, LVarA, LVar0, LVar1, LVar2) - EVT_CALL(RotateModel, LVarA, LVar3, 0, 1, 0) - EVT_WAIT(1) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(clouds2) = { - EVT_SET(LVarA, LVar0) - EVT_SET(LVarB, LVar3) - EVT_SET(LVarC, LVar4) - EVT_SET(LVar7, LVar2) - EVT_MUL(LVar7, 10) - EVT_LABEL(0) - EVT_ADD(LVar7, 4) - EVT_IF_GT(LVar7, 3599) - EVT_SUB(LVar7, 3600) - EVT_END_IF - EVT_CALL(N(UnkAngleFunc2), LVar7, LVar0, LVar1, LVar2, LVar3) - EVT_ADDF(LVar1, LVarB) - EVT_ADDF(LVar2, LVarC) - EVT_CALL(TranslateModel, LVarA, LVar0, LVar1, LVar2) - EVT_CALL(RotateModel, LVarA, LVar3, 0, 1, 0) - EVT_WAIT(1) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; - -EvtScript N(clouds3) = { - EVT_SET(LVarA, LVar0) - EVT_SET(LVarB, LVar3) - EVT_SET(LVarC, LVar4) - EVT_SET(LVarD, LVar5) - EVT_SET(LVar7, LVar2) - EVT_MUL(LVar7, 10) - EVT_LABEL(0) - EVT_ADD(LVar7, 4) - EVT_IF_GT(LVar7, 3599) - EVT_SUB(LVar7, 3600) - EVT_END_IF - EVT_CALL(N(UnkAngleFunc2), LVar7, LVar0, LVar1, LVar2, LVar3) - EVT_ADDF(LVar0, LVarB) - EVT_ADDF(LVar1, LVarC) - EVT_ADDF(LVar2, LVarD) - EVT_CALL(TranslateModel, LVarA, LVar0, LVar1, LVar2) - EVT_CALL(RotateModel, LVarA, LVar3, 0, 1, 0) - EVT_WAIT(1) - EVT_GOTO(0) - EVT_RETURN - EVT_END -}; diff --git a/src/world/dead/area_flo/flo_00/flo_00_3_npc.c b/src/world/dead/area_flo/flo_00/flo_00_3_npc.c index 7de58da209..8b938b1d62 100644 --- a/src/world/dead/area_flo/flo_00/flo_00_3_npc.c +++ b/src/world/dead/area_flo/flo_00/flo_00_3_npc.c @@ -14,7 +14,7 @@ API_CALLABLE(N(UpgradeStarPowerCh6)) { set_max_SP(6); gPlayerData.curHP = gPlayerData.curMaxHP; gPlayerData.curFP = gPlayerData.curMaxFP; - sync_status_menu(); + sync_status_bar(); return ApiStatus_DONE2; } diff --git a/src/world/dead/area_flo/flo_00/flo_00_5_beanstalk.c b/src/world/dead/area_flo/flo_00/flo_00_5_beanstalk.c index 0831b0d366..594ecf446d 100644 --- a/src/world/dead/area_flo/flo_00/flo_00_5_beanstalk.c +++ b/src/world/dead/area_flo/flo_00/flo_00_5_beanstalk.c @@ -47,15 +47,15 @@ API_CALLABLE(N(PartnerRideBeanstalk)) { #include "common/CosInterpMinMax.inc.c" -#include "world/common/todo/SyncStatusMenu.inc.c" +#include "world/common/todo/SyncStatusBar.inc.c" -API_CALLABLE(N(DisableStatusMenu)) { - increment_status_menu_disabled(); +API_CALLABLE(N(DisableStatusBar)) { + increment_status_bar_disabled(); return ApiStatus_DONE2; } -API_CALLABLE(N(EnableStatusMenu)) { - decrement_status_menu_disabled(); +API_CALLABLE(N(EnableWorldStatusBar)) { + decrement_status_bar_disabled(); return ApiStatus_DONE2; } @@ -555,7 +555,7 @@ EvtScript N(EVS_BeanPatch_ItemPrompt) = { EVT_CALL(SetPlayerAnimation, ANIM_MarioW1_PlaceItem) EVT_WAIT(5) EVT_CALL(RemoveKeyItemAt, LVar1) - EVT_CALL(N(SyncStatusMenu)) + EVT_CALL(N(SyncStatusBar)) EVT_CALL(MakeItemEntity, ITEM_MIRACLE_WATER, BEANSTALK_BASE_X, 0, BEANSTALK_BASE_Z, ITEM_SPAWN_MODE_DECORATION, 0) EVT_SET(MV_BeanstalkItemEntity, LVar0) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Still) @@ -603,9 +603,9 @@ EvtScript N(EVS_BeanPatch_TryInteract) = { EVT_RETURN EVT_END_IF EVT_END_IF - EVT_CALL(N(DisableStatusMenu)) + EVT_CALL(N(DisableStatusBar)) EVT_EXEC_WAIT(N(EVS_BeanPatch_ItemPrompt)) - EVT_CALL(N(EnableStatusMenu)) + EVT_CALL(N(EnableWorldStatusBar)) EVT_RETURN EVT_END }; diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index 7dc774913d..b84a2a8ba0 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -284,7 +284,7 @@ API_CALLABLE(N(SelectTattleMsg)) { goombario->currentAnim = ANIM_WorldGoombario_Idle; goombario->yaw = clamp_angle(gCameras[CAM_DEFAULT].currentYaw + playerStatus->spriteFacingAngle - 90.0f); gPartnerStatus.partnerActionState = PARTNER_ACTION_USE; - close_status_menu(); + close_status_bar(); if (N(HadSpeechPrompt)) { script->VAR_MSG = 0; script->USE_STATE = USE_TATTLE_FORCE_NPC; diff --git a/src/world/partners.c b/src/world/partners.c index b1298bb66a..f03cd43fb1 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -153,7 +153,7 @@ HudScript* SPStarHudScripts[] = { &HES_StatusStar1, &HES_StatusStar3, &HES_Statu &HES_StatusStar5, &HES_StatusStar6, &HES_StatusStar7 }; -s32 StatusMenuSPIncrementOffsets[] = { -1, 1, 2, 4, 5, 7, 8, 0, 0, 0 }; +s32 StatusBarSPIncrementOffsets[] = { -1, 1, 2, 4, 5, 7, 8, 0, 0, 0 }; UseItemStruct UseItemDmaArgs = { world_use_item_ROM_START, world_use_item_ROM_END, diff --git a/src/world/script_api/shops.c b/src/world/script_api/shops.c index b2b76e89d9..f7dacb3c5f 100644 --- a/src/world/script_api/shops.c +++ b/src/world/script_api/shops.c @@ -275,7 +275,7 @@ API_CALLABLE(ShowShopPurchaseDialog) { } script->functionTemp[1] = shop_owner_buy_dialog(SHOP_MSG_BUY_CONFIRM, shopItem->nameMsg, shopInventory->price, bpCost); script->functionTemp[0] = PURCHASE_DIALOG_STATE_INIT; - increment_status_menu_disabled(); + increment_status_bar_disabled(); func_800E9900(); show_coin_counter(); } @@ -358,7 +358,7 @@ API_CALLABLE(ShowShopPurchaseDialog) { if (wShopBuyCallbackScript != NULL && does_script_exist(wShopBuyCallbackScript->id)) { break; } - decrement_status_menu_disabled(); + decrement_status_bar_disabled(); hide_coin_counter_immediately(); return ApiStatus_DONE1; } @@ -426,9 +426,9 @@ void shop_open_item_select_popup(s32 mode) { menu->numEntries = numEntries; menu->initialPos = 0; create_shop_popup_menu(menu); - status_menu_ignore_changes(); + status_bar_ignore_changes(); func_800E98EC(); - open_status_menu_short(); + open_status_bar_short(); } s32 shop_update_item_select_popup(s32* selectedIndex) { @@ -454,8 +454,8 @@ s32 shop_update_item_select_popup(s32* selectedIndex) { void shop_close_item_select_popup(void) { destroy_popup_menu(); func_800E9900(); - status_menu_respond_to_changes(); - close_status_menu(); + status_bar_respond_to_changes(); + close_status_bar(); } s32 shop_get_sell_price(s32 itemID) { @@ -772,7 +772,7 @@ API_CALLABLE(ShowShopOwnerDialog) { start_script(shop->owner->onTalkEvt, EVT_PRIORITY_1, 0); } } - open_status_menu_short(); + open_status_bar_short(); return ApiStatus_DONE1; } return ApiStatus_BLOCK; diff --git a/src/world/world.c b/src/world/world.c index de98d79697..4f6d060227 100644 --- a/src/world/world.c +++ b/src/world/world.c @@ -224,7 +224,7 @@ void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) { set_cam_viewport(0, 29, 28, 262, 162); } - initialize_status_menu(); + initialize_status_bar(); gGameStatusPtr->unk_90 = 1000; gGameStatusPtr->unk_92 = 1000; gGameStatusPtr->mainScriptID = start_script_in_group(mapSettings->main, EVT_PRIORITY_0, 0, 0)->id; diff --git a/tools/disasm_script.py b/tools/disasm_script.py index 2b6e46ab40..ddb420daff 100755 --- a/tools/disasm_script.py +++ b/tools/disasm_script.py @@ -399,10 +399,10 @@ replace_funcs = { "ForceHomePos" :{0:"ActorIDs"}, "func_8026DF88" :{0:"ActorIDs"}, - "func_8026EA7C" :{0:"ActorIDs"}, - "func_8026EBF8" :{0:"ActorIDs"}, + "SetActorPaletteEffect" :{0:"ActorIDs"}, + "SetActorPaletteSwapParams" :{0:"ActorIDs"}, "func_8026ED20" :{0:"ActorIDs"}, - "func_8027D32C" :{0:"ActorIDs"}, + "HideHealthBar" :{0:"ActorIDs"}, "func_8027D434" :{0:"ActorIDs"}, "SetProjectileTargetOffset" :{0:"ActorIDs"}, "GetInstigatorValue" :{0:"ActorIDs"}, diff --git a/tools/ignored_funcs.txt b/tools/ignored_funcs.txt index 0fc8023f45..4378c3763f 100644 --- a/tools/ignored_funcs.txt +++ b/tools/ignored_funcs.txt @@ -254,11 +254,11 @@ dead_cos_rad = 0x8002B4C0; dead_fx_sun = 0x80077BD0; dead_spawn_surface_effects = 0x80041080; dead_set_max_SP = 0x800F1D9C; -dead_sync_status_menu = 0x800F1730; +dead_sync_status_bar = 0x800F1730; dead_get_npc_by_index = 0x8003C43C; dead_evt_set_float_variable = 0x802D5A10; -dead_increment_status_menu_disabled = 0x800F1718; -dead_decrement_status_menu_disabled = 0x800F16F4; +dead_increment_status_bar_disabled = 0x800F1718; +dead_decrement_status_bar_disabled = 0x800F16F4; dead_get_model_list_index_from_tree_index = 0x80125270; dead_get_model_from_list_index = 0x80124F44; dead_guTranslateF = 0x8006CAC0; diff --git a/tools/splat_ext/npc.yaml b/tools/splat_ext/npc.yaml index cc8eb9d991..dfe87d21e8 100644 --- a/tools/splat_ext/npc.yaml +++ b/tools/splat_ext/npc.yaml @@ -3075,15 +3075,15 @@ Swooper: - Anim1B StoneChomp: frames: - - Raster00 - - Raster01 - - Raster02 - - Raster03 - - Raster04 - - Raster05 - - Raster06 - - Raster07 - - Raster08 + - Neutral + - Chain + - Bite + - Hurt1 + - Hurt2 + - BurnHurt1 + - BurnHurt2 + - BurnChain + - Sleep palettes: - Default - Poisoned @@ -3091,18 +3091,18 @@ StoneChomp: - Shocked - Burnt animations: - - Anim00 - - Anim01 - - Anim02 - - Anim03 - - Anim04 - - Anim05 - - Anim06 - - Anim07 - - Anim08 - - Anim09 - - Anim0A - - Anim0B + - Still + - Idle + - Chain + - QuickBite + - Bite + - SlowBite + - Hurt + - BurnHurt + - BurnStill + - BurnChain + - Sleep + - Dizzy LargePiranha: variations: - Variant00 @@ -6272,54 +6272,54 @@ Buzzar: - Anim19 Tutankoopa: frames: - - Raster00 - - Raster01 - - Raster02 - - Raster03 - - Raster04 - - Raster05 - - Raster06 - - Raster07 - - Raster08 - - Raster09 - - Raster0A - - Raster0B - - Raster0C - - Raster0D - - Raster0E - - Raster0F - - Raster10 - - Raster11 - - Raster12 - - Raster13 - - Raster14 - - Raster15 - - Raster16 - - Raster17 - - Raster18 - - Raster19 - - Raster1A - - Raster1B - - Raster1C - - Raster1D - - Raster1E - - Raster1F - - Raster20 - - Raster21 - - Raster22 - - Raster23 - - Raster24 - - Raster25 - - Raster26 - - Raster27 - - Raster28 - - Raster29 - - Raster2A - - Raster2B - - Raster2C - - Raster2D - - Raster2E - - Raster2F + - Headdress + - HeaddressWithEyes + - NoHeaddress + - Neutral + - Talk + - Run1 + - Run2 + - Run3 + - Shout1 + - Shout2 + - Levitate1 + - Levitate2 + - Toss1 + - Toss2 + - Fall1 + - Fall2 + - Hurt1 + - Hurt2 + - Dizzy1 + - Dizzy2 + - Dizzy3 + - Dizzy4 + - Lift + - Idle + - BurnHurt1 + - BurnHurt2 + - BurnHurt3 + - BurnFall1 + - BurnFall2 + - Rock + - RockShard1 + - RockShard2 + - RockShard3 + - RockShard4 + - IdleChompBite1 + - IdleChompBite2 + - Sleep1 + - Sleep2 + - SleepGround1 + - SleepGround2 + - SleepGround3 + - Glare1 + - Glare2 + - Glare3 + - Glare4 + - Glare5 + - Glare6 + - Glare7 palettes: - Default - Poisoned @@ -6328,53 +6328,53 @@ Tutankoopa: - Burnt - Rock animations: - - Anim00 - - Anim01 - - Anim02 - - Anim03 - - Anim04 - - Anim05 - - Anim06 - - Anim07 - - Anim08 - - Anim09 - - Anim0A - - Anim0B - - Anim0C - - Anim0D - - Anim0E - - Anim0F - - Anim10 - - Anim11 - - Anim12 - - Anim13 - - Anim14 - - Anim15 - - Anim16 - - Anim17 + - Still + - Idle + - Run + - Shout + - Lift + - Toss + - Hurt + - Fall + - Levitate + - LevitateStill + - Dizzy + - Talk + - Sleep + - SleepGround + - Glare + - HeaddressOnly + - HeaddressWithEyes + - NoHeaddress + - BurnHurt + - BurnStill + - BurnStillAlt + - BurnFall + - RockStill + - RockShatter ChainChomp: frames: - - Raster00 - - Raster01 - - Raster02 - - Raster03 - - Raster04 - - Raster05 + - Neutral + - Chain + - Bite + - Hurt1 + - Hurt2 + - Sleep palettes: - Default - Poisoned - Dizzy - Shocked animations: - - Anim00 - - Anim01 - - Anim02 - - Anim03 - - Anim04 - - Anim05 - - Anim06 - - Anim07 - - Anim08 + - Still + - Idle + - Chain + - QuickBite + - Bite + - SlowBite + - Hurt + - Sleep + - Dizzy WorldTubba: variations: - Variant00 diff --git a/tools/star_rod_idx_to_c.py b/tools/star_rod_idx_to_c.py index 9d0fe629a8..16bf191d57 100755 --- a/tools/star_rod_idx_to_c.py +++ b/tools/star_rod_idx_to_c.py @@ -842,7 +842,7 @@ def disassemble(bytes, midx, symbol_map={}, comments=True, romstart=0, namespace out += f"{anim},\n" out += f"}};\n" - elif struct["type"] == "PartsTable": + elif struct["type"] == "ActorParts": out += f"ActorPartBlueprint {struct['name']}[] = {{\n" for _ in range(0, struct["length"] // 36): @@ -885,9 +885,9 @@ def disassemble(bytes, midx, symbol_map={}, comments=True, romstart=0, namespace out += INDENT + f".powerBounceChance = {d[14]},\n" out += INDENT + f".coinReward = {d[15]},\n" out += INDENT + f".size = {{ {d[16]}, {d[17]} }},\n" - out += INDENT + f".hpBarOffset = {{ {d[18]}, {d[19]} }},\n" + out += INDENT + f".healthBarOffset = {{ {d[18]}, {d[19]} }},\n" out += INDENT + f".statusIconOffset = {{ {d[20]}, {d[21]} }},\n" - out += INDENT + f".statusMessageOffset = {{ {d[22]}, {d[23]} }},\n" + out += INDENT + f".statusTextOffset = {{ {d[22]}, {d[23]} }},\n" out += f"}};\n" diff --git a/tools/update_evts.py b/tools/update_evts.py index e73d66303e..256ee30f2c 100755 --- a/tools/update_evts.py +++ b/tools/update_evts.py @@ -13,7 +13,7 @@ NAMESPACES = { for filename in glob("src/battle/item/*.c"): parts = filename.split("/")[1:] parts[-1] = parts[-1].split(".")[0] - NAMESPACES[filename] = "_".join(parts) + NAMESPACES[filename] = "_".join(ActorParts) NAMESPACES["src/battle/item/UseItem.inc.c"] = "battle_item_food" diff --git a/ver/ique/asm/bss3.s b/ver/ique/asm/bss3.s index 5cdcc56656..d479a321b9 100644 --- a/ver/ique/asm/bss3.s +++ b/ver/ique/asm/bss3.s @@ -490,7 +490,10 @@ dlabel D_80155D8E .space 2 dlabel D_80155D90 -.space 0x00000010 +.space 2 + +dlabel pad_ItemEntity +.space 0x000000E dlabel WorldItemEntities .space 0x00000400 @@ -516,10 +519,10 @@ dlabel D_801565AC dlabel D_801565B0 .space 0x00000330 -dlabel D_801568E0 +dlabel ItemPickupIconID .space 4 -dlabel D_801568E4 +dlabel ItemPickupStateDelay .space 4 dlabel D_801568E8 @@ -528,13 +531,13 @@ dlabel D_801568E8 dlabel D_801568EC .space 4 -dlabel D_801568F0 +dlabel ItemPickupGotOutline .space 4 -dlabel D_801568F4 +dlabel GotItemTutorialPrinter .space 4 -dlabel D_801568F8 +dlabel GotItemTutorialClosed .space 4 dlabel D_801568FC diff --git a/ver/ique/undefined_syms.txt b/ver/ique/undefined_syms.txt index a9e8fedb23..ac944c766c 100644 --- a/ver/ique/undefined_syms.txt +++ b/ver/ique/undefined_syms.txt @@ -692,7 +692,7 @@ spr_init_sprites = 0x802dd8f8; gPlayerData = 0x8010d670; evt_set_variable = 0x802c8098; -initialize_status_menu = 0x800e5d14; +initialize_status_bar = 0x800e5d14; clear_player_data = 0x800e5780; btl_set_state = 0x80241190; clear_player_status = 0x800de030; @@ -724,7 +724,7 @@ D_802D9D71 = 0x802d9d71; gPlayerStatusPtr = 0x800f5f10; partner_initialize_data = 0x800e9960; -reset_status_menu = 0x800e7f90; +reset_status_bar = 0x800e7f90; initialize_battle = 0x8023e130; btl_save_world_cameras = 0x802409f4; btl_update = 0x8023e438; @@ -826,12 +826,12 @@ HES_BoostJumpEnd = 0x8010555c; HES_WeakenedEnd = 0x8010483c; partner_init_after_battle = 0x800e95e0; -status_menu_respond_to_changes = 0x800e7ca4; +status_bar_respond_to_changes = 0x800e7ca4; enable_player_input = 0x800de584; gWindows = 0x8015c0d0; does_script_exist = 0x802c4164; clear_script_flags = 0x802c4880; -close_status_menu = 0x800e7b98; +close_status_bar = 0x800e7b98; CreateNpc = 0x802cdba4; DeleteNpc = 0x802cdc1c; draw_box = 0x800f36c0; @@ -1062,7 +1062,7 @@ RandInt = 0x802d46b0; GetPlayerActionState = 0x802d1dd0; InterpNpcYaw = 0x802ceb04; EnableModel = 0x802c9288; -EnableStatusMenu = 0x802d5998; +EnableWorldStatusBar = 0x802d5998; EnableTexPanning = 0x802c9208; FadeOutMusic = 0x802d5ce0; GetCamPosition = 0x802cc2a4; @@ -1169,7 +1169,7 @@ suggest_player_anim_always_forward = 0x800de358; add_item = 0x800e5954; destroy_popup_menu = 0x800ef918; is_player_dismounted = 0x800de0d4; -increment_status_menu_disabled = 0x800e7f34; +increment_status_bar_disabled = 0x800e7f34; npc_raycast_up = 0x800db250; SparkleScript_Coin = 0x80102ea0; charset_ROM_START = 0x0010e120; @@ -1212,7 +1212,7 @@ ui_msg_palettes = 0x802ec3f0; ui_msg_background_png = 0x802ecd50; create_standard_popup_menu = 0x800f3220; hide_popup_menu = 0x800ef790; -decrement_status_menu_disabled = 0x800e7f10; +decrement_status_bar_disabled = 0x800e7f10; icon_present_ROM_START = 0x00215390; MapTextureMemory = 0x8028E000; D_8013A520 = 0x8013a520; diff --git a/ver/jp/undefined_syms.txt b/ver/jp/undefined_syms.txt index e91560f129..77a7b09a93 100644 --- a/ver/jp/undefined_syms.txt +++ b/ver/jp/undefined_syms.txt @@ -69,12 +69,12 @@ render_player = 0x800E1118; set_action_state = 0x800E5D84; start_bounce_a = 0x800E6014; clear_player_data = 0x800E7340; -initialize_status_menu = 0x800E78D4; +initialize_status_bar = 0x800E78D4; draw_status_ui = 0x800E96DC; -close_status_menu = 0x800E9758; +close_status_bar = 0x800E9758; func_800E97E4 = 0x800E9784; -status_menu_respond_to_changes = 0x800E9864; -reset_status_menu = 0x800E9B50; +status_bar_respond_to_changes = 0x800E9864; +reset_status_bar = 0x800E9B50; is_ability_active = 0x800E9CE8; partner_init_after_battle = 0x800EB194; partner_reset_data = 0x800EB408; diff --git a/ver/pal/splat.yaml b/ver/pal/splat.yaml index 4aed4e93e1..b0d736ed7f 100644 --- a/ver/pal/splat.yaml +++ b/ver/pal/splat.yaml @@ -4701,10 +4701,10 @@ segments: subalign: 4 subsegments: - [0x48C7E0, c, area] - - [0x48C7E0, c, actor/blue_goomba] - - [0x48CA60, c, actor/red_goomba] - - [0x48CCE0, c, actor/blue_goomba2] - - [0x48CF90, c, actor/red_goomba2] + - [0x48C7E0, c, actor/blue_goomba_1] + - [0x48CA60, c, actor/red_goomba_1] + - [0x48CCE0, c, actor/blue_goomba_2] + - [0x48CF90, c, actor/red_goomba_2] - [0x48D240, c, actor/goomba_king] - [0x48D2F0, c, actor/goomnut_tree] - [0x48D530, c, stage/kmr_02] diff --git a/ver/pal/undefined_syms.txt b/ver/pal/undefined_syms.txt index 403c678a77..4a684b5390 100644 --- a/ver/pal/undefined_syms.txt +++ b/ver/pal/undefined_syms.txt @@ -273,21 +273,21 @@ find_item = 0x800E3DB4; enforce_hpfp_limits = 0x800E3FDC; hide_coin_counter_immediately = 0x800E5F20; ShowCoinCounter = 0x800E5F50; -open_status_menu_long = 0x800E5FB8; -close_status_menu = 0x800E6010; -status_menu_ignore_changes = 0x800E60EC; -status_menu_respond_to_changes = 0x800E611C; +open_status_bar_long = 0x800E5FB8; +close_status_bar = 0x800E6010; +status_bar_ignore_changes = 0x800E60EC; +status_bar_respond_to_changes = 0x800E611C; func_800E98EC = 0x800E6144; func_800E9900 = 0x800E6158; -status_menu_start_blinking_hp = 0x800E6178; -status_menu_stop_blinking_hp = 0x800E61BC; -status_menu_start_blinking_fp = 0x800E61E4; -status_menu_stop_blinking_fp = 0x800E6228; -status_menu_start_blinking_sp = 0x800E62B8; -status_menu_stop_blinking_sp = 0x800E62EC; -decrement_status_menu_disabled = 0x800E6388; -increment_status_menu_disabled = 0x800E63AC; -sync_status_menu = 0x800E63C4; +status_bar_start_blinking_hp = 0x800E6178; +status_bar_stop_blinking_hp = 0x800E61BC; +status_bar_start_blinking_fp = 0x800E61E4; +status_bar_stop_blinking_fp = 0x800E6228; +status_bar_start_blinking_sp = 0x800E62B8; +status_bar_stop_blinking_sp = 0x800E62EC; +decrement_status_bar_disabled = 0x800E6388; +increment_status_bar_disabled = 0x800E63AC; +sync_status_bar = 0x800E63C4; add_coins = 0x800E6918; increment_max_SP = 0x800E6A0C; set_max_SP = 0x800E6A30; @@ -575,11 +575,11 @@ ItemCheckHit = 0x80252F00; ActorSpeak = 0x802530F0; EndActorSpeech = 0x80253490; ShowBattleChoice = 0x802536F8; -func_802535B4 = 0x80253774; +EnableBattleStatusBar = 0x80253774; OverrideBattleDmaDest = 0x802537B8; LoadBattleDmaData = 0x802537E4; EnableBattleFloorReflections = 0x80253868; -func_80253734 = 0x802538F4; +SetDarknessMode = 0x802538F4; func_802537C0 = 0x80253980; PlaySoundAtActor = 0x80253A1C; PlaySoundAtPart = 0x80253A90; @@ -669,7 +669,7 @@ SetPartMoveSpeed = 0x8026BBDC; SetJumpAnimations = 0x8026BC7C; SetActorDispOffset = 0x8026BDF4; SetPartDispOffset = 0x8026C028; -func_8026BF48 = 0x8026C338; +FreezeBattleState = 0x8026C338; GetActorVar = 0x8026C3A4; SetActorVar = 0x8026C434; AddActorVar = 0x8026C4C4; @@ -699,7 +699,7 @@ SetPartImmunityBits = 0x8026D994; HPBarToHome = 0x8026DA54; HPBarToCurrent = 0x8026DB98; func_8026D940 = 0x8026DD30; -func_8026DA94 = 0x8026DE84; +SetActorStatusOffsets = 0x8026DE84; SummonEnemy = 0x8026DF54; GetOwnerID = 0x8026E1F0; SetOwnerID = 0x8026E218; @@ -721,8 +721,8 @@ GetTargetListLength = 0x8026EC54; GetOwnerTarget = 0x8026EC9C; func_8026E914 = 0x8026ED04; GetDistanceToGoal = 0x8026EDEC; -func_8026EA7C = 0x8026EE6C; -func_8026EBF8 = 0x8026EFE8; +SetActorPaletteEffect = 0x8026EE6C; +SetActorPaletteSwapParams = 0x8026EFE8; func_8026ED20 = 0x8026F110; AddActorDecoration = 0x8026F278; RemoveActorDecoration = 0x8026F33C; @@ -733,7 +733,7 @@ RemovePlayerBuffs = 0x8026F83C; SetPartAlpha = 0x8026F860; CreatePartShadow = 0x8026F91C; RemovePartShadow = 0x8026F98C; -func_8026F60C = 0x8026F9FC; +SetEndBattleFadeOutRate = 0x8026F9FC; SetBattleVar = 0x8026FA28; GetBattleVar = 0x8026FA84; ResetAllActorSounds = 0x8026FADC; @@ -795,8 +795,8 @@ EnemyDamageTarget = 0x8027D0A4; EnemyTestTarget = 0x8027D3A8; DispatchDamageEvent = 0x8027D5AC; DispatchEvent = 0x8027D654; -func_8027D2D8 = 0x8027D6C8; -func_8027D32C = 0x8027D71C; +ShowHealthBar = 0x8027D6C8; +HideHealthBar = 0x8027D71C; SetTargetOffset = 0x8027D770; func_8027D434 = 0x8027D824; SetProjectileTargetOffset = 0x8027D8B8; @@ -1182,7 +1182,7 @@ SetTimeFreezeMode = 0x802D8830; ModifyGlobalOverrideFlags = 0x802D885C; SetValueByRef = 0x802D88E0; GetValueByRef = 0x802D893C; -EnableStatusMenu = 0x802D8998; +EnableWorldStatusBar = 0x802D8998; ClampAngleFloat = 0x802D8AB4; GetLanguage = 0x802D8B04; FadeOutMusic = 0x802D8D00; diff --git a/ver/us/asm/bss3.s b/ver/us/asm/bss3.s index e7f2e5be0e..3dc9d3f079 100644 --- a/ver/us/asm/bss3.s +++ b/ver/us/asm/bss3.s @@ -485,7 +485,10 @@ dlabel D_80155D8E .space 2 dlabel D_80155D90 -.space 0x00000010 +.space 2 + +dlabel pad_ItemEntity +.space 0x000000E dlabel WorldItemEntities .space 0x00000400 @@ -511,10 +514,10 @@ dlabel D_801565AC dlabel D_801565B0 .space 0x00000330 -dlabel D_801568E0 +dlabel ItemPickupIconID .space 4 -dlabel D_801568E4 +dlabel ItemPickupStateDelay .space 4 dlabel D_801568E8 @@ -523,13 +526,13 @@ dlabel D_801568E8 dlabel D_801568EC .space 4 -dlabel D_801568F0 +dlabel ItemPickupGotOutline .space 4 -dlabel D_801568F4 +dlabel GotItemTutorialPrinter .space 4 -dlabel D_801568F8 +dlabel GotItemTutorialClosed .space 4 dlabel D_801568FC diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 51cc642edd..3851b86826 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -2496,9 +2496,9 @@ segments: - [0x1FA790, ci4, icon/battle/ultra_boot, 32, 32] - [0x1FA990, palette, icon/battle/ultra_boot] - [0x1FA9B0, palette, icon/battle/ultra_boot.disabled] - - [0x1FA9D0, ci4, icon/battle/move/items, 32, 32] - - [0x1FABD0, palette, icon/battle/move/items] - - [0x1FABF0, palette, icon/battle/move/items.disabled] + - [0x1FA9D0, ci4, icon/battle/items, 32, 32] + - [0x1FABD0, palette, icon/battle/items] + - [0x1FABF0, palette, icon/battle/items.disabled] - [0x1FAC10, ci4, icon/heart/heart_1, 32, 32] - [0x1FAE10, palette, icon/heart/heart_1] - [0x1FAE30, ci4, icon/heart/heart_2, 32, 32] @@ -7229,10 +7229,10 @@ segments: subalign: 4 subsegments: - [0x439A90, c, area] - - [0x439A90, c, actor/blue_goomba] - - [0x439D10, c, actor/red_goomba] - - [0x439F90, c, actor/blue_goomba2] - - [0x43A210, c, actor/red_goomba2] + - [0x439A90, c, actor/blue_goomba_1] + - [0x439D10, c, actor/red_goomba_1] + - [0x439F90, c, actor/blue_goomba_2] + - [0x43A210, c, actor/red_goomba_2] - [0x43A4C0, c, actor/goomba_king] - [0x43A5A0, c, actor/goomnut_tree] - [0x43A7E0, c, stage/kmr_02] diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index b82a80033c..75be3acd98 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -1403,7 +1403,7 @@ D_80077A40 = 0x80077A40; // type:data rom:0x52E40 D_80077A50 = 0x80077A50; // type:data rom:0x52E50 DemoScenes = 0x80077AE0; // type:data rom:0x52EE0 versionString = 0x80077BD0; // type:data rom:0x52FD0 -SCRIPT_NpcDefeat = 0x80077E38; // rom:0x53238 +EVS_NpcDefeat = 0x80077E38; // rom:0x53238 nuAuPreNMI = 0x80078170; // type:data rom:0x53570 nuAuPreNMIFunc = 0x80078174; // rom:0x53574 nuAuDmaNext = 0x80078178; // rom:0x53578 @@ -2887,7 +2887,7 @@ func_800E6B68 = 0x800E6B68; // type:func rom:0x80018 setup_partner_popup = 0x800E6B78; // type:func rom:0x80028 setup_item_popup = 0x800E6C44; // type:func rom:0x800F4 check_input_open_menus = 0x800E6CE4; // type:func rom:0x80194 -check_input_status_menu = 0x800E728C; // type:func rom:0x8073C +check_input_status_bar = 0x800E728C; // type:func rom:0x8073C clear_player_data = 0x800E73A0; // type:func rom:0x80850 get_player_data = 0x800E7564; // type:func rom:0x80A14 add_item = 0x800E7574; // type:func rom:0x80A24 @@ -2900,10 +2900,10 @@ store_item = 0x800E77C4; // type:func rom:0x80C74 get_stored_count = 0x800E7814; // type:func rom:0x80CC4 get_stored_empty_count = 0x800E7848; // type:func rom:0x80CF8 enforce_hpfp_limits = 0x800E786C; // type:func rom:0x80D1C -initialize_status_menu = 0x800E7934; // type:func rom:0x80DE4 -status_menu_draw_number = 0x800E7CA4; // type:func rom:0x81154 -status_menu_draw_stat = 0x800E7E34; // type:func rom:0x812E4 -update_status_menu = 0x800E80B4; // type:func rom:0x81564 +initialize_status_bar = 0x800E7934; // type:func rom:0x80DE4 +status_bar_draw_number = 0x800E7CA4; // type:func rom:0x81154 +status_bar_draw_stat = 0x800E7E34; // type:func rom:0x812E4 +update_status_bar = 0x800E80B4; // type:func rom:0x81564 nuScStack = 0x800A65D0; // rom:0x819D0 coin_counter_draw_content = 0x800E92D8; // type:func rom:0x82788 update_coin_counter = 0x800E93DC; // type:func rom:0x8288C @@ -2912,36 +2912,36 @@ hide_coin_counter = 0x800E9698; // type:func rom:0x82B48 hide_coin_counter_immediately = 0x800E96C8; // type:func rom:0x82B78 ShowCoinCounter = 0x800E96F8; // type:func rom:0x82BA8 draw_status_ui = 0x800E973C; // type:func rom:0x82BEC -open_status_menu_long = 0x800E9760; // type:func rom:0x82C10 -open_status_menu_short = 0x800E978C; // type:func rom:0x82C3C -close_status_menu = 0x800E97B8; // type:func rom:0x82C68 +open_status_bar_long = 0x800E9760; // type:func rom:0x82C10 +open_status_bar_short = 0x800E978C; // type:func rom:0x82C3C +close_status_bar = 0x800E97B8; // type:func rom:0x82C68 func_800E97E4 = 0x800E97E4; // type:func rom:0x82C94 func_800E9810 = 0x800E9810; // type:func rom:0x82CC0 func_800E983C = 0x800E983C; // type:func rom:0x82CEC func_800E984C = 0x800E984C; // type:func rom:0x82CFC func_800E9860 = 0x800E9860; // type:func rom:0x82D10 -status_menu_ignore_changes = 0x800E9894; // type:func rom:0x82D44 +status_bar_ignore_changes = 0x800E9894; // type:func rom:0x82D44 func_800E98A8 = 0x800E98A8; // type:func rom:0x82D58 -status_menu_respond_to_changes = 0x800E98C4; // type:func rom:0x82D74 +status_bar_respond_to_changes = 0x800E98C4; // type:func rom:0x82D74 func_800E98D4 = 0x800E98D4; // type:func rom:0x82D84 func_800E98EC = 0x800E98EC; // type:func rom:0x82D9C func_800E9900 = 0x800E9900; // type:func rom:0x82DB0 -is_status_menu_visible = 0x800E9910; // type:func rom:0x82DC0 -status_menu_start_blinking_hp = 0x800E9920; // type:func rom:0x82DD0 -status_menu_stop_blinking_hp = 0x800E9964; // type:func rom:0x82E14 -status_menu_start_blinking_fp = 0x800E998C; // type:func rom:0x82E3C -status_menu_stop_blinking_fp = 0x800E99D0; // type:func rom:0x82E80 -status_menu_start_blinking_coins = 0x800E99F4; // type:func rom:0x82EA4 -status_menu_stop_blinking_coins = 0x800E9A38; // type:func rom:0x82EE8 -status_menu_start_blinking_sp = 0x800E9A60; // type:func rom:0x82F10 -status_menu_stop_blinking_sp = 0x800E9A94; // type:func rom:0x82F44 -status_menu_start_blinking_sp_bars = 0x800E9AB8; // type:func rom:0x82F68 -status_menu_start_blinking_starpoints = 0x800E9AE4; // type:func rom:0x82F94 -status_menu_stop_blinking_starpoints = 0x800E9B0C; // type:func rom:0x82FBC -decrement_status_menu_disabled = 0x800E9B30; // type:func rom:0x82FE0 -increment_status_menu_disabled = 0x800E9B54; // type:func rom:0x83004 -sync_status_menu = 0x800E9B6C; // type:func rom:0x8301C -reset_status_menu = 0x800E9BB0; // type:func rom:0x83060 +is_status_bar_visible = 0x800E9910; // type:func rom:0x82DC0 +status_bar_start_blinking_hp = 0x800E9920; // type:func rom:0x82DD0 +status_bar_stop_blinking_hp = 0x800E9964; // type:func rom:0x82E14 +status_bar_start_blinking_fp = 0x800E998C; // type:func rom:0x82E3C +status_bar_stop_blinking_fp = 0x800E99D0; // type:func rom:0x82E80 +status_bar_start_blinking_coins = 0x800E99F4; // type:func rom:0x82EA4 +status_bar_stop_blinking_coins = 0x800E9A38; // type:func rom:0x82EE8 +status_bar_start_blinking_sp = 0x800E9A60; // type:func rom:0x82F10 +status_bar_stop_blinking_sp = 0x800E9A94; // type:func rom:0x82F44 +status_bar_start_blinking_sp_bars = 0x800E9AB8; // type:func rom:0x82F68 +status_bar_start_blinking_starpoints = 0x800E9AE4; // type:func rom:0x82F94 +status_bar_stop_blinking_starpoints = 0x800E9B0C; // type:func rom:0x82FBC +decrement_status_bar_disabled = 0x800E9B30; // type:func rom:0x82FE0 +increment_status_bar_disabled = 0x800E9B54; // type:func rom:0x83004 +sync_status_bar = 0x800E9B6C; // type:func rom:0x8301C +reset_status_bar = 0x800E9BB0; // type:func rom:0x83060 is_ability_active = 0x800E9D48; // type:func rom:0x831F8 is_partner_ability_active = 0x800EA0B8; // type:func rom:0x83568 add_coins = 0x800EA0C0; // type:func rom:0x83570 @@ -3155,7 +3155,7 @@ TimesHudScript = 0x800F7FA8; // type:data rom:0x91458 SlashHudScript = 0x800F7FAC; // type:data rom:0x9145C SPIncrementHudScripts = 0x800F7FB0; // type:data rom:0x91460 SPStarHudScripts = 0x800F7FCC; // type:data rom:0x9147C -StatusMenuSPIncrementOffsets = 0x800F7FE8; // type:data rom:0x91498 +StatusBarSPIncrementOffsets = 0x800F7FE8; // type:data rom:0x91498 D_800F7FEC = 0x800F7FEC; // type:data rom:0x9149C D_800F7FF0 = 0x800F7FF0; // type:data rom:0x914A0 D_800F7FF4 = 0x800F7FF4; // type:data rom:0x914A4 @@ -4268,7 +4268,7 @@ item_entity_update = 0x80131DD4; // type:func rom:0xC84D4 update_item_entities = 0x80131EEC; // type:func rom:0xC85EC appendGfx_item_entity = 0x801321A4; // type:func rom:0xC88A4 draw_item_entities = 0x80132C80; // type:func rom:0xC9380 -draw_item_entities_UI = 0x80132D94; // type:func rom:0xC9494 +draw_ui_item_entities = 0x80132D94; // type:func rom:0xC9494 render_item_entities = 0x80132E54; // type:func rom:0xC9554 remove_item_entity_by_reference = 0x80133930; // type:func rom:0xCA030 remove_item_entity_by_index = 0x801339FC; // type:func rom:0xCA0FC @@ -4283,16 +4283,16 @@ set_item_entity_position = 0x8013420C; // type:func rom:0xCA90C set_current_item_entity_render_group = 0x80134230; // type:func rom:0xCA930 get_current_item_entity_render_group = 0x80134240; // type:func rom:0xCA940 update_item_entity_collectable = 0x80134250; // type:func rom:0xCA950 -func_8013559C = 0x8013559C; // type:func rom:0xCBC9C -update_item_entity_static = 0x80135658; // type:func rom:0xCBD58 -func_801356C4 = 0x801356C4; // type:func rom:0xCBDC4 -func_801356CC = 0x801356CC; // type:func rom:0xCBDCC -func_801356D4 = 0x801356D4; // type:func rom:0xCBDD4 -update_item_entity_temp = 0x801356DC; // type:func rom:0xCBDDC +draw_ui_item_entity_collectable = 0x8013559C; // type:func rom:0xCBC9C +update_item_entity_stationary = 0x80135658; // type:func rom:0xCBD58 +draw_ui_item_entity_stationary = 0x801356C4; // type:func rom:0xCBDC4 +update_item_entity_no_pickup = 0x801356CC; // type:func rom:0xCBDCC +draw_ui_item_entity_no_pickup = 0x801356D4; // type:func rom:0xCBDD4 +update_item_entity_pickup = 0x801356DC; // type:func rom:0xCBDDC func_801363A0 = 0x801363A0; // type:func rom:0xCCAA0 -func_8013673C = 0x8013673C; // type:func rom:0xCCE3C -func_801369D0 = 0x801369D0; // type:func rom:0xCD0D0 -func_80136A08 = 0x80136A08; // type:func rom:0xCD108 +draw_content_pickup_item_header = 0x8013673C; // type:func rom:0xCCE3C +draw_content_cant_carry_more = 0x801369D0; // type:func rom:0xCD0D0 +draw_content_pickup_item_desc = 0x80136A08; // type:func rom:0xCD108 set_screen_overlay_params_front = 0x80137D88; // type:func rom:0xCE488 set_screen_overlay_params_back = 0x80137DA4; // type:func rom:0xCE4A4 get_screen_overlay_params = 0x80137DC0; // type:func rom:0xCE4C0 @@ -4608,8 +4608,8 @@ D_8014C620 = 0x8014C620; // type:data rom:0xE2D20 D_8014C678 = 0x8014C678; // type:data rom:0xE2D78 D_8014C6A0 = 0x8014C6A0; // type:data rom:0xE2DA0 D_8014C6C8 = 0x8014C6C8; // type:data rom:0xE2DC8 -D_8014C6E0 = 0x8014C6E0; // type:data rom:0xE2DE0 -D_8014C6E4 = 0x8014C6E4; // type:data rom:0xE2DE4 +PickupHeaderWindowHeight = 0x8014C6E0; // type:data rom:0xE2DE0 +PickupMessageWindowYOffsets = 0x8014C6E4; // type:data rom:0xE2DE4 CurrentScreenTransition = 0x8014C6F0; // type:data rom:0xE2DF0 D_8014C6F4 = 0x8014C6F4; // type:data rom:0xE2DF4 ui_stencil_star_png = 0x8014C700; // rom:0xE2E00 @@ -5117,13 +5117,13 @@ D_801565A8 = 0x801565A8; // type:data rom:0xECCA8 D_801565AC = 0x801565AC; // type:data rom:0xECCAC D_801565B0 = 0x801565B0; // type:data rom:0xECCB0 evt_get_float_variable = 0x802C842C; // type:func rom:0xECDDC -D_801568E0 = 0x801568E0; // type:data rom:0xECFE0 -D_801568E4 = 0x801568E4; // type:data rom:0xECFE4 +ItemPickupIconID = 0x801568E0; // type:data rom:0xECFE0 +ItemPickupStateDelay = 0x801568E4; // type:data rom:0xECFE4 D_801568E8 = 0x801568E8; // type:data rom:0xECFE8 D_801568EC = 0x801568EC; // type:data rom:0xECFEC evt_set_float_variable = 0x802C8640; // type:func rom:0xECFF0 -D_801568F4 = 0x801568F4; // type:data rom:0xECFF4 -D_801568F8 = 0x801568F8; // type:data rom:0xECFF8 +GotItemTutorialPrinter = 0x801568F4; // type:data rom:0xECFF4 +GotItemTutorialClosed = 0x801568F8; // type:data rom:0xECFF8 D_801568FC = 0x801568FC; // type:data rom:0xECFFC screen_overlay_frontType = 0x80156900; // type:data rom:0xED000 screen_overlay_frontZoom = 0x80156904; // type:data rom:0xED004 @@ -5500,8 +5500,8 @@ SetTimeFreezeMode = 0x802D5830; // type:func rom:0xFA1E0 ModifyGlobalOverrideFlags = 0x802D585C; // type:func rom:0xFA20C SetValueByRef = 0x802D58E0; // type:func rom:0xFA290 GetValueByRef = 0x802D593C; // type:func rom:0xFA2EC -EnableStatusMenu = 0x802D5998; // type:func rom:0xFA348 -ShowStatusMenu = 0x802D59DC; // type:func rom:0xFA38C +EnableWorldStatusBar = 0x802D5998; // type:func rom:0xFA348 +ShowWorldStatusBar = 0x802D59DC; // type:func rom:0xFA38C SetGameMode = 0x802D5A28; // type:func rom:0xFA3D8 ClampAngleInt = 0x802D5A58; // type:func rom:0xFA408 ClampAngleFloat = 0x802D5AB4; // type:func rom:0xFA464 @@ -6627,10 +6627,10 @@ free_popup = 0x8024EFA4; // type:func rom:0x17D884 show_immune_bonk = 0x8024EFE0; // type:func rom:0x17D8C0 btl_bonk_update = 0x8024F394; // type:func rom:0x17DC74 btl_bonk_render = 0x8024F5AC; // type:func rom:0x17DE8C -func_8024F768 = 0x8024F768; // type:func rom:0x17E048 -func_8024F7C8 = 0x8024F7C8; // type:func rom:0x17E0A8 -func_8024F84C = 0x8024F84C; // type:func rom:0x17E12C -func_8024F940 = 0x8024F940; // type:func rom:0x17E220 +btl_bonk_setup_gfx = 0x8024F768; // type:func rom:0x17E048 +btl_bonk_cleanup = 0x8024F7C8; // type:func rom:0x17E0A8 +ShowImmuneBonk = 0x8024F84C; // type:func rom:0x17E12C +ForceImmuneBonkCleanup = 0x8024F940; // type:func rom:0x17E220 btl_show_battle_message = 0x8024F960; // type:func rom:0x17E240 btl_show_variable_battle_message = 0x8024FA04; // type:func rom:0x17E2E4 btl_is_popup_displayed = 0x8024FAB4; // type:func rom:0x17E394 @@ -6659,11 +6659,11 @@ ItemCheckHit = 0x80252D40; // type:func rom:0x181620 ActorSpeak = 0x80252F30; // type:func rom:0x181810 EndActorSpeech = 0x802532D0; // type:func rom:0x181BB0 ShowBattleChoice = 0x80253538; // type:func rom:0x181E18 -func_802535B4 = 0x802535B4; // type:func rom:0x181E94 +EnableBattleStatusBar = 0x802535B4; // type:func rom:0x181E94 OverrideBattleDmaDest = 0x802535F8; // type:func rom:0x181ED8 LoadBattleDmaData = 0x80253624; // type:func rom:0x181F04 EnableBattleFloorReflections = 0x802536A8; // type:func rom:0x181F88 -func_80253734 = 0x80253734; // type:func rom:0x182014 +SetDarknessMode = 0x80253734; // type:func rom:0x182014 func_802537C0 = 0x802537C0; // type:func rom:0x1820A0 PlaySoundAtActor = 0x8025385C; // type:func rom:0x18213C PlaySoundAtPart = 0x802538D0; // type:func rom:0x1821B0 @@ -6671,13 +6671,13 @@ PlayLoopingSoundAtActor = 0x80253974; // type:func rom:0x182254 StopLoopingSoundAtActor = 0x80253A18; // type:func rom:0x1822F8 SetForegroundModelsVisibleUnchecked = 0x80253AA8; // type:func rom:0x182388 SetForegroundModelsVisible = 0x80253AEC; // type:func rom:0x1823CC -func_80253B30 = 0x80253B30; // type:func rom:0x182410 +MakeIgnoreResStatusField = 0x80253B30; // type:func rom:0x182410 MakeStatusField = 0x80253B94; // type:func rom:0x182474 -is_actor_hp_bar_visible = 0x80253C20; // type:func rom:0x182500 -is_actortype_hpbar_visible = 0x80253C9C; // type:func rom:0x18257C +is_actor_health_bar_visible = 0x80253C20; // type:func rom:0x182500 +is_actortype_health_bar_visible = 0x80253C9C; // type:func rom:0x18257C save_tattle_flags = 0x80253D10; // type:func rom:0x1825F0 load_tattle_flags = 0x80253E78; // type:func rom:0x182758 -func_80253FB0 = 0x80253FB0; // type:func rom:0x182890 +SetEnemiesFled = 0x80253FB0; // type:func rom:0x182890 MultiplyByActorScale = 0x80253FDC; // type:func rom:0x1828BC MultiplyVec2ByActorScale = 0x80254048; // type:func rom:0x182928 MultiplyVec3ByActorScale = 0x802540DC; // type:func rom:0x1829BC @@ -6711,7 +6711,7 @@ update_enemy_shadows = 0x80255F5C; // type:func rom:0x18483C update_hero_shadows = 0x80255FAC; // type:func rom:0x18488C func_80255FD8 = 0x80255FD8; // type:func rom:0x1848B8 appendGfx_npc_actor = 0x80255FE0; // type:func rom:0x1848C0 -func_802571F0 = 0x802571F0; // type:func rom:0x185AD0 +appendGfx_npc_actor_reflection = 0x802571F0; // type:func rom:0x185AD0 appendGfx_enemy_actor = 0x80257B28; // type:func rom:0x186408 appendGfx_partner_actor = 0x80257B48; // type:func rom:0x186428 appendGfx_enemy_actor_reflection = 0x80257B68; // type:func rom:0x186448 @@ -6719,24 +6719,24 @@ appendGfx_partner_actor_reflection = 0x80257B88; // type:func rom:0x186468 update_player_actor_shadow = 0x80257BAC; // type:func rom:0x18648C appendGfx_player_actor = 0x80257DA4; // type:func rom:0x186684 appendGfx_player_actor_reflection = 0x80258E14; // type:func rom:0x1876F4 -func_802591EC = 0x802591EC; // type:func rom:0x187ACC +render_with_adjusted_palettes = 0x802591EC; // type:func rom:0x187ACC func_80259494 = 0x80259494; // type:func rom:0x187D74 func_8025950C = 0x8025950C; // type:func rom:0x187DEC func_802596C0 = 0x802596C0; // type:func rom:0x187FA0 func_802597B0 = 0x802597B0; // type:func rom:0x188090 func_8025995C = 0x8025995C; // type:func rom:0x18823C -func_80259A48 = 0x80259A48; // type:func rom:0x188328 -func_80259AAC = 0x80259AAC; // type:func rom:0x18838C -func_80259D9C = 0x80259D9C; // type:func rom:0x18867C -func_8025A2C4 = 0x8025A2C4; // type:func rom:0x188BA4 -func_8025A50C = 0x8025A50C; // type:func rom:0x188DEC -func_8025A74C = 0x8025A74C; // type:func rom:0x18902C -func_8025AA80 = 0x8025AA80; // type:func rom:0x189360 -func_8025AD90 = 0x8025AD90; // type:func rom:0x189670 -func_8025B1A8 = 0x8025B1A8; // type:func rom:0x189A88 -func_8025B5C0 = 0x8025B5C0; // type:func rom:0x189EA0 -func_8025BAA0 = 0x8025BAA0; // type:func rom:0x18A380 -func_8025C120 = 0x8025C120; // type:func rom:0x18AA00 +render_without_adjusted_palettes = 0x80259A48; // type:func rom:0x188328 +render_with_sleep_palettes = 0x80259AAC; // type:func rom:0x18838C +render_with_static_palettes = 0x80259D9C; // type:func rom:0x18867C +render_with_fear_palettes = 0x8025A2C4; // type:func rom:0x188BA4 +render_with_poison_palettes = 0x8025A50C; // type:func rom:0x188DEC +render_with_paralyze_palettes = 0x8025A74C; // type:func rom:0x18902C +render_with_berserk_palettes = 0x8025AA80; // type:func rom:0x189360 +render_with_watt_idle_palettes = 0x8025AD90; // type:func rom:0x189670 +render_with_watt_attack_palettes = 0x8025B1A8; // type:func rom:0x189A88 +render_with_player_debuff_palettes = 0x8025B5C0; // type:func rom:0x189EA0 +render_with_pal_blending = 0x8025BAA0; // type:func rom:0x18A380 +render_with_palset_blending = 0x8025C120; // type:func rom:0x18AA00 func_8025C840 = 0x8025C840; // type:func rom:0x18B120 func_8025C8A0 = 0x8025C8A0; // type:func rom:0x18B180 func_8025C918 = 0x8025C918; // type:func rom:0x18B1F8 @@ -6786,13 +6786,13 @@ activate_defend_command = 0x80260B04; // type:func rom:0x18F3E4 func_80260B70 = 0x80260B70; // type:func rom:0x18F450 ChoosePlayerCelebrationAnim = 0x80260BF4; // type:func rom:0x18F4D4 SetFledBattleFlag = 0x80260DB8; // type:func rom:0x18F698 -func_80260DD8 = 0x80260DD8; // type:func rom:0x18F6B8 +DetermineAutoRunAwaySuccess = 0x80260DD8; // type:func rom:0x18F6B8 func_80260E38 = 0x80260E38; // type:func rom:0x18F718 func_80260E5C = 0x80260E5C; // type:func rom:0x18F73C GiveRefund = 0x80260E90; // type:func rom:0x18F770 GiveRefundCleanup = 0x80261064; // type:func rom:0x18F944 -func_802610CC = 0x802610CC; // type:func rom:0x18F9AC -func_80261164 = 0x80261164; // type:func rom:0x18FA44 +LifeShroomShroudWorld = 0x802610CC; // type:func rom:0x18F9AC +LifeShroomRevealWorld = 0x80261164; // type:func rom:0x18FA44 ConsumeLifeShroom = 0x802611E8; // type:func rom:0x18FAC8 RestorePreDefeatState = 0x8026127C; // type:func rom:0x18FB5C func_80261388 = 0x80261388; // type:func rom:0x18FC68 @@ -6852,29 +6852,29 @@ get_actor_part = 0x8026445C; // type:func rom:0x192D3C load_player_actor = 0x802644A4; // type:func rom:0x192D84 load_partner_actor = 0x80264B74; // type:func rom:0x193454 create_actor = 0x802653A4; // type:func rom:0x193C84 -func_80265CE8 = 0x80265CE8; // type:func rom:0x1945C8 -func_80265D44 = 0x80265D44; // type:func rom:0x194624 +get_npc_anim_for_status = 0x80265CE8; // type:func rom:0x1945C8 +get_player_anim_for_status = 0x80265D44; // type:func rom:0x194624 lookup_defense = 0x80265E44; // type:func rom:0x194724 lookup_status_chance = 0x80265E98; // type:func rom:0x194778 lookup_status_duration_mod = 0x80265EEC; // type:func rom:0x1947CC inflict_status = 0x80265F40; // type:func rom:0x194820 inflict_partner_ko = 0x80266254; // type:func rom:0x194B34 get_defense = 0x802662BC; // type:func rom:0x194B9C -func_802664DC = 0x802664DC; // type:func rom:0x194DBC -show_damage_popup = 0x802665AC; // type:func rom:0x194E8C -func_80266684 = 0x80266684; // type:func rom:0x194F64 -func_802666E4 = 0x802666E4; // type:func rom:0x194FC4 +show_primary_damage_popup = 0x802664DC; // type:func rom:0x194DBC +show_next_damage_popup = 0x802665AC; // type:func rom:0x194E8C +update_damage_popups = 0x80266684; // type:func rom:0x194F64 +show_damage_fx = 0x802666E4; // type:func rom:0x194FC4 show_action_rating = 0x802667F0; // type:func rom:0x1950D0 func_80266970 = 0x80266970; // type:func rom:0x195250 -func_80266978 = 0x80266978; // type:func rom:0x195258 -func_80266ADC = 0x80266ADC; // type:func rom:0x1953BC -func_80266AF8 = 0x80266AF8; // type:func rom:0x1953D8 -func_80266B14 = 0x80266B14; // type:func rom:0x1953F4 +update_action_ratings = 0x80266978; // type:func rom:0x195258 +show_actor_health_bar = 0x80266ADC; // type:func rom:0x1953BC +hide_actor_health_bar = 0x80266AF8; // type:func rom:0x1953D8 +update_health_bars = 0x80266B14; // type:func rom:0x1953F4 try_inflict_status = 0x80266B78; // type:func rom:0x195458 inflict_status_set_duration = 0x80266CF0; // type:func rom:0x1955D0 -func_80266D6C = 0x80266D6C; // type:func rom:0x19564C -func_80266DAC = 0x80266DAC; // type:func rom:0x19568C -func_80266E14 = 0x80266E14; // type:func rom:0x1956F4 +set_part_pal_adjustment = 0x80266D6C; // type:func rom:0x19564C +set_actor_pal_adjustment = 0x80266DAC; // type:func rom:0x19568C +clear_part_pal_adjustment = 0x80266E14; // type:func rom:0x1956F4 func_80266E40 = 0x80266E40; // type:func rom:0x195720 func_80266EA8 = 0x80266EA8; // type:func rom:0x195788 func_80266EE8 = 0x80266EE8; // type:func rom:0x1957C8 @@ -7000,7 +7000,7 @@ SetActorDispOffset = 0x8026BA04; // type:func rom:0x19A2E4 GetPartDispOffset = 0x8026BAE8; // type:func rom:0x19A3C8 SetPartDispOffset = 0x8026BC38; // type:func rom:0x19A518 AddPartDispOffset = 0x8026BD88; // type:func rom:0x19A668 -func_8026BF48 = 0x8026BF48; // type:func rom:0x19A828 +FreezeBattleState = 0x8026BF48; // type:func rom:0x19A828 GetActorVar = 0x8026BFB4; // type:func rom:0x19A894 SetActorVar = 0x8026C044; // type:func rom:0x19A924 AddActorVar = 0x8026C0D4; // type:func rom:0x19A9B4 @@ -7040,7 +7040,7 @@ HPBarToHome = 0x8026D664; // type:func rom:0x19BF44 HPBarToCurrent = 0x8026D7A8; // type:func rom:0x19C088 func_8026D8EC = 0x8026D8EC; // type:func rom:0x19C1CC func_8026D940 = 0x8026D940; // type:func rom:0x19C220 -func_8026DA94 = 0x8026DA94; // type:func rom:0x19C374 +SetActorStatusOffsets = 0x8026DA94; // type:func rom:0x19C374 SummonEnemy = 0x8026DB64; // type:func rom:0x19C444 GetOwnerID = 0x8026DE00; // type:func rom:0x19C6E0 SetOwnerID = 0x8026DE28; // type:func rom:0x19C708 @@ -7071,9 +7071,9 @@ func_8026E914 = 0x8026E914; // type:func rom:0x19D1F4 GetPlayerActorID = 0x8026E974; // type:func rom:0x19D254 func_8026E9A0 = 0x8026E9A0; // type:func rom:0x19D280 GetDistanceToGoal = 0x8026E9FC; // type:func rom:0x19D2DC -func_8026EA7C = 0x8026EA7C; // type:func rom:0x19D35C -func_8026EB20 = 0x8026EB20; // type:func rom:0x19D400 -func_8026EBF8 = 0x8026EBF8; // type:func rom:0x19D4D8 +SetActorPaletteEffect = 0x8026EA7C; // type:func rom:0x19D35C +SetActorPaletteSwapTimes = 0x8026EB20; // type:func rom:0x19D400 +SetActorPaletteSwapParams = 0x8026EBF8; // type:func rom:0x19D4D8 func_8026ED20 = 0x8026ED20; // type:func rom:0x19D600 func_8026EDE4 = 0x8026EDE4; // type:func rom:0x19D6C4 AddActorDecoration = 0x8026EE88; // type:func rom:0x19D768 @@ -7086,7 +7086,7 @@ RemovePlayerBuffs = 0x8026F44C; // type:func rom:0x19DD2C SetPartAlpha = 0x8026F470; // type:func rom:0x19DD50 CreatePartShadow = 0x8026F52C; // type:func rom:0x19DE0C RemovePartShadow = 0x8026F59C; // type:func rom:0x19DE7C -func_8026F60C = 0x8026F60C; // type:func rom:0x19DEEC +SetEndBattleFadeOutRate = 0x8026F60C; // type:func rom:0x19DEEC SetBattleVar = 0x8026F638; // type:func rom:0x19DF18 GetBattleVar = 0x8026F694; // type:func rom:0x19DF74 ResetAllActorSounds = 0x8026F6EC; // type:func rom:0x19DFCC @@ -7137,7 +7137,7 @@ func_80274A18 = 0x80274A18; // type:func rom:0x1A32F8 func_802752AC = 0x802752AC; // type:func rom:0x1A3B8C func_80275F00 = 0x80275F00; // type:func rom:0x1A47E0 DidActionSucceed = 0x80276EB4; // type:func rom:0x1A5794 -func_80276EFC = 0x80276EFC; // type:func rom:0x1A57DC +PlayerYieldTurn = 0x80276EFC; // type:func rom:0x1A57DC DispatchEventPlayer = 0x80276F1C; // type:func rom:0x1A57FC has_enchanted_part = 0x80276F50; // type:func rom:0x1A5830 dispatch_event_general = 0x80276F8C; // type:func rom:0x1A586C @@ -7187,8 +7187,8 @@ EnemyFollowupAfflictTarget = 0x8027CED4; // type:func rom:0x1AB7B4 EnemyTestTarget = 0x8027CFB8; // type:func rom:0x1AB898 DispatchDamageEvent = 0x8027D1BC; // type:func rom:0x1ABA9C DispatchEvent = 0x8027D264; // type:func rom:0x1ABB44 -func_8027D2D8 = 0x8027D2D8; // type:func rom:0x1ABBB8 -func_8027D32C = 0x8027D32C; // type:func rom:0x1ABC0C +ShowHealthBar = 0x8027D2D8; // type:func rom:0x1ABBB8 +HideHealthBar = 0x8027D32C; // type:func rom:0x1ABC0C SetTargetOffset = 0x8027D380; // type:func rom:0x1ABC60 func_8027D434 = 0x8027D434; // type:func rom:0x1ABD14 SetProjectileTargetOffset = 0x8027D4C8; // type:func rom:0x1ABDA8 @@ -8225,8 +8225,8 @@ damage_indicator_main = 0xE003C000; // type:func rom:0x34F4C0 damage_indicator_init = 0xE003C23C; // type:func rom:0x34F6FC damage_indicator_update = 0xE003C244; // type:func rom:0x34F704 damage_indicator_render = 0xE003C474; // type:func rom:0x34F934 -func_E003C47C = 0xE003C47C; // type:func rom:0x34F93C -func_E003C498 = 0xE003C498; // type:func rom:0x34F958 +damage_indicator_render_ui = 0xE003C47C; // type:func rom:0x34F93C +damage_indicator_render_impl = 0xE003C498; // type:func rom:0x34F958 D_E003CCA0 = 0xE003CCA0; // type:data rom:0x350160 D_E003CCD0 = 0xE003CCD0; // type:data rom:0x350190 D_E003CCF8 = 0xE003CCF8; // type:data rom:0x3501B8 @@ -9357,10 +9357,10 @@ b_area_kmr_part_1_spiked_goomba_CalculateRotationZ = 0x8021840C; // type:func ro b_area_kmr_part_1_paragoomba_StartRumbleWithParams = 0x80218500; // type:func rom:0x430EA0 b_area_kmr_part_1_paragoomba_ArcsinDeg = 0x80218558; // type:func rom:0x430EF8 b_area_kmr_part_1_paragoomba_CalculateRotationZ = 0x802186E4; // type:func rom:0x431084 -b_area_kmr_part_1_kmr_03_UnkAngleFunc2 = 0x802187E0; // type:func rom:0x431180 -b_area_kmr_part_1_kmr_04_UnkAngleFunc2 = 0x80218A50; // type:func rom:0x4313F0 -b_area_kmr_part_1_kmr_05_UnkAngleFunc2 = 0x80218CC0; // type:func rom:0x431660 -b_area_kmr_part_1_kmr_06_UnkAngleFunc2 = 0x80218F30; // type:func rom:0x4318D0 +b_area_kmr_part_1_kmr_03_InterpCloudTransform = 0x802187E0; // type:func rom:0x431180 +b_area_kmr_part_1_kmr_04_InterpCloudTransform = 0x80218A50; // type:func rom:0x4313F0 +b_area_kmr_part_1_kmr_05_InterpCloudTransform = 0x80218CC0; // type:func rom:0x431660 +b_area_kmr_part_1_kmr_06_InterpCloudTransform = 0x80218F30; // type:func rom:0x4318D0 b_area_kmr_part_1_kmr_06_UnkFogFunc = 0x80219198; // type:func rom:0x431B38 b_area_kmr_part_1_Formation_00 = 0x802191E0; // type:data rom:0x431B80 b_area_kmr_part_1_Formation_01 = 0x802191FC; // type:data rom:0x431B9C @@ -9378,7 +9378,7 @@ b_area_kmr_part_1_Formations = 0x802194D4; // type:data rom:0x431E74 b_area_kmr_part_1_Stages = 0x802195D8; // type:data rom:0x431F78 b_area_kmr_part_1_goomba_DefenseTable_80219750 = 0x80219610; // type:data rom:0x431FB0 b_area_kmr_part_1_goomba_StatusTable_8021975C = 0x8021961C; // type:data rom:0x431FBC -b_area_kmr_part_1_goomba_PartsTable_80219808 = 0x802196C8; // type:data rom:0x432068 +b_area_kmr_part_1_goomba_ActorParts = 0x802196C8; // type:data rom:0x432068 b_area_kmr_part_1_goomba = 0x802196EC; // type:data rom:0x43208C b_area_kmr_part_1_goomba_IdleAnimations_80219854 = 0x80219714; // type:data rom:0x4320B4 b_area_kmr_part_1_goomba_IdleAnimations_802198A0 = 0x80219760; // type:data rom:0x432100 @@ -9389,7 +9389,7 @@ b_area_kmr_part_1_goomba_sinTable = 0x8021A194; // type:data rom:0x432B34 b_area_kmr_part_1_goomba_takeTurn_8021A440 = 0x8021A300; // type:data rom:0x432CA0 b_area_kmr_part_1_spiked_goomba_DefenseTable_8021E3B0 = 0x8021AFD0; // type:data rom:0x433970 b_area_kmr_part_1_spiked_goomba_StatusTable_8021E3BC = 0x8021AFDC; // type:data rom:0x43397C -b_area_kmr_part_1_spiked_goomba_PartsTable_8021E468 = 0x8021B088; // type:data rom:0x433A28 +b_area_kmr_part_1_spiked_goomba_ActorParts = 0x8021B088; // type:data rom:0x433A28 b_area_kmr_part_1_spiked_goomba = 0x8021B0AC; // type:data rom:0x433A4C b_area_kmr_part_1_spiked_goomba_IdleAnimations_8021E4B4 = 0x8021B0D4; // type:data rom:0x433A74 b_area_kmr_part_1_spiked_goomba_IdleAnimations_8021E500 = 0x8021B120; // type:data rom:0x433AC0 @@ -9402,7 +9402,7 @@ b_area_kmr_part_1_paragoomba_DefenseTable_8021B110 = 0x8021CB00; // type:data ro b_area_kmr_part_1_paragoomba_DefenseTable_8021B11C = 0x8021CB0C; // type:data rom:0x4354AC b_area_kmr_part_1_paragoomba_StatusTable_8021B128 = 0x8021CB18; // type:data rom:0x4354B8 b_area_kmr_part_1_paragoomba_StatusTable_8021B1D4 = 0x8021CBC4; // type:data rom:0x435564 -b_area_kmr_part_1_paragoomba_PartsTable_8021B280 = 0x8021CC70; // type:data rom:0x435610 +b_area_kmr_part_1_paragoomba_ActorParts = 0x8021CC70; // type:data rom:0x435610 b_area_kmr_part_1_paragoomba = 0x8021CD00; // type:data rom:0x4356A0 b_area_kmr_part_1_paragoomba_IdleAnimations_8021B338 = 0x8021CD28; // type:data rom:0x4356C8 b_area_kmr_part_1_paragoomba_IdleAnimations_8021B384 = 0x8021CD74; // type:data rom:0x435714 @@ -9424,38 +9424,38 @@ b_area_kmr_part_1_paragoomba_takeTurn_8021D6E8 = 0x8021F0D8; // type:data rom:0x b_area_kmr_part_1_kmr_02_EVS_PreBattle = 0x8021FDA0; // type:data rom:0x438740 b_area_kmr_part_1_kmr_02_EVS_PostBattle = 0x8021FDC0; // type:data rom:0x438760 b_area_kmr_part_1_kmr_02 = 0x8021FDD0; // type:data rom:0x438770 -b_area_kmr_part_1_kmr_03_clouds1 = 0x8021FE00; // type:data rom:0x4387A0 -b_area_kmr_part_1_kmr_03_clouds2 = 0x8021FEF8; // type:data rom:0x438898 -b_area_kmr_part_1_kmr_03_clouds3 = 0x80220030; // type:data rom:0x4389D0 +b_area_kmr_part_1_kmr_03_EVS_AnimateCloud = 0x8021FE00; // type:data rom:0x4387A0 +b_area_kmr_part_1_kmr_03_EVS_AnimateCloud_WithOffset2D = 0x8021FEF8; // type:data rom:0x438898 +b_area_kmr_part_1_kmr_03_EVS_AnimateCloud_WithOffset3D = 0x80220030; // type:data rom:0x4389D0 b_area_kmr_part_1_kmr_03_EVS_PreBattle = 0x80220188; // type:data rom:0x438B28 b_area_kmr_part_1_kmr_03_EVS_PostBattle = 0x80220200; // type:data rom:0x438BA0 b_area_kmr_part_1_kmr_03_ForegroundModels = 0x80220210; // type:data rom:0x438BB0 b_area_kmr_part_1_kmr_03 = 0x8022021C; // type:data rom:0x438BBC -b_area_kmr_part_1_kmr_04_clouds1 = 0x80220250; // type:data rom:0x438BF0 -b_area_kmr_part_1_kmr_04_clouds2 = 0x80220348; // type:data rom:0x438CE8 -b_area_kmr_part_1_kmr_04_clouds3 = 0x80220480; // type:data rom:0x438E20 +b_area_kmr_part_1_kmr_04_EVS_AnimateCloud = 0x80220250; // type:data rom:0x438BF0 +b_area_kmr_part_1_kmr_04_EVS_AnimateCloud_WithOffset2D = 0x80220348; // type:data rom:0x438CE8 +b_area_kmr_part_1_kmr_04_EVS_AnimateCloud_WithOffset3D = 0x80220480; // type:data rom:0x438E20 b_area_kmr_part_1_kmr_04_EVS_PreBattle = 0x802205D8; // type:data rom:0x438F78 b_area_kmr_part_1_kmr_04_EVS_PostBattle = 0x80220650; // type:data rom:0x438FF0 b_area_kmr_part_1_kmr_04_ForegroundModels = 0x80220660; // type:data rom:0x439000 b_area_kmr_part_1_kmr_04 = 0x8022066C; // type:data rom:0x43900C -b_area_kmr_part_1_kmr_05_clouds1 = 0x802206A0; // type:data rom:0x439040 -b_area_kmr_part_1_kmr_05_clouds2 = 0x80220798; // type:data rom:0x439138 -b_area_kmr_part_1_kmr_05_clouds3 = 0x802208D0; // type:data rom:0x439270 +b_area_kmr_part_1_kmr_05_EVS_AnimateCloud = 0x802206A0; // type:data rom:0x439040 +b_area_kmr_part_1_kmr_05_EVS_AnimateCloud_WithOffset2D = 0x80220798; // type:data rom:0x439138 +b_area_kmr_part_1_kmr_05_EVS_AnimateCloud_WithOffset3D = 0x802208D0; // type:data rom:0x439270 b_area_kmr_part_1_kmr_05_EVS_PreBattle = 0x80220A28; // type:data rom:0x4393C8 b_area_kmr_part_1_kmr_05_EVS_PostBattle = 0x80220A5C; // type:data rom:0x4393FC b_area_kmr_part_1_kmr_05_ForegroundModels = 0x80220A6C; // type:data rom:0x43940C b_area_kmr_part_1_kmr_05 = 0x80220A78; // type:data rom:0x439418 -b_area_kmr_part_1_kmr_06_clouds1 = 0x80220AA0; // type:data rom:0x439440 -b_area_kmr_part_1_kmr_06_clouds2 = 0x80220B98; // type:data rom:0x439538 -b_area_kmr_part_1_kmr_06_clouds3 = 0x80220CD0; // type:data rom:0x439670 +b_area_kmr_part_1_kmr_06_EVS_AnimateCloud = 0x80220AA0; // type:data rom:0x439440 +b_area_kmr_part_1_kmr_06_EVS_AnimateCloud_WithOffset2D = 0x80220B98; // type:data rom:0x439538 +b_area_kmr_part_1_kmr_06_EVS_AnimateCloud_WithOffset3D = 0x80220CD0; // type:data rom:0x439670 b_area_kmr_part_1_kmr_06_EVS_PreBattle = 0x80220E28; // type:data rom:0x4397C8 b_area_kmr_part_1_kmr_06_EVS_PostBattle = 0x80220EAC; // type:data rom:0x43984C b_area_kmr_part_1_kmr_06_ForegroundModels = 0x80220EBC; // type:data rom:0x43985C b_area_kmr_part_1_kmr_06 = 0x80220ECC; // type:data rom:0x43986C -b_area_kmr_part_2_blue_goomba_ArcsinDeg = 0x80218000; // type:func rom:0x439A90 -b_area_kmr_part_2_blue_goomba_CalculateRotationZ = 0x8021818C; // type:func rom:0x439C1C -b_area_kmr_part_2_red_goomba_ArcsinDeg = 0x80218280; // type:func rom:0x439D10 -b_area_kmr_part_2_red_goomba_CalculateRotationZ = 0x8021840C; // type:func rom:0x439E9C +b_area_kmr_part_2_blue_goomba_1_ArcsinDeg = 0x80218000; // type:func rom:0x439A90 +b_area_kmr_part_2_blue_goomba_1_CalculateRotationZ = 0x8021818C; // type:func rom:0x439C1C +b_area_kmr_part_2_red_goomba_1_ArcsinDeg = 0x80218280; // type:func rom:0x439D10 +b_area_kmr_part_2_red_goomba_1_CalculateRotationZ = 0x8021840C; // type:func rom:0x439E9C b_area_kmr_part_2_blue_goomba_2_ArcsinDeg = 0x80218500; // type:func rom:0x439F90 b_area_kmr_part_2_blue_goomba_2_CalculateRotationZ = 0x8021868C; // type:func rom:0x43A11C b_area_kmr_part_2_blue_goomba_2_DivActorLevel4 = 0x80218780; // type:func rom:0x43A210 @@ -9465,10 +9465,10 @@ b_area_kmr_part_2_red_goomba_2_DivActorLevel4 = 0x80218A30; // type:func rom:0x4 func_80218A60_43A4F0 = 0x80218A60; // type:func rom:0x43A4F0 b_area_kmr_part_2_goomnut_tree_foliage_setup_shear_mtx = 0x80218B10; // type:func rom:0x43A5A0 b_area_kmr_part_2_goomnut_tree_TransformFoliage = 0x80218B80; // type:func rom:0x43A610 -b_area_kmr_part_2_kmr_03_UnkAngleFunc2 = 0x80218D50; // type:func rom:0x43A7E0 -b_area_kmr_part_2_kmr_04_UnkAngleFunc2 = 0x80218FC0; // type:func rom:0x43AA50 -b_area_kmr_part_2_kmr_05_UnkAngleFunc2 = 0x80219230; // type:func rom:0x43ACC0 -b_area_kmr_part_2_kmr_06_UnkAngleFunc2 = 0x802194A0; // type:func rom:0x43AF30 +b_area_kmr_part_2_kmr_03_InterpCloudTransform = 0x80218D50; // type:func rom:0x43A7E0 +b_area_kmr_part_2_kmr_04_InterpCloudTransform = 0x80218FC0; // type:func rom:0x43AA50 +b_area_kmr_part_2_kmr_05_InterpCloudTransform = 0x80219230; // type:func rom:0x43ACC0 +b_area_kmr_part_2_kmr_06_InterpCloudTransform = 0x802194A0; // type:func rom:0x43AF30 b_area_kmr_part_2_kmr_06_UnkFogFunc = 0x80219708; // type:func rom:0x43B198 b_area_kmr_part_2_pos00 = 0x80219750; // type:data rom:0x43B1E0 b_area_kmr_part_2_pos01 = 0x8021975C; // type:data rom:0x43B1EC @@ -9480,36 +9480,36 @@ b_area_kmr_part_2_pos05 = 0x802197C4; // type:data rom:0x43B254 b_area_kmr_part_2_Formation_01 = 0x802197D0; // type:data rom:0x43B260 b_area_kmr_part_2_Formations = 0x80219840; // type:data rom:0x43B2D0 b_area_kmr_part_2_Stages = 0x8021987C; // type:data rom:0x43B30C -b_area_kmr_part_2_blue_goomba_DefenseTable_802198B0 = 0x802198B0; // type:data rom:0x43B340 -b_area_kmr_part_2_blue_goomba_StatusTable_802198BC = 0x802198BC; // type:data rom:0x43B34C -b_area_kmr_part_2_blue_goomba_PartsTable_80219968 = 0x80219968; // type:data rom:0x43B3F8 -b_area_kmr_part_2_blue_goomba = 0x8021998C; // type:data rom:0x43B41C -b_area_kmr_part_2_blue_goomba_IdleAnimations_802199B4 = 0x802199B4; // type:data rom:0x43B444 -b_area_kmr_part_2_blue_goomba_IdleAnimations_80219A00 = 0x80219A00; // type:data rom:0x43B490 -b_area_kmr_part_2_blue_goomba_init_80219A4C = 0x80219A4C; // type:data rom:0x43B4DC -b_area_kmr_part_2_blue_goomba_idle_80219A98 = 0x80219A98; // type:data rom:0x43B528 -b_area_kmr_part_2_blue_goomba_handleEvent_80219D74 = 0x80219D74; // type:data rom:0x43B804 -b_area_kmr_part_2_blue_goomba_sinTable = 0x8021A434; // type:data rom:0x43BEC4 -b_area_kmr_part_2_blue_goomba_takeTurn_8021A5A0 = 0x8021A5A0; // type:data rom:0x43C030 -b_area_kmr_part_2_blue_goomba_init_8021B268 = 0x8021B268; // type:data rom:0x43CCF8 -b_area_kmr_part_2_blue_goomba_takeTurn_8021B2C8 = 0x8021B2C8; // type:data rom:0x43CD58 -b_area_kmr_part_2_blue_goomba_doDeath_8021B388 = 0x8021B388; // type:data rom:0x43CE18 -b_area_kmr_part_2_red_goomba_DefenseTable_8021B6C0 = 0x8021B6C0; // type:data rom:0x43D150 -b_area_kmr_part_2_red_goomba_StatusTable_8021B6CC = 0x8021B6CC; // type:data rom:0x43D15C -b_area_kmr_part_2_red_goomba_PartsTable_8021B778 = 0x8021B778; // type:data rom:0x43D208 -b_area_kmr_part_2_red_goomba = 0x8021B79C; // type:data rom:0x43D22C -b_area_kmr_part_2_red_goomba_IdleAnimations_8021B7C4 = 0x8021B7C4; // type:data rom:0x43D254 -b_area_kmr_part_2_red_goomba_IdleAnimations_8021B810 = 0x8021B810; // type:data rom:0x43D2A0 -b_area_kmr_part_2_red_goomba_init_8021B85C = 0x8021B85C; // type:data rom:0x43D2EC -b_area_kmr_part_2_red_goomba_idle_8021B8A8 = 0x8021B8A8; // type:data rom:0x43D338 -b_area_kmr_part_2_red_goomba_handleEvent_8021BB84 = 0x8021BB84; // type:data rom:0x43D614 -b_area_kmr_part_2_red_goomba_sinTable = 0x8021C244; // type:data rom:0x43DCD4 -b_area_kmr_part_2_red_goomba_takeTurn_8021C3B0 = 0x8021C3B0; // type:data rom:0x43DE40 -b_area_kmr_part_2_red_goomba_init_8021D078 = 0x8021D078; // type:data rom:0x43EB08 -b_area_kmr_part_2_red_goomba_doDeath_8021D0C4 = 0x8021D0C4; // type:data rom:0x43EB54 +b_area_kmr_part_2_blue_goomba_1_DefenseTable_802198B0 = 0x802198B0; // type:data rom:0x43B340 +b_area_kmr_part_2_blue_goomba_1_StatusTable_802198BC = 0x802198BC; // type:data rom:0x43B34C +b_area_kmr_part_2_blue_goomba_1_ActorParts = 0x80219968; // type:data rom:0x43B3F8 +b_area_kmr_part_2_blue_goomba_1_sinTable = 0x8021998C; // type:data rom:0x43B41C +b_area_kmr_part_2_blue_goomba_1_IdleAnimations_802199B4 = 0x802199B4; // type:data rom:0x43B444 +b_area_kmr_part_2_blue_goomba_1_IdleAnimations_80219A00 = 0x80219A00; // type:data rom:0x43B490 +b_area_kmr_part_2_blue_goomba_1_init_80219A4C = 0x80219A4C; // type:data rom:0x43B4DC +b_area_kmr_part_2_blue_goomba_1_idle_80219A98 = 0x80219A98; // type:data rom:0x43B528 +b_area_kmr_part_2_blue_goomba_1_handleEvent_80219D74 = 0x80219D74; // type:data rom:0x43B804 +b_area_kmr_part_2_blue_goomba_1_sinTable = 0x8021A434; // type:data rom:0x43BEC4 +b_area_kmr_part_2_blue_goomba_1_takeTurn_8021A5A0 = 0x8021A5A0; // type:data rom:0x43C030 +b_area_kmr_part_2_blue_goomba_1_init_8021B268 = 0x8021B268; // type:data rom:0x43CCF8 +b_area_kmr_part_2_blue_goomba_1_takeTurn_8021B2C8 = 0x8021B2C8; // type:data rom:0x43CD58 +b_area_kmr_part_2_blue_goomba_1_doDeath_8021B388 = 0x8021B388; // type:data rom:0x43CE18 +b_area_kmr_part_2_red_goomba_1_DefenseTable_8021B6C0 = 0x8021B6C0; // type:data rom:0x43D150 +b_area_kmr_part_2_red_goomba_1_StatusTable_8021B6CC = 0x8021B6CC; // type:data rom:0x43D15C +b_area_kmr_part_2_red_goomba_1_ActorParts = 0x8021B778; // type:data rom:0x43D208 +b_area_kmr_part_2_red_goomba_1 = 0x8021B79C; // type:data rom:0x43D22C +b_area_kmr_part_2_red_goomba_1_IdleAnimations_8021B7C4 = 0x8021B7C4; // type:data rom:0x43D254 +b_area_kmr_part_2_red_goomba_1_IdleAnimations_8021B810 = 0x8021B810; // type:data rom:0x43D2A0 +b_area_kmr_part_2_red_goomba_1_init_8021B85C = 0x8021B85C; // type:data rom:0x43D2EC +b_area_kmr_part_2_red_goomba_1_idle_8021B8A8 = 0x8021B8A8; // type:data rom:0x43D338 +b_area_kmr_part_2_red_goomba_1_handleEvent_8021BB84 = 0x8021BB84; // type:data rom:0x43D614 +b_area_kmr_part_2_red_goomba_1_sinTable = 0x8021C244; // type:data rom:0x43DCD4 +b_area_kmr_part_2_red_goomba_1_takeTurn_8021C3B0 = 0x8021C3B0; // type:data rom:0x43DE40 +b_area_kmr_part_2_red_goomba_1_init_8021D078 = 0x8021D078; // type:data rom:0x43EB08 +b_area_kmr_part_2_red_goomba_1_doDeath_8021D0C4 = 0x8021D0C4; // type:data rom:0x43EB54 b_area_kmr_part_2_blue_goomba_2_DefenseTable_8021D400 = 0x8021D400; // type:data rom:0x43EE90 b_area_kmr_part_2_blue_goomba_2_StatusTable_8021D40C = 0x8021D40C; // type:data rom:0x43EE9C -b_area_kmr_part_2_blue_goomba_2_PartsTable_8021D4B8 = 0x8021D4B8; // type:data rom:0x43EF48 +b_area_kmr_part_2_blue_goomba_2_ActorParts = 0x8021D4B8; // type:data rom:0x43EF48 b_area_kmr_part_2_blue_goomba_2 = 0x8021D4DC; // type:data rom:0x43EF6C b_area_kmr_part_2_blue_goomba_2_IdleAnimations_8021D504 = 0x8021D504; // type:data rom:0x43EF94 b_area_kmr_part_2_blue_goomba_2_IdleAnimations_8021D550 = 0x8021D550; // type:data rom:0x43EFE0 @@ -9521,7 +9521,7 @@ b_area_kmr_part_2_blue_goomba_2_takeTurn_8021E0F0 = 0x8021E0F0; // type:data rom b_area_kmr_part_2_blue_goomba_2_init_8021EDB8 = 0x8021EDB8; // type:data rom:0x440848 b_area_kmr_part_2_red_goomba_2_DefenseTable_8021EE00 = 0x8021EE00; // type:data rom:0x440890 b_area_kmr_part_2_red_goomba_2_StatusTable_8021EE0C = 0x8021EE0C; // type:data rom:0x44089C -b_area_kmr_part_2_red_goomba_2_PartsTable_8021EEB8 = 0x8021EEB8; // type:data rom:0x440948 +b_area_kmr_part_2_red_goomba_2_ActorParts = 0x8021EEB8; // type:data rom:0x440948 b_area_kmr_part_2_red_goomba_2 = 0x8021EEDC; // type:data rom:0x44096C b_area_kmr_part_2_red_goomba_2_IdleAnimations_8021EF04 = 0x8021EF04; // type:data rom:0x440994 b_area_kmr_part_2_red_goomba_2_IdleAnimations_8021EF50 = 0x8021EF50; // type:data rom:0x4409E0 @@ -9537,7 +9537,7 @@ b_area_kmr_part_2_goomba_king_IdleAnimations_80220888 = 0x80220888; // type:data b_area_kmr_part_2_goomba_king_IdleAnimations_802208CC = 0x802208CC; // type:data rom:0x44235C b_area_kmr_part_2_goomba_king_DefenseTable_80220910 = 0x80220910; // type:data rom:0x4423A0 b_area_kmr_part_2_goomba_king_StatusTable_8022091C = 0x8022091C; // type:data rom:0x4423AC -b_area_kmr_part_2_goomba_king_PartsTable_802209C8 = 0x802209C8; // type:data rom:0x442458 +b_area_kmr_part_2_goomba_king_ActorParts_802209C8 = 0x802209C8; // type:data rom:0x442458 b_area_kmr_part_2_goomba_king = 0x80220A10; // type:data rom:0x4424A0 b_area_kmr_part_2_goomba_king_init_80220A38 = 0x80220A38; // type:data rom:0x4424C8 b_area_kmr_part_2_goomba_king_idle_80220B50 = 0x80220B50; // type:data rom:0x4425E0 @@ -9552,7 +9552,7 @@ b_area_kmr_part_2_goomba_king_doDeath_80222F50 = 0x80222F50; // type:data rom:0x b_area_kmr_part_2_goomnut_tree_IdleAnimations_802232D0 = 0x802232D0; // type:data rom:0x444D60 b_area_kmr_part_2_goomnut_tree_DefenseTable_802232DC = 0x802232DC; // type:data rom:0x444D6C b_area_kmr_part_2_goomnut_tree_StatusTable_802232F0 = 0x802232F0; // type:data rom:0x444D80 -b_area_kmr_part_2_goomnut_tree_PartsTable_8022339C = 0x8022339C; // type:data rom:0x444E2C +b_area_kmr_part_2_goomnut_tree_ActorParts_8022339C = 0x8022339C; // type:data rom:0x444E2C b_area_kmr_part_2_goomnut_tree = 0x80223450; // type:data rom:0x444EE0 b_area_kmr_part_2_goomnut_tree_unk_missing_80223478 = 0x80223478; // type:data rom:0x444F08 b_area_kmr_part_2_goomnut_tree_init_80223488 = 0x80223488; // type:data rom:0x444F18 @@ -9569,30 +9569,30 @@ b_area_kmr_part_2_goomnut_tree_80223DBC = 0x80223DBC; // type:data rom:0x44584C b_area_kmr_part_2_kmr_02_EVS_PreBattle = 0x80224700; // type:data rom:0x446190 b_area_kmr_part_2_kmr_02_EVS_PostBattle = 0x80224720; // type:data rom:0x4461B0 b_area_kmr_part_2_kmr_02 = 0x80224730; // type:data rom:0x4461C0 -b_area_kmr_part_2_kmr_03_clouds1 = 0x80224760; // type:data rom:0x4461F0 -b_area_kmr_part_2_kmr_03_clouds2 = 0x80224858; // type:data rom:0x4462E8 -b_area_kmr_part_2_kmr_03_clouds3 = 0x80224990; // type:data rom:0x446420 +b_area_kmr_part_2_kmr_03_EVS_AnimateCloud = 0x80224760; // type:data rom:0x4461F0 +b_area_kmr_part_2_kmr_03_EVS_AnimateCloud_WithOffset2D = 0x80224858; // type:data rom:0x4462E8 +b_area_kmr_part_2_kmr_03_EVS_AnimateCloud_WithOffset3D = 0x80224990; // type:data rom:0x446420 b_area_kmr_part_2_kmr_03_EVS_PreBattle = 0x80224AE8; // type:data rom:0x446578 b_area_kmr_part_2_kmr_03_EVS_PostBattle = 0x80224B60; // type:data rom:0x4465F0 b_area_kmr_part_2_kmr_03_ForegroundModels = 0x80224B70; // type:data rom:0x446600 b_area_kmr_part_2_kmr_03 = 0x80224B7C; // type:data rom:0x44660C -b_area_kmr_part_2_kmr_04_clouds1 = 0x80224BB0; // type:data rom:0x446640 -b_area_kmr_part_2_kmr_04_clouds2 = 0x80224CA8; // type:data rom:0x446738 -b_area_kmr_part_2_kmr_04_clouds3 = 0x80224DE0; // type:data rom:0x446870 +b_area_kmr_part_2_kmr_04_EVS_AnimateCloud = 0x80224BB0; // type:data rom:0x446640 +b_area_kmr_part_2_kmr_04_EVS_AnimateCloud_WithOffset2D = 0x80224CA8; // type:data rom:0x446738 +b_area_kmr_part_2_kmr_04_EVS_AnimateCloud_WithOffset3D = 0x80224DE0; // type:data rom:0x446870 b_area_kmr_part_2_kmr_04_EVS_PreBattle = 0x80224F38; // type:data rom:0x4469C8 b_area_kmr_part_2_kmr_04_EVS_PostBattle = 0x80224FB0; // type:data rom:0x446A40 b_area_kmr_part_2_kmr_04_ForegroundModels = 0x80224FC0; // type:data rom:0x446A50 b_area_kmr_part_2_kmr_04 = 0x80224FCC; // type:data rom:0x446A5C -b_area_kmr_part_2_kmr_05_clouds1 = 0x80225000; // type:data rom:0x446A90 -b_area_kmr_part_2_kmr_05_clouds2 = 0x802250F8; // type:data rom:0x446B88 -b_area_kmr_part_2_kmr_05_clouds3 = 0x80225230; // type:data rom:0x446CC0 +b_area_kmr_part_2_kmr_05_EVS_AnimateCloud = 0x80225000; // type:data rom:0x446A90 +b_area_kmr_part_2_kmr_05_EVS_AnimateCloud_WithOffset2D = 0x802250F8; // type:data rom:0x446B88 +b_area_kmr_part_2_kmr_05_EVS_AnimateCloud_WithOffset3D = 0x80225230; // type:data rom:0x446CC0 b_area_kmr_part_2_kmr_05_EVS_PreBattle = 0x80225388; // type:data rom:0x446E18 b_area_kmr_part_2_kmr_05_EVS_PostBattle = 0x802253BC; // type:data rom:0x446E4C b_area_kmr_part_2_kmr_05_ForegroundModels = 0x802253CC; // type:data rom:0x446E5C b_area_kmr_part_2_kmr_05 = 0x802253D8; // type:data rom:0x446E68 -b_area_kmr_part_2_kmr_06_clouds1 = 0x80225400; // type:data rom:0x446E90 -b_area_kmr_part_2_kmr_06_clouds2 = 0x802254F8; // type:data rom:0x446F88 -b_area_kmr_part_2_kmr_06_clouds3 = 0x80225630; // type:data rom:0x4470C0 +b_area_kmr_part_2_kmr_06_EVS_AnimateCloud = 0x80225400; // type:data rom:0x446E90 +b_area_kmr_part_2_kmr_06_EVS_AnimateCloud_WithOffset2D = 0x802254F8; // type:data rom:0x446F88 +b_area_kmr_part_2_kmr_06_EVS_AnimateCloud_WithOffset3D = 0x80225630; // type:data rom:0x4470C0 b_area_kmr_part_2_kmr_06_EVS_PreBattle = 0x80225788; // type:data rom:0x447218 b_area_kmr_part_2_kmr_06_EVS_PostBattle = 0x8022580C; // type:data rom:0x44729C b_area_kmr_part_2_kmr_06_ForegroundModels = 0x8022581C; // type:data rom:0x4472AC @@ -9605,20 +9605,20 @@ b_area_kmr_part_3_paragoomba1_CalculateRotationZ = 0x80218464; // type:func rom: b_area_kmr_part_3_paragoomba2_StartRumbleWithParams = 0x80218560; // type:func rom:0x4479A0 b_area_kmr_part_3_paragoomba2_ArcsinDeg = 0x802185B8; // type:func rom:0x4479F8 b_area_kmr_part_3_paragoomba2_CalculateRotationZ = 0x80218744; // type:func rom:0x447B84 -b_area_kmr_part_3_para_jr_troopa_UnkBattleFunc1 = 0x80218840; // type:func rom:0x447C80 -b_area_kmr_part_3_spiked_para_jr_troopa_UnkBattleFunc1 = 0x80218910; // type:func rom:0x447D50 +b_area_kmr_part_3_para_jr_troopa_SetAbsoluteStatusOffsets = 0x80218840; // type:func rom:0x447C80 +b_area_kmr_part_3_spiked_para_jr_troopa_SetAbsoluteStatusOffsets = 0x80218910; // type:func rom:0x447D50 func_802189DC_447E1C = 0x802189DC; // type:func rom:0x447E1C b_area_kmr_part_3_spiked_para_jr_troopa_FreeIcon = 0x80218AA4; // type:func rom:0x447EE4 -b_area_kmr_part_3_final_jr_troopa_UnkBattleFunc1 = 0x80218AD0; // type:func rom:0x447F10 +b_area_kmr_part_3_final_jr_troopa_SetAbsoluteStatusOffsets = 0x80218AD0; // type:func rom:0x447F10 b_area_kmr_part_3_final_jr_troopa_ArcsinDeg = 0x80218B9C; // type:func rom:0x447FDC b_area_kmr_part_3_final_jr_troopa_CalculateRotationZ = 0x80218D28; // type:func rom:0x448168 b_area_kmr_part_3_final_jr_troopa_Dist3D = 0x80218E1C; // type:func rom:0x44825C b_area_kmr_part_3_final_jr_troopa_UnkBackgroundFunc3 = 0x80218F60; // type:func rom:0x4483A0 b_area_kmr_part_3_final_jr_troopa_SetBackgroundAlpha = 0x80218FA4; // type:func rom:0x4483E4 -b_area_kmr_part_3_kmr_03_UnkAngleFunc2 = 0x80218FE0; // type:func rom:0x448420 -b_area_kmr_part_3_kmr_04_UnkAngleFunc2 = 0x80219250; // type:func rom:0x448690 -b_area_kmr_part_3_kmr_05_UnkAngleFunc2 = 0x802194C0; // type:func rom:0x448900 -b_area_kmr_part_3_kmr_06_UnkAngleFunc2 = 0x80219730; // type:func rom:0x448B70 +b_area_kmr_part_3_kmr_03_InterpCloudTransform = 0x80218FE0; // type:func rom:0x448420 +b_area_kmr_part_3_kmr_04_InterpCloudTransform = 0x80219250; // type:func rom:0x448690 +b_area_kmr_part_3_kmr_05_InterpCloudTransform = 0x802194C0; // type:func rom:0x448900 +b_area_kmr_part_3_kmr_06_InterpCloudTransform = 0x80219730; // type:func rom:0x448B70 b_area_kmr_part_3_kmr_06_UnkFogFunc = 0x80219998; // type:func rom:0x448DD8 b_area_kmr_part_3_mim_01_UnkFogFunc2 = 0x802199E0; // type:func rom:0x448E20 b_area_kmr_part_3_sam_01_UnkModelStuff_func1 = 0x80219A40; // type:func rom:0x448E80 @@ -9637,7 +9637,7 @@ b_area_kmr_part_3_Formations = 0x8021A2AC; // type:data rom:0x4496EC b_area_kmr_part_3_Stages = 0x8021A360; // type:data rom:0x4497A0 b_area_kmr_part_3_spiked_goomba_DefenseTable_8021A390 = 0x8021A390; // type:data rom:0x4497D0 b_area_kmr_part_3_spiked_goomba_StatusTable_8021A39C = 0x8021A39C; // type:data rom:0x4497DC -b_area_kmr_part_3_spiked_goomba_PartsTable_8021A448 = 0x8021A448; // type:data rom:0x449888 +b_area_kmr_part_3_spiked_goomba_ActorParts = 0x8021A448; // type:data rom:0x449888 b_area_kmr_part_3_spiked_goomba = 0x8021A46C; // type:data rom:0x4498AC b_area_kmr_part_3_spiked_goomba_IdleAnimations_8021A494 = 0x8021A494; // type:data rom:0x4498D4 b_area_kmr_part_3_spiked_goomba_IdleAnimations_8021A4E0 = 0x8021A4E0; // type:data rom:0x449920 @@ -9653,7 +9653,7 @@ b_area_kmr_part_3_paragoomba1_DefenseTable_8021C1B0 = 0x8021C1B0; // type:data r b_area_kmr_part_3_paragoomba1_DefenseTable_8021C1BC = 0x8021C1BC; // type:data rom:0x44B5FC b_area_kmr_part_3_paragoomba1_StatusTable_8021C1C8 = 0x8021C1C8; // type:data rom:0x44B608 b_area_kmr_part_3_paragoomba1_StatusTable_8021C274 = 0x8021C274; // type:data rom:0x44B6B4 -b_area_kmr_part_3_paragoomba1_PartsTable = 0x8021C320; // type:data rom:0x44B760 +b_area_kmr_part_3_paragoomba1_ActorParts = 0x8021C320; // type:data rom:0x44B760 b_area_kmr_part_3_paragoomba1 = 0x8021C3B0; // type:data rom:0x44B7F0 b_area_kmr_part_3_paragoomba1_IdleAnimations_8021C3D8 = 0x8021C3D8; // type:data rom:0x44B818 b_area_kmr_part_3_paragoomba1_IdleAnimations_8021C424 = 0x8021C424; // type:data rom:0x44B864 @@ -9679,7 +9679,7 @@ b_area_kmr_part_3_paragoomba2_DefenseTable_8021B110 = 0x8021F750; // type:data r b_area_kmr_part_3_paragoomba2_DefenseTable_8021B11C = 0x8021F75C; // type:data rom:0x44EB9C b_area_kmr_part_3_paragoomba2_StatusTable_8021B128 = 0x8021F768; // type:data rom:0x44EBA8 b_area_kmr_part_3_paragoomba2_StatusTable_8021B1D4 = 0x8021F814; // type:data rom:0x44EC54 -b_area_kmr_part_3_paragoomba2_PartsTable_8021B280 = 0x8021F8C0; // type:data rom:0x44ED00 +b_area_kmr_part_3_paragoomba2_ActorParts = 0x8021F8C0; // type:data rom:0x44ED00 b_area_kmr_part_3_paragoomba2 = 0x8021F950; // type:data rom:0x44ED90 b_area_kmr_part_3_paragoomba2_IdleAnimations_8021B338 = 0x8021F978; // type:data rom:0x44EDB8 b_area_kmr_part_3_paragoomba2_IdleAnimations_8021B384 = 0x8021F9C4; // type:data rom:0x44EE04 @@ -9701,7 +9701,7 @@ b_area_kmr_part_3_paragoomba2_takeTurn_8021D6E8 = 0x80221D28; // type:data rom:0 b_area_kmr_part_3_jr_troopa_IdleAnimations_802229F0 = 0x802229F0; // type:data rom:0x451E30 b_area_kmr_part_3_jr_troopa_DefenseTable_80222A2C = 0x80222A2C; // type:data rom:0x451E6C b_area_kmr_part_3_jr_troopa_StatusTable_80222A38 = 0x80222A38; // type:data rom:0x451E78 -b_area_kmr_part_3_jr_troopa_PartsTable_80222AE4 = 0x80222AE4; // type:data rom:0x451F24 +b_area_kmr_part_3_jr_troopa_ActorParts_80222AE4 = 0x80222AE4; // type:data rom:0x451F24 b_area_kmr_part_3_jr_troopa = 0x80222B08; // type:data rom:0x451F48 b_area_kmr_part_3_jr_troopa_80222B30 = 0x80222B30; // type:data rom:0x451F70 b_area_kmr_part_3_jr_troopa_80222BC8 = 0x80222BC8; // type:data rom:0x452008 @@ -9718,7 +9718,7 @@ b_area_kmr_part_3_egg_jr_troopa_IdleAnimations_802243BC = 0x802243BC; // type:da b_area_kmr_part_3_egg_jr_troopa_IdleAnimations_802243F8 = 0x802243F8; // type:data rom:0x453838 b_area_kmr_part_3_egg_jr_troopa_DefenseTable_8022440C = 0x8022440C; // type:data rom:0x45384C b_area_kmr_part_3_egg_jr_troopa_StatusTable_80224418 = 0x80224418; // type:data rom:0x453858 -b_area_kmr_part_3_egg_jr_troopa_PartsTable_802244C4 = 0x802244C4; // type:data rom:0x453904 +b_area_kmr_part_3_egg_jr_troopa_ActorParts_802244C4 = 0x802244C4; // type:data rom:0x453904 b_area_kmr_part_3_egg_jr_troopa = 0x802244E8; // type:data rom:0x453928 b_area_kmr_part_3_egg_jr_troopa_80224510 = 0x80224510; // type:data rom:0x453950 b_area_kmr_part_3_egg_jr_troopa_802245A8 = 0x802245A8; // type:data rom:0x4539E8 @@ -9738,7 +9738,7 @@ b_area_kmr_part_3_para_jr_troopa_IdleAnimations_80225E04 = 0x80225E04; // type:d b_area_kmr_part_3_para_jr_troopa_IdleAnimations_80225E48 = 0x80225E48; // type:data rom:0x455288 b_area_kmr_part_3_para_jr_troopa_DefenseTable_80225E54 = 0x80225E54; // type:data rom:0x455294 b_area_kmr_part_3_para_jr_troopa_StatusTable_80225E60 = 0x80225E60; // type:data rom:0x4552A0 -b_area_kmr_part_3_para_jr_troopa_PartsTable_80225F0C = 0x80225F0C; // type:data rom:0x45534C +b_area_kmr_part_3_para_jr_troopa_ActorParts_80225F0C = 0x80225F0C; // type:data rom:0x45534C b_area_kmr_part_3_para_jr_troopa = 0x80225F54; // type:data rom:0x455394 b_area_kmr_part_3_para_jr_troopa_80225F7C = 0x80225F7C; // type:data rom:0x4553BC b_area_kmr_part_3_para_jr_troopa_802260AC = 0x802260AC; // type:data rom:0x4554EC @@ -9759,7 +9759,7 @@ b_area_kmr_part_3_spiked_para_jr_troopa_IdleAnimations_80227F44 = 0x80227F44; // b_area_kmr_part_3_spiked_para_jr_troopa_IdleAnimations_80227F50 = 0x80227F50; // type:data rom:0x457390 b_area_kmr_part_3_spiked_para_jr_troopa_DefenseTable_80227F5C = 0x80227F5C; // type:data rom:0x45739C b_area_kmr_part_3_spiked_para_jr_troopa_StatusTable_80227F68 = 0x80227F68; // type:data rom:0x4573A8 -b_area_kmr_part_3_spiked_para_jr_troopa_PartsTable_80228014 = 0x80228014; // type:data rom:0x457454 +b_area_kmr_part_3_spiked_para_jr_troopa_ActorParts_80228014 = 0x80228014; // type:data rom:0x457454 b_area_kmr_part_3_spiked_para_jr_troopa = 0x8022805C; // type:data rom:0x45749C b_area_kmr_part_3_spiked_para_jr_troopa_80228084 = 0x80228084; // type:data rom:0x4574C4 b_area_kmr_part_3_spiked_para_jr_troopa_802281B4 = 0x802281B4; // type:data rom:0x4575F4 @@ -9783,7 +9783,7 @@ b_area_kmr_part_3_mage_jr_troopa_IdleAnimations_8022A5D8 = 0x8022A5D8; // type:d b_area_kmr_part_3_mage_jr_troopa_IdleAnimations_8022A61C = 0x8022A61C; // type:data rom:0x459A5C b_area_kmr_part_3_mage_jr_troopa_DefenseTable_8022A628 = 0x8022A628; // type:data rom:0x459A68 b_area_kmr_part_3_mage_jr_troopa_StatusTable_8022A634 = 0x8022A634; // type:data rom:0x459A74 -b_area_kmr_part_3_mage_jr_troopa_PartsTable_8022A6E0 = 0x8022A6E0; // type:data rom:0x459B20 +b_area_kmr_part_3_mage_jr_troopa_ActorParts_8022A6E0 = 0x8022A6E0; // type:data rom:0x459B20 b_area_kmr_part_3_mage_jr_troopa = 0x8022A728; // type:data rom:0x459B68 b_area_kmr_part_3_mage_jr_troopa_8022A750 = 0x8022A750; // type:data rom:0x459B90 b_area_kmr_part_3_mage_jr_troopa_8022A880 = 0x8022A880; // type:data rom:0x459CC0 @@ -9807,7 +9807,7 @@ b_area_kmr_part_3_final_jr_troopa_DefenseTable_8022C430 = 0x8022C430; // type:da b_area_kmr_part_3_final_jr_troopa_StatusTable_8022C43C = 0x8022C43C; // type:data rom:0x45B87C b_area_kmr_part_3_final_jr_troopa_StatusTable_8022C4E8 = 0x8022C4E8; // type:data rom:0x45B928 b_area_kmr_part_3_final_jr_troopa_StatusTable_8022C594 = 0x8022C594; // type:data rom:0x45B9D4 -b_area_kmr_part_3_final_jr_troopa_PartsTable_8022C640 = 0x8022C640; // type:data rom:0x45BA80 +b_area_kmr_part_3_final_jr_troopa_ActorParts_8022C640 = 0x8022C640; // type:data rom:0x45BA80 b_area_kmr_part_3_final_jr_troopa = 0x8022C6AC; // type:data rom:0x45BAEC b_area_kmr_part_3_final_jr_troopa_8022C6D4 = 0x8022C6D4; // type:data rom:0x45BB14 b_area_kmr_part_3_final_jr_troopa_8022C804 = 0x8022C804; // type:data rom:0x45BC44 @@ -9837,30 +9837,30 @@ b_area_kmr_part_3_final_jr_troopa_80232170 = 0x80232170; // type:data rom:0x4615 b_area_kmr_part_3_kmr_02_EVS_PreBattle = 0x802322D0; // type:data rom:0x461710 b_area_kmr_part_3_kmr_02_EVS_PostBattle = 0x802322F0; // type:data rom:0x461730 b_area_kmr_part_3_kmr_02 = 0x80232300; // type:data rom:0x461740 -b_area_kmr_part_3_kmr_03_clouds1 = 0x80232330; // type:data rom:0x461770 -b_area_kmr_part_3_kmr_03_clouds2 = 0x80232428; // type:data rom:0x461868 -b_area_kmr_part_3_kmr_03_clouds3 = 0x80232560; // type:data rom:0x4619A0 +b_area_kmr_part_3_kmr_03_EVS_AnimateCloud = 0x80232330; // type:data rom:0x461770 +b_area_kmr_part_3_kmr_03_EVS_AnimateCloud_WithOffset2D = 0x80232428; // type:data rom:0x461868 +b_area_kmr_part_3_kmr_03_EVS_AnimateCloud_WithOffset3D = 0x80232560; // type:data rom:0x4619A0 b_area_kmr_part_3_kmr_03_EVS_PreBattle = 0x802326B8; // type:data rom:0x461AF8 b_area_kmr_part_3_kmr_03_EVS_PostBattle = 0x80232730; // type:data rom:0x461B70 b_area_kmr_part_3_kmr_03_ForegroundModels = 0x80232740; // type:data rom:0x461B80 b_area_kmr_part_3_kmr_03 = 0x8023274C; // type:data rom:0x461B8C -b_area_kmr_part_3_kmr_04_clouds1 = 0x80232780; // type:data rom:0x461BC0 -b_area_kmr_part_3_kmr_04_clouds2 = 0x80232878; // type:data rom:0x461CB8 -b_area_kmr_part_3_kmr_04_clouds3 = 0x802329B0; // type:data rom:0x461DF0 +b_area_kmr_part_3_kmr_04_EVS_AnimateCloud = 0x80232780; // type:data rom:0x461BC0 +b_area_kmr_part_3_kmr_04_EVS_AnimateCloud_WithOffset2D = 0x80232878; // type:data rom:0x461CB8 +b_area_kmr_part_3_kmr_04_EVS_AnimateCloud_WithOffset3D = 0x802329B0; // type:data rom:0x461DF0 b_area_kmr_part_3_kmr_04_EVS_PreBattle = 0x80232B08; // type:data rom:0x461F48 b_area_kmr_part_3_kmr_04_EVS_PostBattle = 0x80232B80; // type:data rom:0x461FC0 b_area_kmr_part_3_kmr_04_ForegroundModels = 0x80232B90; // type:data rom:0x461FD0 b_area_kmr_part_3_kmr_04 = 0x80232B9C; // type:data rom:0x461FDC -b_area_kmr_part_3_kmr_05_clouds1 = 0x80232BD0; // type:data rom:0x462010 -b_area_kmr_part_3_kmr_05_clouds2 = 0x80232CC8; // type:data rom:0x462108 -b_area_kmr_part_3_kmr_05_clouds3 = 0x80232E00; // type:data rom:0x462240 +b_area_kmr_part_3_kmr_05_EVS_AnimateCloud = 0x80232BD0; // type:data rom:0x462010 +b_area_kmr_part_3_kmr_05_EVS_AnimateCloud_WithOffset2D = 0x80232CC8; // type:data rom:0x462108 +b_area_kmr_part_3_kmr_05_EVS_AnimateCloud_WithOffset3D = 0x80232E00; // type:data rom:0x462240 b_area_kmr_part_3_kmr_05_EVS_PreBattle = 0x80232F58; // type:data rom:0x462398 b_area_kmr_part_3_kmr_05_EVS_PostBattle = 0x80232FA0; // type:data rom:0x4623E0 b_area_kmr_part_3_kmr_05_ForegroundModels = 0x80232FB0; // type:data rom:0x4623F0 b_area_kmr_part_3_kmr_05 = 0x80232FBC; // type:data rom:0x4623FC -b_area_kmr_part_3_kmr_06_clouds1 = 0x80232FF0; // type:data rom:0x462430 -b_area_kmr_part_3_kmr_06_clouds2 = 0x802330E8; // type:data rom:0x462528 -b_area_kmr_part_3_kmr_06_clouds3 = 0x80233220; // type:data rom:0x462660 +b_area_kmr_part_3_kmr_06_EVS_AnimateCloud = 0x80232FF0; // type:data rom:0x462430 +b_area_kmr_part_3_kmr_06_EVS_AnimateCloud_WithOffset2D = 0x802330E8; // type:data rom:0x462528 +b_area_kmr_part_3_kmr_06_EVS_AnimateCloud_WithOffset3D = 0x80233220; // type:data rom:0x462660 b_area_kmr_part_3_kmr_06_EVS_PreBattle = 0x80233378; // type:data rom:0x4627B8 b_area_kmr_part_3_kmr_06_EVS_PostBattle = 0x802333FC; // type:data rom:0x46283C b_area_kmr_part_3_kmr_06_ForegroundModels = 0x8023340C; // type:data rom:0x46284C @@ -9894,16 +9894,16 @@ b_area_kmr_part_3_kpa_01_80234CB0 = 0x80234CB0; // type:data rom:0x4640F0 b_area_kmr_part_3_kpa_01_EVS_PreBattle = 0x80234D60; // type:data rom:0x4641A0 b_area_kmr_part_3_kpa_01_EVS_PostBattle = 0x80234D9C; // type:data rom:0x4641DC b_area_kmr_part_3_kpa_01 = 0x80234DAC; // type:data rom:0x4641EC -b_area_mac_chan_UnkBattleFunc1 = 0x80218000; // type:func rom:0x464490 +b_area_mac_chan_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x464490 func_802180D0_464560 = 0x802180D0; // type:func rom:0x464560 func_80218100_464590 = 0x80218100; // type:func rom:0x464590 b_area_mac_lee_UnkFunc62 = 0x80218300; // type:func rom:0x464790 b_area_mac_lee_ActorJumpToPos = 0x80218B90; // type:func rom:0x465020 b_area_mac_lee_UnkActorSizeFunc = 0x80218CE4; // type:func rom:0x465174 -b_area_mac_lee_UnkEffect6CFunc = 0x80218D90; // type:func rom:0x465220 -func_80218DF4_465284 = 0x80218DF4; // type:func rom:0x465284 -func_80218E2C_4652BC = 0x80218E2C; // type:func rom:0x4652BC -b_area_mac_lee_kooper_UnkBattleFunc1 = 0x80218E74; // type:func rom:0x465304 +b_area_mac_lee_OpenTattleWindow = 0x80218D90; // type:func rom:0x465220 +b_area_mac_lee_HideTattleWindow = 0x80218DF4; // type:func rom:0x465284 +b_area_mac_lee_CloseTattleWindow = 0x80218E2C; // type:func rom:0x4652BC +b_area_mac_lee_kooper_SetAbsoluteStatusOffsets = 0x80218E74; // type:func rom:0x465304 b_area_mac_lee_UnkActorPosFunc = 0x80218F40; // type:func rom:0x4653D0 b_area_mac_lee_bombette_UnkActorPosFunc = 0x80219064; // type:func rom:0x4654F4 func_80219188_465618 = 0x80219188; // type:func rom:0x465618 @@ -9919,7 +9919,7 @@ func_80219900_465D90 = 0x80219900; // type:func rom:0x465D90 b_area_mac_chan_DefenseTable_80219D50 = 0x80219D50; // type:data rom:0x4661E0 b_area_mac_chan_DefenseTable_80219D6C = 0x80219D6C; // type:data rom:0x4661FC b_area_mac_chan_StatusTable_80219D78 = 0x80219D78; // type:data rom:0x466208 -b_area_mac_chan_PartsTable_80219E24 = 0x80219E24; // type:data rom:0x4662B4 +b_area_mac_chan_ActorParts = 0x80219E24; // type:data rom:0x4662B4 b_area_mac_chan = 0x80219E48; // type:data rom:0x4662D8 b_area_mac_chan_IdleAnimations_80219E70 = 0x80219E70; // type:data rom:0x466300 b_area_mac_chan_IdleAnimations_80219EBC = 0x80219EBC; // type:data rom:0x46634C @@ -9941,7 +9941,7 @@ b_area_mac_lee_IdleAnimations_8021D3AC = 0x8021D3AC; // type:data rom:0x46983C b_area_mac_lee_unk_missing_8021D3B8 = 0x8021D3B8; // type:data rom:0x469848 b_area_mac_lee_DefenseTable_8021D3C4 = 0x8021D3C4; // type:data rom:0x469854 b_area_mac_lee_StatusTable_8021D3D0 = 0x8021D3D0; // type:data rom:0x469860 -b_area_mac_lee_PartsTable_8021D47C = 0x8021D47C; // type:data rom:0x46990C +b_area_mac_lee_ActorParts = 0x8021D47C; // type:data rom:0x46990C b_area_mac_lee = 0x8021D4A0; // type:data rom:0x469930 b_area_mac_lee_init_8021D4C8 = 0x8021D4C8; // type:data rom:0x469958 b_area_mac_lee_idle_8021D5B4 = 0x8021D5B4; // type:data rom:0x469A44 @@ -9955,7 +9955,7 @@ b_area_mac_lee_vector3D_8021E940 = 0x8021E940; // type:data rom:0x46ADD0 b_area_mac_lee_IdleAnimations_8021E94C = 0x8021E94C; // type:data rom:0x46ADDC b_area_mac_lee_DefenseTable_8021E998 = 0x8021E998; // type:data rom:0x46AE28 b_area_mac_lee_StatusTable_8021E9A4 = 0x8021E9A4; // type:data rom:0x46AE34 -b_area_mac_lee_PartsTable_8021EA50 = 0x8021EA50; // type:data rom:0x46AEE0 +b_area_mac_lee_GoombarioParts = 0x8021EA50; // type:data rom:0x46AEE0 b_area_mac_lee_goombario = 0x8021EA74; // type:data rom:0x46AF04 b_area_mac_lee_init_Goombario = 0x8021EA9C; // type:data rom:0x46AF2C b_area_mac_lee_idle_8021EB14 = 0x8021EB14; // type:data rom:0x46AFA4 @@ -9963,8 +9963,8 @@ b_area_mac_lee_handleEvent_8021EB24 = 0x8021EB24; // type:data rom:0x46AFB4 b_area_mac_lee_8021F08C = 0x8021F08C; // type:data rom:0x46B51C b_area_mac_lee_8021F514 = 0x8021F514; // type:data rom:0x46B9A4 b_area_mac_lee_8021F5F8 = 0x8021F5F8; // type:data rom:0x46BA88 -b_area_mac_lee_8021F6E0 = 0x8021F6E0; // type:data rom:0x46BB70 -b_area_mac_lee_80220100 = 0x80220100; // type:data rom:0x46C590 +b_area_mac_lee_EVS_Move_Headbonk = 0x8021F6E0; // type:data rom:0x46BB70 +b_area_mac_lee_EVS_Move_Tattle = 0x80220100; // type:data rom:0x46C590 b_area_mac_lee_takeTurn_802203F4 = 0x802203F4; // type:data rom:0x46C884 b_area_mac_lee_nextTurn_80220450 = 0x80220450; // type:data rom:0x46C8E0 b_area_mac_lee_formation_goombario = 0x80220524; // type:data rom:0x46C9B4 @@ -9973,7 +9973,7 @@ b_area_mac_lee_IdleAnimations_8022058C = 0x8022058C; // type:data rom:0x46CA1C b_area_mac_lee_DefenseTable_802205D8 = 0x802205D8; // type:data rom:0x46CA68 b_area_mac_lee_DefenseTable_802205E4 = 0x802205E4; // type:data rom:0x46CA74 b_area_mac_lee_StatusTable_802205F0 = 0x802205F0; // type:data rom:0x46CA80 -b_area_mac_lee_PartsTable_8022069C = 0x8022069C; // type:data rom:0x46CB2C +b_area_mac_lee_KooperParts = 0x8022069C; // type:data rom:0x46CB2C b_area_mac_lee_kooper = 0x802206C0; // type:data rom:0x46CB50 b_area_mac_lee_init_Kooper = 0x802206E8; // type:data rom:0x46CB78 b_area_mac_lee_idle_80220790 = 0x80220790; // type:data rom:0x46CC20 @@ -9985,7 +9985,7 @@ b_area_mac_lee_formation_kooper = 0x80222274; // type:data rom:0x46E704 b_area_mac_lee_IdleAnimations_80222290 = 0x80222290; // type:data rom:0x46E720 b_area_mac_lee_DefenseTable_802222DC = 0x802222DC; // type:data rom:0x46E76C b_area_mac_lee_StatusTable_802222E8 = 0x802222E8; // type:data rom:0x46E778 -b_area_mac_lee_PartsTable_80222394 = 0x80222394; // type:data rom:0x46E824 +b_area_mac_lee_BombetteParts = 0x80222394; // type:data rom:0x46E824 b_area_mac_lee_bombette = 0x802223B8; // type:data rom:0x46E848 b_area_mac_lee_init_LeeBombette = 0x802223E0; // type:data rom:0x46E870 b_area_mac_lee_idle_80222458 = 0x80222458; // type:data rom:0x46E8E8 @@ -9996,7 +9996,7 @@ b_area_mac_lee_formation_bombette = 0x8022336C; // type:data rom:0x46F7FC b_area_mac_lee_IdleAnimations_80223388 = 0x80223388; // type:data rom:0x46F818 b_area_mac_lee_DefenseTable_802233D4 = 0x802233D4; // type:data rom:0x46F864 b_area_mac_lee_StatusTable_802233E0 = 0x802233E0; // type:data rom:0x46F870 -b_area_mac_lee_PartsTable_8022348C = 0x8022348C; // type:data rom:0x46F91C +b_area_mac_lee_ParakarryParts = 0x8022348C; // type:data rom:0x46F91C b_area_mac_lee_parakarry = 0x802234D4; // type:data rom:0x46F964 b_area_mac_lee_init_Parakarry = 0x802234FC; // type:data rom:0x46F98C b_area_mac_lee_idle_80223574 = 0x80223574; // type:data rom:0x46FA04 @@ -10008,7 +10008,7 @@ b_area_mac_lee_formation_parakarry = 0x802243F4; // type:data rom:0x470884 b_area_mac_lee_IdleAnimations_80224410 = 0x80224410; // type:data rom:0x4708A0 b_area_mac_lee_DefenseTable_8022445C = 0x8022445C; // type:data rom:0x4708EC b_area_mac_lee_StatusTable_80224468 = 0x80224468; // type:data rom:0x4708F8 -b_area_mac_lee_PartsTable_80224514 = 0x80224514; // type:data rom:0x4709A4 +b_area_mac_lee_BowParts = 0x80224514; // type:data rom:0x4709A4 b_area_mac_lee_bow = 0x8022455C; // type:data rom:0x4709EC b_area_mac_lee_init_Bow = 0x80224584; // type:data rom:0x470A14 b_area_mac_lee_idle_802245FC = 0x802245FC; // type:data rom:0x470A8C @@ -10019,7 +10019,7 @@ b_area_mac_lee_formation_bow = 0x80225958; // type:data rom:0x471DE8 b_area_mac_lee_IdleAnimations_80225974 = 0x80225974; // type:data rom:0x471E04 b_area_mac_lee_DefenseTable_802259C0 = 0x802259C0; // type:data rom:0x471E50 b_area_mac_lee_StatusTable_802259D4 = 0x802259D4; // type:data rom:0x471E64 -b_area_mac_lee_PartsTable_80225A80 = 0x80225A80; // type:data rom:0x471F10 +b_area_mac_lee_WattParts = 0x80225A80; // type:data rom:0x471F10 b_area_mac_lee_watt = 0x80225AC8; // type:data rom:0x471F58 b_area_mac_lee_init_Watt = 0x80225AF0; // type:data rom:0x471F80 b_area_mac_lee_idle_80225B68 = 0x80225B68; // type:data rom:0x471FF8 @@ -10030,7 +10030,7 @@ b_area_mac_lee_formation_watt = 0x80226960; // type:data rom:0x472DF0 b_area_mac_lee_IdleAnimations_8022697C = 0x8022697C; // type:data rom:0x472E0C b_area_mac_lee_DefenseTable_802269C8 = 0x802269C8; // type:data rom:0x472E58 b_area_mac_lee_StatusTable_802269D4 = 0x802269D4; // type:data rom:0x472E64 -b_area_mac_lee_PartsTable_80226A80 = 0x80226A80; // type:data rom:0x472F10 +b_area_mac_lee_SushieParts = 0x80226A80; // type:data rom:0x472F10 b_area_mac_lee_sushie = 0x80226AA4; // type:data rom:0x472F34 b_area_mac_lee_init_Sushie = 0x80226ACC; // type:data rom:0x472F5C b_area_mac_lee_idle_80226B44 = 0x80226B44; // type:data rom:0x472FD4 @@ -10042,7 +10042,7 @@ b_area_mac_lee_IdleAnimations_8022840C = 0x8022840C; // type:data rom:0x47489C b_area_mac_lee_IdleAnimations_80228458 = 0x80228458; // type:data rom:0x4748E8 b_area_mac_lee_DefenseTable_80228464 = 0x80228464; // type:data rom:0x4748F4 b_area_mac_lee_StatusTable_80228470 = 0x80228470; // type:data rom:0x474900 -b_area_mac_lee_PartsTable_8022851C = 0x8022851C; // type:data rom:0x4749AC +b_area_mac_lee_LakilesterParts = 0x8022851C; // type:data rom:0x4749AC b_area_mac_lee_lakilester = 0x80228564; // type:data rom:0x4749F4 b_area_mac_lee_init_Lakilester = 0x8022858C; // type:data rom:0x474A1C b_area_mac_lee_idle_80228604 = 0x80228604; // type:data rom:0x474A94 @@ -10056,7 +10056,7 @@ b_area_mac_lee_nextTurn_8022A038 = 0x8022A038; // type:data rom:0x4764C8 b_area_mac_master1_IdleAnimations_8022A260 = 0x8022A260; // type:data rom:0x4766F0 b_area_mac_master1_DefenseTable_8022A2AC = 0x8022A2AC; // type:data rom:0x47673C b_area_mac_master1_StatusTable_8022A2B8 = 0x8022A2B8; // type:data rom:0x476748 -b_area_mac_master1_PartsTable_8022A364 = 0x8022A364; // type:data rom:0x4767F4 +b_area_mac_master1_ActorParts_8022A364 = 0x8022A364; // type:data rom:0x4767F4 b_area_mac_master1 = 0x8022A388; // type:data rom:0x476818 b_area_mac_master1_init_8022A3B0 = 0x8022A3B0; // type:data rom:0x476840 b_area_mac_master1_idle_8022A494 = 0x8022A494; // type:data rom:0x476924 @@ -10068,7 +10068,7 @@ b_area_mac_master2_IdleAnimations_8022B640 = 0x8022B640; // type:data rom:0x477A b_area_mac_master2_IdleAnimations_8022B68C = 0x8022B68C; // type:data rom:0x477B1C b_area_mac_master2_DefenseTable_8022B6D8 = 0x8022B6D8; // type:data rom:0x477B68 b_area_mac_master2_StatusTable_8022B6E4 = 0x8022B6E4; // type:data rom:0x477B74 -b_area_mac_master2_PartsTable_8022B790 = 0x8022B790; // type:data rom:0x477C20 +b_area_mac_master2_ActorParts_8022B790 = 0x8022B790; // type:data rom:0x477C20 b_area_mac_master2 = 0x8022B7B4; // type:data rom:0x477C44 b_area_mac_master2_init_8022B7DC = 0x8022B7DC; // type:data rom:0x477C6C b_area_mac_master2_idle_8022B8B0 = 0x8022B8B0; // type:data rom:0x477D40 @@ -10082,7 +10082,7 @@ b_area_mac_master3_IdleAnimations_8022D9A0 = 0x8022D9A0; // type:data rom:0x479E b_area_mac_master3_IdleAnimations_8022D9EC = 0x8022D9EC; // type:data rom:0x479E7C b_area_mac_master3_DefenseTable_8022DA38 = 0x8022DA38; // type:data rom:0x479EC8 b_area_mac_master3_StatusTable_8022DA44 = 0x8022DA44; // type:data rom:0x479ED4 -b_area_mac_master3_PartsTable_8022DAF0 = 0x8022DAF0; // type:data rom:0x479F80 +b_area_mac_master3_ActorParts_8022DAF0 = 0x8022DAF0; // type:data rom:0x479F80 b_area_mac_master3 = 0x8022DB38; // type:data rom:0x479FC8 b_area_mac_master3_init_8022DB60 = 0x8022DB60; // type:data rom:0x479FF0 b_area_mac_master3_idle_8022DC34 = 0x8022DC34; // type:data rom:0x47A0C4 @@ -10121,7 +10121,7 @@ b_area_hos_ember_UnkSfxFunc = 0x80218020; // type:func rom:0x47F0D0 D_80232C50 = 0x80232C50; // type:data rom:0x47F0E0 b_area_hos_magikoopa_ShrinkActor = 0x80218150; // type:func rom:0x47F200 b_area_hos_magikoopa_GetSelectedMoveID = 0x802182A8; // type:func rom:0x47F358 -b_area_hos_magikoopa_UnkBattleFunc1 = 0x802182D4; // type:func rom:0x47F384 +b_area_hos_magikoopa_SetAbsoluteStatusOffsets = 0x802182D4; // type:func rom:0x47F384 b_area_hos_magikoopa_StartRumbleWithParams = 0x802183A0; // type:func rom:0x47F450 b_area_hos_magikoopa_UnkFunc52 = 0x802183F8; // type:func rom:0x47F4A8 func_802184C0_47F570 = 0x802184C0; // type:func rom:0x47F570 @@ -10131,7 +10131,7 @@ func_80218CEC_47FD9C = 0x80218CEC; // type:func rom:0x47FD9C b_area_hos_goombario_tutor_IdleAnimations_80219010 = 0x80219010; // type:data rom:0x4800C0 b_area_hos_goombario_tutor_DefenseTable_8021905C = 0x8021905C; // type:data rom:0x48010C b_area_hos_goombario_tutor_StatusTable_80219068 = 0x80219068; // type:data rom:0x480118 -b_area_hos_goombario_tutor_PartsTable_80219114 = 0x80219114; // type:data rom:0x4801C4 +b_area_hos_goombario_tutor_ActorParts = 0x80219114; // type:data rom:0x4801C4 b_area_hos_goombario_tutor = 0x80219138; // type:data rom:0x4801E8 b_area_hos_goombario_tutor_init_80219160 = 0x80219160; // type:data rom:0x480210 b_area_hos_goombario_tutor_idle_802191D0 = 0x802191D0; // type:data rom:0x480280 @@ -10140,7 +10140,7 @@ b_area_hos_goombario_tutor_takeTurn_80219444 = 0x80219444; // type:data rom:0x48 b_area_hos_goombario_tutor_80219C74 = 0x80219C74; // type:data rom:0x480D24 b_area_hos_ember_DefenseTable_8021ACB0 = 0x8021ACB0; // type:data rom:0x481D60 b_area_hos_ember_StatusTable_8021ACD4 = 0x8021ACD4; // type:data rom:0x481D84 -b_area_hos_ember_PartsTable_8021AD80 = 0x8021AD80; // type:data rom:0x481E30 +b_area_hos_ember_ActorParts = 0x8021AD80; // type:data rom:0x481E30 b_area_hos_ember = 0x8021AE34; // type:data rom:0x481EE4 b_area_hos_ember_IdleAnimations_8021AE5C = 0x8021AE5C; // type:data rom:0x481F0C b_area_hos_ember_IdleAnimations_8021AEA8 = 0x8021AEA8; // type:data rom:0x481F58 @@ -10162,8 +10162,8 @@ b_area_hos_magikoopa_DefenseTable = 0x8021D480; // type:data rom:0x484530 b_area_hos_magikoopa_DefenseTable_flying = 0x8021D48C; // type:data rom:0x48453C b_area_hos_magikoopa_StatusTable_8021D498 = 0x8021D498; // type:data rom:0x484548 b_area_hos_magikoopa_StatusTable_8021D544 = 0x8021D544; // type:data rom:0x4845F4 -b_area_hos_magikoopa_PartsTable_8021D5F0 = 0x8021D5F0; // type:data rom:0x4846A0 -b_area_hos_magikoopa_PartsTable_8021D614 = 0x8021D614; // type:data rom:0x4846C4 +b_area_hos_magikoopa_ActorParts = 0x8021D5F0; // type:data rom:0x4846A0 +b_area_hos_magikoopa_ActorParts = 0x8021D614; // type:data rom:0x4846C4 b_area_hos_magikoopa = 0x8021D680; // type:data rom:0x484730 b_area_hos_magikoopa_flying = 0x8021D6A8; // type:data rom:0x484758 b_area_hos_magikoopa_IdleAnimations_8021D6D0 = 0x8021D6D0; // type:data rom:0x484780 @@ -10190,8 +10190,8 @@ b_area_hos_magikoopa_DefenseTable_802214B4 = 0x802214B4; // type:data rom:0x4885 b_area_hos_magikoopa_DefenseTable_802214C0 = 0x802214C0; // type:data rom:0x488570 b_area_hos_magikoopa_StatusTable_802214CC = 0x802214CC; // type:data rom:0x48857C b_area_hos_magikoopa_StatusTable_80221578 = 0x80221578; // type:data rom:0x488628 -b_area_hos_magikoopa_PartsTable_80221624 = 0x80221624; // type:data rom:0x4886D4 -b_area_hos_magikoopa_PartsTable_80221648 = 0x80221648; // type:data rom:0x4886F8 +b_area_hos_magikoopa_ActorParts_80221624 = 0x80221624; // type:data rom:0x4886D4 +b_area_hos_magikoopa_ActorParts_80221648 = 0x80221648; // type:data rom:0x4886F8 b_area_hos_magikoopa_clone = 0x8022166C; // type:data rom:0x48871C b_area_hos_magikoopa_flying_clone = 0x80221694; // type:data rom:0x488744 b_area_hos_magikoopa_vector3D_802216BC = 0x802216BC; // type:data rom:0x48876C @@ -10236,13 +10236,13 @@ b_area_nok_paragoomba_ArcsinDeg = 0x802182D8; // type:func rom:0x48D478 b_area_nok_paragoomba_CalculateRotationZ = 0x80218464; // type:func rom:0x48D604 b_area_nok_spiked_goomba_ArcsinDeg = 0x80218560; // type:func rom:0x48D700 b_area_nok_spiked_goomba_CalculateRotationZ = 0x802186EC; // type:func rom:0x48D88C -b_area_nok_koopa_troopa_UnkBattleFunc1 = 0x802187E0; // type:func rom:0x48D980 +b_area_nok_koopa_troopa_SetAbsoluteStatusOffsets = 0x802187E0; // type:func rom:0x48D980 b_area_nok_fuzzy_SpawnDrainHealthStartFX = 0x802188B0; // type:func rom:0x48DA50 b_area_nok_fuzzy_SpawnDrainHealthContinueFX = 0x80218964; // type:func rom:0x48DB04 b_area_nok_paratroopa_StartRumbleWithParams = 0x80218A20; // type:func rom:0x48DBC0 -b_area_nok_paratroopa_UnkBattleFunc1 = 0x80218A78; // type:func rom:0x48DC18 +b_area_nok_paratroopa_SetAbsoluteStatusOffsets = 0x80218A78; // type:func rom:0x48DC18 b_area_nok_kent_c_koopa_StartRumbleWithParams = 0x80218B50; // type:func rom:0x48DCF0 -b_area_nok_kent_c_koopa_UnkBattleFunc1 = 0x80218BA8; // type:func rom:0x48DD48 +b_area_nok_kent_c_koopa_SetAbsoluteStatusOffsets = 0x80218BA8; // type:func rom:0x48DD48 func_80218C74_48DE14 = 0x80218C74; // type:func rom:0x48DE14 func_80218DF8_48DF98 = 0x80218DF8; // type:func rom:0x48DF98 b_area_nok_Formation_00 = 0x80218E20; // type:data rom:0x48DFC0 @@ -10274,7 +10274,7 @@ b_area_nok_Formations = 0x80219520; // type:data rom:0x48E6C0 b_area_nok_Stages = 0x80219728; // type:data rom:0x48E8C8 b_area_nok_goomba_DefenseTable_80219750 = 0x80219750; // type:data rom:0x48E8F0 b_area_nok_goomba_StatusTable_8021975C = 0x8021975C; // type:data rom:0x48E8FC -b_area_nok_goomba_PartsTable_80219808 = 0x80219808; // type:data rom:0x48E9A8 +b_area_nok_goomba_ActorParts = 0x80219808; // type:data rom:0x48E9A8 b_area_nok_goomba = 0x8021982C; // type:data rom:0x48E9CC b_area_nok_goomba_IdleAnimations_80219854 = 0x80219854; // type:data rom:0x48E9F4 b_area_nok_goomba_IdleAnimations_802198A0 = 0x802198A0; // type:data rom:0x48EA40 @@ -10287,7 +10287,7 @@ b_area_nok_paragoomba_DefenseTable_8021B110 = 0x8021B110; // type:data rom:0x490 b_area_nok_paragoomba_DefenseTable_8021B11C = 0x8021B11C; // type:data rom:0x4902BC b_area_nok_paragoomba_StatusTable_8021B128 = 0x8021B128; // type:data rom:0x4902C8 b_area_nok_paragoomba_StatusTable_8021B1D4 = 0x8021B1D4; // type:data rom:0x490374 -b_area_nok_paragoomba_PartsTable_8021B280 = 0x8021B280; // type:data rom:0x490420 +b_area_nok_paragoomba_ActorParts = 0x8021B280; // type:data rom:0x490420 b_area_nok_paragoomba = 0x8021B310; // type:data rom:0x4904B0 b_area_nok_paragoomba_IdleAnimations_8021B338 = 0x8021B338; // type:data rom:0x4904D8 b_area_nok_paragoomba_IdleAnimations_8021B384 = 0x8021B384; // type:data rom:0x490524 @@ -10308,7 +10308,7 @@ b_area_nok_paragoomba_sinTable = 0x8021D57C; // type:data rom:0x49271C b_area_nok_paragoomba_takeTurn_8021D6E8 = 0x8021D6E8; // type:data rom:0x492888 b_area_nok_spiked_goomba_DefenseTable_8021E3B0 = 0x8021E3B0; // type:data rom:0x493550 b_area_nok_spiked_goomba_StatusTable_8021E3BC = 0x8021E3BC; // type:data rom:0x49355C -b_area_nok_spiked_goomba_PartsTable_8021E468 = 0x8021E468; // type:data rom:0x493608 +b_area_nok_spiked_goomba_ActorParts = 0x8021E468; // type:data rom:0x493608 b_area_nok_spiked_goomba = 0x8021E48C; // type:data rom:0x49362C b_area_nok_spiked_goomba_IdleAnimations_8021E4B4 = 0x8021E4B4; // type:data rom:0x493654 b_area_nok_spiked_goomba_IdleAnimations_8021E500 = 0x8021E500; // type:data rom:0x4936A0 @@ -10320,7 +10320,7 @@ b_area_nok_spiked_goomba_takeTurn_8021F1BC = 0x8021F1BC; // type:data rom:0x4943 b_area_nok_koopa_troopa_DefenseTable_8021C960 = 0x8021FEE0; // type:data rom:0x495080 b_area_nok_koopa_troopa_DefenseTable_8021C98C = 0x8021FF0C; // type:data rom:0x4950AC b_area_nok_koopa_troopa_StatusTable_8021C998 = 0x8021FF18; // type:data rom:0x4950B8 -b_area_nok_koopa_troopa_PartsTable_8021CA44 = 0x8021FFC4; // type:data rom:0x495164 +b_area_nok_koopa_troopa_ActorParts = 0x8021FFC4; // type:data rom:0x495164 b_area_nok_koopa_troopa = 0x8021FFE8; // type:data rom:0x495188 b_area_nok_koopa_troopa_IdleAnimations_8021CA90 = 0x80220010; // type:data rom:0x4951B0 b_area_nok_koopa_troopa_IdleAnimations_8021CADC = 0x8022005C; // type:data rom:0x4951FC @@ -10333,7 +10333,7 @@ b_area_nok_koopa_troopa_handleEvent_8021D218 = 0x80220798; // type:data rom:0x49 b_area_nok_koopa_troopa_takeTurn_8021DD9C = 0x8022131C; // type:data rom:0x4964BC b_area_nok_fuzzy_DefenseTable_80222050 = 0x80222050; // type:data rom:0x4971F0 b_area_nok_fuzzy_StatusTable_8022205C = 0x8022205C; // type:data rom:0x4971FC -b_area_nok_fuzzy_PartsTable_80222108 = 0x80222108; // type:data rom:0x4972A8 +b_area_nok_fuzzy_ActorParts_80222108 = 0x80222108; // type:data rom:0x4972A8 b_area_nok_fuzzy = 0x8022212C; // type:data rom:0x4972CC b_area_nok_fuzzy_IdleAnimations_80222154 = 0x80222154; // type:data rom:0x4972F4 b_area_nok_fuzzy_init_802221A0 = 0x802221A0; // type:data rom:0x497340 @@ -10345,7 +10345,7 @@ b_area_nok_paratroopa_DefenseTable_8021EAFC = 0x8022392C; // type:data rom:0x498 b_area_nok_paratroopa_DefenseTable_8021EB08 = 0x80223938; // type:data rom:0x498AD8 b_area_nok_paratroopa_StatusTable_8021EB14 = 0x80223944; // type:data rom:0x498AE4 b_area_nok_paratroopa_StatusTable_8021EBC0 = 0x802239F0; // type:data rom:0x498B90 -b_area_nok_paratroopa_PartsTable_8021EC6C = 0x80223A9C; // type:data rom:0x498C3C +b_area_nok_paratroopa_ActorParts = 0x80223A9C; // type:data rom:0x498C3C b_area_nok_paratroopa = 0x80223B08; // type:data rom:0x498CA8 b_area_nok_paratroopa_IdleAnimations_8021ED00 = 0x80223B30; // type:data rom:0x498CD0 b_area_nok_paratroopa_IdleAnimations_8021ED4C = 0x80223B7C; // type:data rom:0x498D1C @@ -10375,7 +10375,7 @@ b_area_nok_kent_c_koopa_DefenseTable_802279DC = 0x802279DC; // type:data rom:0x4 b_area_nok_kent_c_koopa_DefenseTable_802279F0 = 0x802279F0; // type:data rom:0x49CB90 b_area_nok_kent_c_koopa_DefenseTable_802279FC = 0x802279FC; // type:data rom:0x49CB9C b_area_nok_kent_c_koopa_StatusTable_80227A08 = 0x80227A08; // type:data rom:0x49CBA8 -b_area_nok_kent_c_koopa_PartsTable_80227AB4 = 0x80227AB4; // type:data rom:0x49CC54 +b_area_nok_kent_c_koopa_ActorParts_80227AB4 = 0x80227AB4; // type:data rom:0x49CC54 b_area_nok_kent_c_koopa = 0x80227BF8; // type:data rom:0x49CD98 b_area_nok_kent_c_koopa_init_80227C20 = 0x80227C20; // type:data rom:0x49CDC0 b_area_nok_kent_c_koopa_nextTurn_80227D2C = 0x80227D2C; // type:data rom:0x49CECC @@ -10408,11 +10408,11 @@ b_area_nok_nok_04_EVS_PreBattle = 0x8022BB90; // type:data rom:0x4A0D30 b_area_nok_nok_04_EVS_PostBattle = 0x8022BBB0; // type:data rom:0x4A0D50 b_area_nok_nok_04_ForegroundModels = 0x8022BBC0; // type:data rom:0x4A0D60 b_area_nok_nok_04 = 0x8022BBD8; // type:data rom:0x4A0D78 -func_80218000_4A10A0 = 0x80218000; // type:func rom:0x4A10A0 -b_area_trd_part_1_koopa_troopa_UnkBattleFunc1 = 0x80218020; // type:func rom:0x4A10C0 +b_area_trd_part_1_bill_blaster_SetBulletInitVars = 0x80218000; // type:func rom:0x4A10A0 +b_area_trd_part_1_koopa_troopa_SetAbsoluteStatusOffsets = 0x80218020; // type:func rom:0x4A10C0 b_area_trd_part_1_paratroopa_StartRumbleWithParams = 0x802180F0; // type:func rom:0x4A1190 -b_area_trd_part_1_paratroopa_UnkBattleFunc1 = 0x80218148; // type:func rom:0x4A11E8 -b_area_trd_part_1_trd_03_UnkAngleFunc2 = 0x80218220; // type:func rom:0x4A12C0 +b_area_trd_part_1_paratroopa_SetAbsoluteStatusOffsets = 0x80218148; // type:func rom:0x4A11E8 +b_area_trd_part_1_trd_03_InterpCloudTransform = 0x80218220; // type:func rom:0x4A12C0 b_area_trd_part_1_Formation_00 = 0x80218490; // type:data rom:0x4A1530 b_area_trd_part_1_Formation_01 = 0x802184AC; // type:data rom:0x4A154C b_area_trd_part_1_Formation_02 = 0x802184E4; // type:data rom:0x4A1584 @@ -10445,52 +10445,52 @@ b_area_trd_part_1_Formation_19 = 0x80218C40; // type:data rom:0x4A1CE0 b_area_trd_part_1_Formation_1A = 0x80218C5C; // type:data rom:0x4A1CFC b_area_trd_part_1_Formations = 0x80218CB0; // type:data rom:0x4A1D50 b_area_trd_part_1_Stages = 0x80218EE0; // type:data rom:0x4A1F80 -b_area_trd_part_1_bullet_bill_DefenseTable_80218F60 = 0x80218F60; // type:data rom:0x4A2000 -b_area_trd_part_1_bullet_bill_StatusTable_80218F6C = 0x80218F6C; // type:data rom:0x4A200C -b_area_trd_part_1_bullet_bill_PartsTable_80219018 = 0x80219018; // type:data rom:0x4A20B8 +b_area_trd_part_1_bullet_bill_DefenseTable = 0x80218F60; // type:data rom:0x4A2000 +b_area_trd_part_1_bullet_bill_StatusTable = 0x80218F6C; // type:data rom:0x4A200C +b_area_trd_part_1_bullet_bill_ActorParts = 0x80219018; // type:data rom:0x4A20B8 b_area_trd_part_1_bullet_bill = 0x8021903C; // type:data rom:0x4A20DC -b_area_trd_part_1_bullet_bill_IdleAnimations_80219064 = 0x80219064; // type:data rom:0x4A2104 -b_area_trd_part_1_bullet_bill_init_80219088 = 0x80219088; // type:data rom:0x4A2128 -b_area_trd_part_1_bullet_bill_idle_80219380 = 0x80219380; // type:data rom:0x4A2420 -b_area_trd_part_1_bullet_bill_80219390 = 0x80219390; // type:data rom:0x4A2430 -b_area_trd_part_1_bullet_bill_handleEvent_802193E8 = 0x802193E8; // type:data rom:0x4A2488 -b_area_trd_part_1_bullet_bill_takeTurn_802197C0 = 0x802197C0; // type:data rom:0x4A2860 -b_area_trd_part_1_bullet_bill_80219BE0 = 0x80219BE0; // type:data rom:0x4A2C80 -b_area_trd_part_1_bill_blaster_DefenseTable_80219D20 = 0x80219D20; // type:data rom:0x4A2DC0 -b_area_trd_part_1_bill_blaster_StatusTable_80219D2C = 0x80219D2C; // type:data rom:0x4A2DCC -b_area_trd_part_1_bill_blaster_PartsTable_80219DD8 = 0x80219DD8; // type:data rom:0x4A2E78 +b_area_trd_part_1_bullet_bill_DefaultAnims = 0x80219064; // type:data rom:0x4A2104 +b_area_trd_part_1_bullet_bill_EVS_Init = 0x80219088; // type:data rom:0x4A2128 +b_area_trd_part_1_bullet_bill_EVS_Idle = 0x80219380; // type:data rom:0x4A2420 +b_area_trd_part_1_bullet_bill_EVS_Explode = 0x80219390; // type:data rom:0x4A2430 +b_area_trd_part_1_bullet_bill_EVS_HandleEvent = 0x802193E8; // type:data rom:0x4A2488 +b_area_trd_part_1_bullet_bill_EVS_TakeTurn = 0x802197C0; // type:data rom:0x4A2860 +b_area_trd_part_1_bullet_bill_EVS_MakeExplosionFX = 0x80219BE0; // type:data rom:0x4A2C80 +b_area_trd_part_1_bill_blaster_DefenseTable = 0x80219D20; // type:data rom:0x4A2DC0 +b_area_trd_part_1_bill_blaster_StatusTable = 0x80219D2C; // type:data rom:0x4A2DCC +b_area_trd_part_1_bill_blaster_ActorParts = 0x80219DD8; // type:data rom:0x4A2E78 b_area_trd_part_1_bill_blaster = 0x80219E20; // type:data rom:0x4A2EC0 -b_area_trd_part_1_bill_blaster_IdleAnimations_80219E48 = 0x80219E48; // type:data rom:0x4A2EE8 -b_area_trd_part_1_bill_blaster_init_80219E6C = 0x80219E6C; // type:data rom:0x4A2F0C -b_area_trd_part_1_bill_blaster_idle_80219ED0 = 0x80219ED0; // type:data rom:0x4A2F70 -b_area_trd_part_1_bill_blaster_handleEvent_80219EE0 = 0x80219EE0; // type:data rom:0x4A2F80 -b_area_trd_part_1_bill_blaster_takeTurn_8021A200 = 0x8021A200; // type:data rom:0x4A32A0 -b_area_trd_part_1_bill_blaster_8021A2BC = 0x8021A2BC; // type:data rom:0x4A335C -b_area_trd_part_1_bill_blaster_8021A470 = 0x8021A470; // type:data rom:0x4A3510 +b_area_trd_part_1_bill_blaster_DefaultAnims = 0x80219E48; // type:data rom:0x4A2EE8 +b_area_trd_part_1_bill_blaster_EVS_Init = 0x80219E6C; // type:data rom:0x4A2F0C +b_area_trd_part_1_bill_blaster_EVS_Idle = 0x80219ED0; // type:data rom:0x4A2F70 +b_area_trd_part_1_bill_blaster_EVS_HandleEvent = 0x80219EE0; // type:data rom:0x4A2F80 +b_area_trd_part_1_bill_blaster_EVS_TakeTurn = 0x8021A200; // type:data rom:0x4A32A0 +b_area_trd_part_1_bill_blaster_EVS_Move_FireBullet = 0x8021A2BC; // type:data rom:0x4A335C +b_area_trd_part_1_bill_blaster_EVS_Move_CheckForBullet = 0x8021A470; // type:data rom:0x4A3510 b_area_trd_part_1_bill_blaster_vector3D_8021A4DC = 0x8021A4DC; // type:data rom:0x4A357C b_area_trd_part_1_bill_blaster_specialFormation_8021A4E8 = 0x8021A4E8; // type:data rom:0x4A3588 -b_area_trd_part_1_bob_omb_IdleAnimations_8021A510 = 0x8021A510; // type:data rom:0x4A35B0 -b_area_trd_part_1_bob_omb_IdleAnimations_8021A55C = 0x8021A55C; // type:data rom:0x4A35FC -b_area_trd_part_1_bob_omb_DefenseTable_8021A5A8 = 0x8021A5A8; // type:data rom:0x4A3648 -b_area_trd_part_1_bob_omb_StatusTable_8021A5B4 = 0x8021A5B4; // type:data rom:0x4A3654 -b_area_trd_part_1_bob_omb_StatusTable_8021A660 = 0x8021A660; // type:data rom:0x4A3700 -b_area_trd_part_1_bob_omb_PartsTable_8021A70C = 0x8021A70C; // type:data rom:0x4A37AC +b_area_trd_part_1_bob_omb_DefaultAnims = 0x8021A510; // type:data rom:0x4A35B0 +b_area_trd_part_1_bob_omb_IgnitedAnims = 0x8021A55C; // type:data rom:0x4A35FC +b_area_trd_part_1_bob_omb_DefenseTable = 0x8021A5A8; // type:data rom:0x4A3648 +b_area_trd_part_1_bob_omb_StatusTable = 0x8021A5B4; // type:data rom:0x4A3654 +b_area_trd_part_1_bob_omb_StatusTable_Ignited = 0x8021A660; // type:data rom:0x4A3700 +b_area_trd_part_1_bob_omb_ActorParts = 0x8021A70C; // type:data rom:0x4A37AC b_area_trd_part_1_bob_omb = 0x8021A730; // type:data rom:0x4A37D0 -b_area_trd_part_1_bob_omb_init_8021A758 = 0x8021A758; // type:data rom:0x4A37F8 -b_area_trd_part_1_bob_omb_idle_8021A7D4 = 0x8021A7D4; // type:data rom:0x4A3874 -b_area_trd_part_1_bob_omb_ignite = 0x8021A7E4; // type:data rom:0x4A3884 -b_area_trd_part_1_bob_omb_8021A9C8 = 0x8021A9C8; // type:data rom:0x4A3A68 -b_area_trd_part_1_bob_omb_8021AAE8 = 0x8021AAE8; // type:data rom:0x4A3B88 -b_area_trd_part_1_bob_omb_8021AB54 = 0x8021AB54; // type:data rom:0x4A3BF4 -b_area_trd_part_1_bob_omb_handleEvent_8021ACE8 = 0x8021ACE8; // type:data rom:0x4A3D88 -b_area_trd_part_1_bob_omb_handleEvent_8021B4A8 = 0x8021B4A8; // type:data rom:0x4A4548 -b_area_trd_part_1_bob_omb_tackleAttack = 0x8021BB40; // type:data rom:0x4A4BE0 -b_area_trd_part_1_bob_omb_blastAttack = 0x8021C3F4; // type:data rom:0x4A5494 -b_area_trd_part_1_bob_omb_takeTurn_8021C89C = 0x8021C89C; // type:data rom:0x4A593C +b_area_trd_part_1_bob_omb_EVS_Init = 0x8021A758; // type:data rom:0x4A37F8 +b_area_trd_part_1_bob_omb_EVS_Idle = 0x8021A7D4; // type:data rom:0x4A3874 +b_area_trd_part_1_bob_omb_EVS_Ignite = 0x8021A7E4; // type:data rom:0x4A3884 +b_area_trd_part_1_bob_omb_EVS_Defuse = 0x8021A9C8; // type:data rom:0x4A3A68 +b_area_trd_part_1_bob_omb_EVS_Cleanup = 0x8021AAE8; // type:data rom:0x4A3B88 +b_area_trd_part_1_bob_omb_EVS_Explode = 0x8021AB54; // type:data rom:0x4A3BF4 +b_area_trd_part_1_bob_omb_EVS_HandleEvent = 0x8021ACE8; // type:data rom:0x4A3D88 +b_area_trd_part_1_bob_omb_EVS_HandleEvent_Ignited = 0x8021B4A8; // type:data rom:0x4A4548 +b_area_trd_part_1_bob_omb_EVS_Attack_Tackle = 0x8021BB40; // type:data rom:0x4A4BE0 +b_area_trd_part_1_bob_omb_EVS_Attack_Blast = 0x8021C3F4; // type:data rom:0x4A5494 +b_area_trd_part_1_bob_omb_EVS_TakeTurn = 0x8021C89C; // type:data rom:0x4A593C b_area_trd_part_1_koopa_troopa_DefenseTable_8021C960 = 0x8021C960; // type:data rom:0x4A5A00 b_area_trd_part_1_koopa_troopa_DefenseTable_8021C98C = 0x8021C98C; // type:data rom:0x4A5A2C b_area_trd_part_1_koopa_troopa_StatusTable_8021C998 = 0x8021C998; // type:data rom:0x4A5A38 -b_area_trd_part_1_koopa_troopa_PartsTable_8021CA44 = 0x8021CA44; // type:data rom:0x4A5AE4 +b_area_trd_part_1_koopa_troopa_ActorParts = 0x8021CA44; // type:data rom:0x4A5AE4 b_area_trd_part_1_koopa_troopa = 0x8021CA68; // type:data rom:0x4A5B08 b_area_trd_part_1_koopa_troopa_IdleAnimations_8021CA90 = 0x8021CA90; // type:data rom:0x4A5B30 b_area_trd_part_1_koopa_troopa_IdleAnimations_8021CADC = 0x8021CADC; // type:data rom:0x4A5B7C @@ -10506,7 +10506,7 @@ b_area_trd_part_1_paratroopa_DefenseTable_8021EAFC = 0x8021EAFC; // type:data ro b_area_trd_part_1_paratroopa_DefenseTable_8021EB08 = 0x8021EB08; // type:data rom:0x4A7BA8 b_area_trd_part_1_paratroopa_StatusTable_8021EB14 = 0x8021EB14; // type:data rom:0x4A7BB4 b_area_trd_part_1_paratroopa_StatusTable_8021EBC0 = 0x8021EBC0; // type:data rom:0x4A7C60 -b_area_trd_part_1_paratroopa_PartsTable_8021EC6C = 0x8021EC6C; // type:data rom:0x4A7D0C +b_area_trd_part_1_paratroopa_ActorParts = 0x8021EC6C; // type:data rom:0x4A7D0C b_area_trd_part_1_paratroopa = 0x8021ECD8; // type:data rom:0x4A7D78 b_area_trd_part_1_paratroopa_IdleAnimations_8021ED00 = 0x8021ED00; // type:data rom:0x4A7DA0 b_area_trd_part_1_paratroopa_IdleAnimations_8021ED4C = 0x8021ED4C; // type:data rom:0x4A7DEC @@ -10542,22 +10542,22 @@ b_area_trd_part_1_trd_02b_80223478 = 0x80223478; // type:data rom:0x4AC518 b_area_trd_part_1_trd_02b_EVS_PreBattle = 0x80223A24; // type:data rom:0x4ACAC4 b_area_trd_part_1_trd_02b_EVS_PostBattle = 0x80223B40; // type:data rom:0x4ACBE0 b_area_trd_part_1_trd_02b = 0x80223B50; // type:data rom:0x4ACBF0 -b_area_trd_part_1_trd_03_clouds1 = 0x80223B80; // type:data rom:0x4ACC20 -b_area_trd_part_1_trd_03_clouds2 = 0x80223C78; // type:data rom:0x4ACD18 -b_area_trd_part_1_trd_03_clouds3 = 0x80223DB0; // type:data rom:0x4ACE50 +b_area_trd_part_1_trd_03_EVS_AnimateCloud = 0x80223B80; // type:data rom:0x4ACC20 +b_area_trd_part_1_trd_03_EVS_AnimateCloud_WithOffset2D = 0x80223C78; // type:data rom:0x4ACD18 +b_area_trd_part_1_trd_03_EVS_AnimateCloud_WithOffset3D = 0x80223DB0; // type:data rom:0x4ACE50 b_area_trd_part_1_trd_03_EVS_PreBattle = 0x80223F08; // type:data rom:0x4ACFA8 b_area_trd_part_1_trd_03_EVS_PostBattle = 0x80223FA0; // type:data rom:0x4AD040 b_area_trd_part_1_trd_03_ForegroundModels = 0x80223FB0; // type:data rom:0x4AD050 b_area_trd_part_1_trd_03 = 0x80223FC0; // type:data rom:0x4AD060 -b_area_trd_part_1_trd_04_80223FF0 = 0x80223FF0; // type:data rom:0x4AD090 -b_area_trd_part_1_trd_04_802240C0 = 0x802240C0; // type:data rom:0x4AD160 -b_area_trd_part_1_trd_04_802241AC = 0x802241AC; // type:data rom:0x4AD24C +b_area_trd_part_1_trd_04_EVS_TexturePanMain = 0x80223FF0; // type:data rom:0x4AD090 +b_area_trd_part_1_trd_04_EVS_TexturePanBothU = 0x802240C0; // type:data rom:0x4AD160 +b_area_trd_part_1_trd_04_EVS_TexturePanBothV = 0x802241AC; // type:data rom:0x4AD24C b_area_trd_part_1_trd_04_EVS_PreBattle = 0x80224298; // type:data rom:0x4AD338 b_area_trd_part_1_trd_04_EVS_PostBattle = 0x80224320; // type:data rom:0x4AD3C0 b_area_trd_part_1_trd_04_ForegroundModels = 0x80224330; // type:data rom:0x4AD3D0 b_area_trd_part_1_trd_04 = 0x80224338; // type:data rom:0x4AD3D8 -b_area_trd_part_1_trd_05_80224360 = 0x80224360; // type:data rom:0x4AD400 -b_area_trd_part_1_trd_05_80224478 = 0x80224478; // type:data rom:0x4AD518 +b_area_trd_part_1_trd_05_EVS_AnimatePalmLeaves = 0x80224360; // type:data rom:0x4AD400 +b_area_trd_part_1_trd_05_EVS_AnimateWave = 0x80224478; // type:data rom:0x4AD518 b_area_trd_part_1_trd_05_EVS_PreBattle = 0x80224A24; // type:data rom:0x4ADAC4 b_area_trd_part_1_trd_05_EVS_PostBattle = 0x80224B30; // type:data rom:0x4ADBD0 b_area_trd_part_1_trd_05 = 0x80224B40; // type:data rom:0x4ADBE0 @@ -10575,8 +10575,8 @@ b_area_trd_part_1_trd_02d_EVS_PreBattle = 0x80225364; // type:data rom:0x4AE404 b_area_trd_part_1_trd_02d_EVS_PostBattle = 0x80225418; // type:data rom:0x4AE4B8 b_area_trd_part_1_trd_02d_ForegroundModels = 0x80225428; // type:data rom:0x4AE4C8 b_area_trd_part_1_trd_02d = 0x80225430; // type:data rom:0x4AE4D0 -b_area_trd_part_1_trd_05b_80225460 = 0x80225460; // type:data rom:0x4AE500 -b_area_trd_part_1_trd_05b_80225578 = 0x80225578; // type:data rom:0x4AE618 +b_area_trd_part_1_trd_05b_EVS_AnimatePalmLeaves = 0x80225460; // type:data rom:0x4AE500 +b_area_trd_part_1_trd_05b_EVS_AnimateWave = 0x80225578; // type:data rom:0x4AE618 b_area_trd_part_1_trd_05b_EVS_PreBattle = 0x80225B24; // type:data rom:0x4AEBC4 b_area_trd_part_1_trd_05b_EVS_PostBattle = 0x80225C28; // type:data rom:0x4AECC8 b_area_trd_part_1_trd_05b = 0x80225C38; // type:data rom:0x4AECD8 @@ -10625,7 +10625,7 @@ b_area_trd_part_2_yellow_ninja_koopa_UnkWhirlwindEffectFunc = 0x80219B78; // typ b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyFunc = 0x80219C50; // type:func rom:0x4B2E40 b_area_trd_part_2_yellow_ninja_koopa_UnkEnemyPosFunc = 0x80219CF0; // type:func rom:0x4B2EE0 b_area_trd_part_2_yellow_ninja_koopa_GetLastActorEventType = 0x8021A288; // type:func rom:0x4B3478 -b_area_trd_part_2_trd_03_UnkAngleFunc2 = 0x8021A2E0; // type:func rom:0x4B34D0 +b_area_trd_part_2_trd_03_InterpCloudTransform = 0x8021A2E0; // type:func rom:0x4B34D0 b_area_trd_part_2_Formation_00 = 0x8021A550; // type:data rom:0x4B3740 b_area_trd_part_2_Formations = 0x8021A5DC; // type:data rom:0x4B37CC b_area_trd_part_2_Stages = 0x8021A604; // type:data rom:0x4B37F4 @@ -10633,7 +10633,7 @@ b_area_trd_part_2_fake_bowser_DefenseTable_8021A670 = 0x8021A670; // type:data r b_area_trd_part_2_fake_bowser_DefenseTable_8021A684 = 0x8021A684; // type:data rom:0x4B3874 b_area_trd_part_2_fake_bowser_StatusTable_8021A690 = 0x8021A690; // type:data rom:0x4B3880 b_area_trd_part_2_fake_bowser_IdleAnimations_8021A73C = 0x8021A73C; // type:data rom:0x4B392C -b_area_trd_part_2_fake_bowser_PartsTable_8021A748 = 0x8021A748; // type:data rom:0x4B3938 +b_area_trd_part_2_fake_bowser_ActorParts = 0x8021A748; // type:data rom:0x4B3938 b_area_trd_part_2_fake_bowser = 0x8021A8D4; // type:data rom:0x4B3AC4 b_area_trd_part_2_fake_bowser_D_8021A8FC_48BAEC = 0x8021A8FC; // type:data rom:0x4B3AEC b_area_trd_part_2_fake_bowser_init_8021A968 = 0x8021A968; // type:data rom:0x4B3B58 @@ -10691,7 +10691,7 @@ b_area_trd_part_2_fake_bowser_nextTurn_80225438 = 0x80225438; // type:data rom:0 b_area_trd_part_2_green_ninja_koopa_DefenseTable_80225560 = 0x80225560; // type:data rom:0x4BE750 b_area_trd_part_2_green_ninja_koopa_DefenseTable_8022556C = 0x8022556C; // type:data rom:0x4BE75C b_area_trd_part_2_green_ninja_koopa_StatusTable_80225578 = 0x80225578; // type:data rom:0x4BE768 -b_area_trd_part_2_green_ninja_koopa_PartsTable_80225624 = 0x80225624; // type:data rom:0x4BE814 +b_area_trd_part_2_green_ninja_koopa_ActorParts_80225624 = 0x80225624; // type:data rom:0x4BE814 b_area_trd_part_2_green_ninja_koopa = 0x80225648; // type:data rom:0x4BE838 b_area_trd_part_2_green_ninja_koopa_IdleAnimations_80225670 = 0x80225670; // type:data rom:0x4BE860 b_area_trd_part_2_green_ninja_koopa_IdleAnimations_802256C4 = 0x802256C4; // type:data rom:0x4BE8B4 @@ -10709,7 +10709,7 @@ b_area_trd_part_2_green_ninja_koopa_nextTurn_802284E4 = 0x802284E4; // type:data b_area_trd_part_2_red_ninja_koopa_DefenseTable_80228500 = 0x80228500; // type:data rom:0x4C16F0 b_area_trd_part_2_red_ninja_koopa_DefenseTable_8022850C = 0x8022850C; // type:data rom:0x4C16FC b_area_trd_part_2_red_ninja_koopa_StatusTable_80228518 = 0x80228518; // type:data rom:0x4C1708 -b_area_trd_part_2_red_ninja_koopa_PartsTable_802285C4 = 0x802285C4; // type:data rom:0x4C17B4 +b_area_trd_part_2_red_ninja_koopa_ActorParts_802285C4 = 0x802285C4; // type:data rom:0x4C17B4 b_area_trd_part_2_red_ninja_koopa = 0x802285E8; // type:data rom:0x4C17D8 b_area_trd_part_2_red_ninja_koopa_IdleAnimations_80228610 = 0x80228610; // type:data rom:0x4C1800 b_area_trd_part_2_red_ninja_koopa_IdleAnimations_80228664 = 0x80228664; // type:data rom:0x4C1854 @@ -10727,7 +10727,7 @@ b_area_trd_part_2_red_ninja_koopa_nextTurn_8022B484 = 0x8022B484; // type:data r b_area_trd_part_2_blue_ninja_koopa_DefenseTable_8022B4A0 = 0x8022B4A0; // type:data rom:0x4C4690 b_area_trd_part_2_blue_ninja_koopa_DefenseTable_8022B4AC = 0x8022B4AC; // type:data rom:0x4C469C b_area_trd_part_2_blue_ninja_koopa_StatusTable_8022B4B8 = 0x8022B4B8; // type:data rom:0x4C46A8 -b_area_trd_part_2_blue_ninja_koopa_PartsTable_8022B564 = 0x8022B564; // type:data rom:0x4C4754 +b_area_trd_part_2_blue_ninja_koopa_ActorParts_8022B564 = 0x8022B564; // type:data rom:0x4C4754 b_area_trd_part_2_blue_ninja_koopa = 0x8022B588; // type:data rom:0x4C4778 b_area_trd_part_2_blue_ninja_koopa_IdleAnimations_8022B5B0 = 0x8022B5B0; // type:data rom:0x4C47A0 b_area_trd_part_2_blue_ninja_koopa_IdleAnimations_8022B604 = 0x8022B604; // type:data rom:0x4C47F4 @@ -10745,7 +10745,7 @@ b_area_trd_part_2_blue_ninja_koopa_nextTurn_8022E424 = 0x8022E424; // type:data b_area_trd_part_2_yellow_ninja_koopa_DefenseTable_8022E440 = 0x8022E440; // type:data rom:0x4C7630 b_area_trd_part_2_yellow_ninja_koopa_DefenseTable_8022E44C = 0x8022E44C; // type:data rom:0x4C763C b_area_trd_part_2_yellow_ninja_koopa_StatusTable_8022E458 = 0x8022E458; // type:data rom:0x4C7648 -b_area_trd_part_2_yellow_ninja_koopa_PartsTable_8022E504 = 0x8022E504; // type:data rom:0x4C76F4 +b_area_trd_part_2_yellow_ninja_koopa_ActorParts_8022E504 = 0x8022E504; // type:data rom:0x4C76F4 b_area_trd_part_2_yellow_ninja_koopa = 0x8022E528; // type:data rom:0x4C7718 b_area_trd_part_2_yellow_ninja_koopa_IdleAnimations_8022E550 = 0x8022E550; // type:data rom:0x4C7740 b_area_trd_part_2_yellow_ninja_koopa_IdleAnimations_8022E5A4 = 0x8022E5A4; // type:data rom:0x4C7794 @@ -10778,9 +10778,9 @@ b_area_trd_part_2_trd_02b_80231DF8 = 0x80231DF8; // type:data rom:0x4CAFE8 b_area_trd_part_2_trd_02b_EVS_PreBattle = 0x802323A4; // type:data rom:0x4CB594 b_area_trd_part_2_trd_02b_EVS_PostBattle = 0x802324C0; // type:data rom:0x4CB6B0 b_area_trd_part_2_trd_02b = 0x802324D0; // type:data rom:0x4CB6C0 -b_area_trd_part_2_trd_03_clouds1 = 0x80232500; // type:data rom:0x4CB6F0 -b_area_trd_part_2_trd_03_clouds2 = 0x802325F8; // type:data rom:0x4CB7E8 -b_area_trd_part_2_trd_03_clouds3 = 0x80232730; // type:data rom:0x4CB920 +b_area_trd_part_2_trd_03_EVS_AnimateCloud = 0x80232500; // type:data rom:0x4CB6F0 +b_area_trd_part_2_trd_03_EVS_AnimateCloud_WithOffset2D = 0x802325F8; // type:data rom:0x4CB7E8 +b_area_trd_part_2_trd_03_EVS_AnimateCloud_WithOffset3D = 0x80232730; // type:data rom:0x4CB920 b_area_trd_part_2_trd_03_EVS_PreBattle = 0x80232888; // type:data rom:0x4CBA78 b_area_trd_part_2_trd_03_EVS_PostBattle = 0x80232920; // type:data rom:0x4CBB10 b_area_trd_part_2_trd_03_ForegroundModels = 0x80232930; // type:data rom:0x4CBB20 @@ -10839,7 +10839,7 @@ b_area_trd_part_3_eldstar_IdleAnimations_80218280 = 0x80218280; // type:data rom b_area_trd_part_3_eldstar_DefenseTable_8021828C = 0x8021828C; // type:data rom:0x4CF43C b_area_trd_part_3_eldstar_StatusTable_80218298 = 0x80218298; // type:data rom:0x4CF448 b_area_trd_part_2_red_ninja_koopa_effectUnk = 0x802362D0; // type:data rom:0x4CF4C0 -b_area_trd_part_3_eldstar_PartsTable_80218344 = 0x80218344; // type:data rom:0x4CF4F4 +b_area_trd_part_3_eldstar_ActorParts = 0x80218344; // type:data rom:0x4CF4F4 b_area_trd_part_3_eldstar = 0x80218368; // type:data rom:0x4CF518 b_area_trd_part_3_eldstar_init_80218390 = 0x80218390; // type:data rom:0x4CF540 b_area_trd_part_3_eldstar_idle_802183E8 = 0x802183E8; // type:data rom:0x4CF598 @@ -10879,7 +10879,7 @@ b_area_iwa_Stages = 0x802186E4; // type:data rom:0x4D08D4 b_area_iwa_cleft_DefenseTable_80218710 = 0x80218710; // type:data rom:0x4D0900 b_area_iwa_cleft_DefenseTable_8021872C = 0x8021872C; // type:data rom:0x4D091C b_area_iwa_cleft_StatusTable_80218740 = 0x80218740; // type:data rom:0x4D0930 -b_area_iwa_cleft_PartsTable_802187EC = 0x802187EC; // type:data rom:0x4D09DC +b_area_iwa_cleft_ActorParts = 0x802187EC; // type:data rom:0x4D09DC b_area_iwa_cleft = 0x80218810; // type:data rom:0x4D0A00 b_area_iwa_cleft_IdleAnimations_80218838 = 0x80218838; // type:data rom:0x4D0A28 b_area_iwa_cleft_IdleAnimations_80218884 = 0x80218884; // type:data rom:0x4D0A74 @@ -10892,13 +10892,13 @@ b_area_iwa_cleft_80219BA0 = 0x80219BA0; // type:data rom:0x4D1D90 b_area_iwa_cleft_takeTurn_8021A3EC = 0x8021A3EC; // type:data rom:0x4D25DC b_area_iwa_monty_mole_DefenseTable_8021A450 = 0x8021A450; // type:data rom:0x4D2640 b_area_iwa_monty_mole_StatusTable_8021A45C = 0x8021A45C; // type:data rom:0x4D264C -b_area_iwa_monty_mole_PartsTable_8021A508 = 0x8021A508; // type:data rom:0x4D26F8 +b_area_iwa_monty_mole_ActorParts = 0x8021A508; // type:data rom:0x4D26F8 b_area_iwa_monty_mole_1 = 0x8021A574; // type:data rom:0x4D2764 b_area_iwa_monty_mole_IdleAnimations_8021A59C = 0x8021A59C; // type:data rom:0x4D278C b_area_iwa_monty_mole_IdleAnimations_8021A5E8 = 0x8021A5E8; // type:data rom:0x4D27D8 b_area_iwa_monty_mole_IdleAnimations_8021A5F4 = 0x8021A5F4; // type:data rom:0x4D27E4 b_area_iwa_monty_mole_unk_missing_8021A600 = 0x8021A600; // type:data rom:0x4D27F0 -b_area_iwa_monty_mole_PartsTable_8021A60C = 0x8021A60C; // type:data rom:0x4D27FC +b_area_iwa_monty_mole_ActorParts = 0x8021A60C; // type:data rom:0x4D27FC b_area_iwa_monty_mole_init_8021A630 = 0x8021A630; // type:data rom:0x4D2820 b_area_iwa_monty_mole_2 = 0x8021A690; // type:data rom:0x4D2880 b_area_iwa_monty_mole_vector3D_8021A6B8 = 0x8021A6B8; // type:data rom:0x4D28A8 @@ -10913,10 +10913,10 @@ b_area_iwa_buzzar_IdleAnimations_8021B600 = 0x8021B600; // type:data rom:0x4D37F b_area_iwa_buzzar_IdleAnimations_8021B644 = 0x8021B644; // type:data rom:0x4D3834 b_area_iwa_buzzar_DefenseTable = 0x8021B650; // type:data rom:0x4D3840 b_area_iwa_buzzar_StatusTable = 0x8021B65C; // type:data rom:0x4D384C -b_area_iwa_buzzar_PartsTable = 0x8021B708; // type:data rom:0x4D38F8 +b_area_iwa_buzzar_ActorParts = 0x8021B708; // type:data rom:0x4D38F8 b_area_iwa_buzzar = 0x8021B7BC; // type:data rom:0x4D39AC b_area_iwa_buzzar_EVS_Init = 0x8021B7E4; // type:data rom:0x4D39D4 -b_area_iwa_buzzar_EVS_NextTurn = 0x8021B918; // type:data rom:0x4D3B08 +b_area_iwa_buzzar_EVS_HandlePhase = 0x8021B918; // type:data rom:0x4D3B08 b_area_iwa_buzzar_EVS_Idle = 0x8021B930; // type:data rom:0x4D3B20 b_area_iwa_buzzar_EVS_HandleEvent = 0x8021B940; // type:data rom:0x4D3B30 b_area_iwa_buzzar_EVS_TakeTurn = 0x8021BCD8; // type:data rom:0x4D3EC8 @@ -10933,7 +10933,7 @@ b_area_iwa_buzzar_8021FC34 = 0x8021FC34; // type:data rom:0x4D7E24 b_area_iwa_whacka_IdleAnimations_8021FC50 = 0x8021FC50; // type:data rom:0x4D7E40 b_area_iwa_whacka_DefenseTable_8021FC9C = 0x8021FC9C; // type:data rom:0x4D7E8C b_area_iwa_whacka_StatusTable_8021FCA8 = 0x8021FCA8; // type:data rom:0x4D7E98 -b_area_iwa_whacka_PartsTable_8021FD54 = 0x8021FD54; // type:data rom:0x4D7F44 +b_area_iwa_whacka_ActorParts = 0x8021FD54; // type:data rom:0x4D7F44 b_area_iwa_whacka = 0x8021FD78; // type:data rom:0x4D7F68 b_area_iwa_whacka_init_8021FDA0 = 0x8021FDA0; // type:data rom:0x4D7F90 b_area_iwa_whacka_idle_8021FE5C = 0x8021FE5C; // type:data rom:0x4D804C @@ -10950,7 +10950,7 @@ b_area_iwa_iwa_01_specialFormation_802208E4 = 0x802208E4; // type:data rom:0x4D8 b_area_iwa_iwa_01_IdleAnimations_80220900 = 0x80220900; // type:data rom:0x4D8AF0 b_area_iwa_iwa_01_DefenseTable_8022094C = 0x8022094C; // type:data rom:0x4D8B3C b_area_iwa_iwa_01_StatusTable_80220958 = 0x80220958; // type:data rom:0x4D8B48 -b_area_iwa_iwa_01_PartsTable_80220A04 = 0x80220A04; // type:data rom:0x4D8BF4 +b_area_iwa_iwa_01_ActorParts_80220A04 = 0x80220A04; // type:data rom:0x4D8BF4 b_area_iwa_iwa_01_whacka = 0x80220A28; // type:data rom:0x4D8C18 b_area_iwa_iwa_01_init_80220A50 = 0x80220A50; // type:data rom:0x4D8C40 b_area_iwa_iwa_01_idle_80220B0C = 0x80220B0C; // type:data rom:0x4D8CFC @@ -10971,7 +10971,7 @@ b_area_iwa_iwa_02_specialFormation_whacka = 0x80221600; // type:data rom:0x4D97F b_area_iwa_iwa_02_IdleAnimations_8022161C = 0x8022161C; // type:data rom:0x4D980C b_area_iwa_iwa_02_DefenseTable_80221668 = 0x80221668; // type:data rom:0x4D9858 b_area_iwa_iwa_02_StatusTable_80221674 = 0x80221674; // type:data rom:0x4D9864 -b_area_iwa_iwa_02_PartsTable_80221720 = 0x80221720; // type:data rom:0x4D9910 +b_area_iwa_iwa_02_ActorParts_80221720 = 0x80221720; // type:data rom:0x4D9910 b_area_iwa_iwa_02_whacka = 0x80221744; // type:data rom:0x4D9934 b_area_iwa_iwa_02_init_8022176C = 0x8022176C; // type:data rom:0x4D995C b_area_iwa_iwa_02_idle_80221828 = 0x80221828; // type:data rom:0x4D9A18 @@ -10979,12 +10979,12 @@ b_area_iwa_iwa_02_handleEvent_8022185C = 0x8022185C; // type:data rom:0x4D9A4C b_area_iwa_iwa_02_takeTurn_80222000 = 0x80222000; // type:data rom:0x4DA1F0 b_area_iwa_iwa_02_80222050 = 0x80222050; // type:data rom:0x4DA240 b_area_iwa_iwa_02_80222130 = 0x80222130; // type:data rom:0x4DA320 -b_area_sbk_pokey_UnkBattleFunc1 = 0x80218000; // type:func rom:0x4DA5E0 +b_area_sbk_pokey_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x4DA5E0 b_area_sbk_sbk_02_UpdateSunPos = 0x802180D0; // type:func rom:0x4DA6B0 b_area_sbk_sbk_02_GetModelPos = 0x80218220; // type:func rom:0x4DA800 b_area_sbk_pokey_DefenseTable_80218280 = 0x80218280; // type:data rom:0x4DA860 b_area_sbk_pokey_StatusTable_8021828C = 0x8021828C; // type:data rom:0x4DA86C -b_area_sbk_pokey_PartsTable_80218338 = 0x80218338; // type:data rom:0x4DA918 +b_area_sbk_pokey_ActorParts = 0x80218338; // type:data rom:0x4DA918 b_area_sbk_pokey = 0x80218410; // type:data rom:0x4DA9F0 b_area_sbk_pokey_IdleAnimations_80218438 = 0x80218438; // type:data rom:0x4DAA18 b_area_sbk_pokey_IdleAnimations_80218474 = 0x80218474; // type:data rom:0x4DAA54 @@ -11013,8 +11013,8 @@ b_area_sbk_bandit_IdleAnimations_8021D55C = 0x8021D55C; // type:data rom:0x4DFB3 b_area_sbk_bandit_IdleAnimations_8021D5A8 = 0x8021D5A8; // type:data rom:0x4DFB88 b_area_sbk_bandit_DefenseTable_8021D5B4 = 0x8021D5B4; // type:data rom:0x4DFB94 b_area_sbk_bandit_StatusTable_8021D5C0 = 0x8021D5C0; // type:data rom:0x4DFBA0 -b_area_sbk_bandit_PartsTable_8021D66C = 0x8021D66C; // type:data rom:0x4DFC4C -b_area_sbk_bandit_PartsTable_8021D6B4 = 0x8021D6B4; // type:data rom:0x4DFC94 +b_area_sbk_bandit_ActorParts = 0x8021D66C; // type:data rom:0x4DFC4C +b_area_sbk_bandit_ActorParts = 0x8021D6B4; // type:data rom:0x4DFC94 b_area_sbk_bandit = 0x8021D6D8; // type:data rom:0x4DFCB8 b_area_sbk_bandit_2 = 0x8021D700; // type:data rom:0x4DFCE0 b_area_sbk_bandit_vector3D_8021D728 = 0x8021D728; // type:data rom:0x4DFD08 @@ -11051,11 +11051,11 @@ b_area_sbk_Formation_10 = 0x8021FE2C; // type:data rom:0x4E240C b_area_sbk_Formations = 0x8021FE80; // type:data rom:0x4E2460 b_area_sbk_Stages = 0x8021FFE8; // type:data rom:0x4E25C8 D_80220160 = 0x80218000; // type:func rom:0x4E2740 -b_area_isk_part_1_swooper_UnkBattleFunc1 = 0x802180D0; // type:func rom:0x4E2810 -b_area_isk_part_1_buzzy_beetle_UnkBattleFunc1 = 0x802181A0; // type:func rom:0x4E28E0 +b_area_isk_part_1_swooper_SetAbsoluteStatusOffsets = 0x802180D0; // type:func rom:0x4E2810 +b_area_isk_part_1_buzzy_beetle_SetAbsoluteStatusOffsets = 0x802181A0; // type:func rom:0x4E28E0 b_area_isk_part_1_stone_chomp_ChompChainInit = 0x80218270; // type:func rom:0x4E29B0 -b_area_isk_part_1_stone_chomp_ChompChainUpdateHelperFunc = 0x802183C0; // type:func rom:0x4E2B00 -b_area_isk_part_1_stone_chomp_ChompChainUpdateHelperFunc2 = 0x80218458; // type:func rom:0x4E2B98 +b_area_isk_part_1_stone_chomp_ChompChainAddPolarPos = 0x802183C0; // type:func rom:0x4E2B00 +b_area_isk_part_1_stone_chomp_ChompChainGetPolarX = 0x80218458; // type:func rom:0x4E2B98 b_area_isk_part_1_ChompChainUpdate = 0x802184CC; // type:func rom:0x4E2C0C b_area_isk_part_1_isk_04_CreateTorchFX = 0x802188B0; // type:func rom:0x4E2FF0 b_area_isk_part_1_isk_04_DeleteTorchFX = 0x80218944; // type:func rom:0x4E3084 @@ -11071,14 +11071,14 @@ func_80218BA0_4E32E0 = 0x80218BA0; // type:func rom:0x4E32E0 func_80218BE8_4E3328 = 0x80218BE8; // type:func rom:0x4E3328 b_area_isk_part_1_pokey_mummy_DefenseTable_80218C10 = 0x80218C10; // type:data rom:0x4E3350 b_area_isk_part_1_pokey_mummy_StatusTable_80218C1C = 0x80218C1C; // type:data rom:0x4E335C -b_area_isk_part_1_pokey_mummy_PartsTable_80218CC8 = 0x80218CC8; // type:data rom:0x4E3408 +b_area_isk_part_1_pokey_mummy_ActorParts = 0x80218CC8; // type:data rom:0x4E3408 b_area_isk_part_1_pokey_mummy = 0x80218DA0; // type:data rom:0x4E34E0 b_area_isk_part_1_pokey_mummy_IdleAnimations_80218DC8 = 0x80218DC8; // type:data rom:0x4E3508 b_area_isk_part_1_pokey_mummy_IdleAnimations_80218E04 = 0x80218E04; // type:data rom:0x4E3544 b_area_isk_part_1_pokey_mummy_IdleAnimations_80218E40 = 0x80218E40; // type:data rom:0x4E3580 b_area_isk_part_1_pokey_mummy_IdleAnimations_80218E7C = 0x80218E7C; // type:data rom:0x4E35BC b_area_isk_part_1_pokey_mummy_IdleAnimations_80218EB8 = 0x80218EB8; // type:data rom:0x4E35F8 -b_area_isk_part_1_pokey_mummy_init_80218EC4 = 0x80218EC4; // type:data rom:0x4E3604 +b_area_isk_part_1_pokey_mummy_EVS_Init = 0x80218EC4; // type:data rom:0x4E3604 b_area_isk_part_1_pokey_mummy_idle_80219040 = 0x80219040; // type:data rom:0x4E3780 b_area_isk_part_1_pokey_mummy_handleEvent_80219050 = 0x80219050; // type:data rom:0x4E3790 b_area_isk_part_1_pokey_mummy_takeTurn_80219D88 = 0x80219D88; // type:data rom:0x4E44C8 @@ -11091,7 +11091,7 @@ b_area_isk_part_1_pokey_mummy_8021BDE4 = 0x8021BDE4; // type:data rom:0x4E6524 b_area_isk_part_1_pokey_mummy_8021C2BC = 0x8021C2BC; // type:data rom:0x4E69FC b_area_isk_part_1_swooper_DefenseTable_8021C4B0 = 0x8021C4B0; // type:data rom:0x4E6BF0 b_area_isk_part_1_swooper_StatusTable_8021C4BC = 0x8021C4BC; // type:data rom:0x4E6BFC -b_area_isk_part_1_swooper_PartsTable_8021C568 = 0x8021C568; // type:data rom:0x4E6CA8 +b_area_isk_part_1_swooper_ActorParts = 0x8021C568; // type:data rom:0x4E6CA8 b_area_isk_part_1_swooper = 0x8021C58C; // type:data rom:0x4E6CCC b_area_isk_part_1_swooper_IdleAnimations_8021C5B4 = 0x8021C5B4; // type:data rom:0x4E6CF4 b_area_isk_part_1_swooper_IdleAnimations_8021C600 = 0x8021C600; // type:data rom:0x4E6D40 @@ -11106,7 +11106,7 @@ b_area_isk_part_1_swooper_takeTurn_8021DED4 = 0x8021DED4; // type:data rom:0x4E8 b_area_isk_part_1_buzzy_beetle_DefenseTable_8021E4C0 = 0x8021E4C0; // type:data rom:0x4E8C00 b_area_isk_part_1_buzzy_beetle_DefenseTable_8021E4DC = 0x8021E4DC; // type:data rom:0x4E8C1C b_area_isk_part_1_buzzy_beetle_StatusTable_8021E4E8 = 0x8021E4E8; // type:data rom:0x4E8C28 -b_area_isk_part_1_buzzy_beetle_PartsTable_8021E594 = 0x8021E594; // type:data rom:0x4E8CD4 +b_area_isk_part_1_buzzy_beetle_ActorParts = 0x8021E594; // type:data rom:0x4E8CD4 b_area_isk_part_1_buzzy_beetle = 0x8021E5B8; // type:data rom:0x4E8CF8 b_area_isk_part_1_buzzy_beetle_IdleAnimations_8021E5E0 = 0x8021E5E0; // type:data rom:0x4E8D20 b_area_isk_part_1_buzzy_beetle_IdleAnimations_8021E62C = 0x8021E62C; // type:data rom:0x4E8D6C @@ -11120,23 +11120,23 @@ b_area_isk_part_1_buzzy_beetle_intTable_8021F1DC = 0x8021F1DC; // type:data rom: b_area_isk_part_1_buzzy_beetle_handleEvent_8021F228 = 0x8021F228; // type:data rom:0x4E9968 b_area_isk_part_1_buzzy_beetle_takeTurn_8021FF8C = 0x8021FF8C; // type:data rom:0x4EA6CC b_area_isk_part_1_buzzy_beetle_takeTurn_80220A44 = 0x80220A44; // type:data rom:0x4EB184 -b_area_isk_part_1_stone_chomp_IdleAnimations_80221450 = 0x80221450; // type:data rom:0x4EBB90 -b_area_isk_part_1_stone_chomp_IdleAnimations_8022148C = 0x8022148C; // type:data rom:0x4EBBCC -b_area_isk_part_1_stone_chomp_IdleAnimations_802214C8 = 0x802214C8; // type:data rom:0x4EBC08 -b_area_isk_part_1_stone_chomp_IdleAnimations_80221504 = 0x80221504; // type:data rom:0x4EBC44 -b_area_isk_part_1_stone_chomp_IdleAnimations_80221540 = 0x80221540; // type:data rom:0x4EBC80 -b_area_isk_part_1_stone_chomp_DefenseTable_8022154C = 0x8022154C; // type:data rom:0x4EBC8C -b_area_isk_part_1_stone_chomp_StatusTable_80221558 = 0x80221558; // type:data rom:0x4EBC98 -b_area_isk_part_1_stone_chomp_PartsTable_80221604 = 0x80221604; // type:data rom:0x4EBD44 +b_area_isk_part_1_stone_chomp_BasicAnims = 0x80221450; // type:data rom:0x4EBB90 +b_area_isk_part_1_stone_chomp_QuickBiteAnims = 0x8022148C; // type:data rom:0x4EBBCC +b_area_isk_part_1_stone_chomp_BiteAnims = 0x802214C8; // type:data rom:0x4EBC08 +b_area_isk_part_1_stone_chomp_SlowBiteAnims = 0x80221504; // type:data rom:0x4EBC44 +b_area_isk_part_1_stone_chomp_ChainAnims = 0x80221540; // type:data rom:0x4EBC80 +b_area_isk_part_1_stone_chomp_DefenseTable = 0x8022154C; // type:data rom:0x4EBC8C +b_area_isk_part_1_stone_chomp_StatusTable = 0x80221558; // type:data rom:0x4EBC98 +b_area_isk_part_1_stone_chomp_ActorParts = 0x80221604; // type:data rom:0x4EBD44 b_area_isk_part_1_stone_chomp = 0x8022176C; // type:data rom:0x4EBEAC -b_area_isk_part_1_stone_chomp_80221794 = 0x80221794; // type:data rom:0x4EBED4 -b_area_isk_part_1_stone_chomp_8022181C = 0x8022181C; // type:data rom:0x4EBF5C -b_area_isk_part_1_stone_chomp_init_80221ABC = 0x80221ABC; // type:data rom:0x4EC1FC -b_area_isk_part_1_stone_chomp_80221BC4 = 0x80221BC4; // type:data rom:0x4EC304 -b_area_isk_part_1_stone_chomp_idle_80221D00 = 0x80221D00; // type:data rom:0x4EC440 -b_area_isk_part_1_stone_chomp_80222324 = 0x80222324; // type:data rom:0x4ECA64 -b_area_isk_part_1_stone_chomp_handleEvent_80222364 = 0x80222364; // type:data rom:0x4ECAA4 -b_area_isk_part_1_stone_chomp_takeTurn_80222ED0 = 0x80222ED0; // type:data rom:0x4ED610 +b_area_isk_part_1_stone_chomp_EVS_Chomp_HopHome = 0x80221794; // type:data rom:0x4EBED4 +b_area_isk_part_1_stone_chomp_EVS_Chomp_HopToPos = 0x8022181C; // type:data rom:0x4EBF5C +b_area_isk_part_1_stone_chomp_EVS_Init = 0x80221ABC; // type:data rom:0x4EC1FC +b_area_isk_part_1_stone_chomp_EVS_UpdateTargetPartPos = 0x80221BC4; // type:data rom:0x4EC304 +b_area_isk_part_1_stone_chomp_EVS_Idle = 0x80221D00; // type:data rom:0x4EC440 +b_area_isk_part_1_stone_chomp_EVS_UpdateChain = 0x80222324; // type:data rom:0x4ECA64 +b_area_isk_part_1_stone_chomp_EVS_HandleEvent = 0x80222364; // type:data rom:0x4ECAA4 +b_area_isk_part_1_stone_chomp_EVS_TakeTurn = 0x80222ED0; // type:data rom:0x4ED610 b_area_isk_part_1_isk_00_EVS_PreBattle = 0x802238B0; // type:data rom:0x4EDFF0 b_area_isk_part_1_isk_00_EVS_PostBattle = 0x802238EC; // type:data rom:0x4EE02C b_area_isk_part_1_isk_00 = 0x802238FC; // type:data rom:0x4EE03C @@ -11231,12 +11231,12 @@ b_area_isk_part_1_isk_06b_pad = 0x80224D98; // type:data rom:0x4EF4D8 b_area_isk_part_1_isk_06b_D_80224DA0 = 0x80224DA0; // type:data rom:0x4EF4E0 b_area_isk_part_1_isk_08_pad = 0x80224DA8; // type:data rom:0x4EF4E8 b_area_isk_part_1_isk_08_D_80224DB0 = 0x80224DB0; // type:data rom:0x4EF4F0 -b_area_isk_part_2_chain_chomp_ChompChainUpdateHelperFunc = 0x80218150; // type:func rom:0x4EF5F0 -b_area_isk_part_2_chain_chomp_ChompChainUpdateHelperFunc2 = 0x802181E8; // type:func rom:0x4EF688 +b_area_isk_part_2_chain_chomp_ChompChainAddPolarPos = 0x80218150; // type:func rom:0x4EF5F0 +b_area_isk_part_2_chain_chomp_ChompChainGetPolarX = 0x802181E8; // type:func rom:0x4EF688 b_area_isk_part_2_chain_chomp_ChompChainUpdate = 0x8021825C; // type:func rom:0x4EF6FC func_8021866C_4EFB0C = 0x8021866C; // type:func rom:0x4EFB0C -b_area_isk_part_2_tutankoopa_UnkBattleFunc1 = 0x80218690; // type:func rom:0x4EFB30 -func_8021875C_4EFBFC = 0x8021875C; // type:func rom:0x4EFBFC +b_area_isk_part_2_tutankoopa_SetAbsoluteStatusOffsets = 0x80218690; // type:func rom:0x4EFB30 +SpawnFallingRock = 0x8021875C; // type:func rom:0x4EFBFC func_80218850_4EFCF0 = 0x80218850; // type:func rom:0x4EFCF0 func_802188E4_4EFD84 = 0x802188E4; // type:func rom:0x4EFD84 func_80218920_4EFDC0 = 0x80218920; // type:func rom:0x4EFDC0 @@ -11247,51 +11247,51 @@ func_80218A60_4EFF00 = 0x80218A60; // type:func rom:0x4EFF00 func_80218AA8_4EFF48 = 0x80218AA8; // type:func rom:0x4EFF48 func_80218AD0_4EFF70 = 0x80218AD0; // type:func rom:0x4EFF70 func_80218B18_4EFFB8 = 0x80218B18; // type:func rom:0x4EFFB8 -b_area_isk_part_2_chain_chomp_IdleAnimations_80218B40 = 0x80218B40; // type:data rom:0x4EFFE0 -b_area_isk_part_2_chain_chomp_IdleAnimations_80218B84 = 0x80218B84; // type:data rom:0x4F0024 -b_area_isk_part_2_chain_chomp_IdleAnimations_80218BC8 = 0x80218BC8; // type:data rom:0x4F0068 -b_area_isk_part_2_chain_chomp_IdleAnimations_80218C0C = 0x80218C0C; // type:data rom:0x4F00AC -b_area_isk_part_2_chain_chomp_IdleAnimations_80218C50 = 0x80218C50; // type:data rom:0x4F00F0 -b_area_isk_part_2_chain_chomp_DefenseTable_80218C5C = 0x80218C5C; // type:data rom:0x4F00FC -b_area_isk_part_2_chain_chomp_StatusTable_80218C88 = 0x80218C88; // type:data rom:0x4F0128 -b_area_isk_part_2_chain_chomp_PartsTable_80218D34 = 0x80218D34; // type:data rom:0x4F01D4 +b_area_isk_part_2_chain_chomp_BasicAnims = 0x80218B40; // type:data rom:0x4EFFE0 +b_area_isk_part_2_chain_chomp_QuickBiteAnims = 0x80218B84; // type:data rom:0x4F0024 +b_area_isk_part_2_chain_chomp_BiteAnims = 0x80218BC8; // type:data rom:0x4F0068 +b_area_isk_part_2_chain_chomp_SlowBiteAnims = 0x80218C0C; // type:data rom:0x4F00AC +b_area_isk_part_2_chain_chomp_ChainAnims = 0x80218C50; // type:data rom:0x4F00F0 +b_area_isk_part_2_chain_chomp_DefenseTable = 0x80218C5C; // type:data rom:0x4F00FC +b_area_isk_part_2_chain_chomp_StatusTable = 0x80218C88; // type:data rom:0x4F0128 +b_area_isk_part_2_chain_chomp_ActorParts = 0x80218D34; // type:data rom:0x4F01D4 b_area_isk_part_2_chain_chomp = 0x80218E9C; // type:data rom:0x4F033C -b_area_isk_part_2_chain_chomp_init_80218EC4 = 0x80218EC4; // type:data rom:0x4F0364 -b_area_isk_part_2_chain_chomp_80218FCC = 0x80218FCC; // type:data rom:0x4F046C -b_area_isk_part_2_chain_chomp_idle_80219108 = 0x80219108; // type:data rom:0x4F05A8 -b_area_isk_part_2_chain_chomp_8021972C = 0x8021972C; // type:data rom:0x4F0BCC -b_area_isk_part_2_chain_chomp_handleEvent_802197C4 = 0x802197C4; // type:data rom:0x4F0C64 -b_area_isk_part_2_chain_chomp_8021A200 = 0x8021A200; // type:data rom:0x4F16A0 -b_area_isk_part_2_chain_chomp_takeTurn_8021A7C4 = 0x8021A7C4; // type:data rom:0x4F1C64 -b_area_isk_part_2_chain_chomp_8021B41C = 0x8021B41C; // type:data rom:0x4F28BC -b_area_isk_part_2_chain_chomp_8021B50C = 0x8021B50C; // type:data rom:0x4F29AC +b_area_isk_part_2_chain_chomp_EVS_Init = 0x80218EC4; // type:data rom:0x4F0364 +b_area_isk_part_2_chain_chomp_EVS_UpdateTargetPartPos = 0x80218FCC; // type:data rom:0x4F046C +b_area_isk_part_2_chain_chomp_EVS_Idle = 0x80219108; // type:data rom:0x4F05A8 +b_area_isk_part_2_chain_chomp_EVS_UpdateChain = 0x8021972C; // type:data rom:0x4F0BCC +b_area_isk_part_2_chain_chomp_EVS_HandleEvent = 0x802197C4; // type:data rom:0x4F0C64 +b_area_isk_part_2_chain_chomp_EVS_Chomp_SpinSmashHit = 0x8021A200; // type:data rom:0x4F16A0 +b_area_isk_part_2_chain_chomp_EVS_TakeTurn = 0x8021A7C4; // type:data rom:0x4F1C64 +b_area_isk_part_2_chain_chomp_EVS_Chomp_HopHome = 0x8021B41C; // type:data rom:0x4F28BC +b_area_isk_part_2_chain_chomp_EVS_Chomp_HopToPos = 0x8021B50C; // type:data rom:0x4F29AC b_area_isk_part_2_tutankoopa_IdleAnimations_8021B960 = 0x8021B960; // type:data rom:0x4F2E00 b_area_isk_part_2_tutankoopa_IdleAnimations_8021B9AC = 0x8021B9AC; // type:data rom:0x4F2E4C b_area_isk_part_2_tutankoopa_IdleAnimations_8021B9F8 = 0x8021B9F8; // type:data rom:0x4F2E98 -b_area_isk_part_2_tutankoopa_IdleAnimations_8021BA04 = 0x8021BA04; // type:data rom:0x4F2EA4 -b_area_isk_part_2_tutankoopa_IdleAnimations_8021BA10 = 0x8021BA10; // type:data rom:0x4F2EB0 +b_area_isk_part_2_tutankoopa_RockAnimsA = 0x8021BA04; // type:data rom:0x4F2EA4 +b_area_isk_part_2_tutankoopa_RockAnimsB = 0x8021BA10; // type:data rom:0x4F2EB0 b_area_isk_part_2_tutankoopa_DefenseTable_8021BA1C = 0x8021BA1C; // type:data rom:0x4F2EBC b_area_isk_part_2_tutankoopa_StatusTable_8021BA28 = 0x8021BA28; // type:data rom:0x4F2EC8 -b_area_isk_part_2_tutankoopa_PartsTable_8021BAD4 = 0x8021BAD4; // type:data rom:0x4F2F74 +b_area_isk_part_2_tutankoopa_ActorParts = 0x8021BAD4; // type:data rom:0x4F2F74 b_area_isk_part_2_tutankoopa = 0x8021BBF4; // type:data rom:0x4F3094 -b_area_isk_part_2_tutankoopa_init_8021BC1C = 0x8021BC1C; // type:data rom:0x4F30BC -b_area_isk_part_2_tutankoopa_idle_8021BE28 = 0x8021BE28; // type:data rom:0x4F32C8 -b_area_isk_part_2_tutankoopa_handleEvent_8021BFD0 = 0x8021BFD0; // type:data rom:0x4F3470 -b_area_isk_part_2_tutankoopa_8021C748 = 0x8021C748; // type:data rom:0x4F3BE8 -b_area_isk_part_2_tutankoopa_8021C974 = 0x8021C974; // type:data rom:0x4F3E14 -b_area_isk_part_2_tutankoopa_takeTurn_8021CCD4 = 0x8021CCD4; // type:data rom:0x4F4174 -b_area_isk_part_2_tutankoopa_8021D04C = 0x8021D04C; // type:data rom:0x4F44EC -b_area_isk_part_2_tutankoopa_8021D81C = 0x8021D81C; // type:data rom:0x4F4CBC -b_area_isk_part_2_tutankoopa_8021DDE8 = 0x8021DDE8; // type:data rom:0x4F5288 -b_area_isk_part_2_tutankoopa_8021E008 = 0x8021E008; // type:data rom:0x4F54A8 -b_area_isk_part_2_tutankoopa_vector3D_8021E9A0 = 0x8021E9A0; // type:data rom:0x4F5E40 -b_area_isk_part_2_tutankoopa_specialFormation_8021E9AC = 0x8021E9AC; // type:data rom:0x4F5E4C -b_area_isk_part_2_tutankoopa_8021E9C8 = 0x8021E9C8; // type:data rom:0x4F5E68 -b_area_isk_part_2_tutankoopa_8021F42C = 0x8021F42C; // type:data rom:0x4F68CC -b_area_isk_part_2_tutankoopa_8021F5E8 = 0x8021F5E8; // type:data rom:0x4F6A88 -b_area_isk_part_2_tutankoopa_8021F80C = 0x8021F80C; // type:data rom:0x4F6CAC -b_area_isk_part_2_tutankoopa_nextTurn_8021F9C4 = 0x8021F9C4; // type:data rom:0x4F6E64 -b_area_isk_part_2_tutankoopa_8021FA54 = 0x8021FA54; // type:data rom:0x4F6EF4 +b_area_isk_part_2_tutankoopa_EVS_Init = 0x8021BC1C; // type:data rom:0x4F30BC +b_area_isk_part_2_tutankoopa_EVS_Idle = 0x8021BE28; // type:data rom:0x4F32C8 +b_area_isk_part_2_tutankoopa_EVS_HandleEvent = 0x8021BFD0; // type:data rom:0x4F3470 +b_area_isk_part_2_tutankoopa_EVS_Tutankoopa_SpinSmashHit = 0x8021C748; // type:data rom:0x4F3BE8 +b_area_isk_part_2_tutankoopa_EVS_TemporaryKnockout = 0x8021C974; // type:data rom:0x4F3E14 +b_area_isk_part_2_tutankoopa_EVS_TakeTurn = 0x8021CCD4; // type:data rom:0x4F4174 +b_area_isk_part_2_tutankoopa_EVS_Attack_ThrowShell = 0x8021D04C; // type:data rom:0x4F44EC +b_area_isk_part_2_tutankoopa_EVS_Attack_DropDebris = 0x8021D81C; // type:data rom:0x4F4CBC +b_area_isk_part_2_tutankoopa_EVS_DropDebris_Self = 0x8021DDE8; // type:data rom:0x4F5288 +b_area_isk_part_2_tutankoopa_EVS_DropDebris_Players = 0x8021E008; // type:data rom:0x4F54A8 +b_area_isk_part_2_tutankoopa_SummonedChompPos = 0x8021E9A0; // type:data rom:0x4F5E40 +b_area_isk_part_2_tutankoopa_SummonedChomp = 0x8021E9AC; // type:data rom:0x4F5E4C +b_area_isk_part_2_tutankoopa_EVS_Move_SummonChomp = 0x8021E9C8; // type:data rom:0x4F5E68 +b_area_isk_part_2_tutankoopa_EVS_SummonedChompHop = 0x8021F42C; // type:data rom:0x4F68CC +b_area_isk_part_2_tutankoopa_EVS_LevitateToHomePos = 0x8021F5E8; // type:data rom:0x4F6A88 +b_area_isk_part_2_tutankoopa_EVS_GetBackUp = 0x8021F80C; // type:data rom:0x4F6CAC +b_area_isk_part_2_tutankoopa_EVS_HandlePhase = 0x8021F9C4; // type:data rom:0x4F6E64 +b_area_isk_part_2_tutankoopa_EVS_Tutankoopa_Death = 0x8021FA54; // type:data rom:0x4F6EF4 b_area_isk_part_2_isk_00_EVS_PreBattle = 0x8021FCF0; // type:data rom:0x4F7190 b_area_isk_part_2_isk_00_EVS_PostBattle = 0x8021FD2C; // type:data rom:0x4F71CC b_area_isk_part_2_isk_00 = 0x8021FD3C; // type:data rom:0x4F71DC @@ -11345,12 +11345,12 @@ D_80220760 = 0x80220760; // type:data rom:0x4F7C00 D_80220770 = 0x80220770; // type:data rom:0x4F7C10 D_80220780 = 0x80220780; // type:data rom:0x4F7C20 b_area_mim_forest_fuzzy_SpawnDrainHealthContinueFX = 0x802180B4; // type:func rom:0x4F7C94 -b_area_mim_bzzap_UnkBattleFunc1 = 0x80218170; // type:func rom:0x4F7D50 +b_area_mim_bzzap_SetAbsoluteStatusOffsets = 0x80218170; // type:func rom:0x4F7D50 b_area_mim_bzzap_UnkFloatFunc4 = 0x8021823C; // type:func rom:0x4F7E1C b_area_mim_mim_01_UnkFogFunc2 = 0x80218360; // type:func rom:0x4F7F40 b_area_mim_forest_fuzzy_DefenseTable_802183C0 = 0x802183C0; // type:data rom:0x4F7FA0 b_area_mim_forest_fuzzy_StatusTable_802183CC = 0x802183CC; // type:data rom:0x4F7FAC -b_area_mim_forest_fuzzy_PartsTable_80218478 = 0x80218478; // type:data rom:0x4F8058 +b_area_mim_forest_fuzzy_ActorParts = 0x80218478; // type:data rom:0x4F8058 b_area_mim_forest_fuzzy = 0x8021849C; // type:data rom:0x4F807C b_area_mim_forest_fuzzy_IdleAnimations_802184C4 = 0x802184C4; // type:data rom:0x4F80A4 b_area_mim_forest_fuzzy_init_80218510 = 0x80218510; // type:data rom:0x4F80F0 @@ -11366,7 +11366,7 @@ b_area_mim_forest_fuzzy_specialFormation_8021A800 = 0x8021A800; // type:data rom b_area_mim_bzzap_IdleAnimations_8021A820 = 0x8021A820; // type:data rom:0x4FA400 b_area_mim_bzzap_DefenseTable_8021A86C = 0x8021A86C; // type:data rom:0x4FA44C b_area_mim_bzzap_StatusTable_8021A878 = 0x8021A878; // type:data rom:0x4FA458 -b_area_mim_bzzap_PartsTable_8021A924 = 0x8021A924; // type:data rom:0x4FA504 +b_area_mim_bzzap_ActorParts = 0x8021A924; // type:data rom:0x4FA504 b_area_mim_bzzap = 0x8021A9FC; // type:data rom:0x4FA5DC b_area_mim_bzzap_init_8021AA24 = 0x8021AA24; // type:data rom:0x4FA604 b_area_mim_bzzap_idle_8021AB10 = 0x8021AB10; // type:data rom:0x4FA6F0 @@ -11381,7 +11381,7 @@ b_area_mim_piranha_plant_unk_missing_8021D37C = 0x8021D37C; // type:data rom:0x4 b_area_mim_piranha_plant_unk_missing_8021D388 = 0x8021D388; // type:data rom:0x4FCF68 b_area_mim_piranha_plant_DefenseTable_8021D394 = 0x8021D394; // type:data rom:0x4FCF74 b_area_mim_piranha_plant_StatusTable_8021D3A0 = 0x8021D3A0; // type:data rom:0x4FCF80 -b_area_mim_piranha_plant_PartsTable_8021D44C = 0x8021D44C; // type:data rom:0x4FD02C +b_area_mim_piranha_plant_ActorParts = 0x8021D44C; // type:data rom:0x4FD02C b_area_mim_piranha_plant = 0x8021D470; // type:data rom:0x4FD050 b_area_mim_piranha_plant_init_8021D498 = 0x8021D498; // type:data rom:0x4FD078 b_area_mim_piranha_plant_idle_8021D4E4 = 0x8021D4E4; // type:data rom:0x4FD0C4 @@ -11422,7 +11422,7 @@ b_area_arn_hyper_cleft_SetSpinSmashable = 0x80218618; // type:func rom:0x4FF068 b_area_arn_tubbas_heart_func_80218680_4FF0D0 = 0x80218680; // type:func rom:0x4FF0D0 b_area_arn_hypergoomba_DefenseTable_80218770 = 0x80218770; // type:data rom:0x4FF1C0 b_area_arn_hypergoomba_StatusTable_8021877C = 0x8021877C; // type:data rom:0x4FF1CC -b_area_arn_hypergoomba_PartsTable_80218828 = 0x80218828; // type:data rom:0x4FF278 +b_area_arn_hypergoomba_ActorParts = 0x80218828; // type:data rom:0x4FF278 b_area_arn_hypergoomba = 0x8021884C; // type:data rom:0x4FF29C b_area_arn_hypergoomba_IdleAnimations_80218874 = 0x80218874; // type:data rom:0x4FF2C4 b_area_arn_hypergoomba_init_802188C0 = 0x802188C0; // type:data rom:0x4FF310 @@ -11440,7 +11440,7 @@ b_area_arn_hyper_paragoomba_DefenseTable_8021B2F0 = 0x8021B2F0; // type:data rom b_area_arn_hyper_paragoomba_DefenseTable_8021B2FC = 0x8021B2FC; // type:data rom:0x501D4C b_area_arn_hyper_paragoomba_StatusTable_8021B308 = 0x8021B308; // type:data rom:0x501D58 b_area_arn_hyper_paragoomba_StatusTable_8021B3B4 = 0x8021B3B4; // type:data rom:0x501E04 -b_area_arn_hyper_paragoomba_PartsTable_8021B460 = 0x8021B460; // type:data rom:0x501EB0 +b_area_arn_hyper_paragoomba_ActorParts = 0x8021B460; // type:data rom:0x501EB0 b_area_arn_hyper_paragoomba = 0x8021B4F0; // type:data rom:0x501F40 b_area_arn_hyper_paragoomba_IdleAnimations_8021B518 = 0x8021B518; // type:data rom:0x501F68 b_area_arn_hyper_paragoomba_init_8021B564 = 0x8021B564; // type:data rom:0x501FB4 @@ -11473,7 +11473,7 @@ b_area_arn_hyper_paragoomba_takeTurn_8021FE6C = 0x8021FE6C; // type:data rom:0x5 b_area_arn_hyper_cleft_DefenseTable_80220B40 = 0x80220B40; // type:data rom:0x507590 b_area_arn_hyper_cleft_DefenseTable_80220B54 = 0x80220B54; // type:data rom:0x5075A4 b_area_arn_hyper_cleft_StatusTable_80220B68 = 0x80220B68; // type:data rom:0x5075B8 -b_area_arn_hyper_cleft_PartsTable_80220C14 = 0x80220C14; // type:data rom:0x507664 +b_area_arn_hyper_cleft_ActorParts_80220C14 = 0x80220C14; // type:data rom:0x507664 b_area_arn_hyper_cleft = 0x80220C38; // type:data rom:0x507688 b_area_arn_hyper_cleft_IdleAnimations_80220C60 = 0x80220C60; // type:data rom:0x5076B0 b_area_arn_hyper_cleft_init_80220CAC = 0x80220CAC; // type:data rom:0x5076FC @@ -11493,7 +11493,7 @@ b_area_arn_tubbas_heart_IdleAnimations_80223BC0 = 0x80223BC0; // type:data rom:0 b_area_arn_tubbas_heart_IdleAnimations_80223C1C = 0x80223C1C; // type:data rom:0x50A66C b_area_arn_tubbas_heart_DefenseTable_80223C78 = 0x80223C78; // type:data rom:0x50A6C8 b_area_arn_tubbas_heart_StatusTable_80223C84 = 0x80223C84; // type:data rom:0x50A6D4 -b_area_arn_tubbas_heart_PartsTable_80223D30 = 0x80223D30; // type:data rom:0x50A780 +b_area_arn_tubbas_heart_ActorParts_80223D30 = 0x80223D30; // type:data rom:0x50A780 b_area_arn_tubbas_heart = 0x80223D78; // type:data rom:0x50A7C8 b_area_arn_tubbas_heart_init_80223DA0 = 0x80223DA0; // type:data rom:0x50A7F0 b_area_arn_tubbas_heart_idle_80223E98 = 0x80223E98; // type:data rom:0x50A8E8 @@ -11508,7 +11508,7 @@ b_area_arn_tubbas_heart_802255D8 = 0x802255D8; // type:data rom:0x50C028 b_area_arn_tubba_blubba_IdleAnimations_80225C40 = 0x80225C40; // type:data rom:0x50C690 b_area_arn_tubba_blubba_DefenseTable_80225C94 = 0x80225C94; // type:data rom:0x50C6E4 b_area_arn_tubba_blubba_StatusTable_80225CA0 = 0x80225CA0; // type:data rom:0x50C6F0 -b_area_arn_tubba_blubba_PartsTable_80225D4C = 0x80225D4C; // type:data rom:0x50C79C +b_area_arn_tubba_blubba_ActorParts_80225D4C = 0x80225D4C; // type:data rom:0x50C79C b_area_arn_tubba_blubba = 0x80225D70; // type:data rom:0x50C7C0 b_area_arn_tubba_blubba_init_80225D98 = 0x80225D98; // type:data rom:0x50C7E8 b_area_arn_tubba_blubba_80225E08 = 0x80225E08; // type:data rom:0x50C858 @@ -11569,7 +11569,7 @@ b_area_arn_Stages = 0x80228278; // type:data rom:0x50ECC8 b_area_dgb_clubba_IdleAnimations_80218000 = 0x80218000; // type:data rom:0x50F020 b_area_dgb_clubba_DefenseTable_8021804C = 0x8021804C; // type:data rom:0x50F06C b_area_dgb_clubba_StatusTable_80218058 = 0x80218058; // type:data rom:0x50F078 -b_area_dgb_clubba_PartsTable_80218104 = 0x80218104; // type:data rom:0x50F124 +b_area_dgb_clubba_ActorParts = 0x80218104; // type:data rom:0x50F124 b_area_dgb_clubba = 0x80218128; // type:data rom:0x50F148 b_area_dgb_clubba_init_80218150 = 0x80218150; // type:data rom:0x50F170 b_area_dgb_clubba_idle_8021819C = 0x8021819C; // type:data rom:0x50F1BC @@ -11578,7 +11578,7 @@ b_area_dgb_clubba_takeTurn_802186BC = 0x802186BC; // type:data rom:0x50F6DC b_area_dgb_tubba_blubba_IdleAnimations_80218C10 = 0x80218C10; // type:data rom:0x50FC30 b_area_dgb_tubba_blubba_DefenseTable_80218C6C = 0x80218C6C; // type:data rom:0x50FC8C b_area_dgb_tubba_blubba_StatusTable_80218C78 = 0x80218C78; // type:data rom:0x50FC98 -b_area_dgb_tubba_blubba_PartsTable_80218D24 = 0x80218D24; // type:data rom:0x50FD44 +b_area_dgb_tubba_blubba_ActorParts = 0x80218D24; // type:data rom:0x50FD44 b_area_dgb_tubba_blubba = 0x80218D48; // type:data rom:0x50FD68 b_area_dgb_tubba_blubba_init_80218D70 = 0x80218D70; // type:data rom:0x50FD90 b_area_dgb_tubba_blubba_80218E60 = 0x80218E60; // type:data rom:0x50FE80 @@ -11615,15 +11615,15 @@ b_area_dgb_Formation_04 = 0x8021B354; // type:data rom:0x512374 b_area_dgb_Formation_05 = 0x8021B370; // type:data rom:0x512390 b_area_dgb_Formations = 0x8021B38C; // type:data rom:0x5123AC b_area_dgb_Stages = 0x8021B418; // type:data rom:0x512438 -b_area_omo_red_shy_guy_UnkBattleFunc1 = 0x80218000; // type:func rom:0x5125D0 -b_area_omo_blue_shy_guy_UnkBattleFunc1 = 0x802180D0; // type:func rom:0x5126A0 -b_area_omo_yellow_shy_guy_UnkBattleFunc1 = 0x802181A0; // type:func rom:0x512770 -b_area_omo_pink_shy_guy_UnkBattleFunc1 = 0x80218270; // type:func rom:0x512840 -b_area_omo_green_shy_guy_UnkBattleFunc1 = 0x80218340; // type:func rom:0x512910 -b_area_omo_anti_guy_UnkBattleFunc1 = 0x80218410; // type:func rom:0x5129E0 -b_area_omo_medi_guy_UnkBattleFunc1 = 0x802184E0; // type:func rom:0x512AB0 +b_area_omo_red_shy_guy_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x5125D0 +b_area_omo_blue_shy_guy_SetAbsoluteStatusOffsets = 0x802180D0; // type:func rom:0x5126A0 +b_area_omo_yellow_shy_guy_SetAbsoluteStatusOffsets = 0x802181A0; // type:func rom:0x512770 +b_area_omo_pink_shy_guy_SetAbsoluteStatusOffsets = 0x80218270; // type:func rom:0x512840 +b_area_omo_green_shy_guy_SetAbsoluteStatusOffsets = 0x80218340; // type:func rom:0x512910 +b_area_omo_anti_guy_SetAbsoluteStatusOffsets = 0x80218410; // type:func rom:0x5129E0 +b_area_omo_medi_guy_SetAbsoluteStatusOffsets = 0x802184E0; // type:func rom:0x512AB0 b_area_omo_medi_guy_MediGuySpriteRotationFunc = 0x802185AC; // type:func rom:0x512B7C -b_area_omo_groove_guy_UnkBattleFunc1 = 0x802186C0; // type:func rom:0x512C90 +b_area_omo_groove_guy_SetAbsoluteStatusOffsets = 0x802186C0; // type:func rom:0x512C90 func_8021878C_512D5C = 0x8021878C; // type:func rom:0x512D5C b_area_omo_spy_guy_ItemEntityJumpToPos = 0x80218880; // type:func rom:0x512E50 b_area_omo_spy_guy_GetItemEntityPosition = 0x80218A98; // type:func rom:0x513068 @@ -11631,14 +11631,14 @@ b_area_omo_spy_guy_DisableRandomAbility = 0x80218B38; // type:func rom:0x513108 b_area_omo_spy_guy_SpyGuyActionFunc = 0x80218CF4; // type:func rom:0x5132C4 b_area_omo_spy_guy_StartRumbleWithParams = 0x80218D54; // type:func rom:0x513324 b_area_omo_sky_guy_StartRumbleWithParams = 0x80218DB0; // type:func rom:0x513380 -b_area_omo_sky_guy_UnkBattleFunc1 = 0x80218E08; // type:func rom:0x5133D8 -b_area_omo_pyro_guy_UnkBattleFunc1 = 0x80218EE0; // type:func rom:0x5134B0 +b_area_omo_sky_guy_SetAbsoluteStatusOffsets = 0x80218E08; // type:func rom:0x5133D8 +b_area_omo_pyro_guy_SetAbsoluteStatusOffsets = 0x80218EE0; // type:func rom:0x5134B0 func_80218FB0_513580 = 0x80218FB0; // type:func rom:0x513580 b_area_omo_omo_04_IsGameStatusUnkAA_1 = 0x802191C0; // type:func rom:0x513790 b_area_omo_omo_04_Add1Coin = 0x802191E8; // type:func rom:0x5137B8 b_area_omo_red_shy_guy_DefenseTable_80219210 = 0x80219210; // type:data rom:0x5137E0 b_area_omo_red_shy_guy_StatusTable_80219224 = 0x80219224; // type:data rom:0x5137F4 -b_area_omo_red_shy_guy_PartsTable_802192D0 = 0x802192D0; // type:data rom:0x5138A0 +b_area_omo_red_shy_guy_ActorParts = 0x802192D0; // type:data rom:0x5138A0 b_area_omo_red_shy_guy = 0x802192F4; // type:data rom:0x5138C4 b_area_omo_red_shy_guy_IdleAnimations_8021931C = 0x8021931C; // type:data rom:0x5138EC b_area_omo_red_shy_guy_init_80219368 = 0x80219368; // type:data rom:0x513938 @@ -11650,7 +11650,7 @@ b_area_omo_red_shy_guy_8021A12C = 0x8021A12C; // type:data rom:0x5146FC b_area_omo_red_shy_guy_takeTurn_8021ACB4 = 0x8021ACB4; // type:data rom:0x515284 b_area_omo_blue_shy_guy_DefenseTable_8021AD10 = 0x8021AD10; // type:data rom:0x5152E0 b_area_omo_blue_shy_guy_StatusTable_8021AD24 = 0x8021AD24; // type:data rom:0x5152F4 -b_area_omo_blue_shy_guy_PartsTable_8021ADD0 = 0x8021ADD0; // type:data rom:0x5153A0 +b_area_omo_blue_shy_guy_ActorParts = 0x8021ADD0; // type:data rom:0x5153A0 b_area_omo_blue_shy_guy = 0x8021ADF4; // type:data rom:0x5153C4 b_area_omo_blue_shy_guy_IdleAnimations_8021AE1C = 0x8021AE1C; // type:data rom:0x5153EC b_area_omo_blue_shy_guy_init_8021AE68 = 0x8021AE68; // type:data rom:0x515438 @@ -11662,7 +11662,7 @@ b_area_omo_blue_shy_guy_8021BC2C = 0x8021BC2C; // type:data rom:0x5161FC b_area_omo_blue_shy_guy_takeTurn_8021C7B4 = 0x8021C7B4; // type:data rom:0x516D84 b_area_omo_yellow_shy_guy_DefenseTable_8021C810 = 0x8021C810; // type:data rom:0x516DE0 b_area_omo_yellow_shy_guy_StatusTable_8021C824 = 0x8021C824; // type:data rom:0x516DF4 -b_area_omo_yellow_shy_guy_PartsTable_8021C8D0 = 0x8021C8D0; // type:data rom:0x516EA0 +b_area_omo_yellow_shy_guy_ActorParts = 0x8021C8D0; // type:data rom:0x516EA0 b_area_omo_yellow_shy_guy = 0x8021C8F4; // type:data rom:0x516EC4 b_area_omo_yellow_shy_guy_IdleAnimations_8021C91C = 0x8021C91C; // type:data rom:0x516EEC b_area_omo_yellow_shy_guy_init_8021C968 = 0x8021C968; // type:data rom:0x516F38 @@ -11674,7 +11674,7 @@ b_area_omo_yellow_shy_guy_8021D72C = 0x8021D72C; // type:data rom:0x517CFC b_area_omo_yellow_shy_guy_takeTurn_8021E2B4 = 0x8021E2B4; // type:data rom:0x518884 b_area_omo_pink_shy_guy_DefenseTable_8021E310 = 0x8021E310; // type:data rom:0x5188E0 b_area_omo_pink_shy_guy_StatusTable_8021E324 = 0x8021E324; // type:data rom:0x5188F4 -b_area_omo_pink_shy_guy_PartsTable_8021E3D0 = 0x8021E3D0; // type:data rom:0x5189A0 +b_area_omo_pink_shy_guy_ActorParts = 0x8021E3D0; // type:data rom:0x5189A0 b_area_omo_pink_shy_guy = 0x8021E3F4; // type:data rom:0x5189C4 b_area_omo_pink_shy_guy_IdleAnimations_8021E41C = 0x8021E41C; // type:data rom:0x5189EC b_area_omo_pink_shy_guy_init_8021E468 = 0x8021E468; // type:data rom:0x518A38 @@ -11686,7 +11686,7 @@ b_area_omo_pink_shy_guy_8021F22C = 0x8021F22C; // type:data rom:0x5197FC b_area_omo_pink_shy_guy_takeTurn_8021FDB4 = 0x8021FDB4; // type:data rom:0x51A384 b_area_omo_green_shy_guy_DefenseTable_8021FE10 = 0x8021FE10; // type:data rom:0x51A3E0 b_area_omo_green_shy_guy_StatusTable_8021FE24 = 0x8021FE24; // type:data rom:0x51A3F4 -b_area_omo_green_shy_guy_PartsTable_8021FED0 = 0x8021FED0; // type:data rom:0x51A4A0 +b_area_omo_green_shy_guy_ActorParts = 0x8021FED0; // type:data rom:0x51A4A0 b_area_omo_green_shy_guy = 0x8021FEF4; // type:data rom:0x51A4C4 b_area_omo_green_shy_guy_IdleAnimations_8021FF1C = 0x8021FF1C; // type:data rom:0x51A4EC b_area_omo_green_shy_guy_init_8021FF68 = 0x8021FF68; // type:data rom:0x51A538 @@ -11698,7 +11698,7 @@ b_area_omo_green_shy_guy_80220D2C = 0x80220D2C; // type:data rom:0x51B2FC b_area_omo_green_shy_guy_takeTurn_802218B4 = 0x802218B4; // type:data rom:0x51BE84 b_area_omo_anti_guy_DefenseTable_80221910 = 0x80221910; // type:data rom:0x51BEE0 b_area_omo_anti_guy_StatusTable_8022191C = 0x8022191C; // type:data rom:0x51BEEC -b_area_omo_anti_guy_PartsTable_802219C8 = 0x802219C8; // type:data rom:0x51BF98 +b_area_omo_anti_guy_ActorParts_802219C8 = 0x802219C8; // type:data rom:0x51BF98 b_area_omo_anti_guy = 0x802219EC; // type:data rom:0x51BFBC b_area_omo_anti_guy_IdleAnimations_80221A14 = 0x80221A14; // type:data rom:0x51BFE4 b_area_omo_anti_guy_init_80221A60 = 0x80221A60; // type:data rom:0x51C030 @@ -11711,7 +11711,7 @@ b_area_omo_anti_guy_takeTurn_802233AC = 0x802233AC; // type:data rom:0x51D97C b_area_omo_medi_guy_IdleAnimations_8021F890 = 0x80223410; // type:data rom:0x51D9E0 b_area_omo_medi_guy_DefenseTable_8021F8DC = 0x8022345C; // type:data rom:0x51DA2C b_area_omo_medi_guy_StatusTable_8021F8F0 = 0x80223470; // type:data rom:0x51DA40 -b_area_omo_medi_guy_PartsTable_8021F99C = 0x8022351C; // type:data rom:0x51DAEC +b_area_omo_medi_guy_ActorParts = 0x8022351C; // type:data rom:0x51DAEC b_area_omo_medi_guy = 0x80223540; // type:data rom:0x51DB10 b_area_omo_medi_guy_init_8021F9E8 = 0x80223568; // type:data rom:0x51DB38 b_area_omo_medi_guy_idle_8021FA8C = 0x8022360C; // type:data rom:0x51DBDC @@ -11724,7 +11724,7 @@ b_area_omo_medi_guy_takeTurn_80220DCC = 0x8022494C; // type:data rom:0x51EF1C b_area_omo_groove_guy_IdleAnimations_802249E0 = 0x802249E0; // type:data rom:0x51EFB0 b_area_omo_groove_guy_DefenseTable_80224A2C = 0x80224A2C; // type:data rom:0x51EFFC b_area_omo_groove_guy_StatusTable_80224A40 = 0x80224A40; // type:data rom:0x51F010 -b_area_omo_groove_guy_PartsTable_80224AEC = 0x80224AEC; // type:data rom:0x51F0BC +b_area_omo_groove_guy_ActorParts_80224AEC = 0x80224AEC; // type:data rom:0x51F0BC b_area_omo_groove_guy = 0x80224B10; // type:data rom:0x51F0E0 b_area_omo_groove_guy_init_80224B38 = 0x80224B38; // type:data rom:0x51F108 b_area_omo_groove_guy_idle_80224B9C = 0x80224B9C; // type:data rom:0x51F16C @@ -11749,7 +11749,7 @@ b_area_omo_spy_guy_IdleAnimations_8022744C = 0x8022744C; // type:data rom:0x521A b_area_omo_spy_guy_IdleAnimations_80227498 = 0x80227498; // type:data rom:0x521A68 b_area_omo_spy_guy_DefenseTable_802274A4 = 0x802274A4; // type:data rom:0x521A74 b_area_omo_spy_guy_StatusTable_802274B8 = 0x802274B8; // type:data rom:0x521A88 -b_area_omo_spy_guy_PartsTable_80227564 = 0x80227564; // type:data rom:0x521B34 +b_area_omo_spy_guy_ActorParts_80227564 = 0x80227564; // type:data rom:0x521B34 b_area_omo_spy_guy = 0x802275AC; // type:data rom:0x521B7C b_area_omo_spy_guy_init_802275D4 = 0x802275D4; // type:data rom:0x521BA4 b_area_omo_spy_guy_idle_802276C4 = 0x802276C4; // type:data rom:0x521C94 @@ -11772,7 +11772,7 @@ b_area_omo_sky_guy_DefenseTable_802295FC = 0x802295FC; // type:data rom:0x523BCC b_area_omo_sky_guy_DefenseTable_80229610 = 0x80229610; // type:data rom:0x523BE0 b_area_omo_sky_guy_StatusTable_80229624 = 0x80229624; // type:data rom:0x523BF4 b_area_omo_sky_guy_StatusTable_802296D0 = 0x802296D0; // type:data rom:0x523CA0 -b_area_omo_sky_guy_PartsTable_8022977C = 0x8022977C; // type:data rom:0x523D4C +b_area_omo_sky_guy_ActorParts_8022977C = 0x8022977C; // type:data rom:0x523D4C b_area_omo_sky_guy = 0x80229854; // type:data rom:0x523E24 b_area_omo_sky_guy_init_8022987C = 0x8022987C; // type:data rom:0x523E4C b_area_omo_sky_guy_idle_80229A24 = 0x80229A24; // type:data rom:0x523FF4 @@ -11793,7 +11793,7 @@ b_area_omo_sky_guy_takeTurn_8022CA9C = 0x8022CA9C; // type:data rom:0x52706C b_area_omo_pyro_guy_IdleAnimations_8022CB00 = 0x8022CB00; // type:data rom:0x5270D0 b_area_omo_pyro_guy_DefenseTable_8022CB4C = 0x8022CB4C; // type:data rom:0x52711C b_area_omo_pyro_guy_StatusTable_8022CB88 = 0x8022CB88; // type:data rom:0x527158 -b_area_omo_pyro_guy_PartsTable_8022CC34 = 0x8022CC34; // type:data rom:0x527204 +b_area_omo_pyro_guy_ActorParts_8022CC34 = 0x8022CC34; // type:data rom:0x527204 b_area_omo_pyro_guy = 0x8022CC58; // type:data rom:0x527228 b_area_omo_pyro_guy_init_8022CC80 = 0x8022CC80; // type:data rom:0x527250 b_area_omo_pyro_guy_idle_8022CCCC = 0x8022CCCC; // type:data rom:0x52729C @@ -11828,7 +11828,7 @@ b_area_omo_omo_04_intTable_8022DEF4 = 0x8022DEF4; // type:data rom:0x5284C4 b_area_omo_omo_04_intTable_8022DF14 = 0x8022DF14; // type:data rom:0x5284E4 b_area_omo_omo_04_DefenseTable_8022DF34 = 0x8022DF34; // type:data rom:0x528504 b_area_omo_omo_04_StatusTable_8022DF40 = 0x8022DF40; // type:data rom:0x528510 -b_area_omo_omo_04_PartsTable_8022DFEC = 0x8022DFEC; // type:data rom:0x5285BC +b_area_omo_omo_04_ActorParts_8022DFEC = 0x8022DFEC; // type:data rom:0x5285BC b_area_omo_omo_04_slot_machine_stop = 0x8022E010; // type:data rom:0x5285E0 b_area_omo_omo_04_slot_machine_start = 0x8022E038; // type:data rom:0x528608 b_area_omo_omo_04_init_8022E060 = 0x8022E060; // type:data rom:0x528630 @@ -11906,7 +11906,7 @@ func_802181F4_52B894 = 0x802181F4; // type:func rom:0x52B894 func_80218250_52B8F0 = 0x80218250; // type:func rom:0x52B8F0 b_area_omo2_general_guy_DefenseTable = 0x80218330; // type:data rom:0x52B9D0 b_area_omo2_general_guy_StatusTable = 0x8021833C; // type:data rom:0x52B9DC -b_area_omo2_general_guy_parts = 0x802183E8; // type:data rom:0x52BA88 +b_area_omo2_general_guy_ActorParts = 0x802183E8; // type:data rom:0x52BA88 b_area_omo2_general_guy = 0x80218430; // type:data rom:0x52BAD0 b_area_omo2_general_guy_IdleAnimations = 0x80218458; // type:data rom:0x52BAF8 b_area_omo2_general_guy_IdleAnimations_bomb = 0x802184B4; // type:data rom:0x52BB54 @@ -11955,7 +11955,7 @@ toy_tank_as_7 = 0x8022AE48; // type:data rom:0x53E4E8 toy_tank_as_idle = 0x8022C55C; // type:data rom:0x53FBFC b_area_omo2_toy_tank_DefenseTable = 0x8022C838; // type:data rom:0x53FED8 b_area_omo2_toy_tank_StatusTable = 0x8022C844; // type:data rom:0x53FEE4 -b_area_omo2_toy_tank_parts = 0x8022C8F0; // type:data rom:0x53FF90 +b_area_omo2_toy_tank_ActorParts = 0x8022C8F0; // type:data rom:0x53FF90 b_area_omo2_toy_tank = 0x8022C95C; // type:data rom:0x53FFFC b_area_omo2_toy_tank_init = 0x8022C984; // type:data rom:0x540024 b_area_omo2_toy_tank_idle = 0x8022CC38; // type:data rom:0x5402D8 @@ -11983,7 +11983,7 @@ b_area_omo2_toy_tank_formation_shy_stack_2 = 0x8022F5C4; // type:data rom:0x542C b_area_omo2_toy_tank_formation_shy_squad_dup = 0x8022F5E0; // type:data rom:0x542C80 b_area_omo2_light_bulb_DefenseTable = 0x8022F600; // type:data rom:0x542CA0 b_area_omo2_light_bulb_StatusTable = 0x8022F614; // type:data rom:0x542CB4 -b_area_omo2_light_bulb_parts = 0x8022F6C0; // type:data rom:0x542D60 +b_area_omo2_light_bulb_ActorParts = 0x8022F6C0; // type:data rom:0x542D60 b_area_omo2_light_bulb = 0x8022F6E4; // type:data rom:0x542D84 b_area_omo2_light_bulb_init = 0x8022F70C; // type:data rom:0x542DAC b_area_omo2_light_bulb_idle = 0x8022F774; // type:data rom:0x542E14 @@ -12001,7 +12001,7 @@ b_area_omo2_Stages = 0x8022FC1C; // type:data rom:0x5432BC b_area_omo2_1_shy_squad_GetActorPartSize = 0x80231000; // type:func rom:0x543570 b_area_omo2_1_shy_squad_DefenseTable = 0x802310B0; // type:data rom:0x543620 b_area_omo2_1_shy_squad_StatusTable = 0x802310BC; // type:data rom:0x54362C -b_area_omo2_1_shy_squad_parts = 0x80231168; // type:data rom:0x5436D8 +b_area_omo2_1_shy_squad_ActorParts = 0x80231168; // type:data rom:0x5436D8 b_area_omo2_1_shy_squad = 0x802313A8; // type:data rom:0x543918 b_area_omo2_1_shy_squad_IdleAnimations = 0x802313D0; // type:data rom:0x543940 b_area_omo2_1_shy_squad_init = 0x8023142C; // type:data rom:0x54399C @@ -12025,14 +12025,14 @@ b_area_omo2_1_shy_squad_next_phase = 0x80235D64; // type:data rom:0x5482D4 b_area_omo2_1_shy_squad_updateActorSize = 0x80235D9C; // type:data rom:0x54830C b_area_omo2_2_stilt_guy_GetSelectedMoveID = 0x80231000; // type:func rom:0x5483E0 SetActorLevelToZero = 0x8023102C; // type:func rom:0x54840C -b_area_omo2_2_stilt_guy_UnkBattleFunc1 = 0x80231054; // type:func rom:0x548434 +b_area_omo2_2_stilt_guy_SetAbsoluteStatusOffsets = 0x80231054; // type:func rom:0x548434 b_area_omo2_2_stilt_guy_IdleAnimations2 = 0x80231120; // type:data rom:0x548500 b_area_omo2_2_stilt_guy_IdleAnimations3 = 0x80231174; // type:data rom:0x548554 b_area_omo2_2_stilt_guy_defenseTable2 = 0x80231180; // type:data rom:0x548560 b_area_omo2_2_stilt_guy_DefenseTable = 0x8023118C; // type:data rom:0x54856C b_area_omo2_2_stilt_guy_StatusTable = 0x802311A0; // type:data rom:0x548580 b_area_omo2_2_stilt_guy_statusTable2 = 0x8023124C; // type:data rom:0x54862C -b_area_omo2_2_stilt_guy_parts = 0x802312F8; // type:data rom:0x5486D8 +b_area_omo2_2_stilt_guy_ActorParts = 0x802312F8; // type:data rom:0x5486D8 b_area_omo2_2_stilt_guy = 0x80231418; // type:data rom:0x5487F8 b_area_omo2_2_stilt_guy_init = 0x80231440; // type:data rom:0x548820 b_area_omo2_2_stilt_guy_idle = 0x802322D0; // type:data rom:0x5496B0 @@ -12057,7 +12057,7 @@ b_area_omo2_2_stilt_guy_shy_guy_takeTurn = 0x80235830; // type:data rom:0x54CC10 func_80231000_54CC70 = 0x80231000; // type:func rom:0x54CC70 b_area_omo2_3_shy_stack_DefenseTable = 0x80231030; // type:data rom:0x54CCA0 b_area_omo2_3_shy_stack_StatusTable = 0x8023103C; // type:data rom:0x54CCAC -b_area_omo2_3_shy_stack_parts = 0x802310E8; // type:data rom:0x54CD58 +b_area_omo2_3_shy_stack_ActorParts = 0x802310E8; // type:data rom:0x54CD58 b_area_omo2_3_shy_stack = 0x802312E0; // type:data rom:0x54CF50 b_area_omo2_3_shy_stack_IdleAnimations = 0x80231308; // type:data rom:0x54CF78 b_area_omo2_3_shy_stack_IdleAnimations2 = 0x80231364; // type:data rom:0x54CFD4 @@ -12082,7 +12082,7 @@ b_area_omo2_3_shy_stack_onDeath = 0x80236468; // type:data rom:0x5520D8 b_area_omo2_3_shy_stack_onSpinSmashLaunchDeath = 0x80236518; // type:data rom:0x552188 b_area_omo2_4_signal_guy_DefenseTable = 0x80231000; // type:data rom:0x552440 b_area_omo2_4_signal_guy_StatusTable = 0x8023100C; // type:data rom:0x55244C -b_area_omo2_4_signal_guy_parts = 0x802310B8; // type:data rom:0x5524F8 +b_area_omo2_4_signal_guy_ActorParts = 0x802310B8; // type:data rom:0x5524F8 b_area_omo2_4_signal_guy = 0x802310DC; // type:data rom:0x55251C b_area_omo2_4_signal_guy_IdleAnimations = 0x80231104; // type:data rom:0x552544 b_area_omo2_4_signal_guy_init = 0x80231110; // type:data rom:0x552550 @@ -12091,7 +12091,7 @@ b_area_omo2_4_signal_guy_handleEvent = 0x802312D0; // type:data rom:0x552710 b_area_omo2_4_signal_guy_takeTurn = 0x80231754; // type:data rom:0x552B94 b_area_omo2_5_shy_squad_dup_DefenseTable = 0x80231000; // type:data rom:0x552BB0 b_area_omo2_5_shy_squad_dup_StatusTable = 0x8023100C; // type:data rom:0x552BBC -b_area_omo2_5_shy_squad_dup_parts = 0x802310B8; // type:data rom:0x552C68 +b_area_omo2_5_shy_squad_dup_ActorParts = 0x802310B8; // type:data rom:0x552C68 b_area_omo2_5_shy_squad_dup = 0x802312F8; // type:data rom:0x552EA8 b_area_omo2_5_shy_squad_dup_IdleAnimations = 0x80231320; // type:data rom:0x552ED0 b_area_omo2_5_shy_squad_dup_IdleAnimations_watt = 0x80231334; // type:data rom:0x552EE4 @@ -12115,7 +12115,7 @@ b_area_omo2_5_shy_squad_dup_attack = 0x80234624; // type:data rom:0x5561D4 b_area_omo2_5_shy_squad_dup_run_squad_to_pos = 0x80234EC4; // type:data rom:0x556A74 b_area_omo2_6_shy_guy_dup_DefenseTable = 0x80231000; // type:data rom:0x556C90 b_area_omo2_6_shy_guy_dup_StatusTable = 0x8023100C; // type:data rom:0x556C9C -b_area_omo2_6_shy_guy_dup_parts = 0x802310B8; // type:data rom:0x556D48 +b_area_omo2_6_shy_guy_dup_ActorParts = 0x802310B8; // type:data rom:0x556D48 b_area_omo2_6_shy_guy_dup = 0x802311FC; // type:data rom:0x556E8C b_area_omo2_6_shy_guy_dup_IdleAnimations = 0x80231224; // type:data rom:0x556EB4 b_area_omo2_6_shy_guy_dup_init = 0x80231280; // type:data rom:0x556F10 @@ -12133,11 +12133,11 @@ b_area_omo3_ArcsinDeg = 0x802186F0; // type:func rom:0x557AD0 b_area_omo3_CalculateRotationZ = 0x8021887C; // type:func rom:0x557C5C b_area_omo3_SpawnDrainHealthStartFX = 0x80218970; // type:func rom:0x557D50 b_area_omo3_SpawnDrainHealthContinueFX = 0x80218A24; // type:func rom:0x557E04 -b_area_omo3_UnkBattleFunc1 = 0x80218AE0; // type:func rom:0x557EC0 -dup_b_area_omo3_UnkBattleFunc1 = 0x80218BB0; // type:func rom:0x557F90 +b_area_omo3_SetAbsoluteStatusOffsets = 0x80218AE0; // type:func rom:0x557EC0 +dup_b_area_omo3_SetAbsoluteStatusOffsets = 0x80218BB0; // type:func rom:0x557F90 b_area_omo3_StartRumbleWithParams = 0x80218C7C; // type:func rom:0x55805C -dup2_b_area_omo3_UnkBattleFunc1 = 0x80218CE0; // type:func rom:0x5580C0 -b_area_kgr_fuzzipede_UnkBattleFunc1 = 0x80218000; // type:func rom:0x56E2A0 +dup2_b_area_omo3_SetAbsoluteStatusOffsets = 0x80218CE0; // type:func rom:0x5580C0 +b_area_kgr_fuzzipede_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x56E2A0 b_area_kgr_fuzzipede_ItemEntityJumpToPos = 0x802180CC; // type:func rom:0x56E36C b_area_kgr_fuzzipede_DisableRandomAbility = 0x802182E4; // type:func rom:0x56E584 b_area_kgr_fuzzipede_StartRumbleWithParams = 0x802184A0; // type:func rom:0x56E740 @@ -12147,7 +12147,7 @@ b_area_kgr_fuzzipede_IdleAnimations_802189B0 = 0x802189B0; // type:data rom:0x56 b_area_kgr_fuzzipede_IdleAnimations_802189FC = 0x802189FC; // type:data rom:0x56EC9C b_area_kgr_fuzzipede_DefenseTable_80218A48 = 0x80218A48; // type:data rom:0x56ECE8 b_area_kgr_fuzzipede_StatusTable_80218A54 = 0x80218A54; // type:data rom:0x56ECF4 -b_area_kgr_fuzzipede_PartsTable_80218B00 = 0x80218B00; // type:data rom:0x56EDA0 +b_area_kgr_fuzzipede_ActorParts = 0x80218B00; // type:data rom:0x56EDA0 b_area_kgr_fuzzipede = 0x80218B48; // type:data rom:0x56EDE8 b_area_kgr_fuzzipede_init_80218B70 = 0x80218B70; // type:data rom:0x56EE10 b_area_kgr_fuzzipede_nextTurn_80218C58 = 0x80218C58; // type:data rom:0x56EEF8 @@ -12181,13 +12181,13 @@ b_area_kgr_kgr_01 = 0x8021D5B4; // type:data rom:0x573854 b_area_kgr_Formation_00 = 0x8021D5E0; // type:data rom:0x573880 b_area_kgr_Formations = 0x8021D5FC; // type:data rom:0x57389C b_area_kgr_Stages = 0x8021D624; // type:data rom:0x5738C4 -b_area_jan_spear_guy_UnkBattleFunc1 = 0x80218000; // type:func rom:0x573920 -b_area_jan_hurt_plant_UnkBattleFunc1 = 0x802180D0; // type:func rom:0x5739F0 +b_area_jan_spear_guy_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x573920 +b_area_jan_hurt_plant_SetAbsoluteStatusOffsets = 0x802180D0; // type:func rom:0x5739F0 b_area_jan_jungle_fuzzy_SpawnDrainHealthStartFX = 0x802181A0; // type:func rom:0x573AC0 b_area_jan_jungle_fuzzy_SpawnDrainHealthContinueFX = 0x80218254; // type:func rom:0x573B74 -b_area_jan_medi_guy_UnkBattleFunc1 = 0x80218310; // type:func rom:0x573C30 +b_area_jan_medi_guy_SetAbsoluteStatusOffsets = 0x80218310; // type:func rom:0x573C30 b_area_jan_medi_guy_MediGuySpriteRotationFunc = 0x802183DC; // type:func rom:0x573CFC -b_area_jan_spike_top_UnkBattleFunc1 = 0x802184F0; // type:func rom:0x573E10 +b_area_jan_spike_top_SetAbsoluteStatusOffsets = 0x802184F0; // type:func rom:0x573E10 b_area_jan_spear_guy_IdleAnimations_802185C0 = 0x802185C0; // type:data rom:0x573EE0 b_area_jan_spear_guy_IdleAnimations_8021860C = 0x8021860C; // type:data rom:0x573F2C b_area_jan_spear_guy_IdleAnimations_80218658 = 0x80218658; // type:data rom:0x573F78 @@ -12196,7 +12196,7 @@ b_area_jan_spear_guy_DefenseTable_80218670 = 0x80218670; // type:data rom:0x573F b_area_jan_spear_guy_DefenseTable_80218684 = 0x80218684; // type:data rom:0x573FA4 b_area_jan_spear_guy_StatusTable_80218698 = 0x80218698; // type:data rom:0x573FB8 b_area_jan_spear_guy_StatusTable_80218744 = 0x80218744; // type:data rom:0x574064 -b_area_jan_spear_guy_PartsTable_802187F0 = 0x802187F0; // type:data rom:0x574110 +b_area_jan_spear_guy_ActorParts = 0x802187F0; // type:data rom:0x574110 b_area_jan_spear_guy = 0x80218880; // type:data rom:0x5741A0 b_area_jan_spear_guy_setSpearStance = 0x802188A8; // type:data rom:0x5741C8 b_area_jan_spear_guy_init_80218980 = 0x80218980; // type:data rom:0x5742A0 @@ -12227,7 +12227,7 @@ b_area_jan_spear_guy_takeTurn_8021D8D8 = 0x8021D8D8; // type:data rom:0x5791F8 b_area_jan_hurt_plant_IdleAnimations_8021D940 = 0x8021D940; // type:data rom:0x579260 b_area_jan_hurt_plant_DefenseTable_8021D98C = 0x8021D98C; // type:data rom:0x5792AC b_area_jan_hurt_plant_StatusTable_8021D9A0 = 0x8021D9A0; // type:data rom:0x5792C0 -b_area_jan_hurt_plant_PartsTable_8021DA4C = 0x8021DA4C; // type:data rom:0x57936C +b_area_jan_hurt_plant_ActorParts = 0x8021DA4C; // type:data rom:0x57936C b_area_jan_hurt_plant = 0x8021DA70; // type:data rom:0x579390 b_area_jan_hurt_plant_init_8021DA98 = 0x8021DA98; // type:data rom:0x5793B8 b_area_jan_hurt_plant_idle_8021DAE4 = 0x8021DAE4; // type:data rom:0x579404 @@ -12236,7 +12236,7 @@ b_area_jan_hurt_plant_handleEvent_8021DCF4 = 0x8021DCF4; // type:data rom:0x5796 b_area_jan_hurt_plant_takeTurn_8021E33C = 0x8021E33C; // type:data rom:0x579C5C b_area_jan_jungle_fuzzy_DefenseTable_8021E9D0 = 0x8021E9D0; // type:data rom:0x57A2F0 b_area_jan_jungle_fuzzy_StatusTable_8021E9E4 = 0x8021E9E4; // type:data rom:0x57A304 -b_area_jan_jungle_fuzzy_PartsTable_8021EA90 = 0x8021EA90; // type:data rom:0x57A3B0 +b_area_jan_jungle_fuzzy_ActorParts = 0x8021EA90; // type:data rom:0x57A3B0 b_area_jan_jungle_fuzzy = 0x8021EAB4; // type:data rom:0x57A3D4 b_area_jan_jungle_fuzzy_IdleAnimations_8021EADC = 0x8021EADC; // type:data rom:0x57A3FC b_area_jan_jungle_fuzzy_init_8021EB28 = 0x8021EB28; // type:data rom:0x57A448 @@ -12252,7 +12252,7 @@ b_area_jan_jungle_fuzzy_specialFormation_8022180C = 0x8022180C; // type:data rom b_area_jan_m_bush_IdleAnimations_80221830 = 0x80221830; // type:data rom:0x57D150 b_area_jan_m_bush_DefenseTable_8022187C = 0x8022187C; // type:data rom:0x57D19C b_area_jan_m_bush_StatusTable_80221890 = 0x80221890; // type:data rom:0x57D1B0 -b_area_jan_m_bush_PartsTable_8022193C = 0x8022193C; // type:data rom:0x57D25C +b_area_jan_m_bush_ActorParts_8022193C = 0x8022193C; // type:data rom:0x57D25C b_area_jan_m_bush = 0x80221960; // type:data rom:0x57D280 b_area_jan_m_bush_init_80221988 = 0x80221988; // type:data rom:0x57D2A8 b_area_jan_m_bush_idle_802219D4 = 0x802219D4; // type:data rom:0x57D2F4 @@ -12262,7 +12262,7 @@ b_area_jan_m_bush_takeTurn_80221F78 = 0x80221F78; // type:data rom:0x57D898 b_area_jan_medi_guy_IdleAnimations_8021F890 = 0x80222550; // type:data rom:0x57DE70 b_area_jan_medi_guy_DefenseTable_8021F8DC = 0x8022259C; // type:data rom:0x57DEBC b_area_jan_medi_guy_StatusTable_8021F8F0 = 0x802225B0; // type:data rom:0x57DED0 -b_area_jan_medi_guy_PartsTable_8021F99C = 0x8022265C; // type:data rom:0x57DF7C +b_area_jan_medi_guy_ActorParts = 0x8022265C; // type:data rom:0x57DF7C b_area_jan_medi_guy = 0x80222680; // type:data rom:0x57DFA0 b_area_jan_medi_guy_init_8021F9E8 = 0x802226A8; // type:data rom:0x57DFC8 b_area_jan_medi_guy_idle_8021FA8C = 0x8022274C; // type:data rom:0x57E06C @@ -12275,7 +12275,7 @@ b_area_jan_medi_guy_takeTurn_80220DCC = 0x80223A8C; // type:data rom:0x57F3AC b_area_jan_spike_top_DefenseTable_8021C8B0 = 0x80223B20; // type:data rom:0x57F440 b_area_jan_spike_top_DefenseTable_8021C8CC = 0x80223B3C; // type:data rom:0x57F45C b_area_jan_spike_top_StatusTable_8021C8D8 = 0x80223B48; // type:data rom:0x57F468 -b_area_jan_spike_top_PartsTable_8021C984 = 0x80223BF4; // type:data rom:0x57F514 +b_area_jan_spike_top_ActorParts = 0x80223BF4; // type:data rom:0x57F514 b_area_jan_spike_top = 0x80223C18; // type:data rom:0x57F538 b_area_jan_spike_top_IdleAnimations_8021C9D0 = 0x80223C40; // type:data rom:0x57F560 b_area_jan_spike_top_IdleAnimations_8021CA1C = 0x80223C8C; // type:data rom:0x57F5AC @@ -12345,11 +12345,11 @@ b_area_jan_Formation_0F = 0x80228A34; // type:data rom:0x584354 b_area_jan_Formation_10 = 0x80228A88; // type:data rom:0x5843A8 b_area_jan_Formations = 0x80228AF8; // type:data rom:0x584418 b_area_jan_Stages = 0x80228C60; // type:data rom:0x584580 -b_area_jan2_putrid_piranha_UnkBattleFunc1 = 0x80218000; // type:func rom:0x584940 +b_area_jan2_putrid_piranha_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x584940 b_area_jan2_putrid_piranha_UnkEffect6FFunc = 0x802180CC; // type:func rom:0x584A0C b_area_jan2_white_magikoopa_ShrinkActor = 0x80218250; // type:func rom:0x584B90 b_area_jan2_white_magikoopa_GetSelectedMoveID = 0x802183A8; // type:func rom:0x584CE8 -b_area_jan2_white_magikoopa_UnkBattleFunc1 = 0x802183D4; // type:func rom:0x584D14 +b_area_jan2_white_magikoopa_SetAbsoluteStatusOffsets = 0x802183D4; // type:func rom:0x584D14 b_area_jan2_white_magikoopa_StartRumbleWithParams = 0x802184A0; // type:func rom:0x584DE0 b_area_jan2_white_magikoopa_UnkFunc52 = 0x802184F8; // type:func rom:0x584E38 b_area_jan2_white_magikoopa_GetBootsHammerLevel = 0x802185BC; // type:func rom:0x584EFC @@ -12357,7 +12357,7 @@ b_area_jan2_white_magikoopa_UnkBattleFunc5 = 0x8021861C; // type:func rom:0x584F b_area_jan2_putrid_piranha_IdleAnimations_8021B0A0 = 0x802186C0; // type:data rom:0x585000 b_area_jan2_putrid_piranha_DefenseTable_8021B0EC = 0x8021870C; // type:data rom:0x58504C b_area_jan2_putrid_piranha_StatusTable_8021B100 = 0x80218720; // type:data rom:0x585060 -b_area_jan2_putrid_piranha_PartsTable_8021B1AC = 0x802187CC; // type:data rom:0x58510C +b_area_jan2_putrid_piranha_ActorParts = 0x802187CC; // type:data rom:0x58510C b_area_jan2_putrid_piranha = 0x802187F0; // type:data rom:0x585130 b_area_jan2_putrid_piranha_init_8021B1F8 = 0x80218818; // type:data rom:0x585158 b_area_jan2_putrid_piranha_idle_8021B244 = 0x80218864; // type:data rom:0x5851A4 @@ -12368,10 +12368,10 @@ b_area_jan2_putrid_piranha_bite = 0x80218F60; // type:data rom:0x5858A0 b_area_jan2_putrid_piranha_breath = 0x80219908; // type:data rom:0x586248 b_area_jan2_white_magikoopa_DefenseTable_80223B20 = 0x80219ED0; // type:data rom:0x586810 b_area_jan2_white_magikoopa_DefenseTable_80223B2C = 0x80219EDC; // type:data rom:0x58681C -b_area_jan2_white_magikoopa_StatusTable_80223B38 = 0x80219EE8; // type:data rom:0x586828 -b_area_jan2_white_magikoopa_StatusTable_80223BE4 = 0x80219F94; // type:data rom:0x5868D4 -b_area_jan2_white_magikoopa_PartsTable_80223C90 = 0x8021A040; // type:data rom:0x586980 -b_area_jan2_white_magikoopa_PartsTable_80223CB4 = 0x8021A064; // type:data rom:0x5869A4 +b_area_jan2_white_magikoopa_StatusTable_Ground = 0x80219EE8; // type:data rom:0x586828 +b_area_jan2_white_magikoopa_StatusTable_Flying = 0x80219F94; // type:data rom:0x5868D4 +b_area_jan2_white_magikoopa_GroundParts = 0x8021A040; // type:data rom:0x586980 +b_area_jan2_white_magikoopa_FlyingParts = 0x8021A064; // type:data rom:0x5869A4 b_area_jan2_white_magikoopa = 0x8021A0D0; // type:data rom:0x586A10 b_area_jan2_white_magikoopa_flying = 0x8021A0F8; // type:data rom:0x586A38 b_area_jan2_white_magikoopa_IdleAnimations_80223D70 = 0x8021A120; // type:data rom:0x586A60 @@ -12385,8 +12385,8 @@ b_area_jan2_white_magikoopa_handleEvent_80224A44 = 0x8021ADF4; // type:data rom: b_area_jan2_white_magikoopa_wMagikoopa_ShapeSpell = 0x8021B458; // type:data rom:0x587D98 b_area_jan2_white_magikoopa_wMagikoopa_WandStrike = 0x8021BA74; // type:data rom:0x5883B4 b_area_jan2_white_magikoopa_run_away = 0x8021C0E4; // type:data rom:0x588A24 -b_area_jan2_white_magikoopa_init_80225F58 = 0x8021C308; // type:data rom:0x588C48 -b_area_jan2_white_magikoopa_init_80225FBC = 0x8021C36C; // type:data rom:0x588CAC +b_area_jan2_white_magikoopa_EVS_Init_Ground = 0x8021C308; // type:data rom:0x588C48 +b_area_jan2_white_magikoopa_EVS_Init_Flying = 0x8021C36C; // type:data rom:0x588CAC b_area_jan2_white_magikoopa_healOne = 0x8021C3D0; // type:data rom:0x588D10 b_area_jan2_white_magikoopa_healAll = 0x8021D1CC; // type:data rom:0x589B0C b_area_jan2_white_magikoopa_takeTurn_802274E4 = 0x8021D894; // type:data rom:0x58A1D4 @@ -12434,26 +12434,26 @@ b_area_jan2_Formation_03 = 0x8021F658; // type:data rom:0x58BF98 b_area_jan2_Formations = 0x8021F6C8; // type:data rom:0x58C008 b_area_jan2_Stages = 0x8021F72C; // type:data rom:0x58C06C b_area_kzn_lava_bubble_UnkSfxFunc = 0x80218000; // type:func rom:0x58C2F0 -b_area_kzn_putrid_piranha_UnkBattleFunc1 = 0x80218130; // type:func rom:0x58C420 +b_area_kzn_putrid_piranha_SetAbsoluteStatusOffsets = 0x80218130; // type:func rom:0x58C420 b_area_kzn_putrid_piranha_UnkEffect6FFunc = 0x802181FC; // type:func rom:0x58C4EC -b_area_kzn_spike_top_UnkBattleFunc1 = 0x80218380; // type:func rom:0x58C670 -b_area_kzn_medi_guy_UnkBattleFunc1 = 0x80218450; // type:func rom:0x58C740 +b_area_kzn_spike_top_SetAbsoluteStatusOffsets = 0x80218380; // type:func rom:0x58C670 +b_area_kzn_medi_guy_SetAbsoluteStatusOffsets = 0x80218450; // type:func rom:0x58C740 b_area_kzn_medi_guy_MediGuySpriteRotationFunc = 0x8021851C; // type:func rom:0x58C80C b_area_kzn_red_magikoopa_ShrinkActor = 0x80218630; // type:func rom:0x58C920 b_area_kzn_red_magikoopa_GetSelectedMoveID = 0x80218788; // type:func rom:0x58CA78 -b_area_kzn_red_magikoopa_UnkBattleFunc1 = 0x802187B4; // type:func rom:0x58CAA4 +b_area_kzn_red_magikoopa_SetAbsoluteStatusOffsets = 0x802187B4; // type:func rom:0x58CAA4 b_area_kzn_red_magikoopa_StartRumbleWithParams = 0x80218880; // type:func rom:0x58CB70 b_area_kzn_red_magikoopa_UnkFunc52 = 0x802188D8; // type:func rom:0x58CBC8 b_area_kzn_white_magikoopa_ShrinkActor = 0x802189A0; // type:func rom:0x58CC90 b_area_kzn_white_magikoopa_GetSelectedMoveID = 0x80218AF8; // type:func rom:0x58CDE8 -b_area_kzn_white_magikoopa_UnkBattleFunc1 = 0x80218B24; // type:func rom:0x58CE14 +b_area_kzn_white_magikoopa_SetAbsoluteStatusOffsets = 0x80218B24; // type:func rom:0x58CE14 b_area_kzn_white_magikoopa_StartRumbleWithParams = 0x80218BF0; // type:func rom:0x58CEE0 b_area_kzn_white_magikoopa_UnkFunc52 = 0x80218C48; // type:func rom:0x58CF38 b_area_kzn_white_magikoopa_GetBootsHammerLevel = 0x80218D0C; // type:func rom:0x58CFFC b_area_kzn_white_magikoopa_UnkBattleFunc5 = 0x80218D6C; // type:func rom:0x58D05C b_area_kzn_lava_bubble_DefenseTable_80218E10 = 0x80218E10; // type:data rom:0x58D100 b_area_kzn_lava_bubble_StatusTable_80218E3C = 0x80218E3C; // type:data rom:0x58D12C -b_area_kzn_lava_bubble_PartsTable_80218EE8 = 0x80218EE8; // type:data rom:0x58D1D8 +b_area_kzn_lava_bubble_ActorParts = 0x80218EE8; // type:data rom:0x58D1D8 b_area_kzn_lava_bubble = 0x80218F9C; // type:data rom:0x58D28C b_area_kzn_lava_bubble_IdleAnimations_80218FC4 = 0x80218FC4; // type:data rom:0x58D2B4 b_area_kzn_lava_bubble_IdleAnimations_80219010 = 0x80219010; // type:data rom:0x58D300 @@ -12470,7 +12470,7 @@ b_area_kzn_lava_bubble_takeTurn_8021AEA4 = 0x8021AEA4; // type:data rom:0x58F194 b_area_kzn_putrid_piranha_IdleAnimations_8021B0A0 = 0x8021B0A0; // type:data rom:0x58F390 b_area_kzn_putrid_piranha_DefenseTable_8021B0EC = 0x8021B0EC; // type:data rom:0x58F3DC b_area_kzn_putrid_piranha_StatusTable_8021B100 = 0x8021B100; // type:data rom:0x58F3F0 -b_area_kzn_putrid_piranha_PartsTable_8021B1AC = 0x8021B1AC; // type:data rom:0x58F49C +b_area_kzn_putrid_piranha_ActorParts = 0x8021B1AC; // type:data rom:0x58F49C b_area_kzn_putrid_piranha = 0x8021B1D0; // type:data rom:0x58F4C0 b_area_kzn_putrid_piranha_init_8021B1F8 = 0x8021B1F8; // type:data rom:0x58F4E8 b_area_kzn_putrid_piranha_idle_8021B244 = 0x8021B244; // type:data rom:0x58F534 @@ -12482,7 +12482,7 @@ b_area_kzn_putrid_piranha_breath = 0x8021C2E8; // type:data rom:0x5905D8 b_area_kzn_spike_top_DefenseTable_8021C8B0 = 0x8021C8B0; // type:data rom:0x590BA0 b_area_kzn_spike_top_DefenseTable_8021C8CC = 0x8021C8CC; // type:data rom:0x590BBC b_area_kzn_spike_top_StatusTable_8021C8D8 = 0x8021C8D8; // type:data rom:0x590BC8 -b_area_kzn_spike_top_PartsTable_8021C984 = 0x8021C984; // type:data rom:0x590C74 +b_area_kzn_spike_top_ActorParts = 0x8021C984; // type:data rom:0x590C74 b_area_kzn_spike_top = 0x8021C9A8; // type:data rom:0x590C98 b_area_kzn_spike_top_IdleAnimations_8021C9D0 = 0x8021C9D0; // type:data rom:0x590CC0 b_area_kzn_spike_top_IdleAnimations_8021CA1C = 0x8021CA1C; // type:data rom:0x590D0C @@ -12499,7 +12499,7 @@ b_area_kzn_spike_top_spikeTop_TakeTurn_Floor = 0x8021EE6C; // type:data rom:0x59 b_area_kzn_medi_guy_IdleAnimations_8021F890 = 0x8021F890; // type:data rom:0x593B80 b_area_kzn_medi_guy_DefenseTable_8021F8DC = 0x8021F8DC; // type:data rom:0x593BCC b_area_kzn_medi_guy_StatusTable_8021F8F0 = 0x8021F8F0; // type:data rom:0x593BE0 -b_area_kzn_medi_guy_PartsTable_8021F99C = 0x8021F99C; // type:data rom:0x593C8C +b_area_kzn_medi_guy_ActorParts = 0x8021F99C; // type:data rom:0x593C8C b_area_kzn_medi_guy = 0x8021F9C0; // type:data rom:0x593CB0 b_area_kzn_medi_guy_init_8021F9E8 = 0x8021F9E8; // type:data rom:0x593CD8 b_area_kzn_medi_guy_idle_8021FA8C = 0x8021FA8C; // type:data rom:0x593D7C @@ -12513,7 +12513,7 @@ b_area_kzn_red_magikoopa_8022C120 = 0x80220E60; // type:data rom:0x595150 b_area_kzn_red_magikoopa_8022C12C = 0x80220E6C; // type:data rom:0x59515C b_area_kzn_red_magikoopa_8022C138 = 0x80220E78; // type:data rom:0x595168 b_area_kzn_red_magikoopa_8022C1E4 = 0x80220F24; // type:data rom:0x595214 -b_area_kzn_red_magikoopa_parts = 0x80220FD0; // type:data rom:0x5952C0 +b_area_kzn_red_magikoopa_ActorParts = 0x80220FD0; // type:data rom:0x5952C0 b_area_kzn_red_magikoopa_8022C2B4 = 0x80220FF4; // type:data rom:0x5952E4 b_area_kzn_red_magikoopa = 0x80221060; // type:data rom:0x595350 b_area_kzn_red_magikoopa_flying = 0x80221088; // type:data rom:0x595378 @@ -12533,10 +12533,10 @@ b_area_kzn_red_magikoopa_8022E5FC = 0x8022333C; // type:data rom:0x59762C b_area_kzn_red_magikoopa_8022E6A0 = 0x802233E0; // type:data rom:0x5976D0 b_area_kzn_white_magikoopa_DefenseTable_80223B20 = 0x80223B20; // type:data rom:0x597E10 b_area_kzn_white_magikoopa_DefenseTable_80223B2C = 0x80223B2C; // type:data rom:0x597E1C -b_area_kzn_white_magikoopa_StatusTable_80223B38 = 0x80223B38; // type:data rom:0x597E28 -b_area_kzn_white_magikoopa_StatusTable_80223BE4 = 0x80223BE4; // type:data rom:0x597ED4 -b_area_kzn_white_magikoopa_PartsTable_80223C90 = 0x80223C90; // type:data rom:0x597F80 -b_area_kzn_white_magikoopa_PartsTable_80223CB4 = 0x80223CB4; // type:data rom:0x597FA4 +b_area_kzn_white_magikoopa_StatusTable_Ground = 0x80223B38; // type:data rom:0x597E28 +b_area_kzn_white_magikoopa_StatusTable_Flying = 0x80223BE4; // type:data rom:0x597ED4 +b_area_kzn_white_magikoopa_GroundParts = 0x80223C90; // type:data rom:0x597F80 +b_area_kzn_white_magikoopa_FlyingParts = 0x80223CB4; // type:data rom:0x597FA4 b_area_kzn_white_magikoopa = 0x80223D20; // type:data rom:0x598010 b_area_kzn_white_magikoopa_flying = 0x80223D48; // type:data rom:0x598038 b_area_kzn_white_magikoopa_IdleAnimations_80223D70 = 0x80223D70; // type:data rom:0x598060 @@ -12550,8 +12550,8 @@ b_area_kzn_white_magikoopa_handleEvent_80224A44 = 0x80224A44; // type:data rom:0 b_area_kzn_white_magikoopa_wMagikoopa_ShapeSpell = 0x802250A8; // type:data rom:0x599398 b_area_kzn_white_magikoopa_wMagikoopa_WandStrike = 0x802256C4; // type:data rom:0x5999B4 b_area_kzn_white_magikoopa_run_away = 0x80225D34; // type:data rom:0x59A024 -b_area_kzn_white_magikoopa_init_80225F58 = 0x80225F58; // type:data rom:0x59A248 -b_area_kzn_white_magikoopa_init_80225FBC = 0x80225FBC; // type:data rom:0x59A2AC +b_area_kzn_white_magikoopa_EVS_Init_Ground = 0x80225F58; // type:data rom:0x59A248 +b_area_kzn_white_magikoopa_EVS_Init_Flying = 0x80225FBC; // type:data rom:0x59A2AC b_area_kzn_white_magikoopa_healOne = 0x80226020; // type:data rom:0x59A310 b_area_kzn_white_magikoopa_healAll = 0x80226E1C; // type:data rom:0x59B10C b_area_kzn_white_magikoopa_takeTurn_802274E4 = 0x802274E4; // type:data rom:0x59B7D4 @@ -12637,31 +12637,31 @@ b_area_kzn2_func_80218BE8_59F2C8 = 0x80218BE8; // type:func rom:0x59F2C8 b_area_kzn2_petit_piranha_SetFlameUnk2C = 0x80218D40; // type:func rom:0x59F420 b_area_kzn2_petit_piranha_SetFlameX = 0x80218D90; // type:func rom:0x59F470 func_80218DF0_59F4D0 = 0x80218DF0; // type:func rom:0x59F4D0 -b_area_flo_UnkBattleFunc1 = 0x80218000; // type:func rom:0x5B14B0 +b_area_flo_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x5B14B0 b_area_flo_UnkFloatFunc4 = 0x802180CC; // type:func rom:0x5B157C b_area_flo_CosInterpMinMax = 0x802181F0; // type:func rom:0x5B16A0 -dup_b_area_flo_UnkBattleFunc1 = 0x80218380; // type:func rom:0x5B1830 +dup_b_area_flo_SetAbsoluteStatusOffsets = 0x80218380; // type:func rom:0x5B1830 b_area_flo_MediGuySpriteRotationFunc = 0x8021844C; // type:func rom:0x5B18FC b_area_flo_ShrinkActor = 0x80218560; // type:func rom:0x5B1A10 dup_b_area_flo_GetSelectedMoveID = 0x802186B8; // type:func rom:0x5B1B68 -dup2_b_area_flo_UnkBattleFunc1 = 0x802186E4; // type:func rom:0x5B1B94 +dup2_b_area_flo_SetAbsoluteStatusOffsets = 0x802186E4; // type:func rom:0x5B1B94 b_area_flo_StartRumbleWithParams = 0x802187B0; // type:func rom:0x5B1C60 b_area_flo_UnkFunc52 = 0x80218808; // type:func rom:0x5B1CB8 dup_b_area_flo_ShrinkActor = 0x802188D0; // type:func rom:0x5B1D80 b_area_flo_GetSelectedMoveID = 0x80218A28; // type:func rom:0x5B1ED8 -dup3_b_area_flo_UnkBattleFunc1 = 0x80218A54; // type:func rom:0x5B1F04 +dup3_b_area_flo_SetAbsoluteStatusOffsets = 0x80218A54; // type:func rom:0x5B1F04 dup_b_area_flo_StartRumbleWithParams = 0x80218B20; // type:func rom:0x5B1FD0 dup_b_area_flo_UnkFunc52 = 0x80218B78; // type:func rom:0x5B2028 dup2_b_area_flo_ShrinkActor = 0x80218C40; // type:func rom:0x5B20F0 dup2_b_area_flo_GetSelectedMoveID = 0x80218D98; // type:func rom:0x5B2248 -dup4_b_area_flo_UnkBattleFunc1 = 0x80218DC4; // type:func rom:0x5B2274 +dup4_b_area_flo_SetAbsoluteStatusOffsets = 0x80218DC4; // type:func rom:0x5B2274 dup2_b_area_flo_StartRumbleWithParams = 0x80218E90; // type:func rom:0x5B2340 dup2_b_area_flo_UnkFunc52 = 0x80218EE8; // type:func rom:0x5B2398 b_area_flo_GetBootsHammerLevel = 0x80218FAC; // type:func rom:0x5B245C b_area_flo_UnkBattleFunc5 = 0x8021900C; // type:func rom:0x5B24BC dup3_b_area_flo_ShrinkActor = 0x802190B0; // type:func rom:0x5B2560 dup3_b_area_flo_GetSelectedMoveID = 0x80219208; // type:func rom:0x5B26B8 -dup5_b_area_flo_UnkBattleFunc1 = 0x80219234; // type:func rom:0x5B26E4 +dup5_b_area_flo_SetAbsoluteStatusOffsets = 0x80219234; // type:func rom:0x5B26E4 dup3_b_area_flo_StartRumbleWithParams = 0x80219300; // type:func rom:0x5B27B0 dup3_b_area_flo_UnkFunc52 = 0x80219358; // type:func rom:0x5B2808 func_80219420_5B28D0 = 0x80219420; // type:func rom:0x5B28D0 @@ -12703,9 +12703,9 @@ dup3_b_area_flo2_CosInterpMinMax = 0x802194A0; // type:func rom:0x5CFB30 func_80219630_5CFCC0 = 0x80219630; // type:func rom:0x5CFCC0 func_802196F0_5CFD80 = 0x802196F0; // type:func rom:0x5CFD80 func_802197B0_5CFE40 = 0x802197B0; // type:func rom:0x5CFE40 -b_area_tik_UnkBattleFunc1 = 0x80218000; // type:func rom:0x5EC490 +b_area_tik_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x5EC490 b_area_tik_StartRumbleWithParams = 0x802180D0; // type:func rom:0x5EC560 -dup_b_area_tik_UnkBattleFunc1 = 0x80218128; // type:func rom:0x5EC5B8 +dup_b_area_tik_SetAbsoluteStatusOffsets = 0x80218128; // type:func rom:0x5EC5B8 b_area_tik_ArcsinDeg = 0x80218200; // type:func rom:0x5EC690 b_area_tik_CalculateRotationZ = 0x8021838C; // type:func rom:0x5EC81C dup_b_area_tik_ArcsinDeg = 0x80218480; // type:func rom:0x5EC910 @@ -12713,8 +12713,8 @@ dup_b_area_tik_CalculateRotationZ = 0x8021860C; // type:func rom:0x5ECA9C dup_b_area_tik_StartRumbleWithParams = 0x80218700; // type:func rom:0x5ECB90 dup2_b_area_tik_ArcsinDeg = 0x80218758; // type:func rom:0x5ECBE8 dup2_b_area_tik_CalculateRotationZ = 0x802188E4; // type:func rom:0x5ECD74 -dup2_b_area_tik_UnkBattleFunc1 = 0x802189E0; // type:func rom:0x5ECE70 -dup3_b_area_tik_UnkBattleFunc1 = 0x80218AB0; // type:func rom:0x5ECF40 +dup2_b_area_tik_SetAbsoluteStatusOffsets = 0x802189E0; // type:func rom:0x5ECE70 +dup3_b_area_tik_SetAbsoluteStatusOffsets = 0x80218AB0; // type:func rom:0x5ECF40 dup_b_area_tik_UnkFunc56 = 0x80218B80; // type:func rom:0x5ED010 b_area_tik_UnkFunc56 = 0x80219020; // type:func rom:0x5ED4B0 dup2_b_area_tik_UnkFunc56 = 0x802194C0; // type:func rom:0x5ED950 @@ -12743,8 +12743,8 @@ dup2_b_area_tik2_UnkFunc56 = 0x80219520; // type:func rom:0x609FD0 func_802199C0_60A470 = 0x802199C0; // type:func rom:0x60A470 b_area_tik2_UpdateTexturePanSmooth = 0x80219E10; // type:func rom:0x60A8C0 b_area_tik2_UpdateTexturePanStepped = 0x80219F34; // type:func rom:0x60A9E4 -b_area_tik3_UnkBattleFunc1 = 0x80218000; // type:func rom:0x6186F0 -dup_b_area_tik3_UnkBattleFunc1 = 0x802180D0; // type:func rom:0x6187C0 +b_area_tik3_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x6186F0 +dup_b_area_tik3_SetAbsoluteStatusOffsets = 0x802180D0; // type:func rom:0x6187C0 b_area_tik3_SpawnDrainHealthStartFX = 0x8021819C; // type:func rom:0x61888C b_area_tik3_SpawnDrainHealthContinueFX = 0x80218250; // type:func rom:0x618940 b_area_tik3_UnkFunc56 = 0x80218310; // type:func rom:0x618A00 @@ -12756,10 +12756,10 @@ b_area_tik3_UpdateTexturePanStepped = 0x80219664; // type:func rom:0x619D54 b_area_sam_duplighost_UnkFunc62 = 0x80218000; // type:func rom:0x623BA0 b_area_sam_duplighost_ActorJumpToPos = 0x80218890; // type:func rom:0x624430 b_area_sam_duplighost_UnkActorSizeFunc = 0x802189E4; // type:func rom:0x624584 -b_area_sam_duplighost_UnkEffect6CFunc = 0x80218A90; // type:func rom:0x624630 -b_area_sam_duplighost_UnkTattleEffectFunc1 = 0x80218AF4; // type:func rom:0x624694 -b_area_sam_duplighost_UnkTattleEffectFunc2 = 0x80218B2C; // type:func rom:0x6246CC -b_area_sam_duplighost_UnkBattleFunc1 = 0x80218B74; // type:func rom:0x624714 +b_area_sam_duplighost_OpenTattleWindow = 0x80218A90; // type:func rom:0x624630 +b_area_sam_duplighost_HideTattleWindow = 0x80218AF4; // type:func rom:0x624694 +b_area_sam_duplighost_CloseTattleWindow = 0x80218B2C; // type:func rom:0x6246CC +b_area_sam_duplighost_SetAbsoluteStatusOffsets = 0x80218B74; // type:func rom:0x624714 b_area_sam_duplighost_kooper_UnkActorPosFunc = 0x80218C40; // type:func rom:0x6247E0 b_area_sam_duplighost_UnkActorPosFunc = 0x80218D64; // type:func rom:0x624904 b_area_sam_duplighost_UnkWattEffectFunc1 = 0x80218E88; // type:func rom:0x624A28 @@ -12771,11 +12771,11 @@ b_area_sam_duplighost_UnkBackgroundFunc3 = 0x8021943C; // type:func rom:0x624FDC b_area_sam_duplighost_SetBackgroundAlpha = 0x80219480; // type:func rom:0x625020 b_area_sam_duplighost_GetPartnerAndLevel = 0x802194B8; // type:func rom:0x625058 b_area_sam_duplighost_CopyPriority = 0x80219524; // type:func rom:0x6250C4 -b_area_sam_frost_piranha_UnkBattleFunc1 = 0x802195F0; // type:func rom:0x625190 +b_area_sam_frost_piranha_SetAbsoluteStatusOffsets = 0x802195F0; // type:func rom:0x625190 b_area_sam_frost_piranha_UnkEffect6FFunc = 0x802196BC; // type:func rom:0x62525C b_area_sam_gray_magikoopa_ShrinkActor = 0x80219840; // type:func rom:0x6253E0 b_area_sam_gray_magikoopa_GetSelectedMoveID = 0x80219998; // type:func rom:0x625538 -b_area_sam_gray_magikoopa_UnkBattleFunc1 = 0x802199C4; // type:func rom:0x625564 +b_area_sam_gray_magikoopa_SetAbsoluteStatusOffsets = 0x802199C4; // type:func rom:0x625564 b_area_sam_gray_magikoopa_StartRumbleWithParams = 0x80219A90; // type:func rom:0x625630 b_area_sam_gray_magikoopa_UnkFunc52 = 0x80219AE8; // type:func rom:0x625688 b_area_sam_sam_01_UnkModelStuff_func1 = 0x80219BB0; // type:func rom:0x625750 @@ -12802,7 +12802,7 @@ b_area_sam_duplighost_IdleAnimations2 = 0x8021AEDC; // type:data rom:0x626A7C b_area_sam_duplighost_IdleAnimations3 = 0x8021AEE8; // type:data rom:0x626A88 b_area_sam_duplighost_DefenseTable = 0x8021AEF4; // type:data rom:0x626A94 b_area_sam_duplighost_StatusTable = 0x8021AF00; // type:data rom:0x626AA0 -b_area_sam_duplighost_parts = 0x8021AFAC; // type:data rom:0x626B4C +b_area_sam_duplighost_ActorParts = 0x8021AFAC; // type:data rom:0x626B4C b_area_sam_duplighost = 0x8021AFD0; // type:data rom:0x626B70 b_area_sam_duplighost_init = 0x8021AFF8; // type:data rom:0x626B98 b_area_sam_duplighost_nextTurn = 0x8021B070; // type:data rom:0x626C10 @@ -12818,7 +12818,7 @@ b_area_sam_duplighost_pos_summon = 0x8021CAE8; // type:data rom:0x628688 b_area_sam_duplighost_goombario_IdleAnimations = 0x8021CAF4; // type:data rom:0x628694 b_area_sam_duplighost_goombario_DefenseTable = 0x8021CB40; // type:data rom:0x6286E0 b_area_sam_duplighost_goombario_StatusTable = 0x8021CB4C; // type:data rom:0x6286EC -b_area_sam_duplighost_goombario_parts = 0x8021CBF8; // type:data rom:0x628798 +b_area_sam_duplighost_goombario_ActorParts = 0x8021CBF8; // type:data rom:0x628798 b_area_sam_duplighost_goombario = 0x8021CC1C; // type:data rom:0x6287BC b_area_sam_duplighost_goombario_init = 0x8021CC44; // type:data rom:0x6287E4 b_area_sam_duplighost_goombario_idle = 0x8021CC90; // type:data rom:0x628830 @@ -12826,8 +12826,8 @@ b_area_sam_duplighost_goombario_handleEvent = 0x8021CCA0; // type:data rom:0x628 b_area_sam_duplighost_goombario_returnBack = 0x8021D210; // type:data rom:0x628DB0 b_area_sam_duplighost_goombario_runToPlayer = 0x8021D698; // type:data rom:0x629238 b_area_sam_duplighost_goombario_8021C7FC = 0x8021D77C; // type:data rom:0x62931C -b_area_sam_duplighost_goombario_attack = 0x8021D864; // type:data rom:0x629404 -b_area_sam_duplighost_goombario_tattle = 0x8021E2F0; // type:data rom:0x629E90 +b_area_sam_duplighost_EVS_Move_Headbonk = 0x8021D864; // type:data rom:0x629404 +b_area_sam_duplighost_EVS_Move_Tattle = 0x8021E2F0; // type:data rom:0x629E90 b_area_sam_duplighost_goombario_takeTurn = 0x8021E604; // type:data rom:0x62A1A4 b_area_sam_duplighost_formation_goombario = 0x8021E660; // type:data rom:0x62A200 b_area_sam_duplighost_kooper_IdleAnimations = 0x8021E67C; // type:data rom:0x62A21C @@ -12835,7 +12835,7 @@ b_area_sam_duplighost_kooper_IdleAnimations2 = 0x8021E6C8; // type:data rom:0x62 b_area_sam_duplighost_kooper_DefenseTable = 0x8021E714; // type:data rom:0x62A2B4 b_area_sam_duplighost_kooper_defenseTable2 = 0x8021E720; // type:data rom:0x62A2C0 b_area_sam_duplighost_kooper_StatusTable = 0x8021E72C; // type:data rom:0x62A2CC -b_area_sam_duplighost_kooper_parts = 0x8021E7D8; // type:data rom:0x62A378 +b_area_sam_duplighost_kooper_ActorParts = 0x8021E7D8; // type:data rom:0x62A378 b_area_sam_duplighost_kooper = 0x8021E7FC; // type:data rom:0x62A39C b_area_sam_duplighost_kooper_init = 0x8021E824; // type:data rom:0x62A3C4 b_area_sam_duplighost_kooper_idle = 0x8021E8A0; // type:data rom:0x62A440 @@ -12846,7 +12846,7 @@ b_area_sam_duplighost_formation_kooper = 0x80220314; // type:data rom:0x62BEB4 b_area_sam_duplighost_bombette_IdleAnimations = 0x80220330; // type:data rom:0x62BED0 b_area_sam_duplighost_bombette_DefenseTable = 0x8022037C; // type:data rom:0x62BF1C b_area_sam_duplighost_bombette_StatusTable = 0x80220388; // type:data rom:0x62BF28 -b_area_sam_duplighost_bombette_parts = 0x80220434; // type:data rom:0x62BFD4 +b_area_sam_duplighost_bombette_ActorParts = 0x80220434; // type:data rom:0x62BFD4 b_area_sam_duplighost_bombette = 0x80220458; // type:data rom:0x62BFF8 b_area_sam_duplighost_bombette_init = 0x80220480; // type:data rom:0x62C020 b_area_sam_duplighost_bombette_idle = 0x802204CC; // type:data rom:0x62C06C @@ -12857,7 +12857,7 @@ b_area_sam_duplighost_formation_bombette = 0x80221574; // type:data rom:0x62D114 b_area_sam_duplighost_parakarry_IdleAnimations = 0x80221590; // type:data rom:0x62D130 b_area_sam_duplighost_parakarry_DefenseTable = 0x802215DC; // type:data rom:0x62D17C b_area_sam_duplighost_parakarry_StatusTable = 0x802215E8; // type:data rom:0x62D188 -b_area_sam_duplighost_parakarry_parts = 0x80221694; // type:data rom:0x62D234 +b_area_sam_duplighost_parakarry_ActorParts = 0x80221694; // type:data rom:0x62D234 b_area_sam_duplighost_parakarry = 0x802216DC; // type:data rom:0x62D27C b_area_sam_duplighost_parakarry_init = 0x80221704; // type:data rom:0x62D2A4 b_area_sam_duplighost_parakarry_idle = 0x80221750; // type:data rom:0x62D2F0 @@ -12868,7 +12868,7 @@ b_area_sam_duplighost_formation_parakarry = 0x80222500; // type:data rom:0x62E0A b_area_sam_duplighost_bow_IdleAnimations = 0x8022251C; // type:data rom:0x62E0BC b_area_sam_duplighost_bow_DefenseTable = 0x80222568; // type:data rom:0x62E108 b_area_sam_duplighost_bow_StatusTable = 0x80222574; // type:data rom:0x62E114 -b_area_sam_duplighost_bow_parts = 0x80222620; // type:data rom:0x62E1C0 +b_area_sam_duplighost_bow_ActorParts = 0x80222620; // type:data rom:0x62E1C0 b_area_sam_duplighost_bow = 0x80222668; // type:data rom:0x62E208 b_area_sam_duplighost_bow_init = 0x80222690; // type:data rom:0x62E230 b_area_sam_duplighost_bow_idle = 0x802226DC; // type:data rom:0x62E27C @@ -12878,7 +12878,7 @@ b_area_sam_duplighost_formation_bow = 0x802238D0; // type:data rom:0x62F470 b_area_sam_duplighost_watt_IdleAnimations = 0x802238EC; // type:data rom:0x62F48C b_area_sam_duplighost_watt_DefenseTable = 0x80223938; // type:data rom:0x62F4D8 b_area_sam_duplighost_watt_StatusTable = 0x8022394C; // type:data rom:0x62F4EC -b_area_sam_duplighost_watt_parts = 0x802239F8; // type:data rom:0x62F598 +b_area_sam_duplighost_watt_ActorParts = 0x802239F8; // type:data rom:0x62F598 b_area_sam_duplighost_watt = 0x80223A40; // type:data rom:0x62F5E0 b_area_sam_duplighost_watt_init = 0x80223A68; // type:data rom:0x62F608 b_area_sam_duplighost_watt_idle = 0x80223AB4; // type:data rom:0x62F654 @@ -12888,7 +12888,7 @@ b_area_sam_duplighost_formation_watt = 0x802247CC; // type:data rom:0x63036C b_area_sam_duplighost_sushie_IdleAnimations = 0x802247E8; // type:data rom:0x630388 b_area_sam_duplighost_sushie_DefenseTable = 0x80224834; // type:data rom:0x6303D4 b_area_sam_duplighost_sushie_StatusTable = 0x80224840; // type:data rom:0x6303E0 -b_area_sam_duplighost_sushie_parts = 0x802248EC; // type:data rom:0x63048C +b_area_sam_duplighost_sushie_ActorParts = 0x802248EC; // type:data rom:0x63048C b_area_sam_duplighost_sushie = 0x80224910; // type:data rom:0x6304B0 b_area_sam_duplighost_sushie_init = 0x80224938; // type:data rom:0x6304D8 b_area_sam_duplighost_sushie_idle = 0x80224984; // type:data rom:0x630524 @@ -12899,7 +12899,7 @@ b_area_sam_duplighost_lakilester_IdleAnimations = 0x80226180; // type:data rom:0 b_area_sam_duplighost_lakilester_IdleAnimations2 = 0x802261CC; // type:data rom:0x631D6C b_area_sam_duplighost_lakilester_DefenseTable = 0x802261D8; // type:data rom:0x631D78 b_area_sam_duplighost_lakilester_StatusTable = 0x802261E4; // type:data rom:0x631D84 -b_area_sam_duplighost_lakilester_parts = 0x80226290; // type:data rom:0x631E30 +b_area_sam_duplighost_lakilester_ActorParts = 0x80226290; // type:data rom:0x631E30 b_area_sam_duplighost_lakilester = 0x802262D8; // type:data rom:0x631E78 b_area_sam_duplighost_lakilester_init = 0x80226300; // type:data rom:0x631EA0 b_area_sam_duplighost_lakilester_idle = 0x8022634C; // type:data rom:0x631EEC @@ -12913,7 +12913,7 @@ b_area_sam_gulpit_IdleAnimations2 = 0x80227E1C; // type:data rom:0x6339BC b_area_sam_gulpit_IdleAnimations3 = 0x80227E28; // type:data rom:0x6339C8 b_area_sam_gulpit_DefenseTable = 0x80227E34; // type:data rom:0x6339D4 b_area_sam_gulpit_StatusTable = 0x80227E40; // type:data rom:0x6339E0 -b_area_sam_gulpit_parts = 0x80227EEC; // type:data rom:0x633A8C +b_area_sam_gulpit_ActorParts = 0x80227EEC; // type:data rom:0x633A8C b_area_sam_gulpit = 0x80227F58; // type:data rom:0x633AF8 b_area_sam_gulpit_init = 0x80227F80; // type:data rom:0x633B20 b_area_sam_gulpit_idle = 0x80227FCC; // type:data rom:0x633B6C @@ -12926,7 +12926,7 @@ b_area_sam_gulpit_rocks_IdleAnimations = 0x802294D0; // type:data rom:0x635070 b_area_sam_gulpit_rocks_IdleAnimations2 = 0x802294DC; // type:data rom:0x63507C b_area_sam_gulpit_rocks_DefenseTable = 0x802294E8; // type:data rom:0x635088 b_area_sam_gulpit_rocks_StatusTable = 0x802294F4; // type:data rom:0x635094 -b_area_sam_gulpit_rocks_parts = 0x802295A0; // type:data rom:0x635140 +b_area_sam_gulpit_rocks_ActorParts = 0x802295A0; // type:data rom:0x635140 b_area_sam_gulpit_rocks = 0x802295C4; // type:data rom:0x635164 b_area_sam_gulpit_rocks_init = 0x802295EC; // type:data rom:0x63518C b_area_sam_gulpit_rocks_idle = 0x8022973C; // type:data rom:0x6352DC @@ -12936,7 +12936,7 @@ b_area_sam_gulpit_rocks_takeTurn = 0x80229AAC; // type:data rom:0x63564C b_area_sam_white_clubba_IdleAnimations = 0x80229AC0; // type:data rom:0x635660 b_area_sam_white_clubba_DefenseTable = 0x80229B0C; // type:data rom:0x6356AC b_area_sam_white_clubba_StatusTable = 0x80229B28; // type:data rom:0x6356C8 -b_area_sam_white_clubba_parts = 0x80229BD4; // type:data rom:0x635774 +b_area_sam_white_clubba_ActorParts = 0x80229BD4; // type:data rom:0x635774 b_area_sam_white_clubba = 0x80229BF8; // type:data rom:0x635798 b_area_sam_white_clubba_init = 0x80229C20; // type:data rom:0x6357C0 b_area_sam_white_clubba_idle = 0x80229C6C; // type:data rom:0x63580C @@ -12945,7 +12945,7 @@ b_area_sam_white_clubba_takeTurn = 0x8022A18C; // type:data rom:0x635D2C b_area_sam_frost_piranha_IdleAnimations = 0x8022AAB0; // type:data rom:0x636650 b_area_sam_frost_piranha_DefenseTable = 0x8022AAFC; // type:data rom:0x63669C b_area_sam_frost_piranha_StatusTable = 0x8022AB18; // type:data rom:0x6366B8 -b_area_sam_frost_piranha_parts = 0x8022ABC4; // type:data rom:0x636764 +b_area_sam_frost_piranha_ActorParts = 0x8022ABC4; // type:data rom:0x636764 b_area_sam_frost_piranha = 0x8022ABE8; // type:data rom:0x636788 b_area_sam_frost_piranha_init = 0x8022AC10; // type:data rom:0x6367B0 b_area_sam_frost_piranha_idle = 0x8022AC5C; // type:data rom:0x6367FC @@ -12958,8 +12958,8 @@ b_area_sam_gray_magikoopa_DefenseTable = 0x8022C310; // type:data rom:0x637EB0 b_area_sam_gray_magikoopa_DefenseTable_flying = 0x8022C31C; // type:data rom:0x637EBC b_area_sam_gray_magikoopa_StatusTable = 0x8022C328; // type:data rom:0x637EC8 b_area_sam_gray_magikoopa_StatusTable_flying = 0x8022C3D4; // type:data rom:0x637F74 -b_area_sam_gray_magikoopa_parts = 0x8022C480; // type:data rom:0x638020 -b_area_sam_gray_magikoopa_parts_flying = 0x8022C4A4; // type:data rom:0x638044 +b_area_sam_gray_magikoopa_ActorParts = 0x8022C480; // type:data rom:0x638020 +b_area_sam_gray_magikoopa_ActorParts_flying = 0x8022C4A4; // type:data rom:0x638044 b_area_sam_gray_magikoopa = 0x8022C510; // type:data rom:0x6380B0 b_area_sam_gray_magikoopa_flying = 0x8022C538; // type:data rom:0x6380D8 b_area_sam_gray_magikoopa_idleAnimations1 = 0x8022C560; // type:data rom:0x638100 @@ -13109,7 +13109,7 @@ b_area_sam2_paragoomba_ArcsinDeg = 0x80218588; // type:func rom:0x63D768 b_area_sam2_paragoomba_CalculateRotationZ = 0x80218714; // type:func rom:0x63D8F4 b_area_sam2_gray_magikoopa_ShrinkActor = 0x80218810; // type:func rom:0x63D9F0 b_area_sam2_gray_magikoopa_GetSelectedMoveID = 0x80218968; // type:func rom:0x63DB48 -b_area_sam2_gray_magikoopa_UnkBattleFunc1 = 0x80218994; // type:func rom:0x63DB74 +b_area_sam2_gray_magikoopa_SetAbsoluteStatusOffsets = 0x80218994; // type:func rom:0x63DB74 b_area_sam2_gray_magikoopa_StartRumbleWithParams = 0x80218A60; // type:func rom:0x63DC40 b_area_sam2_gray_magikoopa_UnkFunc52 = 0x80218AB8; // type:func rom:0x63DC98 b_area_sam2_sam_01_UnkModelStuff_func1 = 0x80218B80; // type:func rom:0x63DD60 @@ -13133,7 +13133,7 @@ b_area_sam2_sam_03_UnkFloatFunc2 = 0x80219D3C; // type:func rom:0x63EF1C func_80219E40_63F020 = 0x80219E40; // type:func rom:0x63F020 b_area_sam2_monstar_DefenseTable = 0x80219E60; // type:data rom:0x63F040 b_area_sam2_monstar_StatusTable = 0x80219E74; // type:data rom:0x63F054 -b_area_sam2_monstar_parts = 0x80219F20; // type:data rom:0x63F100 +b_area_sam2_monstar_ActorParts = 0x80219F20; // type:data rom:0x63F100 b_area_sam2_monstar = 0x80219F68; // type:data rom:0x63F148 b_area_sam2_monstar_IdleAnimations = 0x80219F90; // type:data rom:0x63F170 b_area_sam2_monstar_IdleAnimations2 = 0x80219FE4; // type:data rom:0x63F1C4 @@ -13153,7 +13153,7 @@ b_area_sam2_paragoomba_DefenseTable_8021B110 = 0x8021BE90; // type:data rom:0x64 b_area_sam2_paragoomba_DefenseTable_8021B11C = 0x8021BE9C; // type:data rom:0x64107C b_area_sam2_paragoomba_StatusTable_8021B128 = 0x8021BEA8; // type:data rom:0x641088 b_area_sam2_paragoomba_StatusTable_8021B1D4 = 0x8021BF54; // type:data rom:0x641134 -b_area_sam2_paragoomba_PartsTable_8021B280 = 0x8021C000; // type:data rom:0x6411E0 +b_area_sam2_paragoomba_ActorParts = 0x8021C000; // type:data rom:0x6411E0 b_area_sam2_paragoomba = 0x8021C090; // type:data rom:0x641270 b_area_sam2_paragoomba_IdleAnimations_8021B338 = 0x8021C0B8; // type:data rom:0x641298 b_area_sam2_paragoomba_IdleAnimations_8021B384 = 0x8021C104; // type:data rom:0x6412E4 @@ -13176,8 +13176,8 @@ b_area_sam2_gray_magikoopa_DefenseTable = 0x8021F130; // type:data rom:0x644310 b_area_sam2_gray_magikoopa_DefenseTable_flying = 0x8021F13C; // type:data rom:0x64431C b_area_sam2_gray_magikoopa_StatusTable = 0x8021F148; // type:data rom:0x644328 b_area_sam2_gray_magikoopa_StatusTable_flying = 0x8021F1F4; // type:data rom:0x6443D4 -b_area_sam2_gray_magikoopa_parts = 0x8021F2A0; // type:data rom:0x644480 -b_area_sam2_gray_magikoopa_parts_flying = 0x8021F2C4; // type:data rom:0x6444A4 +b_area_sam2_gray_magikoopa_ActorParts = 0x8021F2A0; // type:data rom:0x644480 +b_area_sam2_gray_magikoopa_ActorParts_flying = 0x8021F2C4; // type:data rom:0x6444A4 b_area_sam2_gray_magikoopa = 0x8021F330; // type:data rom:0x644510 b_area_sam2_gray_magikoopa_flying = 0x8021F358; // type:data rom:0x644538 b_area_sam2_gray_magikoopa_idleAnimations1 = 0x8021F380; // type:data rom:0x644560 @@ -13255,33 +13255,33 @@ b_area_sam2_Formations = 0x802234F0; // type:data rom:0x6486D0 b_area_sam2_Stages = 0x8022352C; // type:data rom:0x64870C b_area_sam2_monstar_dlist = 0x80223570; // type:data rom:0x648750 monstar_bubbles = 0x80223680; // type:data rom:0x648860 -b_area_pra_UnkBattleFunc1 = 0x80218000; // type:func rom:0x648E10 +b_area_pra_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x648E10 b_area_pra_SpawnDrainHealthStartFX = 0x802180CC; // type:func rom:0x648EDC b_area_pra_SpawnDrainHealthContinueFX = 0x80218180; // type:func rom:0x648F90 func_80218240_649050 = 0x80218240; // type:func rom:0x649050 b_area_pra_ShrinkActor = 0x80218300; // type:func rom:0x649110 dup3_b_area_pra_GetSelectedMoveID = 0x80218458; // type:func rom:0x649268 -dup_b_area_pra_UnkBattleFunc1 = 0x80218484; // type:func rom:0x649294 +dup_b_area_pra_SetAbsoluteStatusOffsets = 0x80218484; // type:func rom:0x649294 b_area_pra_StartRumbleWithParams = 0x80218550; // type:func rom:0x649360 b_area_pra_UnkFunc52 = 0x802185A8; // type:func rom:0x6493B8 dup_b_area_pra_ShrinkActor = 0x80218670; // type:func rom:0x649480 dup4_b_area_pra_GetSelectedMoveID = 0x802187C8; // type:func rom:0x6495D8 -dup2_b_area_pra_UnkBattleFunc1 = 0x802187F4; // type:func rom:0x649604 +dup2_b_area_pra_SetAbsoluteStatusOffsets = 0x802187F4; // type:func rom:0x649604 dup_b_area_pra_StartRumbleWithParams = 0x802188C0; // type:func rom:0x6496D0 dup_b_area_pra_UnkFunc52 = 0x80218918; // type:func rom:0x649728 dup2_b_area_pra_ShrinkActor = 0x802189E0; // type:func rom:0x6497F0 dup2_b_area_pra_GetSelectedMoveID = 0x80218B38; // type:func rom:0x649948 -dup3_b_area_pra_UnkBattleFunc1 = 0x80218B64; // type:func rom:0x649974 +dup3_b_area_pra_SetAbsoluteStatusOffsets = 0x80218B64; // type:func rom:0x649974 dup2_b_area_pra_StartRumbleWithParams = 0x80218C30; // type:func rom:0x649A40 dup2_b_area_pra_UnkFunc52 = 0x80218C88; // type:func rom:0x649A98 dup3_b_area_pra_ShrinkActor = 0x80218D50; // type:func rom:0x649B60 b_area_pra_GetSelectedMoveID = 0x80218EA8; // type:func rom:0x649CB8 -dup4_b_area_pra_UnkBattleFunc1 = 0x80218ED4; // type:func rom:0x649CE4 +dup4_b_area_pra_SetAbsoluteStatusOffsets = 0x80218ED4; // type:func rom:0x649CE4 dup3_b_area_pra_StartRumbleWithParams = 0x80218FA0; // type:func rom:0x649DB0 dup3_b_area_pra_UnkFunc52 = 0x80218FF8; // type:func rom:0x649E08 dup4_b_area_pra_ShrinkActor = 0x802190C0; // type:func rom:0x649ED0 dup_b_area_pra_GetSelectedMoveID = 0x80219218; // type:func rom:0x64A028 -dup5_b_area_pra_UnkBattleFunc1 = 0x80219244; // type:func rom:0x64A054 +dup5_b_area_pra_SetAbsoluteStatusOffsets = 0x80219244; // type:func rom:0x64A054 dup4_b_area_pra_StartRumbleWithParams = 0x80219310; // type:func rom:0x64A120 dup4_b_area_pra_UnkFunc52 = 0x80219368; // type:func rom:0x64A178 b_area_pra_GetBootsHammerLevel = 0x8021942C; // type:func rom:0x64A23C @@ -13302,7 +13302,7 @@ func_802189E0_661130 = 0x802189E0; // type:func rom:0x661130 b_area_pra2_crystal_king_IdleAnimations = 0x80218A00; // type:data rom:0x661150 b_area_pra2_crystal_king_DefenseTable = 0x80218A2C; // type:data rom:0x66117C b_area_pra2_crystal_king_StatusTable = 0x80218A48; // type:data rom:0x661198 -b_area_pra2_crystal_king_parts = 0x80218AF4; // type:data rom:0x661244 +b_area_pra2_crystal_king_ActorParts = 0x80218AF4; // type:data rom:0x661244 b_area_pra2_crystal_king = 0x80218B18; // type:data rom:0x661268 b_area_pra2_crystal_king_init = 0x80218B40; // type:data rom:0x661290 b_area_pra2_crystal_king_idle = 0x80218C4C; // type:data rom:0x66139C @@ -13340,9 +13340,9 @@ b_area_pra2_crystal_bit_IdleAnimations_2 = 0x8022048C; // type:data rom:0x668BDC b_area_pra2_crystal_bit_IdleAnimations_3 = 0x80220498; // type:data rom:0x668BE8 b_area_pra2_crystal_bit_DefenseTable = 0x802204A4; // type:data rom:0x668BF4 b_area_pra2_crystal_bit_StatusTable = 0x802204C0; // type:data rom:0x668C10 -b_area_pra2_crystal_bit_parts_1 = 0x8022056C; // type:data rom:0x668CBC -b_area_pra2_crystal_bit_parts_2 = 0x802205B4; // type:data rom:0x668D04 -b_area_pra2_crystal_bit_parts_3 = 0x802205FC; // type:data rom:0x668D4C +b_area_pra2_crystal_bit_ActorParts_1 = 0x8022056C; // type:data rom:0x668CBC +b_area_pra2_crystal_bit_ActorParts_2 = 0x802205B4; // type:data rom:0x668D04 +b_area_pra2_crystal_bit_ActorParts_3 = 0x802205FC; // type:data rom:0x668D4C b_area_pra2_crystal_bit_1 = 0x80220644; // type:data rom:0x668D94 b_area_pra2_crystal_bit_2 = 0x8022066C; // type:data rom:0x668DBC b_area_pra2_crystal_bit_3 = 0x80220694; // type:data rom:0x668DE4 @@ -13369,10 +13369,10 @@ b_area_pra2_Stages = 0x802215C8; // type:data rom:0x669D18 b_area_pra3_duplighost_UnkFunc62 = 0x80218000; // type:func rom:0x669D80 b_area_pra3_duplighost_ActorJumpToPos = 0x80218890; // type:func rom:0x66A610 b_area_pra3_duplighost_UnkActorSizeFunc = 0x802189E4; // type:func rom:0x66A764 -b_area_pra3_duplighost_UnkEffect6CFunc = 0x80218A90; // type:func rom:0x66A810 -b_area_pra3_duplighost_UnkTattleEffectFunc1 = 0x80218AF4; // type:func rom:0x66A874 -b_area_pra3_duplighost_UnkTattleEffectFunc2 = 0x80218B2C; // type:func rom:0x66A8AC -b_area_pra3_duplighost_UnkBattleFunc1 = 0x80218B74; // type:func rom:0x66A8F4 +b_area_pra3_duplighost_OpenTattleWindow = 0x80218A90; // type:func rom:0x66A810 +b_area_pra3_duplighost_HideTattleWindow = 0x80218AF4; // type:func rom:0x66A874 +b_area_pra3_duplighost_CloseTattleWindow = 0x80218B2C; // type:func rom:0x66A8AC +b_area_pra3_duplighost_SetAbsoluteStatusOffsets = 0x80218B74; // type:func rom:0x66A8F4 b_area_pra3_duplighost_kooper_UnkActorPosFunc = 0x80218C40; // type:func rom:0x66A9C0 b_area_pra3_duplighost_UnkActorPosFunc = 0x80218D64; // type:func rom:0x66AAE4 b_area_pra3_duplighost_UnkWattEffectFunc1 = 0x80218E88; // type:func rom:0x66AC08 @@ -13384,17 +13384,17 @@ b_area_pra3_duplighost_UnkBackgroundFunc3 = 0x8021943C; // type:func rom:0x66B1B b_area_pra3_duplighost_SetBackgroundAlpha = 0x80219480; // type:func rom:0x66B200 b_area_pra3_duplighost_GetPartnerAndLevel = 0x802194B8; // type:func rom:0x66B238 b_area_pra3_duplighost_CopyPriority = 0x80219524; // type:func rom:0x66B2A4 -b_area_pra3_swoopula_UnkBattleFunc1 = 0x802195F0; // type:func rom:0x66B370 +b_area_pra3_swoopula_SetAbsoluteStatusOffsets = 0x802195F0; // type:func rom:0x66B370 b_area_pra3_swoopula_SpawnDrainHealthStartFX = 0x802196BC; // type:func rom:0x66B43C b_area_pra3_swoopula_SpawnDrainHealthContinueFX = 0x80219770; // type:func rom:0x66B4F0 b_area_pra3_red_magikoopa_ShrinkActor = 0x80219830; // type:func rom:0x66B5B0 b_area_pra3_red_magikoopa_GetSelectedMoveID = 0x80219988; // type:func rom:0x66B708 -b_area_pra3_red_magikoopa_UnkBattleFunc1 = 0x802199B4; // type:func rom:0x66B734 +b_area_pra3_red_magikoopa_SetAbsoluteStatusOffsets = 0x802199B4; // type:func rom:0x66B734 b_area_pra3_red_magikoopa_StartRumbleWithParams = 0x80219A80; // type:func rom:0x66B800 b_area_pra3_red_magikoopa_UnkFunc52 = 0x80219AD8; // type:func rom:0x66B858 b_area_pra3_gray_magikoopa_ShrinkActor = 0x80219BA0; // type:func rom:0x66B920 b_area_pra3_gray_magikoopa_GetSelectedMoveID = 0x80219CF8; // type:func rom:0x66BA78 -b_area_pra3_gray_magikoopa_UnkBattleFunc1 = 0x80219D24; // type:func rom:0x66BAA4 +b_area_pra3_gray_magikoopa_SetAbsoluteStatusOffsets = 0x80219D24; // type:func rom:0x66BAA4 b_area_pra3_gray_magikoopa_StartRumbleWithParams = 0x80219DF0; // type:func rom:0x66BB70 b_area_pra3_gray_magikoopa_UnkFunc52 = 0x80219E48; // type:func rom:0x66BBC8 b_area_pra3_duplighost_IdleAnimations = 0x80219F10; // type:data rom:0x66BC90 @@ -13402,7 +13402,7 @@ b_area_pra3_duplighost_IdleAnimations2 = 0x80219F5C; // type:data rom:0x66BCDC b_area_pra3_duplighost_IdleAnimations3 = 0x80219F68; // type:data rom:0x66BCE8 b_area_pra3_duplighost_DefenseTable = 0x80219F74; // type:data rom:0x66BCF4 b_area_pra3_duplighost_StatusTable = 0x80219F80; // type:data rom:0x66BD00 -b_area_pra3_duplighost_parts = 0x8021A02C; // type:data rom:0x66BDAC +b_area_pra3_duplighost_ActorParts = 0x8021A02C; // type:data rom:0x66BDAC b_area_pra3_duplighost = 0x8021A050; // type:data rom:0x66BDD0 b_area_pra3_duplighost_init = 0x8021A078; // type:data rom:0x66BDF8 b_area_pra3_duplighost_nextTurn = 0x8021A0F0; // type:data rom:0x66BE70 @@ -13418,7 +13418,7 @@ b_area_pra3_duplighost_pos_summon = 0x8021BB68; // type:data rom:0x66D8E8 b_area_pra3_duplighost_goombario_IdleAnimations = 0x8021BB74; // type:data rom:0x66D8F4 b_area_pra3_duplighost_goombario_DefenseTable = 0x8021BBC0; // type:data rom:0x66D940 b_area_pra3_duplighost_goombario_StatusTable = 0x8021BBCC; // type:data rom:0x66D94C -b_area_pra3_duplighost_goombario_parts = 0x8021BC78; // type:data rom:0x66D9F8 +b_area_pra3_duplighost_goombario_ActorParts = 0x8021BC78; // type:data rom:0x66D9F8 b_area_pra3_duplighost_goombario = 0x8021BC9C; // type:data rom:0x66DA1C b_area_pra3_duplighost_goombario_init = 0x8021BCC4; // type:data rom:0x66DA44 b_area_pra3_duplighost_goombario_idle = 0x8021BD10; // type:data rom:0x66DA90 @@ -13426,8 +13426,8 @@ b_area_pra3_duplighost_goombario_handleEvent = 0x8021BD20; // type:data rom:0x66 b_area_pra3_duplighost_goombario_returnBack = 0x8021C290; // type:data rom:0x66E010 b_area_pra3_duplighost_goombario_runToPlayer = 0x8021C718; // type:data rom:0x66E498 b_area_pra3_duplighost_goombario_8021C7FC = 0x8021C7FC; // type:data rom:0x66E57C -b_area_pra3_duplighost_goombario_attack = 0x8021C8E4; // type:data rom:0x66E664 -b_area_pra3_duplighost_goombario_tattle = 0x8021D370; // type:data rom:0x66F0F0 +b_area_pra3_duplighost_EVS_Move_Headbonk = 0x8021C8E4; // type:data rom:0x66E664 +b_area_pra3_duplighost_EVS_Move_Tattle = 0x8021D370; // type:data rom:0x66F0F0 b_area_pra3_duplighost_goombario_takeTurn = 0x8021D684; // type:data rom:0x66F404 b_area_pra3_duplighost_formation_goombario = 0x8021D6E0; // type:data rom:0x66F460 b_area_pra3_duplighost_kooper_IdleAnimations = 0x8021D6FC; // type:data rom:0x66F47C @@ -13435,7 +13435,7 @@ b_area_pra3_duplighost_kooper_IdleAnimations2 = 0x8021D748; // type:data rom:0x6 b_area_pra3_duplighost_kooper_DefenseTable = 0x8021D794; // type:data rom:0x66F514 b_area_pra3_duplighost_kooper_defenseTable2 = 0x8021D7A0; // type:data rom:0x66F520 b_area_pra3_duplighost_kooper_StatusTable = 0x8021D7AC; // type:data rom:0x66F52C -b_area_pra3_duplighost_kooper_parts = 0x8021D858; // type:data rom:0x66F5D8 +b_area_pra3_duplighost_kooper_ActorParts = 0x8021D858; // type:data rom:0x66F5D8 b_area_pra3_duplighost_kooper = 0x8021D87C; // type:data rom:0x66F5FC b_area_pra3_duplighost_kooper_init = 0x8021D8A4; // type:data rom:0x66F624 b_area_pra3_duplighost_kooper_idle = 0x8021D920; // type:data rom:0x66F6A0 @@ -13446,7 +13446,7 @@ b_area_pra3_duplighost_formation_kooper = 0x8021F394; // type:data rom:0x671114 b_area_pra3_duplighost_bombette_IdleAnimations = 0x8021F3B0; // type:data rom:0x671130 b_area_pra3_duplighost_bombette_DefenseTable = 0x8021F3FC; // type:data rom:0x67117C b_area_pra3_duplighost_bombette_StatusTable = 0x8021F408; // type:data rom:0x671188 -b_area_pra3_duplighost_bombette_parts = 0x8021F4B4; // type:data rom:0x671234 +b_area_pra3_duplighost_bombette_ActorParts = 0x8021F4B4; // type:data rom:0x671234 b_area_pra3_duplighost_bombette = 0x8021F4D8; // type:data rom:0x671258 b_area_pra3_duplighost_bombette_init = 0x8021F500; // type:data rom:0x671280 b_area_pra3_duplighost_bombette_idle = 0x8021F54C; // type:data rom:0x6712CC @@ -13457,7 +13457,7 @@ b_area_pra3_duplighost_formation_bombette = 0x802205F4; // type:data rom:0x67237 b_area_pra3_duplighost_parakarry_IdleAnimations = 0x80220610; // type:data rom:0x672390 b_area_pra3_duplighost_parakarry_DefenseTable = 0x8022065C; // type:data rom:0x6723DC b_area_pra3_duplighost_parakarry_StatusTable = 0x80220668; // type:data rom:0x6723E8 -b_area_pra3_duplighost_parakarry_parts = 0x80220714; // type:data rom:0x672494 +b_area_pra3_duplighost_parakarry_ActorParts = 0x80220714; // type:data rom:0x672494 b_area_pra3_duplighost_parakarry = 0x8022075C; // type:data rom:0x6724DC b_area_pra3_duplighost_parakarry_init = 0x80220784; // type:data rom:0x672504 b_area_pra3_duplighost_parakarry_idle = 0x802207D0; // type:data rom:0x672550 @@ -13468,7 +13468,7 @@ b_area_pra3_duplighost_formation_parakarry = 0x80221580; // type:data rom:0x6733 b_area_pra3_duplighost_bow_IdleAnimations = 0x8022159C; // type:data rom:0x67331C b_area_pra3_duplighost_bow_DefenseTable = 0x802215E8; // type:data rom:0x673368 b_area_pra3_duplighost_bow_StatusTable = 0x802215F4; // type:data rom:0x673374 -b_area_pra3_duplighost_bow_parts = 0x802216A0; // type:data rom:0x673420 +b_area_pra3_duplighost_bow_ActorParts = 0x802216A0; // type:data rom:0x673420 b_area_pra3_duplighost_bow = 0x802216E8; // type:data rom:0x673468 b_area_pra3_duplighost_bow_init = 0x80221710; // type:data rom:0x673490 b_area_pra3_duplighost_bow_idle = 0x8022175C; // type:data rom:0x6734DC @@ -13478,7 +13478,7 @@ b_area_pra3_duplighost_formation_bow = 0x80222950; // type:data rom:0x6746D0 b_area_pra3_duplighost_watt_IdleAnimations = 0x8022296C; // type:data rom:0x6746EC b_area_pra3_duplighost_watt_DefenseTable = 0x802229B8; // type:data rom:0x674738 b_area_pra3_duplighost_watt_StatusTable = 0x802229CC; // type:data rom:0x67474C -b_area_pra3_duplighost_watt_parts = 0x80222A78; // type:data rom:0x6747F8 +b_area_pra3_duplighost_watt_ActorParts = 0x80222A78; // type:data rom:0x6747F8 b_area_pra3_duplighost_watt = 0x80222AC0; // type:data rom:0x674840 b_area_pra3_duplighost_watt_init = 0x80222AE8; // type:data rom:0x674868 b_area_pra3_duplighost_watt_idle = 0x80222B34; // type:data rom:0x6748B4 @@ -13488,7 +13488,7 @@ b_area_pra3_duplighost_formation_watt = 0x8022384C; // type:data rom:0x6755CC b_area_pra3_duplighost_sushie_IdleAnimations = 0x80223868; // type:data rom:0x6755E8 b_area_pra3_duplighost_sushie_DefenseTable = 0x802238B4; // type:data rom:0x675634 b_area_pra3_duplighost_sushie_StatusTable = 0x802238C0; // type:data rom:0x675640 -b_area_pra3_duplighost_sushie_parts = 0x8022396C; // type:data rom:0x6756EC +b_area_pra3_duplighost_sushie_ActorParts = 0x8022396C; // type:data rom:0x6756EC b_area_pra3_duplighost_sushie = 0x80223990; // type:data rom:0x675710 b_area_pra3_duplighost_sushie_init = 0x802239B8; // type:data rom:0x675738 b_area_pra3_duplighost_sushie_idle = 0x80223A04; // type:data rom:0x675784 @@ -13499,7 +13499,7 @@ b_area_pra3_duplighost_lakilester_IdleAnimations = 0x80225200; // type:data rom: b_area_pra3_duplighost_lakilester_IdleAnimations2 = 0x8022524C; // type:data rom:0x676FCC b_area_pra3_duplighost_lakilester_DefenseTable = 0x80225258; // type:data rom:0x676FD8 b_area_pra3_duplighost_lakilester_StatusTable = 0x80225264; // type:data rom:0x676FE4 -b_area_pra3_duplighost_lakilester_parts = 0x80225310; // type:data rom:0x677090 +b_area_pra3_duplighost_lakilester_ActorParts = 0x80225310; // type:data rom:0x677090 b_area_pra3_duplighost_lakilester = 0x80225358; // type:data rom:0x6770D8 b_area_pra3_duplighost_lakilester_init = 0x80225380; // type:data rom:0x677100 b_area_pra3_duplighost_lakilester_idle = 0x802253CC; // type:data rom:0x67714C @@ -13510,7 +13510,7 @@ b_area_pra3_duplighost_copyPartner = 0x802264A0; // type:data rom:0x678220 b_area_pra3_duplighost_takeTurn = 0x80226CC0; // type:data rom:0x678A40 b_area_pra3_swoopula_DefenseTable = 0x80226E50; // type:data rom:0x678BD0 b_area_pra3_swoopula_StatusTable = 0x80226E5C; // type:data rom:0x678BDC -b_area_pra3_swoopula_parts = 0x80226F08; // type:data rom:0x678C88 +b_area_pra3_swoopula_ActorParts = 0x80226F08; // type:data rom:0x678C88 b_area_pra3_swoopula = 0x80226F2C; // type:data rom:0x678CAC b_area_pra3_swoopula_IdleAnimations = 0x80226F54; // type:data rom:0x678CD4 b_area_pra3_swoopula_IdleAnimations_flying = 0x80226FA0; // type:data rom:0x678D20 @@ -13525,7 +13525,7 @@ b_area_pra3_swoopula_takeTurn = 0x80229DA4; // type:data rom:0x67BB24 b_area_pra3_white_clubba_IdleAnimations = 0x8022B130; // type:data rom:0x67CEB0 b_area_pra3_white_clubba_DefenseTable = 0x8022B17C; // type:data rom:0x67CEFC b_area_pra3_white_clubba_StatusTable = 0x8022B198; // type:data rom:0x67CF18 -b_area_pra3_white_clubba_parts = 0x8022B244; // type:data rom:0x67CFC4 +b_area_pra3_white_clubba_ActorParts = 0x8022B244; // type:data rom:0x67CFC4 b_area_pra3_white_clubba = 0x8022B268; // type:data rom:0x67CFE8 b_area_pra3_white_clubba_init = 0x8022B290; // type:data rom:0x67D010 b_area_pra3_white_clubba_idle = 0x8022B2DC; // type:data rom:0x67D05C @@ -13535,7 +13535,7 @@ b_area_pra3_red_magikoopa_8022C120 = 0x8022C120; // type:data rom:0x67DEA0 b_area_pra3_red_magikoopa_8022C12C = 0x8022C12C; // type:data rom:0x67DEAC b_area_pra3_red_magikoopa_8022C138 = 0x8022C138; // type:data rom:0x67DEB8 b_area_pra3_red_magikoopa_8022C1E4 = 0x8022C1E4; // type:data rom:0x67DF64 -b_area_pra3_red_magikoopa_parts = 0x8022C290; // type:data rom:0x67E010 +b_area_pra3_red_magikoopa_ActorParts = 0x8022C290; // type:data rom:0x67E010 b_area_pra3_red_magikoopa_8022C2B4 = 0x8022C2B4; // type:data rom:0x67E034 b_area_pra3_red_magikoopa = 0x8022C320; // type:data rom:0x67E0A0 b_area_pra3_red_magikoopa_flying = 0x8022C348; // type:data rom:0x67E0C8 @@ -13557,8 +13557,8 @@ b_area_pra3_gray_magikoopa_DefenseTable = 0x8022EDE0; // type:data rom:0x680B60 b_area_pra3_gray_magikoopa_DefenseTable_flying = 0x8022EDEC; // type:data rom:0x680B6C b_area_pra3_gray_magikoopa_StatusTable = 0x8022EDF8; // type:data rom:0x680B78 b_area_pra3_gray_magikoopa_StatusTable_flying = 0x8022EEA4; // type:data rom:0x680C24 -b_area_pra3_gray_magikoopa_parts = 0x8022EF50; // type:data rom:0x680CD0 -b_area_pra3_gray_magikoopa_parts_flying = 0x8022EF74; // type:data rom:0x680CF4 +b_area_pra3_gray_magikoopa_ActorParts = 0x8022EF50; // type:data rom:0x680CD0 +b_area_pra3_gray_magikoopa_ActorParts_flying = 0x8022EF74; // type:data rom:0x680CF4 b_area_pra3_gray_magikoopa = 0x8022EFE0; // type:data rom:0x680D60 b_area_pra3_gray_magikoopa_flying = 0x8022F008; // type:data rom:0x680D88 b_area_pra3_gray_magikoopa_idleAnimations1 = 0x8022F030; // type:data rom:0x680DB0 @@ -13653,13 +13653,13 @@ D_80232C84_684A04 = 0x80232C84; // type:data rom:0x684A04 D_80232C8C_684A0C = 0x80232C8C; // type:data rom:0x684A0C D_80232C94_684A14 = 0x80232C94; // type:data rom:0x684A14 D_80232C9C_684A1C = 0x80232C9C; // type:data rom:0x684A1C -b_area_kpa_UnkBattleFunc1 = 0x80218000; // type:func rom:0x684A30 -dup_b_area_kpa_UnkBattleFunc1 = 0x802180D0; // type:func rom:0x684B00 +b_area_kpa_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x684A30 +dup_b_area_kpa_SetAbsoluteStatusOffsets = 0x802180D0; // type:func rom:0x684B00 b_area_kpa_StartRumbleWithParams = 0x8021819C; // type:func rom:0x684BCC b_area_kpa_ShrinkActor = 0x80218200; // type:func rom:0x684C30 b_area_kpa_CosInterpMinMax = 0x80218358; // type:func rom:0x684D88 b_area_kpa_GetSelectedMoveID = 0x802184E8; // type:func rom:0x684F18 -dup2_b_area_kpa_UnkBattleFunc1 = 0x80218514; // type:func rom:0x684F44 +dup2_b_area_kpa_SetAbsoluteStatusOffsets = 0x80218514; // type:func rom:0x684F44 dup_b_area_kpa_StartRumbleWithParams = 0x802185E0; // type:func rom:0x685010 b_area_kpa_UnkFunc52 = 0x80218638; // type:func rom:0x685068 b_area_kpa_UnkSfxFunc = 0x80218700; // type:func rom:0x685130 @@ -13772,14 +13772,14 @@ D_80234968_6BBB68 = 0x80234968; // type:data rom:0x6BBB68 D_80234970_6BBB70 = 0x80234970; // type:data rom:0x6BBB70 D_80234978_6BBB78 = 0x80234978; // type:data rom:0x6BBB78 D_80234980_6BBB80 = 0x80234980; // type:data rom:0x6BBB80 -b_area_kpa3_UnkBattleFunc1 = 0x80218000; // type:func rom:0x6BBB90 +b_area_kpa3_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x6BBB90 b_area_kpa3_UnkFunc62 = 0x802180D0; // type:func rom:0x6BBC60 b_area_kpa3_ActorJumpToPos = 0x80218960; // type:func rom:0x6BC4F0 b_area_kpa3_UnkActorSizeFunc = 0x80218AB4; // type:func rom:0x6BC644 -b_area_kpa3_UnkEffect6CFunc = 0x80218B60; // type:func rom:0x6BC6F0 +b_area_kpa3_OpenTattleWindow = 0x80218B60; // type:func rom:0x6BC6F0 func_80218BC4_6BC754 = 0x80218BC4; // type:func rom:0x6BC754 func_80218BFC_6BC78C = 0x80218BFC; // type:func rom:0x6BC78C -dup_b_area_kpa3_UnkBattleFunc1 = 0x80218C44; // type:func rom:0x6BC7D4 +dup_b_area_kpa3_SetAbsoluteStatusOffsets = 0x80218C44; // type:func rom:0x6BC7D4 b_area_kpa3_UnkActorPosFunc = 0x80218D10; // type:func rom:0x6BC8A0 dup_b_area_kpa3_UnkActorPosFunc = 0x80218E34; // type:func rom:0x6BC9C4 func_80218F58_6BCAE8 = 0x80218F58; // type:func rom:0x6BCAE8 @@ -13809,12 +13809,12 @@ D_802284B4_6CC044 = 0x802284B4; // type:data rom:0x6CC044 D_802284C0_6CC050 = 0x802284C0; // type:data rom:0x6CC050 D_802284D4_6CC064 = 0x802284D4; // type:data rom:0x6CC064 func_80218000_6CC070 = 0x80218000; // type:func rom:0x6CC070 -dup_b_area_kpa4_UnkBattleFunc1 = 0x80218020; // type:func rom:0x6CC090 +dup_b_area_kpa4_SetAbsoluteStatusOffsets = 0x80218020; // type:func rom:0x6CC090 dup_p_area_kpa4_StartRumbleWithParams = 0x802180EC; // type:func rom:0x6CC15C b_area_kpa4_ShrinkActor = 0x80218150; // type:func rom:0x6CC1C0 b_area_kpa4_CosInterpMinMax = 0x802182A8; // type:func rom:0x6CC318 b_area_kpa4_GetSelectedMoveID = 0x80218438; // type:func rom:0x6CC4A8 -b_area_kpa4_UnkBattleFunc1 = 0x80218464; // type:func rom:0x6CC4D4 +b_area_kpa4_SetAbsoluteStatusOffsets = 0x80218464; // type:func rom:0x6CC4D4 b_area_kpa4_StartRumbleWithParams = 0x80218530; // type:func rom:0x6CC5A0 b_area_kpa4_UnkFunc52 = 0x80218588; // type:func rom:0x6CC5F8 func_80218000_6DBDA0 = 0x80218000; // type:func rom:0x6DBDA0 @@ -13825,11 +13825,11 @@ func_8021833C_6DC0DC = 0x8021833C; // type:func rom:0x6DC0DC func_802183EC_6DC18C = 0x802183EC; // type:func rom:0x6DC18C func_8021849C_6DC23C = 0x8021849C; // type:func rom:0x6DC23C b_area_kkj_SetLightningBoltPurple = 0x80218550; // type:func rom:0x6DC2F0 -b_area_dig_UnkBattleFunc1 = 0x80218000; // type:func rom:0x6DDDC0 +b_area_dig_SetAbsoluteStatusOffsets = 0x80218000; // type:func rom:0x6DDDC0 b_area_dig_SpawnDrainHealthStartFX = 0x802180D0; // type:func rom:0x6DDE90 b_area_dig_SpawnDrainHealthContinueFX = 0x80218184; // type:func rom:0x6DDF44 -dup_b_area_dig_UnkBattleFunc1 = 0x80218240; // type:func rom:0x6DE000 -dup2_b_area_dig_UnkBattleFunc1 = 0x80218310; // type:func rom:0x6DE0D0 +dup_b_area_dig_SetAbsoluteStatusOffsets = 0x80218240; // type:func rom:0x6DE000 +dup2_b_area_dig_SetAbsoluteStatusOffsets = 0x80218310; // type:func rom:0x6DE0D0 b_area_dig_IsSaveVar123 = 0x802183E0; // type:func rom:0x6DE1A0 b_area_dig_UpdateSunPos = 0x80218430; // type:func rom:0x6DE1F0 b_area_dig_GetModelPos = 0x80218580; // type:func rom:0x6DE340 @@ -13844,7 +13844,7 @@ dup_b_area_dig_SetDemoBattleBeginDelay = 0x80218890; // type:func rom:0x6DE650 battle_partner_goombario_IdleAnimations_80238000 = 0x80238000; // type:data rom:0x6F0B30 battle_partner_goombario_DefenseTable_8023800C = 0x8023800C; // type:data rom:0x6F0B3C battle_partner_goombario_StatusTable_80238018 = 0x80238018; // type:data rom:0x6F0B48 -battle_partner_goombario_PartsTable_802380C4 = 0x802380C4; // type:data rom:0x6F0BF4 +battle_partner_goombario_ActorParts_802380C4 = 0x802380C4; // type:data rom:0x6F0BF4 battle_partner_goombario = 0x802380E8; // type:data rom:0x6F0C18 battle_partner_goombario_init_80238110 = 0x80238110; // type:data rom:0x6F0C40 battle_partner_goombario_idle_8023818C = 0x8023818C; // type:data rom:0x6F0CBC @@ -13872,7 +13872,7 @@ battle_partner_goombario_GetChargeMessage = 0x80239190; // type:func rom:0x6F227 battle_partner_goombario_IdleAnimations_802391B0 = 0x802391B0; // type:data rom:0x6F2290 battle_partner_goombario_DefenseTable_802391EC = 0x802391EC; // type:data rom:0x6F22CC battle_partner_goombario_StatusTable_802391F8 = 0x802391F8; // type:data rom:0x6F22D8 -battle_partner_goombario_PartsTable_802392A4 = 0x802392A4; // type:data rom:0x6F2384 +battle_partner_goombario_ActorParts_802392A4 = 0x802392A4; // type:data rom:0x6F2384 battle_partner_goombario_goombario = 0x802392C8; // type:data rom:0x6F23A8 battle_partner_goombario_init_802392F0 = 0x802392F0; // type:data rom:0x6F23D0 battle_partner_goombario_idle_80239350 = 0x80239350; // type:data rom:0x6F2430 @@ -13912,7 +13912,7 @@ func_802383C0_6F6240 = 0x802383C0; // type:func rom:0x6F6240 battle_partner_kooper_IdleAnimations_80238430 = 0x80238430; // type:data rom:0x6F62B0 battle_partner_kooper_DefenseTable_8023846C = 0x8023846C; // type:data rom:0x6F62EC battle_partner_kooper_StatusTable_80238478 = 0x80238478; // type:data rom:0x6F62F8 -battle_partner_kooper_PartsTable_80238524 = 0x80238524; // type:data rom:0x6F63A4 +battle_partner_kooper_ActorParts_80238524 = 0x80238524; // type:data rom:0x6F63A4 battle_partner_kooper = 0x80238548; // type:data rom:0x6F63C8 battle_partner_kooper_init_80238570 = 0x80238570; // type:data rom:0x6F63F0 battle_partner_kooper_idle_802385D0 = 0x802385D0; // type:data rom:0x6F6450 @@ -13940,7 +13940,7 @@ func_80238590_6FB2A0 = 0x80238590; // type:func rom:0x6FB2A0 battle_partner_bombette_IdleAnimations_80238640 = 0x80238640; // type:data rom:0x6FB350 battle_partner_bombette_DefenseTable_8023867C = 0x8023867C; // type:data rom:0x6FB38C battle_partner_bombette_StatusTable_80238688 = 0x80238688; // type:data rom:0x6FB398 -battle_partner_bombette_PartsTable_80238734 = 0x80238734; // type:data rom:0x6FB444 +battle_partner_bombette_ActorParts_80238734 = 0x80238734; // type:data rom:0x6FB444 battle_partner_bombette = 0x80238758; // type:data rom:0x6FB468 battle_partner_bombette_init_80238780 = 0x80238780; // type:data rom:0x6FB490 battle_partner_bombette_idle_802387E0 = 0x802387E0; // type:data rom:0x6FB4F0 @@ -15211,8 +15211,8 @@ mac_01_KnockdownSetPos = 0x80243500; // type:func rom:0x803D80 mac_01_KnockdownSetRot = 0x802435C0; // type:func rom:0x803E40 mac_01_KnockdownSetScale = 0x80243680; // type:func rom:0x803F00 mac_01_KnockdownSetRaster = 0x80243740; // type:func rom:0x803FC0 -mac_01_ToadHouse_DisableStatusMenu = 0x802437AC; // type:func rom:0x80402C -mac_01_ToadHouse_ShowStatusMenu = 0x802437CC; // type:func rom:0x80404C +mac_01_ToadHouse_DisableStatusBar = 0x802437AC; // type:func rom:0x80402C +mac_01_ToadHouse_ShowWorldStatusBar = 0x802437CC; // type:func rom:0x80404C mac_01_ToadHouse_UpdateScreenOverlay = 0x802437F4; // type:func rom:0x804074 mac_01_ToadHouse_CamSetFOV = 0x80243870; // type:func rom:0x8040F0 mac_01_ToadHouse_AwaitScriptComplete = 0x802438F0; // type:func rom:0x804170 @@ -15491,9 +15491,9 @@ mac_04_GetCurrentStatMaxima = 0x802419E4; // type:func rom:0x8445B4 mac_04_AdjustStatMaxima = 0x80241A64; // type:func rom:0x844634 mac_04_GetCurrentStatValues = 0x80241B90; // type:func rom:0x844760 mac_04_SetNpcShadowScale = 0x80241BB8; // type:func rom:0x844788 -mac_04_SetStatusMenuIgnoreChanges = 0x80241C20; // type:func rom:0x8447F0 -mac_04_SetStatusMenuRespondToChanges = 0x80241C40; // type:func rom:0x844810 -mac_04_ForceStatusMenuToAppear = 0x80241C60; // type:func rom:0x844830 +mac_04_SetStatusBarIgnoreChanges = 0x80241C20; // type:func rom:0x8447F0 +mac_04_SetStatusBarRespondToChanges = 0x80241C40; // type:func rom:0x844810 +mac_04_ForceStatusBarToAppear = 0x80241C60; // type:func rom:0x844830 mac_04_CreateShrinkingWorker = 0x80241C90; // type:func rom:0x844860 mac_04_DestroyShrinkingWorker = 0x80241CEC; // type:func rom:0x8448BC mac_04_render_shrunk_player = 0x80241D30; // type:func rom:0x844900 @@ -16083,10 +16083,10 @@ func_80242734_8B27A4 = 0x80242734; // type:func rom:0x8B27A4 RemoveGoompaPartner = 0x80242788; // type:func rom:0x8B27F8 WaitForStartInput = 0x802427B0; // type:func rom:0x8B2820 OpenPauseMenu = 0x802427CC; // type:func rom:0x8B283C -CloseStatusMenu = 0x802427EC; // type:func rom:0x8B285C +CloseStatusBar = 0x802427EC; // type:func rom:0x8B285C AddGoompaRenderYaw = 0x8024280C; // type:func rom:0x8B287C kmr_02_GetKammyBroomEmitterPos = 0x80242860; // type:func rom:0x8B28D0 -kmr_02_SyncStatusMenu = 0x8024293C; // type:func rom:0x8B29AC +kmr_02_SyncStatusBar = 0x8024293C; // type:func rom:0x8B29AC func_8024295C_8B29CC = 0x8024295C; // type:func rom:0x8B29CC func_80242BA8_8B2C18 = 0x80242BA8; // type:func rom:0x8B2C18 func_80242BC0_8B2C30 = 0x80242BC0; // type:func rom:0x8B2C30 @@ -16096,8 +16096,8 @@ func_80242F7C_8B2FEC = 0x80242F7C; // type:func rom:0x8B2FEC kmr_02_ShrinkItemEntity = 0x80243034; // type:func rom:0x8B30A4 kmr_02_heart_block_img = 0x80257B00; // type:data rom:0x8C7B70 kmr_02_heart_block_pal = 0x80257D00; // type:data rom:0x8C7D70 -kmr_02_ToadHouse_DisableStatusMenu = 0x80243070; // type:func rom:0x8B30E0 -kmr_02_ToadHouse_ShowStatusMenu = 0x80243090; // type:func rom:0x8B3100 +kmr_02_ToadHouse_DisableStatusBar = 0x80243070; // type:func rom:0x8B30E0 +kmr_02_ToadHouse_ShowWorldStatusBar = 0x80243090; // type:func rom:0x8B3100 kmr_02_ToadHouse_UpdateScreenOverlay = 0x802430B8; // type:func rom:0x8B3128 kmr_02_ToadHouse_CamSetFOV = 0x80243134; // type:func rom:0x8B31A4 kmr_02_ToadHouse_AwaitScriptComplete = 0x802431B4; // type:func rom:0x8B3224 @@ -16334,8 +16334,8 @@ dup_kmr_20_foliage_setup_shear_mtx = 0x80240E20; // type:func rom:0x8ECC40 dup_kmr_20_TransformFoliage = 0x80240E90; // type:func rom:0x8ECCB0 dup2_kmr_20_foliage_setup_shear_mtx = 0x80241060; // type:func rom:0x8ECE80 dup2_kmr_20_TransformFoliage = 0x802410D0; // type:func rom:0x8ECEF0 -kmr_20_ToadHouse_DisableStatusMenu = 0x802412A0; // type:func rom:0x8ED0C0 -kmr_20_ToadHouse_ShowStatusMenu = 0x802412C0; // type:func rom:0x8ED0E0 +kmr_20_ToadHouse_DisableStatusBar = 0x802412A0; // type:func rom:0x8ED0C0 +kmr_20_ToadHouse_ShowWorldStatusBar = 0x802412C0; // type:func rom:0x8ED0E0 kmr_20_ToadHouse_UpdateScreenOverlay = 0x802412E8; // type:func rom:0x8ED108 kmr_20_ToadHouse_CamSetFOV = 0x80241364; // type:func rom:0x8ED184 kmr_20_ToadHouse_AwaitScriptComplete = 0x802413E4; // type:func rom:0x8ED204 @@ -17127,8 +17127,8 @@ dro_02_ItemChoice_WaitForSelection = 0x802432C0; // type:func rom:0x96C480 dro_02_ItemChoice_SaveSelected = 0x80243314; // type:func rom:0x96C4D4 dro_02_BuildKeyItemChoiceList = 0x8024334C; // type:func rom:0x96C50C dro_02_BuildItemChoiceList = 0x802433E8; // type:func rom:0x96C5A8 -dro_02_ToadHouse_DisableStatusMenu = 0x80243484; // type:func rom:0x96C644 -dro_02_ToadHouse_ShowStatusMenu = 0x802434A4; // type:func rom:0x96C664 +dro_02_ToadHouse_DisableStatusBar = 0x80243484; // type:func rom:0x96C644 +dro_02_ToadHouse_ShowWorldStatusBar = 0x802434A4; // type:func rom:0x96C664 dro_02_ToadHouse_UpdateScreenOverlay = 0x802434CC; // type:func rom:0x96C68C dro_02_ToadHouse_CamSetFOV = 0x80243548; // type:func rom:0x96C708 dro_02_ToadHouse_AwaitScriptComplete = 0x802435C8; // type:func rom:0x96C788 @@ -17452,7 +17452,7 @@ trd_00_GetItemName = 0x802403C4; // type:func rom:0x99A034 trd_00_SomeItemEntityFunc = 0x80240428; // type:func rom:0x99A098 trd_00_IsItemBadge = 0x80240578; // type:func rom:0x99A1E8 trd_00_UpgradeStarPowerCh1 = 0x802405D0; // type:func rom:0x99A240 -trd_00_SyncStatusMenu = 0x8024060C; // type:func rom:0x99A27C +trd_00_SyncStatusBar = 0x8024060C; // type:func rom:0x99A27C trd_00_varStash = 0x80241340; // type:data rom:0x99AFB0 trd_01_UpdateTexturePanSmooth = 0x80240000; // type:func rom:0x99C990 trd_01_UpdateTexturePanStepped = 0x80240124; // type:func rom:0x99CAB4 @@ -17616,8 +17616,8 @@ nok_01_GuardAI_LosePlayer = 0x802404F8; // type:func rom:0x9C58D8 nok_01_GuardAI_ReturnHomeInit = 0x80240540; // type:func rom:0x9C5920 nok_01_GuardAI_ReturnHome = 0x802405EC; // type:func rom:0x9C59CC nok_01_GuardAI_Main = 0x802407F4; // type:func rom:0x9C5BD4 -nok_01_ToadHouse_DisableStatusMenu = 0x80240A6C; // type:func rom:0x9C5E4C -nok_01_ToadHouse_ShowStatusMenu = 0x80240A8C; // type:func rom:0x9C5E6C +nok_01_ToadHouse_DisableStatusBar = 0x80240A6C; // type:func rom:0x9C5E4C +nok_01_ToadHouse_ShowWorldStatusBar = 0x80240A8C; // type:func rom:0x9C5E6C nok_01_ToadHouse_UpdateScreenOverlay = 0x80240AB4; // type:func rom:0x9C5E94 nok_01_ToadHouse_CamSetFOV = 0x80240B30; // type:func rom:0x9C5F10 nok_01_ToadHouse_AwaitScriptComplete = 0x80240BB0; // type:func rom:0x9C5F90 @@ -18069,8 +18069,8 @@ hos_03_FlyingAI_Chase = 0x80241AA4; // type:func rom:0xA1CBA4 hos_03_FlyingAI_LosePlayer = 0x80241B08; // type:func rom:0xA1CC08 hos_03_FlyingAI_Init = 0x80241E98; // type:func rom:0xA1CF98 hos_03_FlyingAI_Main = 0x80241FBC; // type:func rom:0xA1D0BC -hos_03_ToadHouse_DisableStatusMenu = 0x802421A8; // type:func rom:0xA1D2A8 -hos_03_ToadHouse_ShowStatusMenu = 0x802421C8; // type:func rom:0xA1D2C8 +hos_03_ToadHouse_DisableStatusBar = 0x802421A8; // type:func rom:0xA1D2A8 +hos_03_ToadHouse_ShowWorldStatusBar = 0x802421C8; // type:func rom:0xA1D2C8 hos_03_ToadHouse_UpdateScreenOverlay = 0x802421F0; // type:func rom:0xA1D2F0 hos_03_ToadHouse_CamSetFOV = 0x8024226C; // type:func rom:0xA1D36C hos_03_ToadHouse_AwaitScriptComplete = 0x802422EC; // type:func rom:0xA1D3EC @@ -18701,8 +18701,8 @@ kpa_91_UnkDistFunc = 0x80240F0C; // type:func rom:0xA8795C kpa_91_UnkNpcAIFunc12 = 0x80241040; // type:func rom:0xA87A90 kpa_91_set_script_owner_npc_col_height = 0x802411A4; // type:func rom:0xA87BF4 kpa_91_KoopaPatrolAI_Main = 0x80241224; // type:func rom:0xA87C74 -kpa_91_ToadHouse_DisableStatusMenu = 0x80241528; // type:func rom:0xA87F78 -kpa_91_ToadHouse_ShowStatusMenu = 0x80241548; // type:func rom:0xA87F98 +kpa_91_ToadHouse_DisableStatusBar = 0x80241528; // type:func rom:0xA87F78 +kpa_91_ToadHouse_ShowWorldStatusBar = 0x80241548; // type:func rom:0xA87F98 kpa_91_ToadHouse_UpdateScreenOverlay = 0x80241570; // type:func rom:0xA87FC0 kpa_91_ToadHouse_CamSetFOV = 0x802415EC; // type:func rom:0xA8803C kpa_91_ToadHouse_AwaitScriptComplete = 0x8024166C; // type:func rom:0xA880BC @@ -18737,8 +18737,8 @@ kpa_95_UnkDistFunc = 0x80240FEC; // type:func rom:0xA8DA6C kpa_95_UnkNpcAIFunc12 = 0x80241120; // type:func rom:0xA8DBA0 kpa_95_set_script_owner_npc_col_height = 0x80241284; // type:func rom:0xA8DD04 kpa_95_KoopaPatrolAI_Main = 0x80241304; // type:func rom:0xA8DD84 -kpa_95_ToadHouse_DisableStatusMenu = 0x80241608; // type:func rom:0xA8E088 -kpa_95_ToadHouse_ShowStatusMenu = 0x80241628; // type:func rom:0xA8E0A8 +kpa_95_ToadHouse_DisableStatusBar = 0x80241608; // type:func rom:0xA8E088 +kpa_95_ToadHouse_ShowWorldStatusBar = 0x80241628; // type:func rom:0xA8E0A8 kpa_95_ToadHouse_UpdateScreenOverlay = 0x80241650; // type:func rom:0xA8E0D0 kpa_95_ToadHouse_CamSetFOV = 0x802416CC; // type:func rom:0xA8E14C kpa_95_ToadHouse_AwaitScriptComplete = 0x8024174C; // type:func rom:0xA8E1CC @@ -19115,8 +19115,8 @@ kkj_20_StashVars = 0x80240000; // type:func rom:0xAFDB40 kkj_20_GetItemName = 0x802400B4; // type:func rom:0xAFDBF4 kkj_20_SomeItemEntityFunc = 0x80240118; // type:func rom:0xAFDC58 kkj_20_IsItemBadge = 0x80240268; // type:func rom:0xAFDDA8 -kkj_20_ToadHouse_DisableStatusMenu = 0x802402C0; // type:func rom:0xAFDE00 -kkj_20_ToadHouse_ShowStatusMenu = 0x802402E0; // type:func rom:0xAFDE20 +kkj_20_ToadHouse_DisableStatusBar = 0x802402C0; // type:func rom:0xAFDE00 +kkj_20_ToadHouse_ShowWorldStatusBar = 0x802402E0; // type:func rom:0xAFDE20 kkj_20_ToadHouse_UpdateScreenOverlay = 0x80240308; // type:func rom:0xAFDE48 kkj_20_ToadHouse_CamSetFOV = 0x80240384; // type:func rom:0xAFDEC4 kkj_20_ToadHouse_AwaitScriptComplete = 0x80240404; // type:func rom:0xAFDF44 @@ -19339,8 +19339,8 @@ jan_03_PatrolAI_Chase = 0x80240F6C; // type:func rom:0xB35B3C jan_03_PatrolAI_LosePlayer = 0x8024108C; // type:func rom:0xB35C5C jan_03_PatrolNoAttackAI_15 = 0x802410F4; // type:func rom:0xB35CC4 jan_03_PatrolNoAttackAI_Main = 0x802411B4; // type:func rom:0xB35D84 -jan_03_ToadHouse_DisableStatusMenu = 0x802414B0; // type:func rom:0xB36080 -jan_03_ToadHouse_ShowStatusMenu = 0x802414D0; // type:func rom:0xB360A0 +jan_03_ToadHouse_DisableStatusBar = 0x802414B0; // type:func rom:0xB36080 +jan_03_ToadHouse_ShowWorldStatusBar = 0x802414D0; // type:func rom:0xB360A0 jan_03_ToadHouse_UpdateScreenOverlay = 0x802414F8; // type:func rom:0xB360C8 jan_03_ToadHouse_CamSetFOV = 0x80241574; // type:func rom:0xB36144 jan_03_ToadHouse_AwaitScriptComplete = 0x802415F4; // type:func rom:0xB361C4 @@ -22484,9 +22484,9 @@ flo_00_GetPlayerAngles = 0x80240F10; // type:func rom:0xC9EE30 flo_00_PlayerRideBeanstalk = 0x80240F80; // type:func rom:0xC9EEA0 flo_00_PartnerRideBeanstalk = 0x802410B4; // type:func rom:0xC9EFD4 flo_00_CosInterpMinMax = 0x802411EC; // type:func rom:0xC9F10C -flo_00_SyncStatusMenu = 0x8024137C; // type:func rom:0xC9F29C -flo_00_DisableStatusMenu = 0x8024139C; // type:func rom:0xC9F2BC -flo_00_EnableStatusMenu = 0x802413BC; // type:func rom:0xC9F2DC +flo_00_SyncStatusBar = 0x8024137C; // type:func rom:0xC9F29C +flo_00_DisableStatusBar = 0x8024139C; // type:func rom:0xC9F2BC +flo_00_EnableWorldStatusBar = 0x802413BC; // type:func rom:0xC9F2DC flo_00_entryList = 0x802413E0; // type:data rom:0xC9F300 flo_00_settings = 0x80241490; // type:data rom:0xC9F3B0 flo_00_802414D0 = 0x802414D0; // type:data rom:0xC9F3F0 @@ -23654,8 +23654,8 @@ sam_02_UpdateTexturePanSmooth = 0x802402E0; // type:func rom:0xD05A10 sam_02_UpdateTexturePanStepped = 0x80240404; // type:func rom:0xD05B34 sam_02_foliage_setup_shear_mtx = 0x802405EC; // type:func rom:0xD05D1C sam_02_TransformFoliage = 0x8024065C; // type:func rom:0xD05D8C -sam_02_ToadHouse_DisableStatusMenu = 0x80240830; // type:func rom:0xD05F60 -sam_02_ToadHouse_ShowStatusMenu = 0x80240850; // type:func rom:0xD05F80 +sam_02_ToadHouse_DisableStatusBar = 0x80240830; // type:func rom:0xD05F60 +sam_02_ToadHouse_ShowWorldStatusBar = 0x80240850; // type:func rom:0xD05F80 sam_02_ToadHouse_UpdateScreenOverlay = 0x80240878; // type:func rom:0xD05FA8 sam_02_ToadHouse_CamSetFOV = 0x802408F4; // type:func rom:0xD06024 sam_02_ToadHouse_AwaitScriptComplete = 0x80240974; // type:func rom:0xD060A4 @@ -23768,8 +23768,8 @@ sam_06_ItemChoice_WaitForSelection = 0x80241D8C; // type:func rom:0xD21C1C func_80241DE0_D21C70 = 0x80241DE0; // type:func rom:0xD21C70 func_80241E18_D21CA8 = 0x80241E18; // type:func rom:0xD21CA8 func_80241EB4_D21D44 = 0x80241EB4; // type:func rom:0xD21D44 -sam_06_ToadHouse_DisableStatusMenu = 0x80241F50; // type:func rom:0xD21DE0 -sam_06_ToadHouse_ShowStatusMenu = 0x80241F70; // type:func rom:0xD21E00 +sam_06_ToadHouse_DisableStatusBar = 0x80241F50; // type:func rom:0xD21DE0 +sam_06_ToadHouse_ShowWorldStatusBar = 0x80241F70; // type:func rom:0xD21E00 sam_06_ToadHouse_UpdateScreenOverlay = 0x80241F98; // type:func rom:0xD21E28 sam_06_ToadHouse_CamSetFOV = 0x80242014; // type:func rom:0xD21EA4 sam_06_ToadHouse_AwaitScriptComplete = 0x80242094; // type:func rom:0xD21F24 @@ -25570,7 +25570,7 @@ func_80240F40_EB9D90 = 0x80240F40; // type:func rom:0xEB9D90 func_80240FB0_EB9E00 = 0x80240FB0; // type:func rom:0xEB9E00 func_802410E4_EB9F34 = 0x802410E4; // type:func rom:0xEB9F34 dead_flo_00_CosInterpMinMax = 0x8024121C; // type:func rom:0xEBA06C -dead_flo_00_SyncStatusMenu = 0x802413AC; // type:func rom:0xEBA1FC +dead_flo_00_SyncStatusBar = 0x802413AC; // type:func rom:0xEBA1FC func_802413CC_EBA21C = 0x802413CC; // type:func rom:0xEBA21C func_802413EC_EBA23C = 0x802413EC; // type:func rom:0xEBA23C ascii_EC2000 = 0x802491B0; // type:data rom:0xEC2000 @@ -26035,7 +26035,7 @@ mdl_currentTransformGroupChildIndex = 0x8015336C; // type:data gCurrentAnimMeshListPtr = 0x80153A40; // gAnimRotMtx = 0x80153A68; // type:data gMessageDrawStatePtr = 0x80155D74; // type:data -D_801568F0 = 0x801568F0; // type:data +ItemPickupGotOutline = 0x801568F0; // type:data D_80156903 = 0x80156903; // type:data D_8015690B = 0x8015690B; // type:data D_8015C7A8 = 0x8015C7A8; // type:data diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index 3c4cb2a9d6..5eeeeb38a5 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -229,9 +229,9 @@ dead_gCameras = gCameras + 0x7000; dead_npc_raycast_down_sides = npc_raycast_down_sides + 0x76C0; dead_npc_test_move_simple_with_slipping = npc_test_move_simple_with_slipping + 0x76C0; dead_npc_test_move_simple_without_slipping = npc_test_move_simple_without_slipping + 0x76C0; -dead_decrement_status_menu_disabled = decrement_status_menu_disabled + 0x7BC4; -dead_increment_status_menu_disabled = increment_status_menu_disabled + 0x7BC4; -dead_sync_status_menu = sync_status_menu + 0x7BC4; +dead_decrement_status_bar_disabled = decrement_status_bar_disabled + 0x7BC4; +dead_increment_status_bar_disabled = increment_status_bar_disabled + 0x7BC4; +dead_sync_status_bar = sync_status_bar + 0x7BC4; dead_set_max_SP = set_max_SP + 0x7BC4; dead_subtract_hp = subtract_hp + 0x7BC4; dead_switch_to_partner = switch_to_partner + 0x7BF4;