From 4fce6037a12896e0f1128d9be24d388238e327a5 Mon Sep 17 00:00:00 2001 From: HailSanta <53960937+HailSanta@users.noreply.github.com> Date: Wed, 15 Feb 2023 03:18:27 -0500 Subject: [PATCH] misc battle cleanup (#943) * peach NPC flags and missing ANIM_LIST_END * ANIMS * auto smash * misc battle cleanup * misc battle doc 2 * more battle --------- Co-authored-by: HailSanta --- include/common_structs.h | 4 +- include/enums.h | 299 ++++---- include/functions.h | 5 +- include/macros.h | 9 +- include/npc.h | 10 +- include/script_api/battle.h | 2 +- src/111f0_len_860.c | 2 +- src/17D6A0.c | 38 +- src/17FEB0.c | 189 ++--- src/181810.c | 4 +- src/182B30.c | 6 +- src/18C790.c | 6 +- src/18F340.c | 2 +- src/190B20.c | 127 +-- src/19FAF0.c | 399 +++++----- src/1A5830.c | 363 ++++----- src/1AC760.c | 584 ++++++++------ src/1AF120.c | 2 +- src/415D90.c | 94 +-- src/7E9D0.c | 2 +- src/8a860_len_3f30.c | 24 +- src/actor_api.c | 20 +- src/battle/action_cmd/hammer.c | 2 +- src/battle/area_arn/actor/hyper_cleft.c | 10 +- src/battle/area_arn/actor/hyper_paragoomba.c | 12 +- src/battle/area_arn/actor/hypergoomba.c | 6 +- src/battle/area_arn/actor/tubba_blubba.c | 6 +- src/battle/area_arn/actor/tubbas_heart.c | 4 +- src/battle/area_dgb/actor/tubba_blubba.c | 6 +- src/battle/area_flo/actor/amazy_dayzee.c | 4 +- src/battle/area_flo/actor/crazee_dayzee.c | 4 +- src/battle/area_flo/actor/lakitu.c | 2 +- src/battle/area_flo/actor/ruff_puff.c | 4 +- src/battle/area_flo2/actor/huff_n_puff.c | 14 +- src/battle/area_flo2/actor/monty_mole_boss.c | 6 +- src/battle/area_flo2/actor/spike.c | 4 +- src/battle/area_flo2/actor/tuff_puff.c | 4 +- .../area_isk_part_1/actor/pokey_mummy.c | 10 +- .../area_isk_part_1/actor/stone_chomp.c | 4 +- .../area_isk_part_2/actor/chain_chomp.c | 2 +- src/battle/area_isk_part_2/actor/tutankoopa.c | 2 +- src/battle/area_iwa/actor/buzzar.c | 12 +- src/battle/area_iwa/actor/cleft.c | 8 +- src/battle/area_jan/actor/hurt_plant.c | 6 +- src/battle/area_jan/actor/jungle_fuzzy.c | 6 +- src/battle/area_jan/actor/m_bush.c | 6 +- src/battle/area_jan/actor/spear_guy.c | 10 +- src/battle/area_kgr/actor/fuzzipede.c | 8 +- src/battle/area_kkj/actor/kammy_koopa.c | 6 +- .../area_kmr_part_2/actor/goomba_king.c | 2 +- .../area_kmr_part_2/actor/goomnut_tree.c | 2 +- .../area_kmr_part_3/actor/final_jr_troopa.c | 2 +- src/battle/area_kpa/actor/bony_beetle.c | 16 +- src/battle/area_kpa/actor/dry_bones.c | 8 +- src/battle/area_kpa2/actor/bowser.c | 14 +- src/battle/area_kpa2/actor/bowser_intro.c | 8 +- src/battle/area_kpa2/actor/bowser_phase_1.c | 22 +- src/battle/area_kpa2/actor/bowser_phase_2.c | 28 +- src/battle/area_kpa2/actor/bowser_phase_3.c | 26 +- src/battle/area_kpa3/actor/anti_guy.c | 4 +- src/battle/area_kpa4/actor/bombshell_bill.c | 2 +- .../area_kpa4/actor/bombshell_bill_blaster.c | 2 +- src/battle/area_kzn/actor/lava_bubble.c | 10 +- src/battle/area_kzn2/actor/lava_bud.c | 6 +- src/battle/area_kzn2/actor/lava_piranha.c | 22 +- src/battle/area_kzn2/actor/petit_piranha.c | 6 +- .../area_kzn2/actor/petit_piranha_bomb.c | 2 +- src/battle/area_mac/actor/chan.c | 4 +- src/battle/area_mac/actor/lee.c | 18 +- src/battle/area_mim/actor/forest_fuzzy.c | 6 +- src/battle/area_mim/actor/piranha_plant.c | 4 +- src/battle/area_nok/actor/kent_c_koopa.c | 14 +- src/battle/area_omo/actor/anti_guy.c | 4 +- src/battle/area_omo/actor/blue_shy_guy.c | 4 +- src/battle/area_omo/actor/green_shy_guy.c | 4 +- src/battle/area_omo/actor/groove_guy.c | 8 +- src/battle/area_omo/actor/pink_shy_guy.c | 4 +- src/battle/area_omo/actor/pyro_guy.c | 6 +- src/battle/area_omo/actor/sky_guy.c | 8 +- src/battle/area_omo/actor/spy_guy.c | 6 +- src/battle/area_omo/actor/yellow_shy_guy.c | 4 +- src/battle/area_omo2/actor/general_guy.c | 16 +- src/battle/area_omo2/actor/light_bulb.c | 2 +- src/battle/area_omo2/actor/toy_tank.c | 2 +- src/battle/area_omo2_1/actor/shy_squad.c | 2 +- src/battle/area_omo2_2/actor/stilt_guy.c | 10 +- src/battle/area_omo2_3/actor/shy_stack.c | 20 +- src/battle/area_omo2_4/actor/signal_guy.c | 2 +- src/battle/area_omo2_5/actor/shy_squad_dup.c | 2 +- .../area_omo3/actor/big_lantern_ghost.c | 10 +- src/battle/area_pra/actor/albino_dino.c | 4 +- src/battle/area_pra2/actor/crystal_bit.c | 2 +- src/battle/area_pra2/actor/crystal_king.c | 8 +- src/battle/area_sam/actor/frost_piranha.c | 10 +- src/battle/area_sam/actor/gulpit.c | 6 +- src/battle/area_sam/actor/gulpit_rocks.c | 2 +- src/battle/area_sam2/actor/monstar.c | 6 +- src/battle/area_tik/actor/dark_koopa.c | 12 +- src/battle/area_tik/actor/dark_paratroopa.c | 18 +- src/battle/area_tik/actor/gloomba.c | 4 +- src/battle/area_tik/actor/paragloomba.c | 8 +- src/battle/area_tik/actor/spiked_gloomba.c | 4 +- src/battle/area_tik2/actor/blooper.c | 2 +- src/battle/area_tik2/actor/blooper_baby.c | 2 +- src/battle/area_tik2/actor/electro_blooper.c | 6 +- src/battle/area_tik2/actor/super_blooper.c | 2 +- .../area_trd_part_1/actor/bill_blaster.c | 2 +- src/battle/area_trd_part_1/actor/bob_omb.c | 18 +- .../area_trd_part_1/actor/bullet_bill.c | 2 +- .../area_trd_part_2/actor/blue_ninja_koopa.c | 6 +- .../area_trd_part_2/actor/fake_bowser.c | 12 +- .../area_trd_part_2/actor/green_ninja_koopa.c | 6 +- .../area_trd_part_2/actor/red_ninja_koopa.c | 6 +- .../actor/yellow_ninja_koopa.c | 6 +- src/battle/area_trd_part_3/actor/eldstar.c | 74 +- src/battle/common/actor/bandit.inc.c | 4 +- src/battle/common/actor/buzzy_beetle.inc.c | 12 +- src/battle/common/actor/bzzap.inc.c | 8 +- src/battle/common/actor/clubba.inc.c | 4 +- src/battle/common/actor/duplighost.inc.c | 4 +- src/battle/common/actor/fuzzy.inc.c | 8 +- src/battle/common/actor/ghost_bombette.inc.c | 6 +- src/battle/common/actor/ghost_bow.inc.c | 6 +- src/battle/common/actor/ghost_goombario.inc.c | 6 +- src/battle/common/actor/ghost_kooper.inc.c | 12 +- .../common/actor/ghost_lakilester.inc.c | 6 +- src/battle/common/actor/ghost_parakarry.inc.c | 6 +- src/battle/common/actor/ghost_sushie.inc.c | 6 +- src/battle/common/actor/ghost_watt.inc.c | 14 +- src/battle/common/actor/goomba.inc.c | 4 +- src/battle/common/actor/gray_magikoopa.inc.c | 8 +- src/battle/common/actor/green_magikoopa.inc.c | 8 +- src/battle/common/actor/hammer_bro.inc.c | 10 +- src/battle/common/actor/koopa_troopa.inc.c | 8 +- src/battle/common/actor/koopatrol.inc.c | 10 +- src/battle/common/actor/magikoopa.inc.c | 4 +- src/battle/common/actor/medi_guy.inc.c | 4 +- src/battle/common/actor/monty_mole.inc.c | 4 +- src/battle/common/actor/paragoomba.inc.c | 8 +- src/battle/common/actor/paratroopa.inc.c | 14 +- src/battle/common/actor/pokey.inc.c | 14 +- src/battle/common/actor/putrid_piranha.inc.c | 8 +- src/battle/common/actor/red_magikoopa.inc.c | 8 +- src/battle/common/actor/red_shy_guy.inc.c | 4 +- src/battle/common/actor/slot_machine.inc.c | 2 +- src/battle/common/actor/spike_top.inc.c | 12 +- src/battle/common/actor/spiked_goomba.inc.c | 4 +- src/battle/common/actor/spiny.inc.c | 4 +- src/battle/common/actor/swooper.inc.c | 4 +- src/battle/common/actor/swoopula.inc.c | 4 +- src/battle/common/actor/whacka.inc.c | 2 +- src/battle/common/actor/white_clubba.inc.c | 4 +- src/battle/common/actor/white_magikoopa.inc.c | 8 +- .../common/actor/yellow_magikoopa.inc.c | 8 +- src/battle/item/dizzy_dial.c | 2 +- src/battle/item/dizzy_dial.h | 2 +- src/battle/item/fright_jar.c | 2 +- src/battle/item/sleepy_sheep.c | 2 +- src/battle/item/sleepy_sheep.h | 2 +- src/battle/item/stop_watch.c | 2 +- src/battle/item/stop_watch.h | 2 +- src/battle/item/thunder_rage.c | 38 +- .../move/auto_multibounce/auto_multibounce.c | 10 +- src/battle/move/auto_smash/763540.c | 7 - src/battle/move/auto_smash/auto_smash.c | 721 ++++++++++++++++++ src/battle/partner/bombette.c | 22 +- src/battle/partner/bow.c | 34 +- src/battle/partner/goombario.c | 20 +- src/battle/partner/goompa.c | 2 +- src/battle/partner/kooper.c | 39 +- src/battle/partner/lakilester.c | 12 +- src/battle/partner/parakarry.c | 28 +- src/battle/partner/sushie.c | 20 +- src/battle/partner/twink.c | 4 +- src/battle/partner/watt.c | 36 +- src/cd180_len_38f0.c | 2 +- src/encounter.c | 6 +- src/entity_model.c | 24 +- src/evt/msg_api.c | 16 +- src/evt/npc_api.c | 4 +- src/move_script.c | 3 +- src/msg.c | 6 +- src/npc.c | 24 +- src/state_file_select.c | 4 +- src/status_icons.c | 12 +- src/windows.c | 4 +- src/worker.c | 12 +- src/world/area_arn/arn_05/arn_05_3_npc.c | 6 +- .../area_end/end_00/end_00_3_parade_setup.c | 2 +- .../area_end/end_01/end_01_3_parade_setup.c | 20 +- src/world/area_hos/hos_05/hos_05_4_npc.c | 8 +- src/world/area_hos/hos_10/hos_10_2_npc1.c | 2 +- .../area_kkj/kkj_00/kkj_00_5_npc_ending.c | 2 +- src/world/area_kkj/kkj_03/kkj_03_3_npc.c | 2 +- .../area_kkj/kkj_13/kkj_13_3_npcs_finale.c | 2 +- .../area_kkj/kkj_13/kkj_13_4_npcs_intro.c | 2 +- .../area_kkj/kkj_23/kkj_23_3_npcs_finale.c | 2 +- .../area_kkj/kkj_25/kkj_25_2_npc_initial.c | 2 +- .../area_kkj/kkj_25/kkj_25_3_npc_midpoint.c | 2 +- .../area_kkj/kkj_25/kkj_25_4_npc_final.c | 2 +- src/world/area_kmr/kmr_20/kmr_20_10_npc.c | 75 +- .../area_kmr/kmr_22/npc/lava_piranha.inc.c | 8 +- src/world/area_kpa/kpa_17/kpa_17_4_npc.c | 19 +- src/world/area_kpa/kpa_53/kpa_53_3_npc.c | 2 +- src/world/area_kpa/kpa_82/kpa_82_3_npc.c | 589 +------------- .../area_mac/mac_00/mac_00_13_epilogue_npc.c | 18 +- src/world/area_mac/mac_00/mac_00_5_npc.c | 18 +- src/world/area_mac/mac_01/mac_01_9_npc.c | 6 +- src/world/area_mac/mac_02/mac_02_6_npc.c | 40 +- src/world/area_mac/mac_05/mac_05_4_npc.c | 14 +- src/world/area_mgm/mgm_02/mgm_02_2_npc.c | 397 +--------- src/world/area_osr/osr_02/osr_02_3_npc.c | 2 +- src/world/common/enemy/Bobomb.inc.c | 10 + src/world/common/enemy/ShyGuy.h | 20 + src/world/common/enemy/SpearGuy_Wander.inc.c | 2 +- src/world/common/enemy/StoneChomp.inc.c | 2 +- src/world/partners.c | 14 +- src/world/script_api/shops.c | 4 +- .../data/battle/move/auto_smash/7635F0.data.s | 39 - ver/us/splat.yaml | 4 +- ver/us/symbol_addrs.txt | 20 +- 221 files changed, 2765 insertions(+), 2915 deletions(-) delete mode 100644 src/battle/move/auto_smash/763540.c create mode 100644 src/battle/move/auto_smash/auto_smash.c create mode 100644 src/world/common/enemy/Bobomb.inc.c delete mode 100644 ver/us/asm/data/battle/move/auto_smash/7635F0.data.s diff --git a/include/common_structs.h b/include/common_structs.h index 2ccacdb06a..91c6166791 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -1578,7 +1578,7 @@ typedef struct ActorPart { /* 0x77 */ char unk_77[1]; /* 0x78 */ u32* defenseTable; /* 0x7C */ s32 eventFlags; - /* 0x80 */ s32 partFlags3; + /* 0x80 */ s32 elementalImmunities; // bits from Elements, i.e., ELEMENT_FIRE | ELEMENT_QUAKE /* 0x84 */ s32 spriteInstanceID; /* 0x88 */ u32 currentAnimation; /* 0x8C */ s32 animNotifyValue; @@ -1860,7 +1860,7 @@ typedef struct Actor { /* 0x196 */ s8 unk_196; /* 0x197 */ s8 unk_197; /* 0x198 */ Vec2b unk_198; - /* 0x19A */ s8 unk_19A; + /* 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 /* 0x1B4 */ s16 actorTypeData1b[2]; diff --git a/include/enums.h b/include/enums.h index b23af95ea0..29798c4da5 100644 --- a/include/enums.h +++ b/include/enums.h @@ -908,6 +908,10 @@ enum SoundIDs { SOUND_231 = 0x00000231, SOUND_233 = 0x00000233, SOUND_234 = 0x00000234, + SOUND_235 = 0x00000235, + SOUND_236 = 0x00000236, + SOUND_237 = 0x00000237, + SOUND_238 = 0x00000238, SOUND_23D = 0x0000023D, SOUND_241 = 0x00000241, SOUND_245 = 0x00000245, @@ -2585,19 +2589,19 @@ enum SpeechFlags { SPEECH_FACE_EACH_OTHER = 0, }; -enum HitResults { - HIT_RESULT_TRIGGERED_EXPLODE = -1, - HIT_RESULT_HIT = 0, - HIT_RESULT_1 = 1, - HIT_RESULT_QUAKE_IMMUNE = 2, - HIT_RESULT_3 = 3, - HIT_RESULT_LANDED_ON_SPIKE = 4, - HIT_RESULT_LUCKY = 5, - HIT_RESULT_MISS = 6, - HIT_RESULT_HIT_STATIC = 7, - HIT_RESULT_IMMUNE = 8, - HIT_RESULT_10 = 10, -}; +typedef enum HitResult { + HIT_RESULT_BACKFIRE = -1, + HIT_RESULT_HIT = 0, + HIT_RESULT_1 = 1, // KILL? + HIT_RESULT_NO_DAMAGE = 2, + HIT_RESULT_3 = 3, + HIT_RESULT_LANDED_ON_SPIKE = 4, + HIT_RESULT_LUCKY = 5, + HIT_RESULT_MISS = 6, + HIT_RESULT_HIT_STATIC = 7, + HIT_RESULT_IMMUNE = 8, + HIT_RESULT_10 = 10, +} HitResult; enum ActionRatings { ACTION_RATING_NICE = 0, ///< sets nice hits = 1 @@ -2703,7 +2707,7 @@ enum Elements { ELEMENT_ICE = 0x00000004, ELEMENT_MYSTERY = 0x00000005, ELEMENT_MAGIC = 0x00000007, - ELEMENT_HAMMER = 0x00000008, + ELEMENT_SMASH = 0x00000008, ELEMENT_JUMP = 0x00000009, ELEMENT_COSMIC = 0x0000000A, ELEMENT_BLAST = 0x0000000B, @@ -2726,7 +2730,7 @@ enum Events { EVENT_PEACH_BEAM = 0x00000014, EVENT_POWER_BOUNCE_HIT = 0x00000015, EVENT_BLOW_AWAY = 0x00000016, - EVENT_SCRIPTED_IMMUNE = 0x00000017, + EVENT_ZERO_DAMAGE = 0x00000017, EVENT_18 = 0x00000018, EVENT_IMMUNE = 0x00000019, EVENT_BLOCK = 0x0000001A, @@ -3312,7 +3316,7 @@ enum DamageTypes { DAMAGE_TYPE_WATER = 0x00000004, DAMAGE_TYPE_ICE = 0x00000008, DAMAGE_TYPE_MAGIC = 0x00000010, - DAMAGE_TYPE_ELECTRIC = 0x00000020, + DAMAGE_TYPE_SHOCK = 0x00000020, DAMAGE_TYPE_SMASH = 0x00000040, DAMAGE_TYPE_JUMP = 0x00000080, DAMAGE_TYPE_COSMIC = 0x00000100, @@ -3355,14 +3359,16 @@ enum PartnerIDs { PARTNER_TWINK = 0x0000000B, }; -enum AttackEventFlags { - ATTACK_EVENT_FLAG_1 = 0x1, - ATTACK_EVENT_FLAG_2 = 0x2, - ATTACK_EVENT_FLAG_4 = 0x4, - ATTACK_EVENT_FLAG_8 = 0x8, - ATTACK_EVENT_FLAG_10 = 0x10, - ATTACK_EVENT_FLAG_80 = 0x80, - ATTACK_EVENT_FLAG_200 = 0x200, +enum EventSupressFlags { + SUPPRESS_EVENT_SPIKY_TOP = 0x1, + SUPPRESS_EVENT_EXPLODE_CONTACT = 0x2, + SUPPRESS_EVENT_SPIKY_FRONT = 0x4, + SUPPRESS_EVENT_SHOCK_CONTACT = 0x8, + SUPPRESS_EVENT_BURN_CONTACT = 0x10, + SUPPRESS_EVENT_FLAG_80 = 0x80, // supresses events associated with ACTOR_EVENT_FLAG_200000 used by pokeys and spinies + SUPPRESS_EVENT_FLAG_200 = 0x200, // unused? + SUPPRESS_EVENT_ALL = 0xFFFF, + SUPPRESS_EVENT_FLAG_10000 = 0x10000, // usage is a bug? }; enum PartnerActions { @@ -3661,7 +3667,7 @@ enum ActorFlags { ACTOR_FLAG_100 = 0x00000100, ACTOR_FLAG_FLYING = 0x00000200, ///< Quake Hammer can't hit. ACTOR_FLAG_400 = 0x00000400, - ACTOR_FLAG_HP_OFFSET_BELOW = 0x00000800, ///< HP bar offset below actor (e.g. Swooper when upside-down). Is this just UPSIDE_DOWN? + ACTOR_FLAG_HP_OFFSET_BELOW = 0x00000800, ///< HP bar offset below actor (e.g. Swooper when upside-down). Is this just UPSIDE_DOWN? FLIPPED? TOPPLED? ACTOR_FLAG_1000 = 0x00001000, ACTOR_FLAG_2000 = 0x00002000, ACTOR_FLAG_TARGET_ONLY = 0x00004000, ///< Battle ends even if undefeated. No turn. @@ -3698,7 +3704,7 @@ enum ActorPartFlags { ACTOR_PART_FLAG_400 = 0x00000400, ACTOR_PART_FLAG_800 = 0x00000800, ACTOR_PART_FLAG_1000 = 0x00001000, - ACTOR_PART_FLAG_2000 = 0x00002000, ///< Plays extra hurt SFX? + ACTOR_PART_FLAG_2000 = 0x00002000, ///< electrified Plays extra hurt SFX? ACTOR_PART_FLAG_4000 = 0x00004000, ACTOR_PART_FLAG_8000 = 0x00008000, ACTOR_PART_FLAG_10000 = 0x00010000, @@ -3720,39 +3726,39 @@ enum ActorPartFlags { }; enum ActorEventFlags { - ACTOR_EVENT_FLAG_0 = 0x00000000, - ACTOR_EVENT_FLAG_1 = 0x00000001, - ACTOR_EVENT_FLAG_FIREY = 0x00000002, ///< Player takes burn damage upon contact. - ACTOR_EVENT_FLAG_4 = 0x00000004, - ACTOR_EVENT_FLAG_ICY = 0x00000008, ///< No known effect, but is used. - ACTOR_EVENT_FLAG_SPIKY_TOP = 0x00000010, ///< Player takes spike damage from jump attacks. - ACTOR_EVENT_FLAG_ILLUSORY = 0x00000020, ///< Player attacks pass through and miss. - ACTOR_EVENT_FLAG_40 = 0x00000040, - ACTOR_EVENT_FLAG_ELECTRIFIED = 0x00000080, ///< Player takes shock damage upon contact. - ACTOR_EVENT_FLAG_100 = 0x00000100, - ACTOR_EVENT_FLAG_EXPLOSIVE = 0x00000200, ///< Blast and fire attacks trigger an explosion. - ACTOR_EVENT_FLAG_400 = 0x00000400, - ACTOR_EVENT_FLAG_800 = 0x00000800, - ACTOR_EVENT_FLAG_FLIPABLE = 0x00001000, ///< Actor can be flipped; triggered by jump and quake attacks. - ACTOR_EVENT_FLAG_2000 = 0x00002000, - ACTOR_EVENT_FLAG_GROUNDABLE = 0x00004000, ///< Actor can be knocked down from flight; triggered by jump attacks. - ACTOR_EVENT_FLAG_8000 = 0x00008000, - ACTOR_EVENT_FLAG_SPIKY_FRONT = 0x00010000, ///< Player takes spike damage from hammer attacks. - ACTOR_EVENT_FLAG_20000 = 0x00020000, - ACTOR_EVENT_FLAG_ENCHANTED = 0x00040000, ///< Actor glows and listens for the Star Beam event. - ACTOR_EVENT_FLAG_80000 = 0x00080000, - ACTOR_EVENT_FLAG_POWER_BOUNCE = 0x00100000, ///< Actor listens for Power Bounce events. - ACTOR_EVENT_FLAG_200000 = 0x00200000, - ACTOR_EVENT_FLAG_400000 = 0x00400000, - ACTOR_EVENT_FLAG_800000 = 0x00800000, - ACTOR_EVENT_FLAG_1000000 = 0x01000000, - ACTOR_EVENT_FLAG_2000000 = 0x02000000, - ACTOR_EVENT_FLAG_4000000 = 0x04000000, - ACTOR_EVENT_FLAG_8000000 = 0x08000000, - ACTOR_EVENT_FLAG_10000000 = 0x10000000, - ACTOR_EVENT_FLAG_20000000 = 0x20000000, - ACTOR_EVENT_FLAG_40000000 = 0x40000000, - ACTOR_EVENT_FLAG_80000000 = 0x80000000, + ACTOR_EVENT_FLAG_0 = 0x00000000, + ACTOR_EVENT_FLAG_1 = 0x00000001, + ACTOR_EVENT_FLAG_FIREY = 0x00000002, ///< Player takes burn damage upon contact. + ACTOR_EVENT_FLAG_4 = 0x00000004, + ACTOR_EVENT_FLAG_ICY = 0x00000008, ///< No known effect, but is used. + ACTOR_EVENT_FLAG_SPIKY_TOP = 0x00000010, ///< Player takes spike damage from jump attacks. + ACTOR_EVENT_FLAG_ILLUSORY = 0x00000020, ///< Player attacks pass through and miss. + ACTOR_EVENT_FLAG_40 = 0x00000040, + ACTOR_EVENT_FLAG_ELECTRIFIED = 0x00000080, ///< Player takes shock damage upon contact. + ACTOR_EVENT_FLAG_100 = 0x00000100, + ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION = 0x00000200, ///< Blast and fire attacks trigger an explosion. + ACTOR_EVENT_FLAG_400 = 0x00000400, + ACTOR_EVENT_FLAG_800 = 0x00000800, + ACTOR_EVENT_FLAG_FLIPABLE = 0x00001000, ///< Actor can be flipped; triggered by jump and quake attacks. + ACTOR_EVENT_FLAG_2000 = 0x00002000, + ACTOR_EVENT_FLAG_GROUNDABLE = 0x00004000, ///< Actor can be knocked down from flight; triggered by jump attacks. + ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT = 0x00008000, + ACTOR_EVENT_FLAG_SPIKY_FRONT = 0x00010000, ///< Player takes spike damage from hammer attacks. + ACTOR_EVENT_FLAG_20000 = 0x00020000, + ACTOR_EVENT_FLAG_ENCHANTED = 0x00040000, ///< Actor glows and listens for the Star Beam event. + ACTOR_EVENT_FLAG_80000 = 0x00080000, + ACTOR_EVENT_FLAG_POWER_BOUNCE = 0x00100000, ///< Actor listens for Power Bounce events. + ACTOR_EVENT_FLAG_200000 = 0x00200000, + ACTOR_EVENT_FLAG_400000 = 0x00400000, + ACTOR_EVENT_FLAG_800000 = 0x00800000, + ACTOR_EVENT_FLAG_1000000 = 0x01000000, + ACTOR_EVENT_FLAG_2000000 = 0x02000000, + ACTOR_EVENT_FLAG_4000000 = 0x04000000, + ACTOR_EVENT_FLAG_8000000 = 0x08000000, + ACTOR_EVENT_FLAG_10000000 = 0x10000000, + ACTOR_EVENT_FLAG_20000000 = 0x20000000, + ACTOR_EVENT_FLAG_40000000 = 0x40000000, + ACTOR_EVENT_FLAG_80000000 = 0x80000000, }; enum PartnerAnimIndices { @@ -5014,7 +5020,7 @@ enum EnemyFlags { ENEMY_FLAG_4000 = 0x00004000, ENEMY_FLAG_8000 = 0x00008000, ENEMY_FLAG_10000 = 0x00010000, - ENEMY_FLAG_20000 = 0x00020000, + ENEMY_FLAG_USE_PLAYER_SPRITE = 0x00020000, ///< Used for Peach NPCs ENEMY_FLAG_40000 = 0x00040000, ENEMY_FLAG_80000 = 0x00080000, ENEMY_FLAG_100000 = 0x00100000, @@ -5731,41 +5737,6 @@ enum NpcDropFlags { NPC_DROP_FLAG_80 = 0x80, }; -enum ElementImmunityFlags { - ELEMENT_IMMUNITY_FLAG_1 = 0x00000001, - ELEMENT_IMMUNITY_FLAG_2 = 0x00000002, - ELEMENT_IMMUNITY_FLAG_4 = 0x00000004, - ELEMENT_IMMUNITY_FLAG_8 = 0x00000008, - ELEMENT_IMMUNITY_FLAG_10 = 0x00000010, - ELEMENT_IMMUNITY_FLAG_20 = 0x00000020, - ELEMENT_IMMUNITY_FLAG_40 = 0x00000040, - ELEMENT_IMMUNITY_FLAG_80 = 0x00000080, - ELEMENT_IMMUNITY_FLAG_100 = 0x00000100, - ELEMENT_IMMUNITY_FLAG_200 = 0x00000200, - ELEMENT_IMMUNITY_FLAG_400 = 0x00000400, - ELEMENT_IMMUNITY_FLAG_800 = 0x00000800, - ELEMENT_IMMUNITY_FLAG_1000 = 0x00001000, - ELEMENT_IMMUNITY_FLAG_2000 = 0x00002000, - ELEMENT_IMMUNITY_FLAG_4000 = 0x00004000, - ELEMENT_IMMUNITY_FLAG_8000 = 0x00008000, - ELEMENT_IMMUNITY_FLAG_10000 = 0x00010000, - ELEMENT_IMMUNITY_FLAG_20000 = 0x00020000, - ELEMENT_IMMUNITY_FLAG_40000 = 0x00040000, - ELEMENT_IMMUNITY_FLAG_80000 = 0x00080000, - ELEMENT_IMMUNITY_FLAG_100000 = 0x00100000, - ELEMENT_IMMUNITY_FLAG_200000 = 0x00200000, - ELEMENT_IMMUNITY_FLAG_400000 = 0x00400000, - ELEMENT_IMMUNITY_FLAG_800000 = 0x00800000, - ELEMENT_IMMUNITY_FLAG_1000000 = 0x01000000, - ELEMENT_IMMUNITY_FLAG_2000000 = 0x02000000, - ELEMENT_IMMUNITY_FLAG_4000000 = 0x04000000, - ELEMENT_IMMUNITY_FLAG_8000000 = 0x08000000, - ELEMENT_IMMUNITY_FLAG_10000000 = 0x10000000, - ELEMENT_IMMUNITY_FLAG_20000000 = 0x20000000, - ELEMENT_IMMUNITY_FLAG_40000000 = 0x40000000, - ELEMENT_IMMUNITY_FLAG_80000000 = 0x80000000, -}; - enum FoldStateFlags { FOLD_STATE_FLAG_ENABLED = 0x00000001, FOLD_STATE_FLAG_G_CULL_BACK = 0x00000002, @@ -5867,74 +5838,74 @@ enum DictionaryIndex { }; enum WindowId { - WINDOW_ID_NONE = -1, - WINDOW_ID_0 = 0, - WINDOW_ID_1 = 1, - WINDOW_ID_2 = 2, - WINDOW_ID_3 = 3, - WINDOW_ID_4 = 4, - WINDOW_ID_5 = 5, - WINDOW_ID_6 = 6, - WINDOW_ID_7 = 7, - WINDOW_ID_8 = 8, - WINDOW_ID_9 = 9, - WINDOW_ID_ITEM_INFO_NAME = 10, - WINDOW_ID_ITEM_INFO_DESC = 11, - WINDOW_ID_12 = 12, - WINDOW_ID_13 = 13, - WINDOW_ID_14 = 14, - WINDOW_ID_15 = 15, - WINDOW_ID_16 = 16, - WINDOW_ID_17 = 17, - WINDOW_ID_18 = 18, - WINDOW_ID_19 = 19, - WINDOW_ID_20 = 20, - WINDOW_ID_21 = 21, - WINDOW_ID_PAUSE_MAIN = 22, - WINDOW_ID_PAUSE_DECRIPTION = 23, - WINDOW_ID_FILEMENU_CURSOR = 23, // same as previous - WINDOW_ID_PAUSE_TUTORIAL = 24, - WINDOW_ID_FILEMENU_COPYARROW = 24, // same as previous - WINDOW_ID_PAUSE_TAB_STATS = 25, - WINDOW_ID_PAUSE_TAB_BADGES = 26, - WINDOW_ID_PAUSE_TAB_ITEMS = 27, - WINDOW_ID_PAUSE_TAB_PARTY = 28, - WINDOW_ID_PAUSE_TAB_SPIRITS = 29, - WINDOW_ID_PAUSE_TAB_MAP = 30, - WINDOW_ID_PAUSE_STATS = 31, - WINDOW_ID_PAUSE_BADGES = 32, - WINDOW_ID_PAUSE_ITEMS = 33, - WINDOW_ID_PAUSE_PARTNERS = 34, - WINDOW_ID_PAUSE_PARTNERS_TITLE = 35, - WINDOW_ID_PAUSE_PARTNERS_MOVELIST = 36, - WINDOW_ID_PAUSE_PARTNERS_MOVELIST_TITLE = 37, - WINDOW_ID_PAUSE_PARTNERS_MOVELIST_FLOWER = 38, - WINDOW_ID_PAUSE_SPIRITS = 39, - WINDOW_ID_PAUSE_SPIRITS_TITLE = 40, - WINDOW_ID_PAUSE_MAP = 41, - WINDOW_ID_PAUSE_MAP_TITLE = 42, - WINDOW_ID_PAUSE_TAB_INVIS = 43, - WINDOW_ID_PAUSE_CURSOR = 44, - WINDOW_ID_FILEMENU_MAIN = 44, // same as previous - WINDOW_ID_FILEMENU_TITLE = 45, - WINDOW_ID_FILEMENU_YESNO_PROMPT = 46, - WINDOW_ID_FILEMENU_INFO = 47, - WINDOW_ID_FILEMENU_CREATEFILE_HEADER = 48, - WINDOW_ID_FILEMENU_KEYBOARD = 49, - WINDOW_ID_FILEMENU_YESNO_OPTIONS = 50, - WINDOW_ID_FILEMENU_STEREO = 51, - WINDOW_ID_FILEMENU_MONO = 52, - WINDOW_ID_FILEMENU_OPTION_LEFT = 53, - WINDOW_ID_FILEMENU_OPTION_CENTER = 54, - WINDOW_ID_FILEMENU_OPTION_RIGHT = 55, - WINDOW_ID_FILEMENU_FILE0_INFO = 56, - WINDOW_ID_FILEMENU_FILE1_INFO = 57, - WINDOW_ID_FILEMENU_FILE2_INFO = 58, - WINDOW_ID_FILEMENU_FILE3_INFO = 59, - WINDOW_ID_FILEMENU_FILE0_TITLE = 60, - WINDOW_ID_FILEMENU_FILE1_TITLE = 61, - WINDOW_ID_FILEMENU_FILE2_TITLE = 62, - WINDOW_ID_FILEMENU_FILE3_TITLE = 63, + WINDOW_ID_NONE = -1, + WINDOW_ID_0 = 0, + WINDOW_ID_1 = 1, + WINDOW_ID_2 = 2, + WINDOW_ID_3 = 3, + WINDOW_ID_4 = 4, + WINDOW_ID_5 = 5, + WINDOW_ID_6 = 6, + WINDOW_ID_7 = 7, + WINDOW_ID_8 = 8, // battle main? + WINDOW_ID_BATTLE_POPUP = 9, + WINDOW_ID_ITEM_INFO_NAME = 10, + WINDOW_ID_ITEM_INFO_DESC = 11, + WINDOW_ID_12 = 12, + WINDOW_ID_13 = 13, + WINDOW_ID_14 = 14, + WINDOW_ID_15 = 15, + WINDOW_ID_16 = 16, + WINDOW_ID_17 = 17, + WINDOW_ID_18 = 18, + WINDOW_ID_19 = 19, + WINDOW_ID_20 = 20, + WINDOW_ID_21 = 21, + WINDOW_ID_PAUSE_MAIN = 22, + WINDOW_ID_PAUSE_DECRIPTION = 23, + WINDOW_ID_FILEMENU_CURSOR = 23, // same as previous + WINDOW_ID_PAUSE_TUTORIAL = 24, + WINDOW_ID_FILEMENU_COPYARROW = 24, // same as previous + WINDOW_ID_PAUSE_TAB_STATS = 25, + WINDOW_ID_PAUSE_TAB_BADGES = 26, + WINDOW_ID_PAUSE_TAB_ITEMS = 27, + WINDOW_ID_PAUSE_TAB_PARTY = 28, + WINDOW_ID_PAUSE_TAB_SPIRITS = 29, + WINDOW_ID_PAUSE_TAB_MAP = 30, + WINDOW_ID_PAUSE_STATS = 31, + WINDOW_ID_PAUSE_BADGES = 32, + WINDOW_ID_PAUSE_ITEMS = 33, + WINDOW_ID_PAUSE_PARTNERS = 34, + WINDOW_ID_PAUSE_PARTNERS_TITLE = 35, + WINDOW_ID_PAUSE_PARTNERS_MOVELIST = 36, + WINDOW_ID_PAUSE_PARTNERS_MOVELIST_TITLE = 37, + WINDOW_ID_PAUSE_PARTNERS_MOVELIST_FLOWER = 38, + WINDOW_ID_PAUSE_SPIRITS = 39, + WINDOW_ID_PAUSE_SPIRITS_TITLE = 40, + WINDOW_ID_PAUSE_MAP = 41, + WINDOW_ID_PAUSE_MAP_TITLE = 42, + WINDOW_ID_PAUSE_TAB_INVIS = 43, + WINDOW_ID_PAUSE_CURSOR = 44, + WINDOW_ID_FILEMENU_MAIN = 44, // same as previous + WINDOW_ID_FILEMENU_TITLE = 45, + WINDOW_ID_FILEMENU_YESNO_PROMPT = 46, + WINDOW_ID_FILEMENU_INFO = 47, + WINDOW_ID_FILEMENU_CREATEFILE_HEADER = 48, + WINDOW_ID_FILEMENU_KEYBOARD = 49, + WINDOW_ID_FILEMENU_YESNO_OPTIONS = 50, + WINDOW_ID_FILEMENU_STEREO = 51, + WINDOW_ID_FILEMENU_MONO = 52, + WINDOW_ID_FILEMENU_OPTION_LEFT = 53, + WINDOW_ID_FILEMENU_OPTION_CENTER = 54, + WINDOW_ID_FILEMENU_OPTION_RIGHT = 55, + WINDOW_ID_FILEMENU_FILE0_INFO = 56, + WINDOW_ID_FILEMENU_FILE1_INFO = 57, + WINDOW_ID_FILEMENU_FILE2_INFO = 58, + WINDOW_ID_FILEMENU_FILE3_INFO = 59, + WINDOW_ID_FILEMENU_FILE0_TITLE = 60, + WINDOW_ID_FILEMENU_FILE1_TITLE = 61, + WINDOW_ID_FILEMENU_FILE2_TITLE = 62, + WINDOW_ID_FILEMENU_FILE3_TITLE = 63, }; enum SimpleWindowUpdateId { @@ -6273,6 +6244,8 @@ enum MsgChars { MSG_CHAR_SINGLE_QUOTE_CLOSE = 0xA5, // 0xA6 to 0xEF are unused + MSG_CHAR_UNK_C3 = 0xC3, + // special character codes used when reading from the source buffer MSG_CHAR_READ_ENDL = 0xF0, MSG_CHAR_READ_WAIT = 0xF1, diff --git a/include/functions.h b/include/functions.h index 140512d3c6..282909b5d4 100644 --- a/include/functions.h +++ b/include/functions.h @@ -451,7 +451,7 @@ void set_animation_rate(s32 actorID, s32 partIndex, f32 rate); void set_model_flags(u16, s32, s32); void init_enter_world_shared(void); s16 update_enter_map_screen_overlay(s16* progress); -s32 update_exit_map_screen_overlay(s16* progress); +s16 update_exit_map_screen_overlay(s16* progress); void set_screen_overlay_params_front(u8, f32); void set_screen_overlay_params_back(u8, f32); void set_screen_overlay_alpha(s32, f32); @@ -961,11 +961,10 @@ void open_status_menu_short(void); void func_8024EFE0(f32 x, f32 y, f32 z, s32, s32, s32); void func_802664DC(f32 x, f32 y, f32 z, s32 attack, s32 a); s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion); -s32 calc_partner_test_enemy(void); void disable_actor_blur(Actor*); void reset_actor_blur(Actor*); void enable_actor_blur(Actor*); -void func_80251474(Actor*); +void apply_shock_effect(Actor*); void func_8025C8A0(s32, ActorPart*, s32 yaw, s32 arg3); void func_8025CD28(s32, ActorPart*, s32 yaw, s32 arg3); void _add_part_decoration(ActorPart*); diff --git a/include/macros.h b/include/macros.h index 30f3a17673..9ae2a1526e 100644 --- a/include/macros.h +++ b/include/macros.h @@ -137,7 +137,8 @@ #define SPRITE_ID(name, pal_anim) ((name) << 16 | (pal_anim)) -#define BATTLE_ENTITY_ID_MASK 0x800 +#define BATTLE_NPC_ID_BIT 0x800 +#define BATTLE_ENTITY_ID_BIT 0x800 #define UNPACK_BTL_AREA(battleID) (((battleID) >> 8) & 0xFF) #define UNPACK_BTL_INDEX(battleID) ((battleID) & 0xFF) @@ -213,6 +214,12 @@ .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 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) + #ifdef OLD_GCC #define VLA 0 #else diff --git a/include/npc.h b/include/npc.h index c089b87866..7bfee9e5a7 100644 --- a/include/npc.h +++ b/include/npc.h @@ -283,7 +283,7 @@ typedef struct NpcData { /* 0x1E2 */ s8 unk__1E2; /* 0x1E3 */ u8 aiDetectFlags; /* 0x1E4 */ u32 aiFlags; - /* 0x1E8 */ s32* extraAnimations; + /* 0x1E8 */ AnimID* extraAnimations; /* 0x1EC */ s32 tattle; } NpcData; // size = 0x1F0 @@ -434,13 +434,13 @@ void init_npc_list(void); /// Presumably did something once upon a time but got commented out. void npc_iter_no_op(void); -s32 _create_npc(NpcBlueprint* blueprint, AnimID* animList, s32 skipLoadingAnims); +s32 create_npc_impl(NpcBlueprint* blueprint, AnimID* animList, s32 skipLoadingAnims); -s32 _create_npc_basic(NpcBlueprint* blueprint); +s32 create_basic_npc(NpcBlueprint* blueprint); -s32 _create_npc_standard(NpcBlueprint* blueprint, AnimID* animList); +s32 create_standard_npc(NpcBlueprint* blueprint, AnimID* animList); -s32 _create_npc_partner(NpcBlueprint* blueprint); +s32 create_peach_npc(NpcBlueprint* blueprint); void free_npc_by_index(s32 listIndex); diff --git a/include/script_api/battle.h b/include/script_api/battle.h index 7c67e3aa84..d43d0a135e 100644 --- a/include/script_api/battle.h +++ b/include/script_api/battle.h @@ -27,7 +27,7 @@ ApiStatus WaitForMessageBoxDone(Evt* script, s32 isInitialCall); ApiStatus ForceCloseMessageBox(Evt* script, s32 isInitialCall); ApiStatus SetMessageBoxDuration(Evt* script, s32 isInitialCall); ApiStatus ItemDamageEnemy(Evt* script, s32 isInitialCall); -ApiStatus ItemAfflictEnemy(Evt* script, s32 isInitialCall); +ApiStatus ItemSpookEnemy(Evt* script, s32 isInitialCall); ApiStatus ItemCheckHit(Evt* script, s32 isInitialCall); ApiStatus ActorSpeak(Evt* script, s32 isInitialCall); ApiStatus EndActorSpeech(Evt* script, s32 isInitialCall); diff --git a/src/111f0_len_860.c b/src/111f0_len_860.c index 672087c271..f3c5666054 100644 --- a/src/111f0_len_860.c +++ b/src/111f0_len_860.c @@ -112,7 +112,7 @@ void state_step_change_map(void) { update_effects(); update_cameras(); - if ((update_exit_map_screen_overlay(&gMapTransitionAlpha) << 0x10) != 0) { + if (update_exit_map_screen_overlay(&gMapTransitionAlpha) != 0) { gMapTransitionState++; } break; diff --git a/src/17D6A0.c b/src/17D6A0.c index f667db07d0..7fd4e535c7 100644 --- a/src/17D6A0.c +++ b/src/17D6A0.c @@ -3333,11 +3333,11 @@ void btl_update_message_popup(void* data) { case 1: if (gBattleStatus.flags1 & BS_FLAGS1_10000) { gBattleStatus.flags1 &= ~BS_FLAGS1_4000; - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW_TRANSPARENT); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_TRANSPARENT); popup->duration = 0; popup->unk_16 = 2; } else if (!(gBattleStatus.flags1 & BS_FLAGS1_4000) && (temp_a0 != 2)) { - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW_TRANSPARENT); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_TRANSPARENT); switch (popup->messageIndex) { case BTL_MSG_31: hud_element_set_script(D_8029F642, &HES_MashAButton); @@ -3574,7 +3574,7 @@ void btl_update_message_popup(void* data) { break; } if (shouldDisposeWindow) { - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_HIDE); bPopupMessage = NULL; free_popup(popup); } @@ -3904,8 +3904,8 @@ void btl_show_message_popup(void* data) { width = msgWidth; numLines = get_msg_lines(messageID) - 1; height = bMsgHeights[numLines]; - set_window_properties(WINDOW_ID_9, posX, posY, width, height, 0, func_80250818, popup, -1); - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW); + set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, 0, func_80250818, popup, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); } break; case BTL_MSG_49: @@ -3921,8 +3921,8 @@ void btl_show_message_popup(void* data) { posX = 160 - (msgWidth / 2); width = msgWidth; height = 40; - set_window_properties(WINDOW_ID_9, posX, posY, width, height, 0, func_80250818, popup, -1); - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW); + set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, 0, func_80250818, popup, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); } break; case BTL_MSG_04: @@ -3946,8 +3946,8 @@ void btl_show_message_popup(void* data) { width = msgWidth; numLines = get_msg_lines(messageID) - 1; height = bMsgHeights[numLines]; - set_window_properties(WINDOW_ID_9, posX, posY, width, height, 0, func_80250818, popup, -1); - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW); + set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, 0, func_80250818, popup, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); } break; case BTL_MSG_51: @@ -3962,8 +3962,8 @@ void btl_show_message_popup(void* data) { width = msgWidth; numLines = get_msg_lines(messageID) - 1; height = bMsgHeights[numLines]; - set_window_properties(WINDOW_ID_9, posX, posY, width, height, 0, func_80250818, popup, -1); - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW); + set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, 0, func_80250818, popup, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); } break; case BTL_MSG_2E: @@ -4006,11 +4006,11 @@ void btl_show_message_popup(void* data) { D_8029F650 = D_802835D8[numLines]; posY = D_8029F64E + D_8029F650; - set_window_properties(WINDOW_ID_9, posX, posY, width, height, 0, func_80250818, popup, -1); + set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, 0, func_80250818, popup, -1); if (popup->messageIndex == BTL_MSG_3B) { - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); } else { - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW_DARKENED); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_DARKENED); } } break; @@ -4070,14 +4070,14 @@ ApiStatus func_80251454(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -void func_80251474(Actor* actor) { +void apply_shock_effect(Actor* actor) { ActorPart* part = actor->partsTable; while (part != NULL) { - if (!(part->flags & ACTOR_PART_FLAG_INVISIBLE) && - part->idleAnimations != NULL && - !(part->flags & ACTOR_PART_FLAG_40000000)) - { + if (!(part->flags & ACTOR_PART_FLAG_INVISIBLE) + && part->idleAnimations != NULL + && !(part->flags & ACTOR_PART_FLAG_40000000) + ) { f32 x = part->currentPos.x; f32 y = part->currentPos.y + (actor->size.y / 10); f32 z = part->currentPos.z; diff --git a/src/17FEB0.c b/src/17FEB0.c index bf686e360a..caa9b4cce6 100644 --- a/src/17FEB0.c +++ b/src/17FEB0.c @@ -3,7 +3,7 @@ #include "script_api/battle.h" #include "effects.h" -s32 calc_item_check_hit(void) { +HitResult calc_item_check_hit(void) { BattleStatus* battleStatus = &gBattleStatus; ActorState* state = &battleStatus->playerActor->state; s32 actorID = battleStatus->currentTargetID; @@ -12,45 +12,53 @@ s32 calc_item_check_hit(void) { Actor* actor; ActorPart* actorPart; - currentTargetPart = currentTargetPartS8 = battleStatus->currentTargetPart; battleStatus->currentTargetID2 = battleStatus->currentTargetID; + currentTargetPart = currentTargetPartS8 = battleStatus->currentTargetPart; battleStatus->currentTargetPart2 = currentTargetPartS8; actor = get_actor(actorID); - if (actor != NULL) { - actorPart = get_actor_part(actor, currentTargetPart); - ASSERT(actorPart != NULL); - - if (!(actorPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY)) { - if (actor->transparentStatus == STATUS_TRANSPARENT) { - return HIT_RESULT_MISS; - } - if (actor->stoneStatus == STATUS_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; - } - if ((battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) && (actorPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP)) { - sfx_play_sound_at_position(SOUND_HIT_NORMAL, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - return HIT_RESULT_LANDED_ON_SPIKE; - } - } else { - return HIT_RESULT_MISS; - } + if (actor == NULL) { + return HIT_RESULT_HIT; } + + actorPart = get_actor_part(actor, currentTargetPart); + ASSERT(actorPart != NULL); + + if (actorPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) { + return HIT_RESULT_MISS; + } + + if (actor->transparentStatus == STATUS_TRANSPARENT) { + return HIT_RESULT_MISS; + } + + if (actor->stoneStatus == STATUS_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; + } + + if ((battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) + && (actorPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP)) + { + sfx_play_sound_at_position(SOUND_HIT_NORMAL, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + return HIT_RESULT_LANDED_ON_SPIKE; + } + return HIT_RESULT_HIT; } -s32 calc_item_damage_enemy(void) { +HitResult calc_item_damage_enemy(void) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; s32 currentTargetID = battleStatus->currentTargetID; Actor* partner = battleStatus->partnerActor; s32 currentTargetPartID = battleStatus->currentTargetPart; - s32 sp18; + s32 partImmuneToElement; s32 sp1C = FALSE; s32 actorClass; s32 isFireDamage = FALSE; - s32 isElectricDamage = FALSE; + s32 isWaterDamage = FALSE; + s32 isShockDamage = FALSE; s32 isIceDamage = FALSE; Actor* target; ActorPart* targetPart; @@ -61,7 +69,7 @@ s32 calc_item_damage_enemy(void) { ActorState* state; s32 dispatchEvent; s32 wasStatusInflicted; - s32 ret; + s32 hitResult; battleStatus->wasStatusInflicted = FALSE; battleStatus->lastAttackDamage = 0; @@ -72,7 +80,7 @@ s32 calc_item_damage_enemy(void) { wasStatusInflicted = FALSE; if (target == NULL) { - return 0; + return HIT_RESULT_HIT; } targetPart = get_actor_part(target, currentTargetPartID); @@ -80,7 +88,6 @@ s32 calc_item_damage_enemy(void) { PANIC(); } - target->lastDamageTaken = 0; actorClass = currentTargetID & ACTOR_CLASS_MASK; if (!(gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING)) { @@ -93,12 +100,13 @@ s32 calc_item_damage_enemy(void) { fx_ring_blast(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 24); isFireDamage = TRUE; } - if (battleStatus->currentAttackElement & DAMAGE_TYPE_ELECTRIC) { - func_80251474(target); - isElectricDamage = TRUE; + if (battleStatus->currentAttackElement & DAMAGE_TYPE_SHOCK) { + apply_shock_effect(target); + isShockDamage = TRUE; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_WATER) { fx_water_splash(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 24); + isWaterDamage = TRUE; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_ICE) { fx_big_snowflakes(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f); @@ -106,10 +114,12 @@ s32 calc_item_damage_enemy(void) { } if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_REMOVE_BUFFS)) { - if ((targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) || - ((target->transparentStatus == STATUS_TRANSPARENT) || ((targetPart->eventFlags & ACTOR_EVENT_FLAG_800) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)))) - { - return 6; + if ((targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) + || (target->transparentStatus == STATUS_TRANSPARENT) + || (targetPart->eventFlags & ACTOR_EVENT_FLAG_800) + && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE) + ) { + return HIT_RESULT_MISS; } } @@ -117,18 +127,16 @@ s32 calc_item_damage_enemy(void) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); func_8024EFE0(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); - if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { - return 1; - } else { - return 0; + return HIT_RESULT_1; } + return HIT_RESULT_HIT; } - if (targetPart->partFlags3 & battleStatus->currentAttackElement) { - sp18 = TRUE; + if (targetPart->elementalImmunities & battleStatus->currentAttackElement) { + partImmuneToElement = TRUE; } else { - sp18 = FALSE; + partImmuneToElement = FALSE; } if (targetPart->eventFlags & (ACTOR_EVENT_FLAG_ENCHANTED | ACTOR_EVENT_FLAG_80000)) { @@ -153,13 +161,14 @@ s32 calc_item_damage_enemy(void) { if (attackDamage <= 0) { target->hpChangeCounter = 0; - ret = 2; + hitResult = HIT_RESULT_NO_DAMAGE; + if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS)) { - dispatchEvent = EVENT_SCRIPTED_IMMUNE; + dispatchEvent = EVENT_ZERO_DAMAGE; sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); battleStatus->lastAttackDamage = 0; } else { - dispatchEvent = EVENT_SCRIPTED_IMMUNE; + dispatchEvent = EVENT_ZERO_DAMAGE; battleStatus->lastAttackDamage = 0; } } else { @@ -167,8 +176,12 @@ s32 calc_item_damage_enemy(void) { target->hpChangeCounter -= attackDamage; battleStatus->lastAttackDamage = 0; dispatchEvent = EVENT_HIT_COMBO; - ret = 0; - if (!(targetPart->flags & ACTOR_PART_FLAG_2000) && !sp18 && !(targetPart->targetFlags & ACTOR_PART_FLAG_4)) { + hitResult = HIT_RESULT_HIT; + + if (!(targetPart->flags & ACTOR_PART_FLAG_2000) + && !partImmuneToElement + && !(targetPart->targetFlags & ACTOR_PART_FLAG_4) + ) { target->currentHP -= attackDamage; if (target->currentHP <= 0) { target->currentHP = 0; @@ -184,19 +197,19 @@ s32 calc_item_damage_enemy(void) { dispatch_event_actor(target, dispatchEvent); func_8024EFE0(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - return 2; + return HIT_RESULT_NO_DAMAGE; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_2000) { battleStatus->lastAttackDamage = 0; dispatchEvent = EVENT_DEATH; - ret = 0; + hitResult = HIT_RESULT_HIT; } if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { if (dispatchEvent == EVENT_HIT_COMBO) { dispatchEvent = EVENT_HIT; } - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_IMMUNE; } if (target->currentHP <= 0 && dispatchEvent == EVENT_IMMUNE) { @@ -220,7 +233,7 @@ s32 calc_item_damage_enemy(void) { if (targetPart->eventFlags & ACTOR_EVENT_FLAG_80000) { dispatchEvent = EVENT_1D; } - ret = 0; + hitResult = HIT_RESULT_HIT; } } @@ -244,7 +257,7 @@ s32 calc_item_damage_enemy(void) { remove_status_transparent(target->hudElementDataIndex); } wasStatusInflicted = TRUE; - ret = 0; + hitResult = HIT_RESULT_HIT; } } } @@ -354,7 +367,7 @@ s32 calc_item_damage_enemy(void) { #undef INFLICT_STATUS if (wasStatusInflicted) { - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_HIT_COMBO; } if (dispatchEvent == EVENT_IMMUNE) { @@ -378,7 +391,7 @@ s32 calc_item_damage_enemy(void) { !(target->flags & ACTOR_FLAG_400)) { dispatchEvent = EVENT_SCARE_AWAY; - ret = 0; + hitResult = HIT_RESULT_HIT; sp1C = TRUE; gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10 | BS_FLAGS1_8 | BS_FLAGS1_ACTORS_VISIBLE; sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -386,7 +399,7 @@ s32 calc_item_damage_enemy(void) { gBattleStatus.flags1 |= BS_FLAGS1_40; } else { dispatchEvent = EVENT_IMMUNE; - ret = 2; + hitResult = HIT_RESULT_NO_DAMAGE; } } @@ -426,7 +439,7 @@ s32 calc_item_damage_enemy(void) { if (!sp1C && !wasStatusInflicted) { func_8024EFE0(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); } - } else if (!sp18) { + } 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); } else { @@ -438,11 +451,11 @@ s32 calc_item_damage_enemy(void) { } } - if (battleStatus->lastAttackDamage > 0 && !sp18) { + if (battleStatus->lastAttackDamage > 0 && !partImmuneToElement) { func_80267018(target, 1); if (isFireDamage) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - } else if (isElectricDamage) { + } else if (isShockDamage) { sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else if (isIceDamage) { sfx_play_sound_at_position(SOUND_HIT_ICE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -513,24 +526,24 @@ s32 calc_item_damage_enemy(void) { func_80266ADC(target); if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { - if (ret == 0) { - ret = 1; + if (hitResult == HIT_RESULT_HIT) { + hitResult = HIT_RESULT_1; } - if (ret == 2) { - ret = 3; + if (hitResult == HIT_RESULT_NO_DAMAGE) { + hitResult = HIT_RESULT_3; } } - return ret; + return hitResult; } ApiStatus ItemDamageEnemy(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; - s32 itemDamageOut = *args++; + s32 hitResultVarOut = *args++; s32 flags; Actor* actor; - s32 itemDamage; + HitResult hitResult; battleStatus->currentAttackElement = *args++; battleStatus->currentAttackEventSuppression = 0; @@ -574,18 +587,18 @@ ApiStatus ItemDamageEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == 0xFF) { + if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; - itemDamage = calc_item_damage_enemy(); - if (itemDamage < 0) { + hitResult = calc_item_damage_enemy(); + if (hitResult < 0) { return ApiStatus_FINISH; } - evt_set_variable(script, itemDamageOut, itemDamage); + evt_set_variable(script, hitResultVarOut, hitResult); if (!does_script_exist_by_ref(script)) { return ApiStatus_FINISH; } @@ -593,12 +606,12 @@ ApiStatus ItemDamageEnemy(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus ItemAfflictEnemy(Evt* script, s32 isInitialCall) { +ApiStatus ItemSpookEnemy(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; - s32 itemDamageOut = *args++; + s32 hitResultVarOut = *args++; Actor* actor; - s32 itemDamage; + HitResult hitResult; s32 flags; battleStatus->currentAttackElement = *args++; @@ -644,18 +657,18 @@ ApiStatus ItemAfflictEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == 0xFF) { + if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; - itemDamage = calc_item_damage_enemy(); - if (itemDamage < 0) { + hitResult = calc_item_damage_enemy(); + if (hitResult < 0) { return ApiStatus_FINISH; } - evt_set_variable(script, itemDamageOut, itemDamage); + evt_set_variable(script, hitResultVarOut, hitResult); if (!does_script_exist_by_ref(script)) { return ApiStatus_FINISH; } @@ -663,13 +676,13 @@ ApiStatus ItemAfflictEnemy(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_80252B3C(Evt* script, s32 isInitialCall) { +ApiStatus ItemAfflictEnemy(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; - s32 itemDamageOut = *args++; + s32 hitResultVarOut = *args++; s32 flags; Actor* actor; - s32 itemDamage; + HitResult hitResult; battleStatus->currentAttackElement = *args++; battleStatus->currentAttackEventSuppression = 0; @@ -713,18 +726,18 @@ ApiStatus func_80252B3C(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == 0xFF) { + if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; - itemDamage = calc_item_damage_enemy(); - if (itemDamage < 0) { + hitResult = calc_item_damage_enemy(); + if (hitResult < 0) { return ApiStatus_FINISH; } - evt_set_variable(script, itemDamageOut, itemDamage); + evt_set_variable(script, hitResultVarOut, hitResult); if (!does_script_exist_by_ref(script)) { return ApiStatus_FINISH; } @@ -735,10 +748,10 @@ ApiStatus func_80252B3C(Evt* script, s32 isInitialCall) { ApiStatus ItemCheckHit(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; - s32 itemDamageOut = *args++; + s32 hitResultVarOut = *args++; s32 flags; Actor* actor; - s32 itemDamage; + HitResult hitResult; battleStatus->currentAttackElement = *args++; battleStatus->currentAttackEventSuppression = 0; @@ -782,18 +795,18 @@ ApiStatus ItemCheckHit(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == 0xFF) { + if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; - itemDamage = calc_item_check_hit(); - if (itemDamage < 0) { + hitResult = calc_item_check_hit(); + if (hitResult < 0) { return ApiStatus_FINISH; } - evt_set_variable(script, itemDamageOut, itemDamage); + evt_set_variable(script, hitResultVarOut, hitResult); return ApiStatus_DONE2; } diff --git a/src/181810.c b/src/181810.c index 6e5123c9b5..f82909a0b6 100644 --- a/src/181810.c +++ b/src/181810.c @@ -179,12 +179,12 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { msg_printer_set_origin_pos(gSpeakingActorPrintCtx, screenX, screenY); - if (gSpeakingActorPrintCtx->stateFlags & 0x40) { + if (gSpeakingActorPrintCtx->stateFlags & MSG_STATE_FLAG_40) { decrement_status_menu_disabled(); return ApiStatus_DONE1; } - if (gSpeakingActorPrintCtx->stateFlags & 0x80) { // "is talking" flag + if (gSpeakingActorPrintCtx->stateFlags & MSG_STATE_FLAG_80) { // "is talking" flag anim = gSpeakingActorTalkAnim; } else { anim = gSpeakingActorIdleAnim; diff --git a/src/182B30.c b/src/182B30.c index bbd0bdbaaf..473ab11ae6 100644 --- a/src/182B30.c +++ b/src/182B30.c @@ -750,9 +750,9 @@ void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) { } actorPosX = actor->currentPos.x + actor->headOffset.x; if (!(actor->flags & ACTOR_FLAG_HP_OFFSET_BELOW)) { - actorPosY = actor->currentPos.y + actor->headOffset.y + actor->unk_19A; + actorPosY = actor->currentPos.y + actor->headOffset.y + actor->verticalRenderOffset; } else { - actorPosY = actor->currentPos.y - actor->headOffset.y + actor->unk_19A; + actorPosY = actor->currentPos.y - actor->headOffset.y + actor->verticalRenderOffset; } actorPosZ = actor->currentPos.z + actor->headOffset.z; @@ -1360,7 +1360,7 @@ void appendGfx_player_actor(void* arg0) { playerParts = player->partsTable; playerPosX = player->currentPos.x + player->headOffset.x; - playerPosY = player->currentPos.y + player->headOffset.y + player->unk_19A; + playerPosY = player->currentPos.y + player->headOffset.y + player->verticalRenderOffset; playerPosZ = player->currentPos.z + player->headOffset.z; playerYaw = playerParts->yaw = player->yaw; diff --git a/src/18C790.c b/src/18C790.c index 67923a2352..34510c0005 100644 --- a/src/18C790.c +++ b/src/18C790.c @@ -1122,8 +1122,8 @@ void btl_state_update_celebration(void) { width = get_msg_width(MSG_Menus_CantIncrease, 0) + 31; x = 160 - (width / 2); y = 80; - set_window_properties(WINDOW_ID_9, x, y, width, 28, 10, draw_content_cant_increase_popup, NULL, -1); - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW); + set_window_properties(WINDOW_ID_BATTLE_POPUP, x, y, width, 28, 10, draw_content_cant_increase_popup, NULL, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); CelebrateSubstateTime = 60; gBattleSubState = BTL_SUBSTATE_CELEBRATE_LEVEL_UP_INVALID_DELAY; break; @@ -1135,7 +1135,7 @@ void btl_state_update_celebration(void) { CelebrateSubstateTime--; break; } - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_HIDE); gBattleSubState = BTL_SUBSTATE_CELEBRATE_LEVEL_UP_CHOOSE; break; case BTL_SUBSTATE_CELEBRATE_SKIPPABLE_END_DELAY: diff --git a/src/18F340.c b/src/18F340.c index 280dee3a61..e7324894f9 100644 --- a/src/18F340.c +++ b/src/18F340.c @@ -992,7 +992,7 @@ EvtScript HandleEvent_Player = { EVT_EXEC_WAIT(D_80298724) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_208C) EVT_SET_CONST(LVar1, ANIM_Mario_10002) diff --git a/src/190B20.c b/src/190B20.c index e636f9637f..9b5049bb93 100644 --- a/src/190B20.c +++ b/src/190B20.c @@ -1208,7 +1208,7 @@ void load_player_actor(void) { player->rotationPivotOffset.x = 0; player->rotationPivotOffset.y = 0; player->rotationPivotOffset.z = 0; - player->unk_19A = 0; + player->verticalRenderOffset = 0; player->yaw = 0.0f; player->renderMode = RENDER_MODE_ALPHATEST; player->scale.x = 1.0f; @@ -1309,7 +1309,7 @@ void load_player_actor(void) { } part->eventFlags = 0; - part->partFlags3 = 0; + part->elementalImmunities = 0; part->opacity = 255; part->size.y = player->size.y; part->size.x = player->size.x; @@ -1463,7 +1463,7 @@ void load_partner_actor(void) { partnerActor->scaleModifier.x = 1.0f; partnerActor->scaleModifier.y = 1.0f; partnerActor->scaleModifier.z = 1.0f; - partnerActor->unk_19A = 0; + partnerActor->verticalRenderOffset = 0; partnerActor->size.x = ActorBlueprint->size.x; partnerActor->size.y = ActorBlueprint->size.y; partnerActor->healthBarPosition.x = partnerActor->homePos.x; @@ -1537,7 +1537,7 @@ void load_partner_actor(void) { part->defenseTable = ActorPartBlueprint->defenseTable; part->idleAnimations = ActorPartBlueprint->idleAnimations; part->eventFlags = ActorPartBlueprint->eventFlags; - part->partFlags3 = ActorPartBlueprint->elementImmunityFlags; + part->elementalImmunities = ActorPartBlueprint->elementImmunityFlags; part->opacity = ActorPartBlueprint->opacity; part->size.y = partnerActor->size.y; part->size.x = partnerActor->size.x; @@ -1708,7 +1708,7 @@ Actor* create_actor(Formation formation) { actor->scaleModifier.x = 1.0f; actor->scaleModifier.y = 1.0f; actor->scaleModifier.z = 1.0f; - actor->unk_19A = 0; + actor->verticalRenderOffset = 0; actor->extraCoinBonus = 0; actor->size.x = formationActor->size.x; actor->size.y = formationActor->size.y; @@ -1798,7 +1798,7 @@ Actor* create_actor(Formation formation) { part->defenseTable = actorPartBP->defenseTable; part->idleAnimations = actorPartBP->idleAnimations; part->eventFlags = actorPartBP->eventFlags; - part->partFlags3 = actorPartBP->elementImmunityFlags; + part->elementalImmunities = actorPartBP->elementImmunityFlags; part->opacity = actorPartBP->opacity; if (part->opacity < 255) { actor->renderMode = RENDER_MODE_SURFACE_XLU_LAYER3; @@ -2185,72 +2185,28 @@ s32 get_defense(Actor* actor, s32* defenseTable, s32 elementFlags) { s32 minDefense = 255; if (defenseTable != NULL) { - if (elementFlags & DAMAGE_TYPE_FIRE) { - defense = lookup_defense(defenseTable, ELEMENT_FIRE); - if (defense < minDefense) { - minDefense = defense; - } - } - if (elementFlags & DAMAGE_TYPE_WATER) { - defense = lookup_defense(defenseTable, ELEMENT_WATER); - if (defense < minDefense) { - minDefense = defense; - } - } - if (elementFlags & DAMAGE_TYPE_ICE) { - defense = lookup_defense(defenseTable, ELEMENT_ICE); - if (defense < minDefense) { - minDefense = defense; - } - } - if (elementFlags & DAMAGE_TYPE_MAGIC) { - defense = lookup_defense(defenseTable, ELEMENT_MAGIC); - if (defense < minDefense) { - minDefense = defense; - } - } - if (elementFlags & DAMAGE_TYPE_SMASH) { - defense = lookup_defense(defenseTable, ELEMENT_HAMMER); - if (defense < minDefense) { - minDefense = defense; - } - } - if (elementFlags & DAMAGE_TYPE_JUMP) { - defense = lookup_defense(defenseTable, ELEMENT_JUMP); - if (defense < minDefense) { - minDefense = defense; - } - } - if (elementFlags & DAMAGE_TYPE_COSMIC) { - defense = lookup_defense(defenseTable, ELEMENT_COSMIC); - if (defense < minDefense) { - minDefense = defense; - } - } - if (elementFlags & DAMAGE_TYPE_BLAST) { - defense = lookup_defense(defenseTable, ELEMENT_BLAST); - if (defense < minDefense) { - minDefense = defense; - } - } - if (elementFlags & DAMAGE_TYPE_ELECTRIC) { - defense = lookup_defense(defenseTable, ELEMENT_SHOCK); - if (defense < minDefense) { - minDefense = defense; - } - } - if (elementFlags & DAMAGE_TYPE_QUAKE) { - defense = lookup_defense(defenseTable, ELEMENT_QUAKE); - if (defense < minDefense) { - minDefense = defense; - } - } - if (elementFlags & DAMAGE_TYPE_THROW) { - defense = lookup_defense(defenseTable, ELEMENT_THROW); - if (defense < minDefense) { - minDefense = defense; - } - } + + #define CHECK_DEFENSE(element) \ + if (elementFlags & DAMAGE_TYPE_##element) { \ + defense = lookup_defense(defenseTable, ELEMENT_##element); \ + if (defense < minDefense) { \ + minDefense = defense; \ + } \ + } \ + + CHECK_DEFENSE(FIRE); + CHECK_DEFENSE(WATER); + CHECK_DEFENSE(ICE); + CHECK_DEFENSE(MAGIC); + CHECK_DEFENSE(SMASH); + CHECK_DEFENSE(JUMP); + CHECK_DEFENSE(COSMIC); + CHECK_DEFENSE(BLAST); + CHECK_DEFENSE(SHOCK); + CHECK_DEFENSE(QUAKE); + CHECK_DEFENSE(THROW); + + #undef CHECK_DEFENSE } // If no element flags were set, fall back to normal defense. @@ -2354,8 +2310,8 @@ void func_802666E4(Actor* actor, f32 x, f32 y, f32 z, s32 damage) { do { if (battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE) { fx_ring_blast(0, x, y, z, 1.0f, 0x18); - } else if (battleStatus->currentAttackElement & DAMAGE_TYPE_ELECTRIC) { - func_80251474(actor); + } else if (battleStatus->currentAttackElement & DAMAGE_TYPE_SHOCK) { + apply_shock_effect(actor); } else if (battleStatus->currentAttackElement & DAMAGE_TYPE_WATER) { fx_water_splash(0, x, y, z, 1.0f, 24); } else { @@ -2540,32 +2496,33 @@ void func_80266B14(void) { // TODO dumb label required to match, clean up s32 try_inflict_status(Actor* actor, s32 statusTypeKey, s32 statusKey) { BattleStatus* battleStatus = &gBattleStatus; - s32 phi_s0; + s32 chance; s32 duration; - if (battleStatus->statusChance == 0xFE) { + if (battleStatus->statusChance == STATUS_CHANCE_IGNORE_RES) { duration = battleStatus->statusDuration; - return inflict_status_set_duration(actor, statusTypeKey, statusKey, - duration + lookup_status_duration_mod(actor->statusTable, statusKey)); + duration += lookup_status_duration_mod(actor->statusTable, statusKey); + return inflict_status_set_duration(actor, statusTypeKey, statusKey, duration); } duration = 0; if (actor->statusTable != NULL) { - if (!(battleStatus->currentAttackStatus & 0x40000000)) { - phi_s0 = lookup_status_chance(actor->statusTable, statusTypeKey); + if (!(battleStatus->currentAttackStatus & STATUS_FLAG_RIGHT_ON)) { + chance = lookup_status_chance(actor->statusTable, statusTypeKey); } else { if (lookup_status_chance(actor->statusTable, statusTypeKey) != 0) { - phi_s0 = 100; + chance = 100; } else { goto meow; } } - if (phi_s0 > 0) { - phi_s0 = (phi_s0 * battleStatus->statusChance) / 100; - if (phi_s0 > 0 && phi_s0 >= rand_int(100)) { - duration = lookup_status_duration_mod(actor->statusTable, statusKey) + 3; + if (chance > 0) { + chance = (chance * battleStatus->statusChance) / 100; + if (chance > 0 && chance >= rand_int(100)) { + duration = 3; + duration += lookup_status_duration_mod(actor->statusTable, statusKey); } } } else { diff --git a/src/19FAF0.c b/src/19FAF0.c index 06890cda59..39c37d58e9 100644 --- a/src/19FAF0.c +++ b/src/19FAF0.c @@ -175,57 +175,70 @@ void dispatch_event_player_continue_turn(s32 eventType) { } } -s32 calc_player_test_enemy(void) { +// Determines whether an attack from the player will hit an enemy or +HitResult calc_player_test_enemy(void) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; - s32 currentTargetID = battleStatus->currentTargetID; - s32 targetPart = battleStatus->currentTargetPart; ActorState* state = &player->state; + s32 targetActorID = battleStatus->currentTargetID; + s32 targetPartIdx = battleStatus->currentTargetPart; Actor* target; - ActorPart* part; + ActorPart* targetPart; battleStatus->currentTargetID2 = battleStatus->currentTargetID; battleStatus->currentTargetPart2 = battleStatus->currentTargetPart; - target = get_actor(currentTargetID); + target = get_actor(targetActorID); if (target == NULL) { return HIT_RESULT_HIT; } - part = get_actor_part(target, targetPart); - ASSERT(part != NULL); + targetPart = get_actor_part(target, targetPartIdx); + ASSERT(targetPart != NULL); - if (part->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) { + if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) { return HIT_RESULT_MISS; - } else if (target->transparentStatus == STATUS_TRANSPARENT || ((part->eventFlags & ACTOR_EVENT_FLAG_800) && - !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE))) + } + + if (target->transparentStatus == STATUS_TRANSPARENT + || (targetPart->eventFlags & ACTOR_EVENT_FLAG_800) + && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) { return HIT_RESULT_MISS; - } else if (target->stoneStatus == STATUS_STONE) { + } + + if (target->stoneStatus == STATUS_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; - } else if ((battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) && (part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) && - !player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD)) + } + + if ((battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) + && (targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) + && !player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD)) { sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); return HIT_RESULT_LANDED_ON_SPIKE; - } else if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_JUMP)) && - (part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_FRONT) && - (!(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_4) && - !player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD))) + } + + if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_JUMP)) + && (targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_FRONT) + && (!(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SPIKY_FRONT) + && !player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD))) { sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_player_1(1, EVENT_SPIKE_CONTACT); dispatch_event_actor(target, EVENT_SPIKE_TAUNT); - return HIT_RESULT_TRIGGERED_EXPLODE; - } else if (player->staticStatus != STATUS_STATIC && target->staticStatus == STATUS_STATIC) { + return HIT_RESULT_BACKFIRE; + } + + if (player->staticStatus != STATUS_STATIC && target->staticStatus == STATUS_STATIC) { return HIT_RESULT_HIT_STATIC; } return HIT_RESULT_HIT; } -s32 calc_player_damage_enemy(void) { +HitResult calc_player_damage_enemy(void) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; s32 currentTargetID = battleStatus->currentTargetID; @@ -234,15 +247,15 @@ s32 calc_player_damage_enemy(void) { Evt* evt; Actor* target; ActorPart* targetPart; - s32 retVal; + s32 hitResult; s32 currentAttackDamage; s32 targetDefense; s32 dispatchEvent; - s32 sp1C; + s32 partImmuneToElement; s32 sp20; s32 sp24; s32 isFireDamage; - s32 isElectricDamage; + s32 isShockDamage; s32 isWaterDamage; s32 isIceDamage; s32 tempBinary; @@ -251,10 +264,11 @@ s32 calc_player_damage_enemy(void) { sp20 = FALSE; isFireDamage = FALSE; - isElectricDamage = FALSE; + isWaterDamage = FALSE; + isShockDamage = FALSE; isIceDamage = FALSE; tempBinary = FALSE; - sp1C = FALSE; + partImmuneToElement = FALSE; wasStatusInflicted = FALSE; sp24 = FALSE; @@ -267,7 +281,7 @@ s32 calc_player_damage_enemy(void) { state = &player->state; if (target == NULL) { - return 0; + return HIT_RESULT_HIT; } targetPart = get_actor_part(target, currentTargetPartID); @@ -277,8 +291,8 @@ s32 calc_player_damage_enemy(void) { target->lastDamageTaken = 0; if (gBattleStatus.flags1 & BS_FLAGS1_FORCE_HIT_IMMUNE) { - retVal = 2; - dispatchEvent = EVENT_SCRIPTED_IMMUNE; + hitResult = HIT_RESULT_NO_DAMAGE; + dispatchEvent = EVENT_ZERO_DAMAGE; } else { if (player_team_is_ability_active(player, ABILITY_ICE_POWER)) { if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT)) { @@ -286,61 +300,79 @@ s32 calc_player_damage_enemy(void) { } } - if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY || (target->transparentStatus == STATUS_TRANSPARENT || - targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE))) { - return 6; + if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY + || (target->transparentStatus == STATUS_TRANSPARENT + || targetPart->eventFlags & ACTOR_EVENT_FLAG_800 + && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) + ) { + return HIT_RESULT_MISS; } if (target->stoneStatus == STATUS_STONE) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); func_8024EFE0(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); - return (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) ? 1 : 0; + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + return HIT_RESULT_1; + } + return HIT_RESULT_HIT; } - if (targetPart->partFlags3 & battleStatus->currentAttackElement) { - sp1C = TRUE; + if (targetPart->elementalImmunities & battleStatus->currentAttackElement) { + partImmuneToElement = TRUE; } - if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) || !(targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) || - player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD)) { - if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH))) { - if (targetPart->eventFlags & ACTOR_EVENT_FLAG_8000) { - sfx_play_sound_at_position(SOUND_HIT_PLAYER_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - dispatch_damage_event_player_1(1, EVENT_BURN_CONTACT); - dispatch_event_actor(target, EVENT_EXPLODE_TRIGGER); - return -1; - } - - if (targetPart->eventFlags & ACTOR_EVENT_FLAG_FIREY && !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_10) && - !(player_team_is_ability_active(player, ABILITY_FIRE_SHIELD)) && !(player_team_is_ability_active(player, ABILITY_ICE_POWER))) { - sfx_play_sound_at_position(SOUND_HIT_PLAYER_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - dispatch_damage_event_player_1(1, EVENT_BURN_CONTACT); - dispatch_event_actor(target, EVENT_BURN_TAUNT); - return -1; - } - } - - if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE && - targetPart->eventFlags & (ACTOR_EVENT_FLAG_400 | ACTOR_EVENT_FLAG_EXPLOSIVE)) { - sfx_play_sound_at_position(SOUND_HIT_PLAYER_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - dispatch_event_actor(target, EVENT_EXPLODE_TRIGGER); - return (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) ? 1 : 0; - } - - if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) && - targetPart->eventFlags & ACTOR_EVENT_FLAG_200000 && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_80) && !(player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD))) { - sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - dispatch_damage_event_player_1(1, EVENT_SPIKE_CONTACT); - dispatch_event_actor(target, EVENT_SPIKE_TAUNT); - return -1; - } - } else { + if ((battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) + && (targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) + && !player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD)) + { sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_player_1(1, EVENT_SPIKE_CONTACT); dispatch_event_actor(target, EVENT_SPIKE_TAUNT); - return -1; + return HIT_RESULT_BACKFIRE; + } + + if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH))) { + if (targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT) { + sfx_play_sound_at_position(SOUND_HIT_PLAYER_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + dispatch_damage_event_player_1(1, EVENT_BURN_CONTACT); + dispatch_event_actor(target, EVENT_EXPLODE_TRIGGER); + return HIT_RESULT_BACKFIRE; + } + + if (targetPart->eventFlags & ACTOR_EVENT_FLAG_FIREY + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_BURN_CONTACT) + && !(player_team_is_ability_active(player, ABILITY_FIRE_SHIELD)) + && !(player_team_is_ability_active(player, ABILITY_ICE_POWER)) + ) { + sfx_play_sound_at_position(SOUND_HIT_PLAYER_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + dispatch_damage_event_player_1(1, EVENT_BURN_CONTACT); + dispatch_event_actor(target, EVENT_BURN_TAUNT); + return HIT_RESULT_BACKFIRE; + } + } + + if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE + && battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE + && targetPart->eventFlags & (ACTOR_EVENT_FLAG_400 | ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) + ) { + sfx_play_sound_at_position(SOUND_HIT_PLAYER_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + dispatch_event_actor(target, EVENT_EXPLODE_TRIGGER); + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + return HIT_RESULT_1; + } + return HIT_RESULT_HIT; + } + + if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) + && targetPart->eventFlags & ACTOR_EVENT_FLAG_200000 + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_FLAG_80) + && !player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD) + ) { + sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + dispatch_damage_event_player_1(1, EVENT_SPIKE_CONTACT); + dispatch_event_actor(target, EVENT_SPIKE_TAUNT); + return HIT_RESULT_BACKFIRE; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE) { @@ -348,9 +380,9 @@ s32 calc_player_damage_enemy(void) { isFireDamage = TRUE; } - if (battleStatus->currentAttackElement & DAMAGE_TYPE_ELECTRIC) { - func_80251474(target); - isElectricDamage = TRUE; + if (battleStatus->currentAttackElement & DAMAGE_TYPE_SHOCK) { + apply_shock_effect(target); + isShockDamage = TRUE; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_WATER) { @@ -390,14 +422,14 @@ s32 calc_player_damage_enemy(void) { } } - if (!is_ability_active(ABILITY_ZAP_TAP)) { - if (player->staticStatus != STATUS_STATIC && (target->staticStatus == STATUS_STATIC || - targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && - !(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_ELECTRIC)) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8)) { - gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; - sp20 = TRUE; - } + if (!is_ability_active(ABILITY_ZAP_TAP) + && player->staticStatus != STATUS_STATIC + && (target->staticStatus == STATUS_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) + && !(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SHOCK)) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) + ) { + gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; + sp20 = TRUE; } if (targetPart->eventFlags & (ACTOR_EVENT_FLAG_80000 | ACTOR_EVENT_FLAG_ENCHANTED)) { @@ -520,7 +552,7 @@ s32 calc_player_damage_enemy(void) { } if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && battleStatus->currentAttackElement & DAMAGE_TYPE_BLAST && - targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLOSIVE) { + targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) { targetDefense = 0; currentAttackDamage = target->currentHP; } @@ -557,27 +589,34 @@ s32 calc_player_damage_enemy(void) { if (currentAttackDamage < 1) { target->hpChangeCounter = 0; - retVal = 2; + hitResult = HIT_RESULT_NO_DAMAGE; if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS)) { - dispatchEvent = EVENT_SCRIPTED_IMMUNE; + dispatchEvent = EVENT_ZERO_DAMAGE; sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { - dispatchEvent = (target->currentHP <= 0) ? EVENT_DEATH : EVENT_SCRIPTED_IMMUNE; + if (target->currentHP < 1) { + dispatchEvent = EVENT_DEATH; + } else { + dispatchEvent = EVENT_ZERO_DAMAGE; + } } battleStatus->lastAttackDamage = 0; } else { target->damageCounter += currentAttackDamage; dispatchEvent = EVENT_HIT_COMBO; - retVal = 0; + hitResult = HIT_RESULT_HIT; target->hpChangeCounter -= currentAttackDamage; - if (!(targetPart->flags & ACTOR_PART_FLAG_2000) && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) && !sp1C && - !(targetPart->targetFlags & ACTOR_PART_FLAG_4)) { + if (!(targetPart->flags & ACTOR_PART_FLAG_2000) + && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) + && !partImmuneToElement + && !(targetPart->targetFlags & ACTOR_PART_FLAG_4) + ) { target->currentHP -= currentAttackDamage; - if (target->currentHP <= 0) { + if (target->currentHP < 1) { target->currentHP = 0; dispatchEvent = EVENT_DEATH; } @@ -589,33 +628,45 @@ s32 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)) || battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT || - battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8 || battleStatus->currentAttackElement & DAMAGE_TYPE_ELECTRIC) { - dispatchEvent = (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) ? EVENT_SCRIPTED_IMMUNE : EVENT_IMMUNE; + if (!is_ability_active(ABILITY_ZAP_TAP) + && player->staticStatus != STATUS_STATIC + && (target->staticStatus == STATUS_STATIC || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) + && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) + && !(battleStatus->currentAttackElement & DAMAGE_TYPE_SHOCK) + ) { + sfx_play_sound_at_position(SOUND_HIT_PLAYER_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + apply_shock_effect(player); + dispatch_damage_event_player_1(1, EVENT_SHOCK_HIT); + return HIT_RESULT_BACKFIRE; + } else { + dispatchEvent = (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) ? EVENT_ZERO_DAMAGE : EVENT_IMMUNE; sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_event_actor(target, dispatchEvent); func_8024EFE0(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); - return (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) ? 1 : 0; - } else { - sfx_play_sound_at_position(SOUND_HIT_PLAYER_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - func_80251474(player); - dispatch_damage_event_player_1(1, EVENT_SHOCK_HIT); - return -1; + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + return HIT_RESULT_1; + } + return HIT_RESULT_HIT; } } 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->flags & ACTOR_FLAG_400)) { + 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->flags & ACTOR_FLAG_400) + ) { dispatch_event_actor(target, EVENT_SCARE_AWAY); - return (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) ? 1 : 0; + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + return HIT_RESULT_1; + } + return HIT_RESULT_HIT; } } } @@ -625,11 +676,11 @@ s32 calc_player_damage_enemy(void) { dispatchEvent = EVENT_HIT; } - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_IMMUNE; } - if (target->currentHP <= 0) { + if (target->currentHP < 1) { if (dispatchEvent == EVENT_IMMUNE) { dispatchEvent = EVENT_DEATH; } @@ -643,8 +694,11 @@ s32 calc_player_damage_enemy(void) { if (battleStatus->currentAttackElement & DAMAGE_TYPE_SPIN_SMASH) { PlayerData* playerData = &gPlayerData; - if (target->actorBlueprint->spinSmashReq != 255 && playerData->hammerLevel + 1 >= target->actorBlueprint->spinSmashReq && - battleStatus->lastAttackDamage > 0 && gBattleStatus.flags1 & BS_FLAGS1_40) { + if (target->actorBlueprint->spinSmashReq != 255 + && playerData->hammerLevel + 1 >= target->actorBlueprint->spinSmashReq + && battleStatus->lastAttackDamage > 0 + && gBattleStatus.flags1 & BS_FLAGS1_40 + ) { if (dispatchEvent == EVENT_HIT_COMBO) { dispatchEvent = EVENT_SPIN_SMASH_HIT; } @@ -653,7 +707,7 @@ s32 calc_player_damage_enemy(void) { dispatchEvent = EVENT_SPIN_SMASH_HIT; } - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_SPIN_SMASH_HIT; } @@ -677,7 +731,7 @@ s32 calc_player_damage_enemy(void) { dispatchEvent = EVENT_POWER_BOUNCE_HIT; } - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_POWER_BOUNCE_HIT; } @@ -730,7 +784,7 @@ s32 calc_player_damage_enemy(void) { dispatchEvent = EVENT_FLIP_TRIGGER; } - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_FLIP_TRIGGER; } @@ -789,7 +843,7 @@ s32 calc_player_damage_enemy(void) { #undef INFLICT_STATUS if (wasStatusInflicted) { - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_HIT_COMBO; } @@ -813,7 +867,7 @@ s32 calc_player_damage_enemy(void) { func_8024EFE0(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); } } - } else if (!sp1C) { + } 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); } else { @@ -843,7 +897,6 @@ s32 calc_player_damage_enemy(void) { } } - if (sp24) { func_802667F0(1, target, state->goalPos.x, state->goalPos.y, state->goalPos.z); } @@ -852,28 +905,26 @@ s32 calc_player_damage_enemy(void) { func_80266970(target); } - if (battleStatus->lastAttackDamage > 0 || tempBinary) { - if (!sp1C) { - func_80267018(target, 1); + if ((battleStatus->lastAttackDamage > 0 || tempBinary) && !partImmuneToElement) { + func_80267018(target, 1); - if (isFireDamage) { - sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - } else if (isElectricDamage) { - sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - } else if (isIceDamage) { - sfx_play_sound_at_position(SOUND_HIT_ICE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - } else { - sfx_play_sound_at_position(SOUND_HIT_NORMAL, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - } + if (isFireDamage) { + sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + } else if (isShockDamage) { + sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + } else if (isIceDamage) { + sfx_play_sound_at_position(SOUND_HIT_ICE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + } else { + sfx_play_sound_at_position(SOUND_HIT_NORMAL, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } } - if (battleStatus->lastAttackDamage <= 0 && !tempBinary && !sp20 || targetPart->flags & ACTOR_PART_FLAG_2000) { + if (battleStatus->lastAttackDamage < 1 && !tempBinary && !sp20 || targetPart->flags & ACTOR_PART_FLAG_2000) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } if (battleStatus->currentAttackStatus & STATUS_FLAG_SLEEP && wasStatusInflicted) { - evt = start_script((EvtScript*) DoSleepHit, EVT_PRIORITY_A, 0); + evt = start_script(&DoSleepHit, EVT_PRIORITY_A, 0); evt->varTable[0] = state->goalPos.x; evt->varTable[1] = state->goalPos.y; evt->varTable[2] = state->goalPos.z; @@ -881,7 +932,7 @@ s32 calc_player_damage_enemy(void) { } if (battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY && wasStatusInflicted) { - evt = start_script((EvtScript*) DoDizzyHit, EVT_PRIORITY_A, 0); + evt = start_script(&DoDizzyHit, EVT_PRIORITY_A, 0); evt->varTable[0] = state->goalPos.x; evt->varTable[1] = state->goalPos.y; evt->varTable[2] = state->goalPos.z; @@ -889,7 +940,7 @@ s32 calc_player_damage_enemy(void) { } if (battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE && wasStatusInflicted) { - evt = start_script((EvtScript*) DoParalyzeHit, EVT_PRIORITY_A, 0); + evt = start_script(&DoParalyzeHit, EVT_PRIORITY_A, 0); evt->varTable[0] = state->goalPos.x; evt->varTable[1] = state->goalPos.y; evt->varTable[2] = state->goalPos.z; @@ -897,7 +948,7 @@ s32 calc_player_damage_enemy(void) { } if (battleStatus->currentAttackStatus & STATUS_FLAG_POISON && wasStatusInflicted) { - evt = start_script((EvtScript*) DoPoisonHit, EVT_PRIORITY_A, 0); + evt = start_script(&DoPoisonHit, EVT_PRIORITY_A, 0); evt->varTable[0] = state->goalPos.x; evt->varTable[1] = state->goalPos.y; evt->varTable[2] = state->goalPos.z; @@ -905,7 +956,7 @@ s32 calc_player_damage_enemy(void) { } if (battleStatus->currentAttackStatus & STATUS_FLAG_STOP && wasStatusInflicted) { - evt = start_script((EvtScript*) DoStopHit, EVT_PRIORITY_A, 0); + evt = start_script(&DoStopHit, EVT_PRIORITY_A, 0); evt->varTable[0] = state->goalPos.x; evt->varTable[1] = state->goalPos.y; evt->varTable[2] = state->goalPos.z; @@ -913,7 +964,7 @@ s32 calc_player_damage_enemy(void) { } if (battleStatus->currentAttackStatus & STATUS_FLAG_FROZEN && wasStatusInflicted) { - evt = start_script((EvtScript*) DoFreezeHit, EVT_PRIORITY_A, 0); + evt = start_script(&DoFreezeHit, EVT_PRIORITY_A, 0); evt->varTable[0] = state->goalPos.x; evt->varTable[1] = state->goalPos.y; evt->varTable[2] = state->goalPos.z; @@ -922,7 +973,7 @@ s32 calc_player_damage_enemy(void) { } if (battleStatus->currentAttackStatus & STATUS_FLAG_SHRINK && wasStatusInflicted) { - evt = start_script((EvtScript*) DoShrinkHit, EVT_PRIORITY_A, 0); + evt = start_script(&DoShrinkHit, EVT_PRIORITY_A, 0); evt->varTable[0] = state->goalPos.x; evt->varTable[1] = state->goalPos.y; evt->varTable[2] = state->goalPos.z; @@ -937,27 +988,27 @@ s32 calc_player_damage_enemy(void) { func_80266ADC(target); if (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) { - if (retVal == 0) { - retVal = 1; + if (hitResult == HIT_RESULT_HIT) { + hitResult = HIT_RESULT_1; } - if (retVal == 2) { - retVal = 3; + if (hitResult == HIT_RESULT_NO_DAMAGE) { + hitResult = HIT_RESULT_3; } } - if (!is_ability_active(ABILITY_ZAP_TAP)) { - if (player->staticStatus != STATUS_STATIC && (target->staticStatus == STATUS_STATIC || - targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && - !(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_ELECTRIC)) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8)) { - sfx_play_sound_at_position(SOUND_HIT_PLAYER_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - func_80251474(player); - dispatch_damage_event_player_1(1, EVENT_SHOCK_HIT); - return -1; - } + if (!is_ability_active(ABILITY_ZAP_TAP) + && (player->staticStatus != STATUS_STATIC) + && (target->staticStatus == STATUS_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) + && !(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SHOCK)) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) + ) { + sfx_play_sound_at_position(SOUND_HIT_PLAYER_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + apply_shock_effect(player); + dispatch_damage_event_player_1(1, EVENT_SHOCK_HIT); + return HIT_RESULT_BACKFIRE; } - return retVal; + return hitResult; } s32 dispatch_damage_event_player(s32 damageAmount, s32 event, s32 arg2) { @@ -973,7 +1024,7 @@ s32 dispatch_damage_event_player(s32 damageAmount, s32 event, s32 arg2) { battleStatus->currentAttackDamage = damageAmount; - temp = (s16)damageAmount; // usage of temp here required to match + temp = (s16)damageAmount; //TODO usage of temp here required to match player->hpChangeCounter += temp; temp = player->hpChangeCounter; @@ -987,7 +1038,7 @@ s32 dispatch_damage_event_player(s32 damageAmount, s32 event, s32 arg2) { oldPlayerHP = player->currentHP; dispatchEvent = event; - if (player->currentHP <= 0) { + if (player->currentHP < 1) { battleStatus->lastAttackDamage += oldPlayerHP; player->currentHP = 0; dispatchEvent = EVENT_DEATH; @@ -998,7 +1049,7 @@ s32 dispatch_damage_event_player(s32 damageAmount, s32 event, s32 arg2) { if (dispatchEvent == EVENT_HIT_COMBO) { dispatchEvent = EVENT_HIT; } - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_IMMUNE; } @@ -1446,10 +1497,10 @@ ApiStatus GetPlayerHP(Evt* script, s32 isInitialCall) { ApiStatus PlayerDamageEnemy(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; - s32 a0 = *args++; + s32 hitResultOutVar = *args++; s32 flags; Actor* target; - s32 temp_v0_2; + HitResult hitResult; battleStatus->currentAttackElement = *args++; battleStatus->currentAttackEventSuppression = *args++; @@ -1496,16 +1547,16 @@ ApiStatus PlayerDamageEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetID = target->targetActorID; battleStatus->currentTargetPart = target->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == 0xFF) { + if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; - temp_v0_2 = calc_player_damage_enemy(); - if (temp_v0_2 < 0) { + hitResult = calc_player_damage_enemy(); + if (hitResult < 0) { return ApiStatus_FINISH; } - evt_set_variable(script, a0, temp_v0_2); + evt_set_variable(script, hitResultOutVar, hitResult); if (!does_script_exist_by_ref(script)) { return ApiStatus_FINISH; @@ -1517,10 +1568,10 @@ ApiStatus PlayerDamageEnemy(Evt* script, s32 isInitialCall) { ApiStatus PlayerPowerBounceEnemy(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; - s32 a0 = *args++; + s32 hitResultOutVar = *args++; s32 flags; Actor* target; - s32 temp_v0_2; + HitResult hitResult; battleStatus->currentAttackElement = *args++; battleStatus->currentAttackEventSuppression = *args++; @@ -1567,16 +1618,16 @@ ApiStatus PlayerPowerBounceEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetID = target->targetActorID; battleStatus->currentTargetPart = target->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == 0xFF) { + if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; - temp_v0_2 = calc_player_damage_enemy(); - if (temp_v0_2 < 0) { + hitResult = calc_player_damage_enemy(); + if (hitResult < 0) { return ApiStatus_FINISH; } - evt_set_variable(script, a0, temp_v0_2); + evt_set_variable(script, hitResultOutVar, hitResult); if (!does_script_exist_by_ref(script)) { return ApiStatus_FINISH; @@ -1588,10 +1639,10 @@ ApiStatus PlayerPowerBounceEnemy(Evt* script, s32 isInitialCall) { ApiStatus PlayerTestEnemy(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; - s32 a0 = *args++; + s32 hitResultOutVar = *args++; s32 flags; Actor* target; - s32 temp_v0_2; + HitResult hitResult; battleStatus->currentAttackElement = *args++; battleStatus->currentAttackEventSuppression = *args++; @@ -1638,16 +1689,16 @@ ApiStatus PlayerTestEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetID = target->targetActorID; battleStatus->currentTargetPart = target->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == 0xFF) { + if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; - temp_v0_2 = calc_player_test_enemy(); - if (temp_v0_2 < 0) { + hitResult = calc_player_test_enemy(); + if (hitResult < 0) { return ApiStatus_FINISH; } - evt_set_variable(script, a0, temp_v0_2); + evt_set_variable(script, hitResultOutVar, hitResult); return ApiStatus_DONE2; } diff --git a/src/1A5830.c b/src/1A5830.c index 7cf92f5f85..36f4b4cb2b 100644 --- a/src/1A5830.c +++ b/src/1A5830.c @@ -127,7 +127,7 @@ void dispatch_event_actor(Actor* actor, s32 event) { } } -s32 calc_enemy_test_target(Actor* actor) { +HitResult calc_enemy_test_target(Actor* actor) { PlayerData* playerData = &gPlayerData; BattleStatus* battleStatus = &gBattleStatus; s32 targetID = battleStatus->currentTargetID; @@ -181,7 +181,7 @@ s32 calc_enemy_test_target(Actor* actor) { switch (actorClass) { case ACTOR_CLASS_PLAYER: if (battleStatus->cloudNineTurnsLeft) { - if (rand_int(100) < (s8) battleStatus->cloudNineDodgeChance) { + if (rand_int(100) < battleStatus->cloudNineDodgeChance) { hitResult = HIT_RESULT_MISS; break; } @@ -231,7 +231,7 @@ s32 calc_enemy_test_target(Actor* actor) { return HIT_RESULT_HIT; } -s32 calc_enemy_damage_target(Actor* attacker) { +HitResult calc_enemy_damage_target(Actor* attacker) { BattleStatus* battleStatus = &gBattleStatus; ActorState* state = &attacker->state; s32 targetID = battleStatus->currentTargetID; @@ -240,12 +240,14 @@ s32 calc_enemy_damage_target(Actor* attacker) { Actor* target; ActorPart* targetPart; s32 hitResult; - s32 t = TRUE; + s32 one = TRUE; s32 statusInflicted = FALSE; s32 statusInflicted2 = FALSE; s32 isFire = FALSE; + s32 isWater = FALSE; + s32 isIce = FALSE; s32 isElectric = FALSE; - s32 isEnchanted = FALSE; + s32 madeElectricContact = FALSE; s32 isPlayer; s32 defense; s32 event; @@ -281,11 +283,16 @@ s32 calc_enemy_damage_target(Actor* attacker) { break; } + // handle defender status + if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) { return HIT_RESULT_MISS; } - if (target->transparentStatus == STATUS_TRANSPARENT || targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) { + if (target->transparentStatus == STATUS_TRANSPARENT + || targetPart->eventFlags & ACTOR_EVENT_FLAG_800 + && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE) + ) { return HIT_RESULT_MISS; } @@ -296,46 +303,53 @@ s32 calc_enemy_damage_target(Actor* attacker) { dispatch_event_general(target, EVENT_IMMUNE); return HIT_RESULT_HIT; } + + // handle attack element + if (battleStatus->currentAttackElement & DAMAGE_TYPE_BLAST) { - if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && (targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLOSIVE)) { + if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) + && (targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) + ) { do { play_hit_sound(attacker, state->goalPos.x, state->goalPos.y, state->goalPos.z, 3); - } while (0); // TODO ? + } while (0); // TODO required to match dispatch_event_general(target, EVENT_EXPLODE_TRIGGER); - return HIT_RESULT_TRIGGERED_EXPLODE; + return HIT_RESULT_BACKFIRE; } } if ((battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE) && (target->flags & ACTOR_FLAG_FLYING)) { play_hit_sound(attacker, state->goalPos.x, state->goalPos.y, state->goalPos.z, 1); - return HIT_RESULT_QUAKE_IMMUNE; + return HIT_RESULT_NO_DAMAGE; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE) { - fx_ring_blast(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 0x18); + fx_ring_blast(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 24); isFire = TRUE; } - if (battleStatus->currentAttackElement & DAMAGE_TYPE_ELECTRIC) { - func_80251474(target); + if (battleStatus->currentAttackElement & DAMAGE_TYPE_SHOCK) { + apply_shock_effect(target); isElectric = TRUE; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_WATER) { - fx_water_splash(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 0x18); + fx_water_splash(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 24); + isWater = TRUE; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_ICE) { fx_big_snowflakes(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f); + isIce = TRUE; } - if (!(attacker->staticStatus == STATUS_STATIC)) { - if ((target->staticStatus == STATUS_STATIC) || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) { - if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT))) { - if (!(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8)) { - if (!has_enchanted_part(attacker)) { - isEnchanted = TRUE; - gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; - } - } - } - } + if (!(attacker->staticStatus == STATUS_STATIC) + && ((target->staticStatus == STATUS_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 + { + madeElectricContact = TRUE; + gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; } + + // begin calulating damage + gBattleStatus.flags1 &= ~BS_FLAGS1_ATK_BLOCKED; defense = get_defense(target, targetPart->defenseTable, battleStatus->currentAttackElement); @@ -384,7 +398,7 @@ s32 calc_enemy_damage_target(Actor* attacker) { if (damage > 99) { damage = 99; } - if (damage <= 0) { + if (damage < 1) { defense = 0; } @@ -453,16 +467,18 @@ s32 calc_enemy_damage_target(Actor* attacker) { func_80266970(target); } + // deal damage and determine resulting battle event + event = EVENT_HIT_COMBO; - if (damage <= 0) { + if (damage < 1) { target->hpChangeCounter = 0; if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS)) { - hitResult = HIT_RESULT_QUAKE_IMMUNE; - event = EVENT_SCRIPTED_IMMUNE; + hitResult = HIT_RESULT_NO_DAMAGE; + event = EVENT_ZERO_DAMAGE; } else { - hitResult = HIT_RESULT_QUAKE_IMMUNE; - event = EVENT_SCRIPTED_IMMUNE; - if (target->currentHP <= 0) { + hitResult = HIT_RESULT_NO_DAMAGE; + event = EVENT_ZERO_DAMAGE; + if (target->currentHP < 1) { event = EVENT_DEATH; } } @@ -472,16 +488,16 @@ s32 calc_enemy_damage_target(Actor* attacker) { target->hpChangeCounter -= damage; battleStatus->lastAttackDamage = 0; hitResult = HIT_RESULT_HIT; - if (!(targetPart->flags & ACTOR_PART_FLAG_2000)) { - if (!(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE)) { - if (!(target->flags & ACTOR_FLAG_NO_DMG_APPLY)) { - target->currentHP -= damage; - } + if (!(targetPart->flags & ACTOR_PART_FLAG_2000) + && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) + ) { + if (!(target->flags & ACTOR_FLAG_NO_DMG_APPLY)) { + target->currentHP -= damage; + } - if (target->currentHP <= 0) { - target->currentHP = 0; - event = EVENT_DEATH; - } + if (target->currentHP < 1) { + target->currentHP = 0; + event = EVENT_DEATH; } } battleStatus->lastAttackDamage += damage; @@ -498,10 +514,10 @@ s32 calc_enemy_damage_target(Actor* attacker) { if (event == EVENT_HIT_COMBO) { event = EVENT_HIT; } - if (event == EVENT_SCRIPTED_IMMUNE) { + if (event == EVENT_ZERO_DAMAGE) { event = EVENT_IMMUNE; } - if (target->currentHP <= 0 && event == EVENT_IMMUNE) { + if (target->currentHP < 1 && event == EVENT_IMMUNE) { event = EVENT_DEATH; } } else if (event == EVENT_DEATH) { @@ -512,44 +528,43 @@ s32 calc_enemy_damage_target(Actor* attacker) { func_80266E14(targetPart); } - if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { - if (battleStatus->currentAttackElement & (DAMAGE_TYPE_POW | DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_JUMP)) { - if (targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE) { - if (event == EVENT_HIT) { - event = EVENT_FLIP_TRIGGER; - } - if (event == EVENT_IMMUNE) { - event = EVENT_FLIP_TRIGGER; - } - } + if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) + && (battleStatus->currentAttackElement & (DAMAGE_TYPE_POW | DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_JUMP)) + && (targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE) + ) { + if (event == EVENT_HIT) { + event = EVENT_FLIP_TRIGGER; + } + if (event == EVENT_IMMUNE) { + event = EVENT_FLIP_TRIGGER; } } - if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) { - if (battleStatus->currentAttackElement & (DAMAGE_TYPE_POW | DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_JUMP)) { - if (targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE) { - if (event == EVENT_HIT_COMBO) { - event = EVENT_FLIP_TRIGGER; - } - if (event == EVENT_SCRIPTED_IMMUNE) { - event = EVENT_FLIP_TRIGGER; - } - } + if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) + && (battleStatus->currentAttackElement & (DAMAGE_TYPE_POW | DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_JUMP)) + && (targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE) + ) { + if (event == EVENT_HIT_COMBO) { + event = EVENT_FLIP_TRIGGER; + } + if (event == EVENT_ZERO_DAMAGE) { + event = EVENT_FLIP_TRIGGER; } } - if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { - if (battleStatus->currentAttackElement & (DAMAGE_TYPE_FIRE | DAMAGE_TYPE_BLAST | DAMAGE_TYPE_4000)) { - if (event == EVENT_HIT) { - event = EVENT_BURN_HIT; - } - if (event == EVENT_DEATH) { - event = EVENT_FIRE_DEATH; - } - isFire = TRUE; + if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) + && (battleStatus->currentAttackElement & (DAMAGE_TYPE_FIRE | DAMAGE_TYPE_BLAST | DAMAGE_TYPE_4000)) + ) { + if (event == EVENT_HIT) { + event = EVENT_BURN_HIT; } + if (event == EVENT_DEATH) { + event = EVENT_FIRE_DEATH; + } + isFire = TRUE; } + if (gBattleStatus.flags1 & BS_FLAGS1_ATK_BLOCKED) { if (event == EVENT_HIT_COMBO) { event = EVENT_18; @@ -557,7 +572,7 @@ s32 calc_enemy_damage_target(Actor* attacker) { if (event == EVENT_HIT) { event = EVENT_BLOCK; } - if (event == EVENT_SCRIPTED_IMMUNE) { + if (event == EVENT_ZERO_DAMAGE) { event = EVENT_18; } if (event == EVENT_IMMUNE) { @@ -568,79 +583,81 @@ s32 calc_enemy_damage_target(Actor* attacker) { } } - if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { - if (battleStatus->lastAttackDamage >= 0 && event != EVENT_DEATH && event != EVENT_SPIN_SMASH_DEATH) { - if (event != EVENT_EXPLODE_TRIGGER) { - if (!(gBattleStatus.flags1 & BS_FLAGS1_ATK_BLOCKED)) { - if (!(gBattleStatus.flags2 & BS_FLAGS2_1000000)) { - if (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)) { - statusInflicted = t; - statusInflicted2 = t; - } - if (battleStatus->currentAttackStatus & STATUS_FLAG_POISON && try_inflict_status(target, STATUS_POISON, STATUS_POISON_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } - if (battleStatus->currentAttackStatus & STATUS_FLAG_STONE && try_inflict_status(target, STATUS_STONE, STATUS_STONE_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } - if (battleStatus->currentAttackStatus & STATUS_FLAG_SLEEP && try_inflict_status(target, STATUS_SLEEP, STATUS_SLEEP_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } - if (battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY && try_inflict_status(target, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } - if (battleStatus->currentAttackStatus & STATUS_FLAG_STOP && try_inflict_status(target, STATUS_STOP, STATUS_STOP_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } - if (battleStatus->currentAttackStatus & STATUS_FLAG_STATIC && try_inflict_status(target, STATUS_STATIC, STATUS_STATIC_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } - if (battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE && try_inflict_status(target, STATUS_PARALYZE, STATUS_PARALYZE_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } - if (battleStatus->currentAttackStatus & STATUS_FLAG_FEAR && try_inflict_status(target, STATUS_FEAR, STATUS_FEAR_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } + // try inflicting status effect - // BUG? repeated paralyze and dizzy infliction - if (battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE && try_inflict_status(target, STATUS_PARALYZE, STATUS_PARALYZE_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } - if (battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY && try_inflict_status(target, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } + if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE + && battleStatus->lastAttackDamage >= 0 + && event != EVENT_DEATH + && event != EVENT_SPIN_SMASH_DEATH + && event != EVENT_EXPLODE_TRIGGER + && !(gBattleStatus.flags1 & BS_FLAGS1_ATK_BLOCKED) + && !(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)) { + statusInflicted = one; + statusInflicted2 = one; + } + if (battleStatus->currentAttackStatus & STATUS_FLAG_POISON && try_inflict_status(target, STATUS_POISON, STATUS_POISON_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } + if (battleStatus->currentAttackStatus & STATUS_FLAG_STONE && try_inflict_status(target, STATUS_STONE, STATUS_STONE_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } + if (battleStatus->currentAttackStatus & STATUS_FLAG_SLEEP && try_inflict_status(target, STATUS_SLEEP, STATUS_SLEEP_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } + if (battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY && try_inflict_status(target, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } + if (battleStatus->currentAttackStatus & STATUS_FLAG_STOP && try_inflict_status(target, STATUS_STOP, STATUS_STOP_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } + if (battleStatus->currentAttackStatus & STATUS_FLAG_STATIC && try_inflict_status(target, STATUS_STATIC, STATUS_STATIC_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } + if (battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE && try_inflict_status(target, STATUS_PARALYZE, STATUS_PARALYZE_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } + if (battleStatus->currentAttackStatus & STATUS_FLAG_FEAR && try_inflict_status(target, STATUS_FEAR, STATUS_FEAR_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } - if (battleStatus->currentAttackStatus & STATUS_FLAG_FROZEN && target->debuff != STATUS_FROZEN && try_inflict_status(target, STATUS_FROZEN, STATUS_FROZEN_TURN_MOD)) { - statusInflicted = t; - statusInflicted2 = t; - } + // @bug? repeated paralyze and dizzy infliction + if (battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE && try_inflict_status(target, STATUS_PARALYZE, STATUS_PARALYZE_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } + if (battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY && try_inflict_status(target, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } - if (statusInflicted) { - if (event == EVENT_SCRIPTED_IMMUNE) { - event = EVENT_HIT_COMBO; - } - if (event == EVENT_IMMUNE) { - event = EVENT_HIT; - } - } - } - } - } + if (battleStatus->currentAttackStatus & STATUS_FLAG_FROZEN && target->debuff != STATUS_FROZEN && try_inflict_status(target, STATUS_FROZEN, STATUS_FROZEN_TURN_MOD)) { + statusInflicted = one; + statusInflicted2 = one; + } + + if (statusInflicted) { + if (event == EVENT_ZERO_DAMAGE) { + event = EVENT_HIT_COMBO; + } + if (event == EVENT_IMMUNE) { + event = EVENT_HIT; } } } + // dispatch events and play damage effects + battleStatus->wasStatusInflicted = statusInflicted; switch (actorClass) { @@ -655,11 +672,14 @@ s32 calc_enemy_damage_target(Actor* attacker) { break; } - if (actorClass == ACTOR_CLASS_PARTNER) { - if (battleStatus->lastAttackDamage > 0 && gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && !(target->flags & ACTOR_FLAG_NO_DMG_APPLY)) { - inflict_partner_ko(target, STATUS_DAZE, battleStatus->lastAttackDamage); - } + if (actorClass == ACTOR_CLASS_PARTNER + && battleStatus->lastAttackDamage > 0 + && gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE + && !(target->flags & ACTOR_FLAG_NO_DMG_APPLY)) + { + inflict_partner_ko(target, STATUS_DAZE, battleStatus->lastAttackDamage); } + if (!(target->flags & ACTOR_FLAG_NO_DMG_POPUP)) { switch (actorClass) { case ACTOR_CLASS_PLAYER: @@ -714,7 +734,7 @@ s32 calc_enemy_damage_target(Actor* attacker) { play_hit_sound(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, hitSound); } - if ((battleStatus->lastAttackDamage <= 0 && !statusInflicted2 && !isEnchanted) || targetPart->flags & ACTOR_PART_FLAG_2000) { + if ((battleStatus->lastAttackDamage < 1 && !statusInflicted2 && !madeElectricContact) || targetPart->flags & ACTOR_PART_FLAG_2000) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } @@ -775,20 +795,17 @@ s32 calc_enemy_damage_target(Actor* attacker) { } func_80266ADC(target); - if (( - attacker->staticStatus != STATUS_STATIC - && (target->staticStatus == STATUS_STATIC || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) - ) + if (attacker->staticStatus != STATUS_STATIC + && (target->staticStatus == STATUS_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) - && !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) && (attacker->transparentStatus != STATUS_TRANSPARENT) - && !has_enchanted_part(attacker) - ) { - // enum mismatch? shock vs explode :raised_eyebrow: + && !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); - func_80251474(attacker); + apply_shock_effect(attacker); dispatch_damage_event_actor_1(attacker, 1, EVENT_SHOCK_HIT); - return HIT_RESULT_TRIGGERED_EXPLODE; + return HIT_RESULT_BACKFIRE; } return hitResult; @@ -827,7 +844,7 @@ s32 dispatch_damage_event_actor(Actor* actor, s32 damageAmount, s32 originalEven if (dispatchEvent == EVENT_HIT_COMBO) { dispatchEvent = EVENT_HIT; } - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_IMMUNE; } } @@ -2678,46 +2695,46 @@ ApiStatus DropStarPoints(Evt* script, s32 isInitialCall) { ApiStatus SetDefenseTable(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); - s32 partIndex; - u32* var2; + s32 partIdx; + u32* table; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } - partIndex = evt_get_variable(script, *args++); - var2 = (u32*) evt_get_variable(script, *args++); - get_actor_part(get_actor(actorID), partIndex)->defenseTable = var2; + partIdx = evt_get_variable(script, *args++); + table = (u32*) evt_get_variable(script, *args++); + get_actor_part(get_actor(actorID), partIdx)->defenseTable = table; return ApiStatus_DONE2; } ApiStatus SetStatusTable(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); - u32* var1; + u32* table; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } - var1 = (u32*) evt_get_variable(script, *args++); - get_actor(actorID)->statusTable = var1; + table = (u32*) evt_get_variable(script, *args++); + get_actor(actorID)->statusTable = table; return ApiStatus_DONE2; } ApiStatus SetIdleAnimations(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); - s32 partIndex; + s32 partIdx; u32* var2; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } - partIndex = evt_get_variable(script, *args++); + partIdx = evt_get_variable(script, *args++); var2 = (u32*) evt_get_variable(script, *args++); - get_actor_part(get_actor(actorID), partIndex)->idleAnimations = var2; + get_actor_part(get_actor(actorID), partIdx)->idleAnimations = var2; return ApiStatus_DONE2; } @@ -2747,7 +2764,6 @@ ApiStatus EnemyDamageTarget(Evt *script, s32 isInitialCall) { Actor* actor; s32 outVar; s32 hitResult; - u8 attackStatus; s32 battleStatusFlags1Temp; s32 battleFlagsModifier; @@ -2763,7 +2779,7 @@ ApiStatus EnemyDamageTarget(Evt *script, s32 isInitialCall) { battleStatus->currentAttackDamage = evt_get_variable(script, *args++); battleFlagsModifier = *args++; - if (battleFlagsModifier & 0x10) { + if (battleFlagsModifier & BS_FLAGS1_10) { gBattleStatus.flags1 |= BS_FLAGS1_10; gBattleStatus.flags1 &= ~BS_FLAGS1_SP_EVT_ACTIVE; } else if (battleFlagsModifier & BS_FLAGS1_SP_EVT_ACTIVE) { @@ -2790,19 +2806,16 @@ ApiStatus EnemyDamageTarget(Evt *script, s32 isInitialCall) { gBattleStatus.flags1 &= ~BS_FLAGS1_80; } - attackStatus = battleStatus->currentAttackStatus; battleStatus->currentTargetID = actor->targetActorID; - battleStatus->currentTargetPart = actor->targetPartIndex; - battleStatus->statusChance = attackStatus; - if ((attackStatus & 0xFF) == 0xFF) { + battleStatus->statusChance = battleStatus->currentAttackStatus & 0xFF; + if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } - battleStatus->statusDuration = (battleStatus->currentAttackStatus & 0xF00) >> 8; - hitResult = calc_enemy_damage_target(actor); + hitResult = calc_enemy_damage_target(actor); if (hitResult < 0) { return ApiStatus_FINISH; } @@ -2835,7 +2848,7 @@ ApiStatus EnemyFollowupAfflictTarget(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = battleStatus->currentAttackStatus; - if (battleStatus->statusChance == 0xFF) { + if (battleStatus->statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } diff --git a/src/1AC760.c b/src/1AC760.c index a88bffd0ca..a8b678af40 100644 --- a/src/1AC760.c +++ b/src/1AC760.c @@ -3,7 +3,6 @@ #include "script_api/battle.h" #include "effects.h" -s32 calc_partner_damage_enemy(void); s32 dispatch_damage_event_partner_1(s32, s32); void dispatch_event_partner(s32 lastEventType) { @@ -47,7 +46,7 @@ void dispatch_event_partner_continue_turn(s8 lastEventType) { } } -s32 calc_partner_test_enemy(void) { +HitResult calc_partner_test_enemy(void) { BattleStatus* battleStatus = &gBattleStatus; Actor* partner = battleStatus->partnerActor; s32 currentTargetID = battleStatus->currentTargetID; @@ -60,107 +59,117 @@ s32 calc_partner_test_enemy(void) { battleStatus->currentTargetPart2 = battleStatus->currentTargetPart; target = get_actor(currentTargetID); state = &partner->state; - if (target != NULL) { - part = get_actor_part(target, currentTargetPart); - ASSERT(part != NULL); - if (target->stoneStatus == STATUS_STONE) { - return 8; + if (target == NULL) { + return HIT_RESULT_HIT; + } + + part = get_actor_part(target, currentTargetPart); + ASSERT(part != NULL); + + if (target->stoneStatus == STATUS_STONE) { + return HIT_RESULT_IMMUNE; + } + + if ((part->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) || target->transparentStatus == STATUS_TRANSPARENT) { + return HIT_RESULT_MISS; + } + + // check partner jumping on top-spiky enemy (cannot be suppressed) + if ((battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) + && (part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) + && !(target->flags2 & ACTOR_FLAG_HP_OFFSET_BELOW) + ) { + sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + return HIT_RESULT_LANDED_ON_SPIKE; + } + + // check partner contacting front-spiky enemy + if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_JUMP)) + && (part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_FRONT) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SPIKY_FRONT) + && !player_team_is_ability_active(partner, ABILITY_SPIKE_SHIELD) + ) { + sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); + dispatch_event_actor(target, EVENT_SPIKE_TAUNT); + return HIT_RESULT_BACKFIRE; + } + + // check partner contacting fiery enemy + if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) + && (part->eventFlags & ACTOR_EVENT_FLAG_FIREY) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_BURN_CONTACT) + ) { + sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + dispatch_damage_event_partner_1(1, EVENT_BURN_CONTACT); + dispatch_event_actor(target, EVENT_BURN_TAUNT); + return HIT_RESULT_BACKFIRE; + } + + // specifal handling for air lift + if (battleStatus->currentAttackElement & DAMAGE_TYPE_AIR_LIFT) { + // check partner airlifting top-spiky enemy + if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT)) { + if ((part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) + && !(target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SPIKY_TOP) + ) { + sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); + dispatch_event_actor(target, EVENT_SPIKE_TAUNT); + return HIT_RESULT_BACKFIRE; + } + + if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) + && (part->eventFlags & ACTOR_EVENT_FLAG_200000) + && !(target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_FLAG_80) + ) { + sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); + dispatch_event_actor(target, EVENT_SPIKE_TAUNT); + return HIT_RESULT_BACKFIRE; + } } - if ((part->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) || target->transparentStatus == STATUS_TRANSPARENT) { - return 6; - } - - // TODO not sure about the flags2 - if ((battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) && - (part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) && - !(target->flags2 & ACTOR_FLAG_HP_OFFSET_BELOW)) + // check partner airlifting electrified enemy + if (partner->staticStatus != STATUS_STATIC && + (target->staticStatus == STATUS_STATIC || (part->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) && + !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && + !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT)) { - sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - return 4; - } - - if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_JUMP)) && - (part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_FRONT) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_4) && - !player_team_is_ability_active(partner, ABILITY_SPIKE_SHIELD)) - { - sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); - dispatch_event_actor(target, EVENT_SPIKE_TAUNT); - return -1; + sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); + apply_shock_effect(partner); + dispatch_damage_event_partner_1(1, EVENT_SHOCK_HIT); + return HIT_RESULT_BACKFIRE; } + // check partner airlifting fiery enemy if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) && (part->eventFlags & ACTOR_EVENT_FLAG_FIREY) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_10)) + !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_BURN_CONTACT)) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_partner_1(1, EVENT_BURN_CONTACT); dispatch_event_actor(target, EVENT_BURN_TAUNT); - return -1; - } - - if (battleStatus->currentAttackElement & DAMAGE_TYPE_AIR_LIFT) { - if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT)) { - if ((part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) && - !(target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_1)) - { - sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); - dispatch_event_actor(target, EVENT_SPIKE_TAUNT); - return -1; - } - - if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && - (part->eventFlags & ACTOR_EVENT_FLAG_200000) && - !(target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_80)) - { - sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); - dispatch_event_actor(target, EVENT_SPIKE_TAUNT); - return -1; - } - } - - if (partner->staticStatus != STATUS_STATIC && - (target->staticStatus == STATUS_STATIC || (part->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) && - !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8)) - { - sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - func_80251474(partner); - dispatch_damage_event_partner_1(1, EVENT_SHOCK_HIT); - return -1; - } - - if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) && - (part->eventFlags & ACTOR_EVENT_FLAG_FIREY) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_10)) - { - sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - dispatch_damage_event_partner_1(1, EVENT_BURN_CONTACT); - dispatch_event_actor(target, EVENT_BURN_TAUNT); - return -1; - } - dispatch_event_actor(target, EVENT_BEGIN_AIR_LIFT); + return HIT_RESULT_BACKFIRE; } + dispatch_event_actor(target, EVENT_BEGIN_AIR_LIFT); } - return 0; + return HIT_RESULT_HIT; } -s32 calc_partner_damage_enemy(void) { +HitResult calc_partner_damage_enemy(void) { BattleStatus* battleStatus = &gBattleStatus; Actor* partner = battleStatus->partnerActor; s32 currentTargetID = battleStatus->currentTargetID; s32 currentTargetPartID = battleStatus->currentTargetPart; s32 retVal; - s32 sp2C = FALSE; + s32 partImmuneToElement = FALSE; s32 isFireDamage = FALSE; - s32 isElectricDamage = FALSE; + s32 isWaterDamage = FALSE; + s32 isShockDamage = FALSE; s32 isIceDamage = FALSE; s32 tempBinary = FALSE; s32 wasStatusInflicted = FALSE; @@ -181,7 +190,7 @@ s32 calc_partner_damage_enemy(void) { state = &partner->state; if (target == NULL) { - return 0; + return HIT_RESULT_HIT; } targetPart = get_actor_part(target, currentTargetPartID); @@ -192,102 +201,159 @@ s32 calc_partner_damage_enemy(void) { if (gBattleStatus.flags1 & BS_FLAGS1_FORCE_HIT_IMMUNE) { retVal = 2; - dispatchEvent = EVENT_SCRIPTED_IMMUNE; + dispatchEvent = EVENT_ZERO_DAMAGE; 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 || - targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) { - return 6; + if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY + || target->transparentStatus == STATUS_TRANSPARENT + || (targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) + ) { + return HIT_RESULT_MISS; } if (target->stoneStatus == STATUS_STONE) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); func_8024EFE0(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); - return (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) ? 1 : 0; + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + return HIT_RESULT_1; + } + return HIT_RESULT_HIT; } - if (targetPart->partFlags3 & battleStatus->currentAttackElement) { - sp2C = 1; + if (targetPart->elementalImmunities & battleStatus->currentAttackElement) { + partImmuneToElement = TRUE; } - if (battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP && targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) { + // check jumping on spiky enemy + if (battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP + && targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP + ) { sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); dispatch_event_actor(target, EVENT_SPIKE_TAUNT); - return -1; - } else if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && targetPart->eventFlags & ACTOR_EVENT_FLAG_8000) { + return HIT_RESULT_BACKFIRE; + } + + // check explode on contact + if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) + && targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT + ) { dispatch_event_actor(target, EVENT_EXPLODE_TRIGGER); - if (!(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_2)) { + if (!(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_EXPLODE_CONTACT)) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_partner_1(1, EVENT_BURN_CONTACT); - return -1; + return HIT_RESULT_BACKFIRE; } sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - return (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) ? 1 : 0; - } else if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) && - targetPart->eventFlags & ACTOR_EVENT_FLAG_FIREY && !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_10)) { + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + return HIT_RESULT_1; + } + return HIT_RESULT_HIT; + } + + // check touching fiery enemy + if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) + && targetPart->eventFlags & ACTOR_EVENT_FLAG_FIREY + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_BURN_CONTACT) + ) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_partner_1(1, EVENT_BURN_CONTACT); dispatch_event_actor(target, EVENT_BURN_TAUNT); - return -1; - } else if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_JUMP)) && - targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_FRONT && !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_4)) { + return HIT_RESULT_BACKFIRE; + } + + // check touching spiky-front enemy + if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_JUMP)) + && targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_FRONT + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SPIKY_FRONT) + ) { sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); dispatch_event_actor(target, EVENT_SPIKE_TAUNT); - return -1; - } else if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE && - targetPart->eventFlags & (ACTOR_EVENT_FLAG_400 | ACTOR_EVENT_FLAG_EXPLOSIVE)) { + return HIT_RESULT_BACKFIRE; + } + + // check explode on ignition + if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE + && battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE + && targetPart->eventFlags & (ACTOR_EVENT_FLAG_400 | ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) + ) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_event_actor(target, EVENT_EXPLODE_TRIGGER); - return (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) ? 1 : 0; - } else if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && targetPart->eventFlags & ACTOR_EVENT_FLAG_200000 && - !(target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) && !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_80)) { + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + return HIT_RESULT_1; + } + return HIT_RESULT_HIT; + } + + // unknown alternate spiky #1 + if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) + && targetPart->eventFlags & ACTOR_EVENT_FLAG_200000 + && !(target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_FLAG_80) + ) { sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); dispatch_event_actor(target, EVENT_SPIKE_TAUNT); - return -1; - } else if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP && - !(target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) && !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_1)) { + return HIT_RESULT_BACKFIRE; + } + + // unknown alternate spiky top + if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) + && targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP + && !(target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SPIKY_TOP) + ) { sfx_play_sound_at_position(SOUND_108, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); dispatch_event_actor(target, EVENT_SPIKE_TAUNT); - return -1; - } else if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE && - targetPart->eventFlags & (ACTOR_EVENT_FLAG_400 | ACTOR_EVENT_FLAG_EXPLOSIVE)) { + return HIT_RESULT_BACKFIRE; + } + + // check explode on ignition (duplicate of previous check) + if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE + && battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE + && targetPart->eventFlags & (ACTOR_EVENT_FLAG_400 | ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) + ) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_event_actor(target, EVENT_EXPLODE_TRIGGER); - return (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) ? 1 : 0; + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + return HIT_RESULT_1; + } + return HIT_RESULT_HIT; } + // 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) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8)) { + if (partner->staticStatus != STATUS_STATIC + && (target->staticStatus == STATUS_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); - func_80251474(partner); + apply_shock_effect(partner); dispatch_damage_event_partner_1(1, EVENT_SHOCK_HIT); - return -1; + return HIT_RESULT_BACKFIRE; } - - return 0; + return HIT_RESULT_HIT; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE) { - fx_ring_blast(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 0x18); + fx_ring_blast(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 24); isFireDamage = TRUE; } - if (battleStatus->currentAttackElement & DAMAGE_TYPE_ELECTRIC) { - func_80251474(target); - isElectricDamage = TRUE; + if (battleStatus->currentAttackElement & DAMAGE_TYPE_SHOCK) { + apply_shock_effect(target); + isShockDamage = TRUE; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_WATER) { - fx_water_splash(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 0x18); + fx_water_splash(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 24); + isWaterDamage = TRUE; } if (battleStatus->currentAttackElement & DAMAGE_TYPE_ICE) { @@ -295,10 +361,11 @@ s32 calc_partner_damage_enemy(void) { isIceDamage = TRUE; } - if (partner->staticStatus != STATUS_STATIC && (target->staticStatus == STATUS_STATIC || - targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && - !(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_ELECTRIC)) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8)) { + if (partner->staticStatus != STATUS_STATIC + && (target->staticStatus == STATUS_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) + && !(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SHOCK)) + && !(battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT) + ) { gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; } @@ -315,11 +382,11 @@ s32 calc_partner_damage_enemy(void) { damageDealt = battleStatus->currentAttackDamage + partner->attackBoost; if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { - if (battleStatus->currentAttackElement & DAMAGE_TYPE_BLAST) { - if (targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLOSIVE) { - statusChanceOrDefense = 0; - damageDealt = target->currentHP; - } + if (battleStatus->currentAttackElement & DAMAGE_TYPE_BLAST + && targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION + ) { + statusChanceOrDefense = 0; + damageDealt = target->currentHP; } } @@ -368,11 +435,15 @@ s32 calc_partner_damage_enemy(void) { if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS)) { retVal = 2; - dispatchEvent = EVENT_SCRIPTED_IMMUNE; + dispatchEvent = EVENT_ZERO_DAMAGE; sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { retVal = 2; - dispatchEvent = (target->currentHP <= 0) ? EVENT_DEATH : EVENT_SCRIPTED_IMMUNE; + if (target->currentHP < 1) { + dispatchEvent = EVENT_DEATH; + } else { + dispatchEvent = EVENT_ZERO_DAMAGE; + } } battleStatus->lastAttackDamage = 0; @@ -383,10 +454,10 @@ s32 calc_partner_damage_enemy(void) { dispatchEvent = EVENT_HIT_COMBO; retVal = 0; - if (!(targetPart->flags & ACTOR_PART_FLAG_2000) && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) && !sp2C && !(targetPart->targetFlags & ACTOR_PART_FLAG_4)) { + if (!(targetPart->flags & ACTOR_PART_FLAG_2000) && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) && !partImmuneToElement && !(targetPart->targetFlags & ACTOR_PART_FLAG_4)) { target->currentHP -= damageDealt; - if (target->currentHP <= 0) { + if (target->currentHP < 1) { target->currentHP = 0; dispatchEvent = EVENT_DEATH; } @@ -398,20 +469,25 @@ s32 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)) || battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT || - battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8) { - dispatchEvent = (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) ? EVENT_SCRIPTED_IMMUNE : EVENT_IMMUNE; + if (partner->staticStatus == STATUS_STATIC + || !(target->staticStatus == STATUS_STATIC || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) + || battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT + || battleStatus->currentAttackEventSuppression & SUPPRESS_EVENT_SHOCK_CONTACT + ) { + dispatchEvent = (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) ? EVENT_ZERO_DAMAGE : EVENT_IMMUNE; sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_event_actor(target, dispatchEvent); func_8024EFE0(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); - return (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) ? 1 : 0; + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + return HIT_RESULT_1; + } + return HIT_RESULT_HIT; } sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - func_80251474(partner); + apply_shock_effect(partner); dispatch_damage_event_partner_1(1, EVENT_SHOCK_HIT); - return -1; + return HIT_RESULT_BACKFIRE; } } @@ -420,11 +496,11 @@ s32 calc_partner_damage_enemy(void) { dispatchEvent = EVENT_HIT; } - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_IMMUNE; } - if (target->currentHP <= 0) { + if (target->currentHP < 1) { if (dispatchEvent == EVENT_IMMUNE) { dispatchEvent = EVENT_DEATH; } @@ -457,7 +533,7 @@ s32 calc_partner_damage_enemy(void) { dispatchEvent = EVENT_POWER_BOUNCE_HIT; } - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_POWER_BOUNCE_HIT; } @@ -502,13 +578,15 @@ s32 calc_partner_damage_enemy(void) { } } - if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) && battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP && - targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) + && battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP + && targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE + ) { if (dispatchEvent == EVENT_HIT_COMBO) { dispatchEvent = EVENT_FLIP_TRIGGER; } - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { dispatchEvent = EVENT_FLIP_TRIGGER; } @@ -517,104 +595,111 @@ s32 calc_partner_damage_enemy(void) { } } + if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE + && battleStatus->currentAttackElement & DAMAGE_TYPE_BLAST + && targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION + ) { + if (dispatchEvent == EVENT_DEATH) { + dispatchEvent = EVENT_EXPLODE_TRIGGER; + } + + if (dispatchEvent == EVENT_IMMUNE) { + dispatchEvent = EVENT_EXPLODE_TRIGGER; + } + + if (dispatchEvent == EVENT_HIT) { + dispatchEvent = EVENT_EXPLODE_TRIGGER; + } + + tempBinary = TRUE; + isFireDamage = TRUE; + } + if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { - if (battleStatus->currentAttackElement & DAMAGE_TYPE_BLAST && targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLOSIVE) { - if (dispatchEvent == EVENT_DEATH) { - dispatchEvent = EVENT_EXPLODE_TRIGGER; - } - - if (dispatchEvent == EVENT_IMMUNE) { - dispatchEvent = EVENT_EXPLODE_TRIGGER; - } - + if (battleStatus->currentAttackElement & (DAMAGE_TYPE_BLAST | DAMAGE_TYPE_FIRE)) { if (dispatchEvent == EVENT_HIT) { - dispatchEvent = EVENT_EXPLODE_TRIGGER; + dispatchEvent = EVENT_BURN_HIT; + } + + if (dispatchEvent == EVENT_DEATH) { + dispatchEvent = EVENT_BURN_DEATH; } - tempBinary = TRUE; isFireDamage = TRUE; } - if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { - if (battleStatus->currentAttackElement & (DAMAGE_TYPE_BLAST | DAMAGE_TYPE_FIRE)) { - if (dispatchEvent == EVENT_HIT) { - dispatchEvent = EVENT_BURN_HIT; + do { // TODO remove this do while + if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE + && battleStatus->lastAttackDamage >= 0 + && dispatchEvent != EVENT_DEATH + && dispatchEvent != EVENT_SPIN_SMASH_DEATH + && dispatchEvent != EVENT_EXPLODE_TRIGGER + && !(targetPart->targetFlags & ACTOR_PART_FLAG_4) + ) { + #define INFLICT_STATUS(STATUS_TYPE) \ + if ((battleStatus->currentAttackStatus & STATUS_FLAG_##STATUS_TYPE) && \ + try_inflict_status(target, STATUS_##STATUS_TYPE, STATUS_##STATUS_TYPE##_TURN_MOD)) { \ + tempBinary = TRUE; \ + wasStatusInflicted = TRUE; \ + } \ + + INFLICT_STATUS(SHRINK); + INFLICT_STATUS(POISON); + INFLICT_STATUS(STONE); + INFLICT_STATUS(SLEEP); + INFLICT_STATUS(STOP); + INFLICT_STATUS(STATIC); + INFLICT_STATUS(FEAR); + INFLICT_STATUS(PARALYZE); + INFLICT_STATUS(DIZZY); + + #undef INFLICT_STATUS + + statusChanceOrDefense = target->actorBlueprint->spookChance; + + if (statusChanceOrDefense > 0) { + statusChanceOrDefense = 100; } - if (dispatchEvent == EVENT_DEATH) { - dispatchEvent = EVENT_BURN_DEATH; - } + statusChanceOrDefense = (battleStatus->statusChance * statusChanceOrDefense) / 100; - isFireDamage = TRUE; - } - - do { // TODO remove this do while - if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && battleStatus->lastAttackDamage >= 0 && dispatchEvent != EVENT_DEATH && - dispatchEvent != EVENT_SPIN_SMASH_DEATH && - dispatchEvent != EVENT_EXPLODE_TRIGGER && !(targetPart->targetFlags & ACTOR_PART_FLAG_4)) { - #define INFLICT_STATUS(STATUS_TYPE) \ - if ((battleStatus->currentAttackStatus & STATUS_FLAG_##STATUS_TYPE) && \ - try_inflict_status(target, STATUS_##STATUS_TYPE, STATUS_##STATUS_TYPE##_TURN_MOD)) { \ - tempBinary = TRUE; \ - wasStatusInflicted = TRUE; \ - } \ - - INFLICT_STATUS(SHRINK); - INFLICT_STATUS(POISON); - INFLICT_STATUS(STONE); - INFLICT_STATUS(SLEEP); - INFLICT_STATUS(STOP); - INFLICT_STATUS(STATIC); - INFLICT_STATUS(FEAR); - INFLICT_STATUS(PARALYZE); - INFLICT_STATUS(DIZZY); - - #undef INFLICT_STATUS - - statusChanceOrDefense = target->actorBlueprint->spookChance; - - if (statusChanceOrDefense > 0) { - statusChanceOrDefense = 100; - } - - statusChanceOrDefense = (battleStatus->statusChance * statusChanceOrDefense) / 100; - - 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) && !(target->flags & ACTOR_FLAG_400)) { - 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); - sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - } else { - dispatchEvent = EVENT_IMMUNE; - retVal = 2; - } + 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) + && !(target->flags & ACTOR_FLAG_400) + ) { + 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); + sfx_play_sound_at_position(SOUND_231, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { dispatchEvent = EVENT_IMMUNE; retVal = 2; } - } - - if (wasStatusInflicted) { - if (dispatchEvent == EVENT_SCRIPTED_IMMUNE) { - dispatchEvent = EVENT_HIT_COMBO; - } - - if (dispatchEvent == EVENT_IMMUNE) { - dispatchEvent = EVENT_HIT; - } + } else { + dispatchEvent = EVENT_IMMUNE; + retVal = 2; } } - } while (0); - } + + if (wasStatusInflicted) { + if (dispatchEvent == EVENT_ZERO_DAMAGE) { + dispatchEvent = EVENT_HIT_COMBO; + } + + if (dispatchEvent == EVENT_IMMUNE) { + dispatchEvent = EVENT_HIT; + } + } + } + } while (0); } statusChanceOrDefense = target->actorBlueprint->spookChance; @@ -651,12 +736,10 @@ s32 calc_partner_damage_enemy(void) { if (!(target->flags & ACTOR_FLAG_NO_DMG_POPUP)) { if (battleStatus->lastAttackDamage == 0) { - if (!tempBinary) { - if (!wasStatusInflicted) { - func_8024EFE0(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); - } + if (!tempBinary && !wasStatusInflicted) { + func_8024EFE0(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); } - } else if (!sp2C) { + } 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); } else { @@ -688,7 +771,7 @@ s32 calc_partner_damage_enemy(void) { } if (battleStatus->lastAttackDamage > 0) { - if (sp2C == 0) { + if (partImmuneToElement == 0) { if (partner->actorTypeData1[5] != 0) { sfx_play_sound_at_position(partner->actorTypeData1[5], SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } @@ -697,7 +780,7 @@ s32 calc_partner_damage_enemy(void) { if (isFireDamage) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); - } else if (isElectricDamage) { + } else if (isShockDamage) { sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else if (isIceDamage) { sfx_play_sound_at_position(SOUND_HIT_ICE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -707,7 +790,10 @@ s32 calc_partner_damage_enemy(void) { } } - if (battleStatus->lastAttackDamage <= 0 && !tempBinary && !wasStatusInflicted || targetPart->flags & ACTOR_PART_FLAG_2000) { + if (battleStatus->lastAttackDamage < 1 + && !(tempBinary || wasStatusInflicted) + || targetPart->flags & ACTOR_PART_FLAG_2000 + ) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_MODE_0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } @@ -787,9 +873,9 @@ s32 calc_partner_damage_enemy(void) { if (partner->staticStatus != STATUS_STATIC && (target->staticStatus == STATUS_STATIC || targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && - !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8)) { + !(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); - func_80251474(partner); + apply_shock_effect(partner); dispatch_damage_event_partner_1(1, EVENT_SHOCK_HIT); return -1; } @@ -819,7 +905,7 @@ s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion) { oldHP = partner->currentHP; - if (partner->currentHP <= 0) { + if (partner->currentHP < 1) { event = EVENT_DEATH; battleStatus->lastAttackDamage += oldHP; partner->currentHP = 0; @@ -832,7 +918,7 @@ s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion) { if (event == EVENT_HIT_COMBO) { event = EVENT_HIT; } - if (event == EVENT_SCRIPTED_IMMUNE) { + if (event == EVENT_ZERO_DAMAGE) { event = EVENT_IMMUNE; } } @@ -1000,7 +1086,7 @@ ApiStatus PartnerDamageEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = enemy->targetPartIndex; battleStatus->statusChance = statusChance; - if (statusChance == 0xFF) { + if (statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } @@ -1077,7 +1163,7 @@ ApiStatus PartnerAfflictEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = statusChance; - if (statusChance == 0xFF) { + if (statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } @@ -1153,7 +1239,7 @@ ApiStatus PartnerPowerBounceEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = actor->targetPartIndex; battleStatus->statusChance = statusChance; - if (statusChance == 0xFF) { + if (statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } @@ -1234,7 +1320,7 @@ ApiStatus PartnerTestEnemy(Evt* script, s32 isInitialCall) { battleStatus->currentTargetPart = enemy->targetPartIndex; battleStatus->statusChance = statusChance; - if (statusChance == 0xFF) { + if (statusChance == STATUS_CHANCE_NEVER) { battleStatus->statusChance = 0; } diff --git a/src/1AF120.c b/src/1AF120.c index 8e0ce2c8d9..45e68a18ce 100644 --- a/src/1AF120.c +++ b/src/1AF120.c @@ -1773,7 +1773,7 @@ EvtScript D_8029B494 = { 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, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + 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_GOTO(1) EVT_LABEL(10) EVT_CHILD_THREAD diff --git a/src/415D90.c b/src/415D90.c index efdcf5fb6c..ea087ae1b2 100644 --- a/src/415D90.c +++ b/src/415D90.c @@ -1181,15 +1181,15 @@ s32 btl_submenu_moves_update(void) { moveX = 20; moveY = BattleMenu_Moves_PosY; set_window_properties(8, moveX, 186, 280, 32, 20, func_802A4494, NULL, -1); - set_window_update(WINDOW_ID_1, 1); + set_window_update(WINDOW_ID_1, WINDOW_UPDATE_SHOW); if (!BattleMenu_UsingSpiritsSubmenu) { - set_window_update(WINDOW_ID_2, 1); - set_window_update(WINDOW_ID_3, 1); + set_window_update(WINDOW_ID_2, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_3, WINDOW_UPDATE_SHOW); } else { - set_window_update(WINDOW_ID_4, 1); - set_window_update(WINDOW_ID_5, 1); + set_window_update(WINDOW_ID_4, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_5, WINDOW_UPDATE_SHOW); } - set_window_update(WINDOW_ID_8, 1); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_SHOW); do { cond = FALSE; @@ -1299,15 +1299,15 @@ s32 btl_submenu_moves_update(void) { hud_element_set_script(BattleMenu_Moves_CursorID, &HES_HandPointer); BattleMenu_Moves_TextColor = MSG_PAL_0D; - set_window_update(WINDOW_ID_1, 4); + set_window_update(WINDOW_ID_1, WINDOW_UPDATE_DARKENED); if (!BattleMenu_UsingSpiritsSubmenu) { - set_window_update(WINDOW_ID_2, 4); - set_window_update(WINDOW_ID_3, 4); + set_window_update(WINDOW_ID_2, WINDOW_UPDATE_DARKENED); + set_window_update(WINDOW_ID_3, WINDOW_UPDATE_DARKENED); } else { - set_window_update(WINDOW_ID_4, 4); - set_window_update(WINDOW_ID_5, 4); + set_window_update(WINDOW_ID_4, WINDOW_UPDATE_DARKENED); + set_window_update(WINDOW_ID_5, WINDOW_UPDATE_DARKENED); } - set_window_update(WINDOW_ID_8, 2); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_HIDE); if (!BattleMenu_UsingSpiritsSubmenu) { status_menu_stop_blinking_fp(); } else { @@ -1323,15 +1323,15 @@ s32 btl_submenu_moves_update(void) { } return 255; case BTL_SUBMENU_MOVES_STATE_UNK_A: - set_window_update(WINDOW_ID_1, 2); + set_window_update(WINDOW_ID_1, WINDOW_UPDATE_HIDE); if (!BattleMenu_UsingSpiritsSubmenu) { - set_window_update(WINDOW_ID_2, 2); - set_window_update(WINDOW_ID_3, 2); + set_window_update(WINDOW_ID_2, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_3, WINDOW_UPDATE_HIDE); } else { - set_window_update(WINDOW_ID_4, 2); - set_window_update(WINDOW_ID_5, 2); + set_window_update(WINDOW_ID_4, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_5, WINDOW_UPDATE_HIDE); } - set_window_update(WINDOW_ID_8, 2); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_HIDE); if (!BattleMenu_UsingSpiritsSubmenu) { status_menu_stop_blinking_fp(); } else { @@ -1344,28 +1344,28 @@ s32 btl_submenu_moves_update(void) { battle_menu_moveOptionActive = battle_menu_moveCursorPos; return BattleMenu_Moves_OptionIndexMap[battle_menu_moveCursorPos] + 1; case BTL_SUBMENU_MOVES_STATE_UNK_14: - set_window_update(WINDOW_ID_1, 1); + set_window_update(WINDOW_ID_1, WINDOW_UPDATE_SHOW); if (!BattleMenu_UsingSpiritsSubmenu) { - set_window_update(WINDOW_ID_2, 1); - set_window_update(WINDOW_ID_3, 1); + set_window_update(WINDOW_ID_2, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_3, WINDOW_UPDATE_SHOW); } else { - set_window_update(WINDOW_ID_4, 1); - set_window_update(WINDOW_ID_5, 1); + set_window_update(WINDOW_ID_4, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_5, WINDOW_UPDATE_SHOW); } - set_window_update(WINDOW_ID_8, 1); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_SHOW); battle_menu_moveState = BTL_SUBMENU_MOVES_STATE_UNK_1; battle_menu_moveOptionActive = battle_menu_moveCursorPos; return BattleMenu_Moves_OptionIndexMap[battle_menu_moveCursorPos] + 1; case BTL_SUBMENU_MOVES_STATE_UNK_1E: - set_window_update(WINDOW_ID_1, 9); + set_window_update(WINDOW_ID_1, WINDOW_UPDATE_9); if (!BattleMenu_UsingSpiritsSubmenu) { - set_window_update(WINDOW_ID_2, 9); - set_window_update(WINDOW_ID_3, 9); + set_window_update(WINDOW_ID_2, WINDOW_UPDATE_9); + set_window_update(WINDOW_ID_3, WINDOW_UPDATE_9); } else { - set_window_update(WINDOW_ID_4, 9); - set_window_update(WINDOW_ID_5, 9); + set_window_update(WINDOW_ID_4, WINDOW_UPDATE_9); + set_window_update(WINDOW_ID_5, WINDOW_UPDATE_9); } - set_window_update(WINDOW_ID_8, 2); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_HIDE); battle_menu_moveState = BTL_SUBMENU_MOVES_STATE_UNK_NEGATIVE_ONE; break; case BTL_SUBMENU_MOVES_STATE_UNK_28: @@ -1373,15 +1373,15 @@ s32 btl_submenu_moves_update(void) { battle_menu_moveState = BTL_SUBMENU_MOVES_STATE_UNK_29; return -1; case BTL_SUBMENU_MOVES_STATE_UNK_29: - set_window_update(WINDOW_ID_1, 2); + set_window_update(WINDOW_ID_1, WINDOW_UPDATE_HIDE); if (!BattleMenu_UsingSpiritsSubmenu) { - set_window_update(WINDOW_ID_2, 2); - set_window_update(WINDOW_ID_3, 2); + set_window_update(WINDOW_ID_2, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_3, WINDOW_UPDATE_HIDE); } else { - set_window_update(WINDOW_ID_4, 2); - set_window_update(WINDOW_ID_5, 2); + set_window_update(WINDOW_ID_4, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_5, WINDOW_UPDATE_HIDE); } - set_window_update(WINDOW_ID_8, 2); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_HIDE); msgID = MSG_Menus_Battle_CantSelectNow; if (D_802AD258 == 0) { @@ -1395,7 +1395,7 @@ s32 btl_submenu_moves_update(void) { msgWidth = get_msg_width(msgID, 0) + 23; moveX = (SCREEN_WIDTH / 2) - (msgWidth / 2); set_window_properties(9, moveX, 80, msgWidth, D_802AB340[get_msg_lines(msgID) - 1], 20, func_802A4534, NULL, -1); - set_window_update(WINDOW_ID_9, 1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); D_802AD10B = 60; battle_menu_moveState = BTL_SUBMENU_MOVES_STATE_UNK_2A; return -1; @@ -1407,16 +1407,16 @@ s32 btl_submenu_moves_update(void) { D_802AD10B--; return -1; } - set_window_update(WINDOW_ID_9, 2); - set_window_update(WINDOW_ID_1, 1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_1, WINDOW_UPDATE_SHOW); if (!BattleMenu_UsingSpiritsSubmenu) { - set_window_update(WINDOW_ID_2, 1); - set_window_update(WINDOW_ID_3, 1); + set_window_update(WINDOW_ID_2, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_3, WINDOW_UPDATE_SHOW); } else { - set_window_update(WINDOW_ID_4, 1); - set_window_update(WINDOW_ID_5, 1); + set_window_update(WINDOW_ID_4, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_5, WINDOW_UPDATE_SHOW); } - set_window_update(WINDOW_ID_8, 1); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_SHOW); battle_menu_moveState = BTL_SUBMENU_MOVES_STATE_UNK_1; break; } @@ -1930,8 +1930,8 @@ s32 func_802A4A54(void) { break; } width = get_msg_width(msgID, 0) + 23; - set_window_properties(WINDOW_ID_9, (SCREEN_WIDTH / 2) - (width / 2), 80, width, 28, 20, func_802A57C8, NULL, -1); - set_window_update(WINDOW_ID_9, 1); + set_window_properties(WINDOW_ID_BATTLE_POPUP, (SCREEN_WIDTH / 2) - (width / 2), 80, width, 28, 20, func_802A57C8, NULL, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); D_802AD612 = 60; BattleSubmenuStratsState = 42; return -1; @@ -1943,7 +1943,7 @@ s32 func_802A4A54(void) { D_802AD612--; return -1; } - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_HIDE); set_window_update(WINDOW_ID_6, WINDOW_UPDATE_SHOW); set_window_update(WINDOW_ID_7, WINDOW_UPDATE_SHOW); set_window_update(WINDOW_ID_8, WINDOW_UPDATE_SHOW); diff --git a/src/7E9D0.c b/src/7E9D0.c index c622af4114..1a55060b41 100644 --- a/src/7E9D0.c +++ b/src/7E9D0.c @@ -635,7 +635,7 @@ Npc* peach_make_disguise_npc(s32 peachDisguise) { bpPtr->onUpdate = NULL; bpPtr->onRender = NULL; - PeachDisguiseNpcIndex = _create_npc_standard(bpPtr, PeachDisguiseExtraAnims[playerStatus->peachDisguise]); + PeachDisguiseNpcIndex = create_standard_npc(bpPtr, PeachDisguiseExtraAnims[playerStatus->peachDisguise]); npc = get_npc_by_index(PeachDisguiseNpcIndex); disable_npc_shadow(npc); diff --git a/src/8a860_len_3f30.c b/src/8a860_len_3f30.c index cb8a458b3d..6b9e24b860 100644 --- a/src/8a860_len_3f30.c +++ b/src/8a860_len_3f30.c @@ -113,7 +113,7 @@ void hide_popup_menu(void) { set_window_update(WINDOW_ID_14, (s32) basic_hidden_window_update); break; } - set_window_update(WINDOW_ID_21, 2); + set_window_update(WINDOW_ID_21, WINDOW_UPDATE_HIDE); } else { switch (gPopupMenu->popupType) { case POPUP_MENU_USE_ITEM: @@ -127,13 +127,13 @@ void hide_popup_menu(void) { case POPUP_MENU_READ_LETTER: case POPUP_MENU_TAKE_FROM_CHEST: case POPUP_MENU_USEKEY: - set_window_update(WINDOW_ID_14, 2); - set_window_update(WINDOW_ID_19, 2); + set_window_update(WINDOW_ID_14, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_19, WINDOW_UPDATE_HIDE); break; case POPUP_MENU_READ_DIARY_PAGE: case POPUP_MENU_READ_POSTCARD: case POPUP_MENU_POST_OFFICE: - set_window_update(WINDOW_ID_14, 2); + set_window_update(WINDOW_ID_14, WINDOW_UPDATE_HIDE); break; } } @@ -235,18 +235,18 @@ void func_800F16CC(void) { case POPUP_MENU_READ_LETTER: case POPUP_MENU_TAKE_FROM_CHEST: case POPUP_MENU_USEKEY: - set_window_update(WINDOW_ID_14, 1); - set_window_update(WINDOW_ID_19, 1); + set_window_update(WINDOW_ID_14, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_19, WINDOW_UPDATE_SHOW); break; case POPUP_MENU_SWITCH_PARTNER: case POPUP_MENU_UPGRADE_PARTNER: - set_window_update(WINDOW_ID_14, 1); - set_window_update(WINDOW_ID_19, 1); + set_window_update(WINDOW_ID_14, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_19, WINDOW_UPDATE_SHOW); break; case POPUP_MENU_READ_DIARY_PAGE: case POPUP_MENU_READ_POSTCARD: case POPUP_MENU_POST_OFFICE: - set_window_update(WINDOW_ID_14, 1); + set_window_update(WINDOW_ID_14, WINDOW_UPDATE_SHOW); break; } } @@ -849,8 +849,8 @@ s32 popup_menu_update(void) { set_window_update(WINDOW_ID_21, WINDOW_UPDATE_HIDE); } width = get_msg_width(MSG_Menus_006B, 0) + 23; - set_window_properties(WINDOW_ID_9, 160 - (width / 2), 0x50, width, 0x28, 0x14, func_800F4CF0, NULL, -1); - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW); + set_window_properties(WINDOW_ID_BATTLE_POPUP, 160 - (width / 2), 0x50, width, 0x28, 0x14, func_800F4CF0, NULL, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); D_8010D644 = 0x3C; D_8010D640 = 0x20; return 0; @@ -862,7 +862,7 @@ s32 popup_menu_update(void) { D_8010D644--; return 0; } - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_HIDE); set_window_update(WINDOW_ID_14, WINDOW_UPDATE_SHOW); set_window_update(WINDOW_ID_19, WINDOW_UPDATE_SHOW); if (D_8010D68E) { diff --git a/src/actor_api.c b/src/actor_api.c index 24633d5d27..246d47d99e 100644 --- a/src/actor_api.c +++ b/src/actor_api.c @@ -1869,7 +1869,7 @@ ApiStatus GetPartEventFlags(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_8026D51C(Evt* script, s32 isInitialCall) { +ApiStatus SetPartImmunityFlags(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); ActorPart* actorPart; @@ -1883,16 +1883,17 @@ ApiStatus func_8026D51C(Evt* script, s32 isInitialCall) { partIndex = evt_get_variable(script, *args++); flagBits = *args++; - get_actor_part(get_actor(actorID), partIndex)->partFlags3 = flagBits; + get_actor_part(get_actor(actorID), partIndex)->elementalImmunities = flagBits; return ApiStatus_DONE2; } -ApiStatus func_8026D5A4(Evt* script, s32 isInitialCall) { +ApiStatus SetPartImmunityBits(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); + Actor* actor; ActorPart* actorPart; - s32 partIndex; + s32 partIdx; s32 flagBits; s32 mode; @@ -1900,16 +1901,17 @@ ApiStatus func_8026D5A4(Evt* script, s32 isInitialCall) { actorID = script->owner1.actorID; } - partIndex = evt_get_variable(script, *args++); + partIdx = evt_get_variable(script, *args++); flagBits = *args++; mode = evt_get_variable(script, *args++); - actorPart = get_actor_part(get_actor(actorID), partIndex); + actor = get_actor(actorID); + actorPart = get_actor_part(actor, partIdx); if (mode != 0) { - actorPart->partFlags3 |= flagBits; + actorPart->elementalImmunities |= flagBits; } else { - actorPart->partFlags3 &= ~flagBits; + actorPart->elementalImmunities &= ~flagBits; } return ApiStatus_DONE2; @@ -3117,7 +3119,7 @@ ApiStatus ShowShockEffect(Evt* script, s32 isInitialCall) { actorID = script->owner1.actorID; } - func_80251474(get_actor(actorID)); + apply_shock_effect(get_actor(actorID)); return ApiStatus_DONE2; } diff --git a/src/battle/action_cmd/hammer.c b/src/battle/action_cmd/hammer.c index f502e6e935..b98cbb6980 100644 --- a/src/battle/action_cmd/hammer.c +++ b/src/battle/action_cmd/hammer.c @@ -68,7 +68,7 @@ ApiStatus N(init)(Evt* script, s32 isInitialCall) { hud_element_set_flags(id, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED); hud_element_set_render_pos(id, actionCommandStatus->hudPosX, actionCommandStatus->hudPosY); hud_element_set_render_depth(id, 0); - hud_element_set_alpha(id, 0xFF); + hud_element_set_alpha(id, 255); return ApiStatus_DONE2; } diff --git a/src/battle/area_arn/actor/hyper_cleft.c b/src/battle/area_arn/actor/hyper_cleft.c index 87c39fc807..058614a6e6 100644 --- a/src/battle/area_arn/actor/hyper_cleft.c +++ b/src/battle/area_arn/actor/hyper_cleft.c @@ -253,7 +253,7 @@ EvtScript N(80220DC0) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 8, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0) @@ -461,7 +461,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_EXPLOSIVE, 1) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, 1) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_SET_CONST(LVar0, 1) @@ -474,7 +474,7 @@ EvtScript N(handleEvent_80222140) = { EVT_SET_CONST(LVar2, -1) EVT_EXEC_WAIT(DoBurnHit) EVT_END_IF - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLOSIVE, 0) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, 0) EVT_END_SWITCH EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -591,7 +591,7 @@ EvtScript N(handleEvent_80222140) = { EVT_END_IF EVT_CALL(PlayEffect, EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 20, 0, 0, 0, 0, 0, 0, 0, 0) EVT_WAIT(20) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -804,7 +804,7 @@ EvtScript N(80223310) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 15) diff --git a/src/battle/area_arn/actor/hyper_paragoomba.c b/src/battle/area_arn/actor/hyper_paragoomba.c index 967658cbcf..d1b1b068ab 100644 --- a/src/battle/area_arn/actor/hyper_paragoomba.c +++ b/src/battle/area_arn/actor/hyper_paragoomba.c @@ -326,7 +326,7 @@ EvtScript N(8021B678) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 8, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_THREAD @@ -598,7 +598,7 @@ EvtScript N(handleEvent_8021C9C4) = { EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_Paragoomba_Hyper_Idle) EVT_EXEC_WAIT(DoImmune) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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, 2) @@ -741,7 +741,7 @@ EvtScript N(takeTurn_8021D1DC) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) @@ -1000,7 +1000,7 @@ EvtScript N(8021E218) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 8, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_SET(LVar0, 80) @@ -1264,7 +1264,7 @@ EvtScript N(handleEvent_8021F41C) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Goomba_Hyper_Idle) EVT_EXEC_WAIT(DoImmune) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -1452,7 +1452,7 @@ EvtScript N(takeTurn_8021FE6C) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) diff --git a/src/battle/area_arn/actor/hypergoomba.c b/src/battle/area_arn/actor/hypergoomba.c index 2960acae8d..d50dfe8592 100644 --- a/src/battle/area_arn/actor/hypergoomba.c +++ b/src/battle/area_arn/actor/hypergoomba.c @@ -234,7 +234,7 @@ EvtScript N(802189D4) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 8, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 12, 0) EVT_SET(LVar0, 80) @@ -498,7 +498,7 @@ EvtScript N(handleEvent_80219BD8) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Goomba_Hyper_Idle) EVT_EXEC_WAIT(DoImmune) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -686,7 +686,7 @@ EvtScript N(takeTurn_8021A628) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) diff --git a/src/battle/area_arn/actor/tubba_blubba.c b/src/battle/area_arn/actor/tubba_blubba.c index baf9e01275..b49603a763 100644 --- a/src/battle/area_arn/actor/tubba_blubba.c +++ b/src/battle/area_arn/actor/tubba_blubba.c @@ -207,7 +207,7 @@ EvtScript N(handleEvent_802260D0) = { EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_EXEC_WAIT(DoJumpBack) EVT_EXEC_WAIT(N(80225FD4)) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -336,7 +336,7 @@ EvtScript N(80226558) = { EVT_CALL(MoveBattleCamOver, 30) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(30) EVT_SET(LVar1, 7012353) EVT_EXEC_WAIT(N(80225F8C)) @@ -443,7 +443,7 @@ EvtScript N(80226B88) = { EVT_CALL(MoveBattleCamOver, 30) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) EVT_IF_FLAG(LVar5, STATUS_FLAG_SHRINK) EVT_GOTO(1) diff --git a/src/battle/area_arn/actor/tubbas_heart.c b/src/battle/area_arn/actor/tubbas_heart.c index 452611ae83..c108e93785 100644 --- a/src/battle/area_arn/actor/tubbas_heart.c +++ b/src/battle/area_arn/actor/tubbas_heart.c @@ -227,7 +227,7 @@ EvtScript N(handleEvent_80224038) = { EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim03) EVT_EXEC_WAIT(N(802244DC)) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_SET(LVar1, 7077889) @@ -449,7 +449,7 @@ EvtScript N(80224B3C) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_TubbasHeart_Anim01) diff --git a/src/battle/area_dgb/actor/tubba_blubba.c b/src/battle/area_dgb/actor/tubba_blubba.c index 9f5b56a3be..0ea1db4da5 100644 --- a/src/battle/area_dgb/actor/tubba_blubba.c +++ b/src/battle/area_dgb/actor/tubba_blubba.c @@ -249,7 +249,7 @@ EvtScript N(handleEvent_80219338) = { EVT_SET_CONST(LVar1, ANIM_BattleTubba_Anim14) EVT_EXEC_WAIT(DoJumpBack) EVT_EXEC_WAIT(N(80219238)) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_EXEC_WAIT(N(802192E0)) @@ -454,7 +454,7 @@ EvtScript N(80219D88) = { EVT_CALL(MoveBattleCamOver, 30) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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) @@ -562,7 +562,7 @@ EvtScript N(8021A36C) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) EVT_IF_FLAG(LVar5, STATUS_FLAG_SHRINK) diff --git a/src/battle/area_flo/actor/amazy_dayzee.c b/src/battle/area_flo/actor/amazy_dayzee.c index 0d52cf9a96..8a1cf312f3 100644 --- a/src/battle/area_flo/actor/amazy_dayzee.c +++ b/src/battle/area_flo/actor/amazy_dayzee.c @@ -174,7 +174,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Dayzee_Amazy_Anim08) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -310,7 +310,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, STATUS_FLAG_1 | 0x00000002 | STATUS_FLAG_4 | STATUS_FLAG_8 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_SLEEP | STATUS_FLAG_80000000, 20, BS_FLAGS1_SP_EVT_ACTIVE) + 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_SWITCH(LVarF) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) diff --git a/src/battle/area_flo/actor/crazee_dayzee.c b/src/battle/area_flo/actor/crazee_dayzee.c index cf8c229376..96bbd5906c 100644 --- a/src/battle/area_flo/actor/crazee_dayzee.c +++ b/src/battle/area_flo/actor/crazee_dayzee.c @@ -167,7 +167,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Dayzee_Anim08) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -303,7 +303,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, STATUS_FLAG_4 | 0x00000010 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_SLEEP | STATUS_FLAG_80000000, 4, BS_FLAGS1_SP_EVT_ACTIVE) + 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_SWITCH(LVarF) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) diff --git a/src/battle/area_flo/actor/lakitu.c b/src/battle/area_flo/actor/lakitu.c index abb73f4f23..3f9d16e734 100644 --- a/src/battle/area_flo/actor/lakitu.c +++ b/src/battle/area_flo/actor/lakitu.c @@ -210,7 +210,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Lakitu_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) diff --git a/src/battle/area_flo/actor/ruff_puff.c b/src/battle/area_flo/actor/ruff_puff.c index f4edaa0da7..cf0ee54fd8 100644 --- a/src/battle/area_flo/actor/ruff_puff.c +++ b/src/battle/area_flo/actor/ruff_puff.c @@ -181,7 +181,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_TuffPuff_Hurt) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -312,7 +312,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) EVT_CALL(JumpToGoal, ACTOR_SELF, 8, FALSE, TRUE, FALSE) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) diff --git a/src/battle/area_flo2/actor/huff_n_puff.c b/src/battle/area_flo2/actor/huff_n_puff.c index cf7d384634..38ba38a06d 100644 --- a/src/battle/area_flo2/actor/huff_n_puff.c +++ b/src/battle/area_flo2/actor/huff_n_puff.c @@ -313,7 +313,7 @@ s32 N(defenseTable)[] = { ELEMENT_SHOCK, 99, ELEMENT_MYSTERY, 0, ELEMENT_JUMP, 0, - ELEMENT_HAMMER, 0, + ELEMENT_SMASH, 0, ELEMENT_END, }; @@ -994,7 +994,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(N(OnBurn)) EVT_EXEC_WAIT(N(OnBurnDeath)) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_EXEC_WAIT(N(OnImmune)) EVT_CASE_EQ(EVENT_IMMUNE) EVT_EXEC_WAIT(N(OnImmune)) @@ -1602,7 +1602,7 @@ EvtScript N(attackBodySlam) = { EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_THREAD EVT_CALL(ShakeCam, 1, 0, 20, EVT_FLOAT(1.0)) EVT_END_THREAD @@ -2197,7 +2197,7 @@ EvtScript N(attackWindBreath) = { EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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) @@ -2338,7 +2338,7 @@ EvtScript N(attackGroundLightning) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT, 0, 0, 12, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar0) EVT_IF_GT(LVar0, 0) EVT_CALL(GetActorVar, ACTOR_ENEMY0, N(VAR_FLAGS), LVar0) @@ -2573,7 +2573,7 @@ EvtScript N(attackDirectLightning) = { EVT_WAIT(2) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT, 0, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT, 0, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) @@ -3793,7 +3793,7 @@ EvtScript N(attackGroundSlam) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVarA, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(50) EVT_SET(LVarA, 0) EVT_CALL(SetGoalToHome, ACTOR_SELF) diff --git a/src/battle/area_flo2/actor/monty_mole_boss.c b/src/battle/area_flo2/actor/monty_mole_boss.c index 4a7860d7d3..116e408cc7 100644 --- a/src/battle/area_flo2/actor/monty_mole_boss.c +++ b/src/battle/area_flo2/actor/monty_mole_boss.c @@ -15,7 +15,7 @@ extern EvtScript N(handleEvent); s32 N(defenseTable)[] = { ELEMENT_NORMAL, 0, - ELEMENT_HAMMER, 0, + ELEMENT_SMASH, 0, ELEMENT_THROW, -3, ELEMENT_END, }; @@ -263,7 +263,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_MontyMole_Dark_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SMASH) @@ -417,7 +417,7 @@ EvtScript N(takeTurn) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) EVT_SET(LVar1, 0) diff --git a/src/battle/area_flo2/actor/spike.c b/src/battle/area_flo2/actor/spike.c index 0d72b7549d..c1e3395358 100644 --- a/src/battle/area_flo2/actor/spike.c +++ b/src/battle/area_flo2/actor/spike.c @@ -187,7 +187,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Dead) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -363,7 +363,7 @@ EvtScript N(attack) = { 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_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(15) EVT_CALL(YieldTurn) diff --git a/src/battle/area_flo2/actor/tuff_puff.c b/src/battle/area_flo2/actor/tuff_puff.c index 42c429fea3..0aef561806 100644 --- a/src/battle/area_flo2/actor/tuff_puff.c +++ b/src/battle/area_flo2/actor/tuff_puff.c @@ -55,7 +55,7 @@ s32 N(defenseTable)[] = { ELEMENT_SHOCK, 99, ELEMENT_MYSTERY, 0, ELEMENT_JUMP, 0, - ELEMENT_HAMMER, 0, + ELEMENT_SMASH, 0, ELEMENT_END, }; @@ -305,7 +305,7 @@ EvtScript N(handleEvent) = { EVT_END_IF EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_SET_CONST(LVar0, 1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_IS_BIG), LVar1) EVT_IF_EQ(LVar1, 0) 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 5cdcc16491..ef911b3ec1 100644 --- a/src/battle/area_isk_part_1/actor/pokey_mummy.c +++ b/src/battle/area_isk_part_1/actor/pokey_mummy.c @@ -397,7 +397,7 @@ EvtScript N(handleEvent_80219050) = { EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar1) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar1) @@ -555,12 +555,12 @@ EvtScript N(takeTurn_80219D88) = { 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, 1) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0x00000008 | 0x00000020 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) + 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(GetActorVar, ACTOR_SELF, 2, LVar1) EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) EVT_SET(LVar1, 0) @@ -680,11 +680,11 @@ 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, 0x00000004 | 0x00000020 | 0x00000040 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) + 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_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) 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 910b3259a5..634c679e29 100644 --- a/src/battle/area_isk_part_1/actor/stone_chomp.c +++ b/src/battle/area_isk_part_1/actor/stone_chomp.c @@ -631,7 +631,7 @@ EvtScript N(handleEvent_80222364) = { 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_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -806,7 +806,7 @@ EvtScript N(takeTurn_80222ED0) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_StoneChomp_Anim04) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) 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 8e2f0a1fd5..68aa46245c 100644 --- a/src/battle/area_isk_part_2/actor/chain_chomp.c +++ b/src/battle/area_isk_part_2/actor/chain_chomp.c @@ -630,7 +630,7 @@ EvtScript N(handleEvent_802197C4) = { EVT_SET_CONST(LVar1, ANIM_ChainChomp_Anim01) EVT_EXEC_WAIT(DoImmune) EVT_CALL(SetAnimationRate, ACTOR_SELF, 1, EVT_FLOAT(1.0)) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) diff --git a/src/battle/area_isk_part_2/actor/tutankoopa.c b/src/battle/area_isk_part_2/actor/tutankoopa.c index 13ada1078f..bc1beb9517 100644 --- a/src/battle/area_isk_part_2/actor/tutankoopa.c +++ b/src/battle/area_isk_part_2/actor/tutankoopa.c @@ -338,7 +338,7 @@ EvtScript N(handleEvent_8021BFD0) = { EVT_EXEC_WAIT(DoReturnHome) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.6)) EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) diff --git a/src/battle/area_iwa/actor/buzzar.c b/src/battle/area_iwa/actor/buzzar.c index 355b076314..74ce5ee704 100644 --- a/src/battle/area_iwa/actor/buzzar.c +++ b/src/battle/area_iwa/actor/buzzar.c @@ -229,7 +229,7 @@ EvtScript N(handleEvent_8021B940) = { EVT_SET_CONST(LVar1, ANIM_Buzzar_Anim0B) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -413,7 +413,7 @@ EvtScript N(8021BEBC) = { 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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_END_IF EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) EVT_WAIT(25) @@ -491,14 +491,14 @@ EvtScript N(8021BEBC) = { 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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(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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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_END_IF EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Buzzar_Anim01) EVT_WAIT(25) @@ -974,7 +974,7 @@ EvtScript N(8021DF2C) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) @@ -1090,7 +1090,7 @@ EvtScript N(8021F030) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetAnimation, ACTOR_SELF, 1, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(ANIM_Buzzar_Anim01) diff --git a/src/battle/area_iwa/actor/cleft.c b/src/battle/area_iwa/actor/cleft.c index ad3d5a54ab..5205986519 100644 --- a/src/battle/area_iwa/actor/cleft.c +++ b/src/battle/area_iwa/actor/cleft.c @@ -198,7 +198,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_EXPLOSIVE, 1) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, 1) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_IF_EQ(LVar0, 1) EVT_SET_CONST(LVar0, 1) @@ -211,7 +211,7 @@ EvtScript N(handleEvent_80218C3C) = { EVT_SET_CONST(LVar2, -1) EVT_EXEC_WAIT(DoBurnHit) EVT_END_IF - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLOSIVE, 0) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, 0) EVT_END_SWITCH EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -299,7 +299,7 @@ EvtScript N(handleEvent_80218C3C) = { EVT_END_IF EVT_CALL(PlayEffect, EFFECT_LENS_FLARE, 0, LVar0, LVar1, LVar2, 20, 0, 0, 0, 0, 0, 0, 0, 0) EVT_WAIT(20) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -512,7 +512,7 @@ EvtScript N(80219BA0) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 15) diff --git a/src/battle/area_jan/actor/hurt_plant.c b/src/battle/area_jan/actor/hurt_plant.c index df2e949bdf..7d7182a125 100644 --- a/src/battle/area_jan/actor/hurt_plant.c +++ b/src/battle/area_jan/actor/hurt_plant.c @@ -199,7 +199,7 @@ EvtScript N(handleEvent_8021DCF4) = { EVT_SET_CONST(LVar1, ANIM_HurtPlant_Anim0E) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -330,11 +330,11 @@ 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, STATUS_FLAG_4 | STATUS_FLAG_20 | STATUS_FLAG_40 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_CHANCE(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_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_HurtPlant_Anim07) EVT_WAIT(5) diff --git a/src/battle/area_jan/actor/jungle_fuzzy.c b/src/battle/area_jan/actor/jungle_fuzzy.c index 107eb38222..cd0b7f7a6b 100644 --- a/src/battle/area_jan/actor/jungle_fuzzy.c +++ b/src/battle/area_jan/actor/jungle_fuzzy.c @@ -120,7 +120,7 @@ EvtScript N(handleEvent_8021EB9C) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Fuzzy_Jungle_HurtShock) EVT_ELSE @@ -178,7 +178,7 @@ EvtScript N(handleEvent_8021EB9C) = { EVT_SET_CONST(LVar1, ANIM_Fuzzy_Jungle_HurtShock) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Fuzzy_Jungle_Idle) @@ -186,7 +186,7 @@ EvtScript N(handleEvent_8021EB9C) = { EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Fuzzy_Jungle_HurtShock) EVT_EXEC_WAIT(DoNormalHit) diff --git a/src/battle/area_jan/actor/m_bush.c b/src/battle/area_jan/actor/m_bush.c index ef8d29e0ce..a16a765e5a 100644 --- a/src/battle/area_jan/actor/m_bush.c +++ b/src/battle/area_jan/actor/m_bush.c @@ -170,7 +170,7 @@ EvtScript N(handleEvent_80221A74) = { EVT_SET_CONST(LVar1, ANIM_MBush_Anim07) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -270,10 +270,10 @@ EvtScript N(takeTurn_80221F78) = { 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, STATUS_FLAG_1 | STATUS_FLAG_8 | 0x00000010 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_CHANCE(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_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) diff --git a/src/battle/area_jan/actor/spear_guy.c b/src/battle/area_jan/actor/spear_guy.c index f86b1a3398..fffab5574c 100644 --- a/src/battle/area_jan/actor/spear_guy.c +++ b/src/battle/area_jan/actor/spear_guy.c @@ -402,7 +402,7 @@ EvtScript N(handleEvent_80218E3C) = { EVT_SET_CONST(LVar1, ANIM_SpearGuy_Anim09) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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, 2) @@ -573,7 +573,7 @@ EvtScript N(spearStab) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(20) EVT_EXEC_WAIT(N(80218D7C)) @@ -917,7 +917,7 @@ EvtScript N(spearThrow) = { EVT_EXEC_WAIT(N(becomeShyGuy)) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(EnableIdleScript, ACTOR_SELF, 1) @@ -1194,7 +1194,7 @@ EvtScript N(handleEvent_8021C14C) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -1418,7 +1418,7 @@ EvtScript N(8021CD50) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 15) EVT_THREAD diff --git a/src/battle/area_kgr/actor/fuzzipede.c b/src/battle/area_kgr/actor/fuzzipede.c index e57f158b12..fe1dd5a2f8 100644 --- a/src/battle/area_kgr/actor/fuzzipede.c +++ b/src/battle/area_kgr/actor/fuzzipede.c @@ -366,7 +366,7 @@ EvtScript N(handleEvent_802197FC) = { EVT_SET_CONST(LVar1, ANIM_Fuzzipede_Anim1B) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Fuzzipede_Anim04) @@ -477,7 +477,7 @@ EvtScript N(handleEvent_80219ED4) = { EVT_SET_CONST(LVar1, ANIM_Fuzzipede_Anim1B) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_RECOVER_STATUS) EVT_SET_CONST(LVar0, 1) @@ -648,7 +648,7 @@ EvtScript N(8021A6D8) = { EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzipede_Anim04) EVT_THREAD @@ -822,7 +822,7 @@ EvtScript N(8021B22C) = { EVT_END_THREAD EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_SET(LocalFlag(0), 0) EVT_CALL(GetBattleFlags, LVar0) EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_ATK_BLOCKED) diff --git a/src/battle/area_kkj/actor/kammy_koopa.c b/src/battle/area_kkj/actor/kammy_koopa.c index 759fff2c7f..ea621261da 100644 --- a/src/battle/area_kkj/actor/kammy_koopa.c +++ b/src/battle/area_kkj/actor/kammy_koopa.c @@ -128,7 +128,7 @@ ApiStatus N(unknownFunction)(Evt* script, s32 isInitialCall) { N(unknownCounter) += 9; N(unknownCounter) = clamp_angle(N(unknownCounter)); - actor->unk_19A = sin_rad(DEG_TO_RAD(N(unknownCounter))) * 3.0f; + actor->verticalRenderOffset = sin_rad(DEG_TO_RAD(N(unknownCounter))) * 3.0f; return ApiStatus_DONE2; } @@ -154,7 +154,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(DoNormalHit) EVT_EXEC_WAIT(N(speakOnHit)) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleKammy_Anim05) @@ -353,7 +353,7 @@ EvtScript N(takeTurn) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(19) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_END_CASE_GROUP 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 4c4a7e694e..2e63fe4070 100644 --- a/src/battle/area_kmr_part_2/actor/goomba_king.c +++ b/src/battle/area_kmr_part_2/actor/goomba_king.c @@ -620,7 +620,7 @@ EvtScript N(80221CD4) = { EVT_WAIT(24) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_EQ(10) EVT_RETURN 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 1801e11a22..dbc6141ddf 100644 --- a/src/battle/area_kmr_part_2/actor/goomnut_tree.c +++ b/src/battle/area_kmr_part_2/actor/goomnut_tree.c @@ -12,7 +12,7 @@ s32 N(idleAnimations_802232D0)[] = { s32 N(defenseTable_802232DC)[] = { ELEMENT_NORMAL, 0, - ELEMENT_HAMMER, 0, + ELEMENT_SMASH, 0, ELEMENT_END, }; 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 080d4a302e..063f676933 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 @@ -1258,7 +1258,7 @@ EvtScript N(80230794) = { EVT_CALL(GetGoalPos, ACTOR_SELF, LVar3, 0, LVar5) EVT_CALL(PlayEffect, 0x5E, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, EVT_FLOAT(1.0), 18, 0, 0, 0, 0) EVT_WAIT(14) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, (DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT), 0, 65536, 9, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, (DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT), 0, SUPPRESS_EVENT_FLAG_10000, 9, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MakeLerp, 200, 0, 60, 0) EVT_LABEL(2) diff --git a/src/battle/area_kpa/actor/bony_beetle.c b/src/battle/area_kpa/actor/bony_beetle.c index 75f3a795a8..03c071253b 100644 --- a/src/battle/area_kpa/actor/bony_beetle.c +++ b/src/battle/area_kpa/actor/bony_beetle.c @@ -355,7 +355,7 @@ EvtScript N(handleEvent_normal) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BonyBeetle_Anim0E) EVT_EXEC_WAIT(DoReturnHome) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -479,10 +479,10 @@ EvtScript N(attackShellToss) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) @@ -579,7 +579,7 @@ EvtScript N(handleEvent_spiky) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BonyBeetle_Anim0F) EVT_EXEC_WAIT(DoReturnHome) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BonyBeetle_Anim11) @@ -794,10 +794,10 @@ EvtScript N(attackSpikeBounce) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0) @@ -944,7 +944,7 @@ EvtScript N(handleEvent_flipped) = { EVT_END_LOOP EVT_WAIT(20) EVT_CASE_OR_EQ(EVENT_SCARE_AWAY) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -1076,7 +1076,7 @@ EvtScript N(handleEvent_spiky_flipped) = { EVT_END_LOOP EVT_WAIT(20) EVT_CASE_OR_EQ(EVENT_SCARE_AWAY) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) diff --git a/src/battle/area_kpa/actor/dry_bones.c b/src/battle/area_kpa/actor/dry_bones.c index 9cf7536028..3a2417e87e 100644 --- a/src/battle/area_kpa/actor/dry_bones.c +++ b/src/battle/area_kpa/actor/dry_bones.c @@ -298,12 +298,12 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_DryBones_Anim07) EVT_EXEC_WAIT(DoNormalHit) EVT_CASE_EQ(EVENT_BURN_HIT) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLOSIVE, 1) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, 1) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_DryBones_Anim0B) EVT_SET_CONST(LVar2, ANIM_DryBones_Anim0C) EVT_EXEC_WAIT(DoBurnHit) - EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLOSIVE, 0) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, 0) EVT_CASE_EQ(EVENT_BURN_DEATH) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_DryBones_Anim0B) @@ -322,7 +322,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_DryBones_Anim07) EVT_EXEC_WAIT(DoSpinSmashHit) EVT_EXEC_WAIT(N(reassemble)) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_IF_EQ(LVar0, 0) @@ -529,7 +529,7 @@ EvtScript N(takeTurn) = { 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_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 100) EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.7)) diff --git a/src/battle/area_kpa2/actor/bowser.c b/src/battle/area_kpa2/actor/bowser.c index 467924ed51..f5fff90858 100644 --- a/src/battle/area_kpa2/actor/bowser.c +++ b/src/battle/area_kpa2/actor/bowser.c @@ -80,7 +80,7 @@ ActorPartBlueprint N(parts)[] = { .idleAnimations = N(idleAnimations), .defenseTable = N(defenseTable), .eventFlags = 0, - .elementImmunityFlags = 2, + .elementImmunityFlags = ELEMENT_FIRE, .unk_1C = 0, .unk_1D = -8, }, @@ -161,7 +161,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleBowser_Hurt) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET(LVar1, ANIM_BattleBowser_Hurt) EVT_EXEC_WAIT(N(onHit)) @@ -304,7 +304,7 @@ EvtScript N(attackClawSwipe) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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) @@ -389,7 +389,7 @@ EvtScript N(attackHeavyJump) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) @@ -464,10 +464,10 @@ EvtScript N(attackFlameBreath) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_3), LVar0) EVT_MUL(LVar0, 8) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_FIRE, 65535, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_FIRE, SUPPRESS_EVENT_ALL, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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_WAIT(15) @@ -558,7 +558,7 @@ EvtScript N(attackShockwaveDrain) = { EVT_CALL(RemovePlayerBuffs, 268435455) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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_WAIT(15) diff --git a/src/battle/area_kpa2/actor/bowser_intro.c b/src/battle/area_kpa2/actor/bowser_intro.c index 3a137abcd1..9b36129fb1 100644 --- a/src/battle/area_kpa2/actor/bowser_intro.c +++ b/src/battle/area_kpa2/actor/bowser_intro.c @@ -252,7 +252,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleBowser_Hurt) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_SET(LVar1, ANIM_BattleBowser_Idle) @@ -373,7 +373,7 @@ EvtScript N(attackClawSwipe) = { EVT_END_THREAD EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(30) EVT_IF_EQ(LVarF, HIT_RESULT_10) @@ -428,10 +428,10 @@ EvtScript N(attackFireBreath) = { EVT_WAIT(30) EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_FIRE, 65535, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_FIRE, SUPPRESS_EVENT_ALL, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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) diff --git a/src/battle/area_kpa2/actor/bowser_phase_1.c b/src/battle/area_kpa2/actor/bowser_phase_1.c index 5374cc2e01..046c5f6a19 100644 --- a/src/battle/area_kpa2/actor/bowser_phase_1.c +++ b/src/battle/area_kpa2/actor/bowser_phase_1.c @@ -324,7 +324,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleBowser_Hurt) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(func_80269E80, LVar2) EVT_SWITCH(LVar2) @@ -1270,17 +1270,17 @@ EvtScript N(attackClawSwipe) = { EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_ENCHANTED) EVT_SET(LVar0, 12) EVT_CALL(func_80269EAC, 12) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, STATUS_FLAG_4 | STATUS_FLAG_20 | STATUS_FLAG_40 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_ELSE EVT_SET(LVar0, 6) EVT_CALL(func_80269EAC, 12) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, STATUS_FLAG_4 | STATUS_FLAG_20 | STATUS_FLAG_40 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 20) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(30) EVT_IF_EQ(LVarF, HIT_RESULT_10) @@ -1394,7 +1394,7 @@ 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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(RemovePlayerBuffs, 65536) EVT_IF_NE(LVarA, HIT_RESULT_LUCKY) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) @@ -1415,7 +1415,7 @@ 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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_END_THREAD EVT_WAIT(2) @@ -1425,11 +1425,11 @@ 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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(RemovePlayerBuffs, 268435455) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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_WAIT(15) @@ -1537,10 +1537,10 @@ EvtScript N(attackFlameBreath) = { EVT_ELSE EVT_SET(LVar0, 8) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_FIRE, 65535, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_FIRE, SUPPRESS_EVENT_ALL, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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) @@ -1622,7 +1622,7 @@ EvtScript N(onBurnHit) = { EVT_SWITCH(LVar1) EVT_CASE_EQ(EVENT_BURN_HIT) EVT_CALL(GetPartEventFlags, ACTOR_SELF, LVar0, LVar1) - EVT_IF_NOT_FLAG(LVar1, ACTOR_EVENT_FLAG_FIREY | ACTOR_EVENT_FLAG_EXPLOSIVE) + EVT_IF_NOT_FLAG(LVar1, ACTOR_EVENT_FLAG_FIREY | ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) diff --git a/src/battle/area_kpa2/actor/bowser_phase_2.c b/src/battle/area_kpa2/actor/bowser_phase_2.c index 8c2fc8a7cb..4770d64c5b 100644 --- a/src/battle/area_kpa2/actor/bowser_phase_2.c +++ b/src/battle/area_kpa2/actor/bowser_phase_2.c @@ -264,7 +264,7 @@ EvtScript N(handleEvent) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(8.0)) EVT_SET(LVar1, ANIM_BattleBowser_Walk) EVT_EXEC_WAIT(N(returnHome)) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(func_80269E80, LVar2) EVT_SWITCH(LVar2) @@ -1123,15 +1123,15 @@ EvtScript N(attackClawSwipe) = { EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_80000) EVT_SET(LVar0, 16) EVT_CALL(func_80269EAC, 12) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, STATUS_FLAG_4 | STATUS_FLAG_20 | STATUS_FLAG_40 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_ELSE EVT_SET(LVar0, 8) EVT_CALL(func_80269EAC, 12) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, STATUS_FLAG_4 | STATUS_FLAG_20 | STATUS_FLAG_40 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(30) EVT_IF_EQ(LVarF, HIT_RESULT_10) @@ -1245,7 +1245,7 @@ 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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(RemovePlayerBuffs, 65536) EVT_IF_NE(LVarA, HIT_RESULT_LUCKY) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) @@ -1266,7 +1266,7 @@ 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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_END_THREAD EVT_WAIT(2) @@ -1276,11 +1276,11 @@ 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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(RemovePlayerBuffs, 268435455) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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_WAIT(15) @@ -1395,10 +1395,10 @@ EvtScript N(attackFlameBreath) = { EVT_ELSE EVT_SET(LVar0, 10) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_FIRE, 65535, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_FIRE, SUPPRESS_EVENT_ALL, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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) @@ -1475,7 +1475,7 @@ EvtScript N(onBurnHit) = { EVT_SWITCH(LVar1) EVT_CASE_EQ(EVENT_BURN_HIT) EVT_CALL(GetPartEventFlags, ACTOR_SELF, LVar0, LVar1) - EVT_IF_NOT_FLAG(LVar1, ACTOR_EVENT_FLAG_FIREY | ACTOR_EVENT_FLAG_EXPLOSIVE) + EVT_IF_NOT_FLAG(LVar1, ACTOR_EVENT_FLAG_FIREY | ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) @@ -1582,14 +1582,14 @@ EvtScript N(attackLightningBlast) = { EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_80000) EVT_SET(LVar0, 20) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_ELSE EVT_SET(LVar0, 10) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(30) EVT_CALL(N(UnfadeBackgroundToBlack)) diff --git a/src/battle/area_kpa2/actor/bowser_phase_3.c b/src/battle/area_kpa2/actor/bowser_phase_3.c index df281274c6..d9f179e838 100644 --- a/src/battle/area_kpa2/actor/bowser_phase_3.c +++ b/src/battle/area_kpa2/actor/bowser_phase_3.c @@ -403,7 +403,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleBowser_Hurt) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(func_80269E80, LVar2) EVT_SWITCH(LVar2) @@ -1356,15 +1356,15 @@ EvtScript N(attackClawSwipe) = { EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_80000) EVT_SET(LVar0, 16) EVT_CALL(func_80269EAC, 12) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, STATUS_FLAG_4 | STATUS_FLAG_20 | STATUS_FLAG_40 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_ELSE EVT_SET(LVar0, 8) EVT_CALL(func_80269EAC, 12) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, STATUS_FLAG_4 | STATUS_FLAG_20 | STATUS_FLAG_40 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, DMG_STATUS_CHANCE(STATUS_FLAG_POISON, 3, 100), LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(30) EVT_IF_EQ(LVarF, HIT_RESULT_10) @@ -1478,7 +1478,7 @@ 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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(RemovePlayerBuffs, 65536) EVT_IF_NE(LVarA, 5) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBowser_Idle) @@ -1499,7 +1499,7 @@ 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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_END_THREAD EVT_WAIT(2) @@ -1509,7 +1509,7 @@ 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, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + 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(RemovePlayerBuffs, 268435455) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(0) @@ -1628,10 +1628,10 @@ EvtScript N(attackFlameBreath) = { EVT_ELSE EVT_SET(LVar0, 10) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_FIRE, 65535, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_FIRE, SUPPRESS_EVENT_ALL, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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) @@ -1708,7 +1708,7 @@ EvtScript N(onBurnHit) = { EVT_SWITCH(LVar1) EVT_CASE_EQ(EVENT_BURN_HIT) EVT_CALL(GetPartEventFlags, ACTOR_SELF, LVar0, LVar1) - EVT_IF_NOT_FLAG(LVar1, ACTOR_EVENT_FLAG_FIREY | ACTOR_EVENT_FLAG_EXPLOSIVE) + EVT_IF_NOT_FLAG(LVar1, ACTOR_EVENT_FLAG_FIREY | ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) @@ -1815,14 +1815,14 @@ EvtScript N(attackLightningBlast) = { EVT_CALL(GetPartEventFlags, ACTOR_SELF, 1, LVar0) EVT_IF_FLAG(LVar0, ACTOR_EVENT_FLAG_80000) EVT_SET(LVar0, 20) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_ELSE EVT_SET(LVar0, 10) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_WAIT(30) EVT_CALL(N(UnfadeBackgroundToBlack)) diff --git a/src/battle/area_kpa3/actor/anti_guy.c b/src/battle/area_kpa3/actor/anti_guy.c index 0378bc900e..e79a1ccf8b 100644 --- a/src/battle/area_kpa3/actor/anti_guy.c +++ b/src/battle/area_kpa3/actor/anti_guy.c @@ -184,7 +184,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Black_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -408,7 +408,7 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 12, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 15) EVT_THREAD diff --git a/src/battle/area_kpa4/actor/bombshell_bill.c b/src/battle/area_kpa4/actor/bombshell_bill.c index ad8cb7a73f..826d1e57a7 100644 --- a/src/battle/area_kpa4/actor/bombshell_bill.c +++ b/src/battle/area_kpa4/actor/bombshell_bill.c @@ -185,7 +185,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(DoShockHit) EVT_EXEC_WAIT(N(explode)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) diff --git a/src/battle/area_kpa4/actor/bombshell_bill_blaster.c b/src/battle/area_kpa4/actor/bombshell_bill_blaster.c index 417615862d..ab3c5e6456 100644 --- a/src/battle/area_kpa4/actor/bombshell_bill_blaster.c +++ b/src/battle/area_kpa4/actor/bombshell_bill_blaster.c @@ -133,7 +133,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BillBlaster_Gold_Anim03) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) diff --git a/src/battle/area_kzn/actor/lava_bubble.c b/src/battle/area_kzn/actor/lava_bubble.c index 70862826fa..4289ff6a51 100644 --- a/src/battle/area_kzn/actor/lava_bubble.c +++ b/src/battle/area_kzn/actor/lava_bubble.c @@ -56,7 +56,7 @@ ActorPartBlueprint N(partsTable_80218EE8)[] = { .idleAnimations = N(idleAnimations_80218FC4), .defenseTable = N(defenseTable_80218E10), .eventFlags = ACTOR_EVENT_FLAG_FIREY, - .elementImmunityFlags = ELEMENT_IMMUNITY_FLAG_2, + .elementImmunityFlags = ELEMENT_FIRE, .unk_1C = 0xFD, .unk_1D = 0xF6, }, @@ -295,7 +295,7 @@ EvtScript N(handleEvent_80219500) = { EVT_SET_CONST(LVar1, ANIM_LavaBubble_Anim07) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CASE_OR_EQ(EVENT_BURN_TAUNT) @@ -413,7 +413,7 @@ EvtScript N(fireTackle) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_FIRE, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_SET(LVar0, 1) EVT_SET(LVar1, 4587524) @@ -536,7 +536,7 @@ EvtScript N(fireballs_Partner) = { EVT_WAIT(20) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_EXEC_WAIT(N(80219464)) EVT_END_CASE_GROUP @@ -625,7 +625,7 @@ EvtScript N(fireballs_Player) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_FIRE, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetGoalPos, ACTOR_SELF, LVarA, LVarB, LVarC) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, -10, 0) diff --git a/src/battle/area_kzn2/actor/lava_bud.c b/src/battle/area_kzn2/actor/lava_bud.c index 50fb6c624a..c8fa7266d8 100644 --- a/src/battle/area_kzn2/actor/lava_bud.c +++ b/src/battle/area_kzn2/actor/lava_bud.c @@ -285,7 +285,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(DoShockHit) EVT_CASE_EQ(EVENT_SHOCK_DEATH) EVT_EXEC_WAIT(DoShockHit) - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_IF_NOT_FLAG(LVarE, DAMAGE_TYPE_FIRE) EVT_EXEC_WAIT(N(onHitCombo)) EVT_END_IF @@ -1052,10 +1052,10 @@ EvtScript N(attackPetitSpit) = { EVT_CALL(SetGoalToTarget, LVar5) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar9, DAMAGE_TYPE_FIRE, 65535, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar9, DAMAGE_TYPE_FIRE, SUPPRESS_EVENT_ALL, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar9) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_CALL(SetPartFlagBits, LVar5, 1, ACTOR_PART_FLAG_INVISIBLE, 1) EVT_CALL(SetGoalToTarget, LVar5) diff --git a/src/battle/area_kzn2/actor/lava_piranha.c b/src/battle/area_kzn2/actor/lava_piranha.c index 4185c34a98..b24f609f00 100644 --- a/src/battle/area_kzn2/actor/lava_piranha.c +++ b/src/battle/area_kzn2/actor/lava_piranha.c @@ -126,7 +126,7 @@ API_CALLABLE(SetAnimatorFlags); API_CALLABLE(GetAnimatedPositionByTreeIndex); API_CALLABLE(GetAnimatedRotationByTreeIndex); API_CALLABLE(GetAnimatedModelRootPosition); -ApiStatus func_8026D5A4(Evt* script, s32 isInitialCall); +ApiStatus SetPartImmunityBits(Evt* script, s32 isInitialCall); ApiStatus DeleteAnimatedModel(Evt* script, s32 isInitialCall); extern Formation N(formation_lava_bud_1); @@ -985,7 +985,7 @@ EvtScript N(handleEvent) = { EVT_CASE_EQ(EVENT_SHOCK_DEATH) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_IF_NOT_FLAG(LVarE, DAMAGE_TYPE_FIRE) EVT_EXEC_WAIT(N(onComboHit)) EVT_EXEC_WAIT(N(playHitAnimation)) @@ -1188,11 +1188,11 @@ EvtScript N(attackFlameSpew) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_FIRE, 65535, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_FIRE, SUPPRESS_EVENT_ALL, 0, 5, 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_QUAKE_IMMUNE) + 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_WAIT(19) @@ -1272,7 +1272,7 @@ EvtScript N(attackFireStream) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_FIRE, 65535, 0, 7, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_FIRE, SUPPRESS_EVENT_ALL, 0, 7, BS_FLAGS1_SP_EVT_ACTIVE) EVT_WAIT(20) EVT_CALL(OverrideBattleDmaDest, VINE_0_BASE) EVT_CALL(LoadBattleDmaData, 3) @@ -1549,12 +1549,12 @@ EvtScript N(onDeath) = { 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(func_8026D5A4, ACTOR_SELF, 1, 2, 1) - EVT_CALL(func_8026D5A4, ACTOR_SELF, 2, 2, 1) - EVT_CALL(func_8026D5A4, ACTOR_ENEMY1, 1, 2, 1) - EVT_CALL(func_8026D5A4, ACTOR_ENEMY1, 2, 2, 1) - EVT_CALL(func_8026D5A4, ACTOR_ENEMY2, 1, 2, 1) - EVT_CALL(func_8026D5A4, ACTOR_ENEMY2, 2, 2, 1) + 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, 0) EVT_CALL(SetPartFlagBits, ACTOR_ENEMY2, 2, ACTOR_PART_FLAG_2000, 0) EVT_SET(LVar0, ACTOR_ENEMY0) diff --git a/src/battle/area_kzn2/actor/petit_piranha.c b/src/battle/area_kzn2/actor/petit_piranha.c index 6287ef9626..4d9f3c25c9 100644 --- a/src/battle/area_kzn2/actor/petit_piranha.c +++ b/src/battle/area_kzn2/actor/petit_piranha.c @@ -170,7 +170,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_PetitPiranha_Anim03) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -357,10 +357,10 @@ EvtScript N(takeTurn) = { EVT_WAIT(2) EVT_SET(LVar8, 6) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar9, DAMAGE_TYPE_FIRE, 65535, 0, LVar8, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar9, DAMAGE_TYPE_FIRE, SUPPRESS_EVENT_ALL, 0, LVar8, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar9) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_CALL(MakeLerp, 160, 10, 20, 1) EVT_LOOP(0) diff --git a/src/battle/area_kzn2/actor/petit_piranha_bomb.c b/src/battle/area_kzn2/actor/petit_piranha_bomb.c index 410d8ffca8..a88b1c82a5 100644 --- a/src/battle/area_kzn2/actor/petit_piranha_bomb.c +++ b/src/battle/area_kzn2/actor/petit_piranha_bomb.c @@ -68,7 +68,7 @@ ActorPartBlueprint N(parts)[] = { .idleAnimations = N(idleAnimations), .defenseTable = N(defenseTable), .eventFlags = ACTOR_EVENT_FLAG_FIREY, - .elementImmunityFlags = DAMAGE_TYPE_FIRE, // not sure about enum type + .elementImmunityFlags = ELEMENT_FIRE, .unk_1C = -2, .unk_1D = -22, }, diff --git a/src/battle/area_mac/actor/chan.c b/src/battle/area_mac/actor/chan.c index b6c4777a46..5e1121a5c7 100644 --- a/src/battle/area_mac/actor/chan.c +++ b/src/battle/area_mac/actor/chan.c @@ -655,7 +655,7 @@ EvtScript N(takeTurn_8021B81C) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) @@ -790,7 +790,7 @@ EvtScript N(takeTurn_Chan) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) diff --git a/src/battle/area_mac/actor/lee.c b/src/battle/area_mac/actor/lee.c index 1a20b2e708..65daf5cb0f 100644 --- a/src/battle/area_mac/actor/lee.c +++ b/src/battle/area_mac/actor/lee.c @@ -1530,13 +1530,13 @@ EvtScript N(takeTurn_80221200) = { EVT_SWITCH(LVar9) EVT_CASE_EQ(0) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_EQ(1) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_EQ(2) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(0) @@ -2890,7 +2890,7 @@ ApiStatus func_80219188_465618(Evt* script, s32 isInitialCall) { 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->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->flags = TRUE; wattEffectData->debuff = actor->debuff; } @@ -2901,10 +2901,10 @@ ApiStatus func_80219188_465618(Evt* script, s32 isInitialCall) { wattEffectData->angle += 15; wattEffectData->angle = clamp_angle(wattEffectData->angle); } - actor->unk_19A = sin_rad(DEG_TO_RAD(wattEffectData->angle)) * 3.0f; + 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->unk_19A + (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_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) { @@ -3191,13 +3191,13 @@ EvtScript N(takeTurn_80226004) = { EVT_SWITCH(LVar9) EVT_CASE_EQ(0) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, (DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_IGNORE_DEFENSE), 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, (DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE), SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_EQ(1) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, (DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_IGNORE_DEFENSE), 65535, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, (DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE), SUPPRESS_EVENT_ALL, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_EQ(2) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, (DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_IGNORE_DEFENSE), 65535, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, (DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE), SUPPRESS_EVENT_ALL, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(0) diff --git a/src/battle/area_mim/actor/forest_fuzzy.c b/src/battle/area_mim/actor/forest_fuzzy.c index f76aa32b52..ad477672b6 100644 --- a/src/battle/area_mim/actor/forest_fuzzy.c +++ b/src/battle/area_mim/actor/forest_fuzzy.c @@ -118,7 +118,7 @@ EvtScript N(handleEvent_80218584) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Fuzzy_Forest_HurtShock) EVT_ELSE @@ -176,7 +176,7 @@ EvtScript N(handleEvent_80218584) = { EVT_SET_CONST(LVar1, ANIM_Fuzzy_Forest_HurtShock) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Fuzzy_Forest_Idle) @@ -184,7 +184,7 @@ EvtScript N(handleEvent_80218584) = { EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Fuzzy_Forest_HurtShock) EVT_EXEC_WAIT(DoNormalHit) diff --git a/src/battle/area_mim/actor/piranha_plant.c b/src/battle/area_mim/actor/piranha_plant.c index 2a9472bbc5..d09778e204 100644 --- a/src/battle/area_mim/actor/piranha_plant.c +++ b/src/battle/area_mim/actor/piranha_plant.c @@ -184,7 +184,7 @@ EvtScript N(handleEvent_8021D60C) = { EVT_SET_CONST(LVar1, ANIM_SmallPiranha_Anim09) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -354,7 +354,7 @@ EvtScript N(takeTurn_8021DCD4) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(2) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_SmallPiranha_Anim08) diff --git a/src/battle/area_nok/actor/kent_c_koopa.c b/src/battle/area_nok/actor/kent_c_koopa.c index aa03a92e81..ffa38860ac 100644 --- a/src/battle/area_nok/actor/kent_c_koopa.c +++ b/src/battle/area_nok/actor/kent_c_koopa.c @@ -682,7 +682,7 @@ EvtScript N(shellToss_KentC) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) - EVT_IF_NOT_FLAG(LVar3, 0x80000) + EVT_IF_NOT_FLAG(LVar3, STATUS_FLAG_SHRINK) EVT_ADD(LVar0, 32) EVT_ELSE EVT_ADD(LVar0, 12) @@ -693,16 +693,16 @@ EvtScript N(shellToss_KentC) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVarE) - EVT_IF_NOT_FLAG(LVarE, 0x80000) + EVT_IF_NOT_FLAG(LVarE, STATUS_FLAG_SHRINK) EVT_CALL(func_80269EAC, 24) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SET(LVarA, 0) - EVT_IF_NOT_FLAG(LVarE, 0x80000) + EVT_IF_NOT_FLAG(LVarE, STATUS_FLAG_SHRINK) EVT_CALL(GetBattleFlags, LVar0) EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_ATK_BLOCKED) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) - EVT_IF_NOT_FLAG(LVar0, 0x100000) + EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_STONE) EVT_SET(LVarA, 1) EVT_END_IF EVT_END_IF @@ -718,7 +718,7 @@ EvtScript N(shellToss_KentC) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(func_80269EAC, 25) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(GetBattleFlags, LVar0) EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_ATK_BLOCKED) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -916,7 +916,7 @@ EvtScript N(tackle_KentC) = { EVT_IF_NOT_FLAG(LVarF, 0x80000) EVT_CALL(func_80269EAC, 24) EVT_END_IF - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 65535, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, SUPPRESS_EVENT_ALL, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) diff --git a/src/battle/area_omo/actor/anti_guy.c b/src/battle/area_omo/actor/anti_guy.c index b570f17fb0..f305f41c01 100644 --- a/src/battle/area_omo/actor/anti_guy.c +++ b/src/battle/area_omo/actor/anti_guy.c @@ -184,7 +184,7 @@ EvtScript N(handleEvent_80221C20) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Black_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -408,7 +408,7 @@ EvtScript N(80222824) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 12, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 15) EVT_THREAD diff --git a/src/battle/area_omo/actor/blue_shy_guy.c b/src/battle/area_omo/actor/blue_shy_guy.c index dd4f4ddcf9..a9420ffba1 100644 --- a/src/battle/area_omo/actor/blue_shy_guy.c +++ b/src/battle/area_omo/actor/blue_shy_guy.c @@ -185,7 +185,7 @@ EvtScript N(handleEvent_8021B028) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Blue_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -409,7 +409,7 @@ EvtScript N(8021BC2C) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 15) EVT_THREAD diff --git a/src/battle/area_omo/actor/green_shy_guy.c b/src/battle/area_omo/actor/green_shy_guy.c index 55b8746134..c53ffa00a5 100644 --- a/src/battle/area_omo/actor/green_shy_guy.c +++ b/src/battle/area_omo/actor/green_shy_guy.c @@ -185,7 +185,7 @@ EvtScript N(handleEvent_80220128) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Green_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -409,7 +409,7 @@ EvtScript N(80220D2C) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 15) EVT_THREAD diff --git a/src/battle/area_omo/actor/groove_guy.c b/src/battle/area_omo/actor/groove_guy.c index 3eb2837875..08afcecb50 100644 --- a/src/battle/area_omo/actor/groove_guy.c +++ b/src/battle/area_omo/actor/groove_guy.c @@ -198,7 +198,7 @@ EvtScript N(handleEvent_80224D10) = { EVT_SET_CONST(LVar1, ANIM_GrooveGuy_Anim08) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_GrooveGuy_Anim01) @@ -315,7 +315,7 @@ EvtScript N(basicAttack) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -382,10 +382,10 @@ 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, 0x00000002 | 0x00000010 | STATUS_FLAG_20 | STATUS_FLAG_200 | STATUS_FLAG_DIZZY | STATUS_FLAG_80000000, 0, BS_FLAGS1_SP_EVT_ACTIVE) + 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_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(WasStatusInflicted, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, TRUE) EVT_THREAD diff --git a/src/battle/area_omo/actor/pink_shy_guy.c b/src/battle/area_omo/actor/pink_shy_guy.c index 9236c8716b..6e3425760e 100644 --- a/src/battle/area_omo/actor/pink_shy_guy.c +++ b/src/battle/area_omo/actor/pink_shy_guy.c @@ -185,7 +185,7 @@ EvtScript N(handleEvent_8021E628) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Pink_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -409,7 +409,7 @@ EvtScript N(8021F22C) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 15) EVT_THREAD diff --git a/src/battle/area_omo/actor/pyro_guy.c b/src/battle/area_omo/actor/pyro_guy.c index 11cd5949c9..14f75bdc5b 100644 --- a/src/battle/area_omo/actor/pyro_guy.c +++ b/src/battle/area_omo/actor/pyro_guy.c @@ -30,7 +30,7 @@ s32 N(defenseTable_8022CB4C)[] = { ELEMENT_ICE, -2, ELEMENT_FIRE, 99, ELEMENT_SHOCK, 0, - ELEMENT_HAMMER, 0, + ELEMENT_SMASH, 0, ELEMENT_BLAST, -1, ELEMENT_END, }; @@ -191,7 +191,7 @@ EvtScript N(handleEvent_8022CE60) = { EVT_SET_CONST(LVar1, ANIM_PyroGuy_Anim06) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -306,7 +306,7 @@ EvtScript N(takeTurn_8022D344) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_FIRE, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) diff --git a/src/battle/area_omo/actor/sky_guy.c b/src/battle/area_omo/actor/sky_guy.c index 4c9a5a653a..de90481259 100644 --- a/src/battle/area_omo/actor/sky_guy.c +++ b/src/battle/area_omo/actor/sky_guy.c @@ -430,7 +430,7 @@ EvtScript N(handleEvent_8022A398) = { EVT_SET_CONST(LVar1, ANIM_SkyGuy_Anim0A) EVT_EXEC_WAIT(N(80229A34)) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CALL(func_8026E914, LVar0, LVar1) EVT_IF_GE(LVar1, 3) EVT_EXEC_WAIT(N(80229CB0)) @@ -575,7 +575,7 @@ EvtScript N(takeTurn_8022A9D0) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) EVT_SET(LVar1, 0) @@ -699,7 +699,7 @@ EvtScript N(handleEvent_8022B310) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -923,7 +923,7 @@ EvtScript N(8022BF14) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 15) EVT_THREAD diff --git a/src/battle/area_omo/actor/spy_guy.c b/src/battle/area_omo/actor/spy_guy.c index f95412c9a1..bcf5115730 100644 --- a/src/battle/area_omo/actor/spy_guy.c +++ b/src/battle/area_omo/actor/spy_guy.c @@ -250,7 +250,7 @@ EvtScript N(handleEvent_80227ABC) = { EVT_SET_CONST(LVar1, ANIM_SpyGuy_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_SET_CONST(LVar0, 1) EVT_CALL(GetActorVar, ACTOR_SELF, 2, LVar1) EVT_IF_EQ(LVar1, 0) @@ -395,7 +395,7 @@ EvtScript N(slingshotAttack) = { 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_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 100) EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(0.7)) @@ -513,7 +513,7 @@ EvtScript N(hammerAttack) = { 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_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_SET(LocalFlag(0), 0) EVT_CALL(GetBattleFlags, LVar0) EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_ATK_BLOCKED) diff --git a/src/battle/area_omo/actor/yellow_shy_guy.c b/src/battle/area_omo/actor/yellow_shy_guy.c index f53b84209b..abb41e2bb2 100644 --- a/src/battle/area_omo/actor/yellow_shy_guy.c +++ b/src/battle/area_omo/actor/yellow_shy_guy.c @@ -185,7 +185,7 @@ EvtScript N(handleEvent_8021CB28) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Yellow_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -409,7 +409,7 @@ EvtScript N(8021D72C) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 15) EVT_THREAD diff --git a/src/battle/area_omo2/actor/general_guy.c b/src/battle/area_omo2/actor/general_guy.c index 15f01c6568..75e9f3c6dd 100644 --- a/src/battle/area_omo2/actor/general_guy.c +++ b/src/battle/area_omo2/actor/general_guy.c @@ -226,7 +226,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_GeneralGuy_Anim0E) EVT_EXEC_WAIT(DoReturnHome) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -388,7 +388,7 @@ EvtScript N(attack_throw_bomb) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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_WAIT(30) @@ -451,7 +451,7 @@ EvtScript N(attack_lightning_shot) = { EVT_END_THREAD EVT_CALL(PlayEffect, EFFECT_SNAKING_STATIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 40, 0, 0, 0, 0, 0, 0, 0) EVT_WAIT(40) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_EQ(HIT_RESULT_MISS) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) @@ -462,7 +462,7 @@ EvtScript N(attack_lightning_shot) = { EVT_CALL(PlayEffect, EFFECT_LIGHTNING_BOLT, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, EVT_FLOAT(1.0), 18, 0, 0, 0, 0) EVT_WAIT(12) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_IF_NE(LVar0, HIT_RESULT_MISS) EVT_CALL(GetModelCenter, 39) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -472,7 +472,7 @@ EvtScript N(attack_lightning_shot) = { EVT_CALL(SetActorVar, ACTOR_ENEMY1, 6, 0) EVT_WAIT(12) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_ELSE EVT_CALL(SetActorVar, ACTOR_ENEMY1, 6, 0) EVT_WAIT(20) @@ -527,10 +527,10 @@ EvtScript N(attack_lightning_shot) = { EVT_CALL(PlayEffect, EFFECT_LIGHTNING_BOLT, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, EVT_FLOAT(1.0), 18, 0, 0, 0, 0) EVT_WAIT(12) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT, 0, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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_IF_EQ(LVarF, HIT_RESULT_10) @@ -553,7 +553,7 @@ EvtScript N(attack_lightning_shot) = { EVT_CALL(SetActorVar, ACTOR_ENEMY1, 6, 0) EVT_WAIT(12) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + 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) diff --git a/src/battle/area_omo2/actor/light_bulb.c b/src/battle/area_omo2/actor/light_bulb.c index 462858bde9..448fa6ad47 100644 --- a/src/battle/area_omo2/actor/light_bulb.c +++ b/src/battle/area_omo2/actor/light_bulb.c @@ -128,7 +128,7 @@ EvtScript N(handleEvent) = { EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_SPIN_SMASH_HIT) EVT_EXEC_WAIT(N(onHit)) - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CALL(GetActorVar, ACTOR_ENEMY1, 9, LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(func_8026E914, LVar0, LVar1) diff --git a/src/battle/area_omo2/actor/toy_tank.c b/src/battle/area_omo2/actor/toy_tank.c index e1cb476fd0..b81684c7b9 100644 --- a/src/battle/area_omo2/actor/toy_tank.c +++ b/src/battle/area_omo2/actor/toy_tank.c @@ -255,7 +255,7 @@ EvtScript N(handleEvent) = { EVT_CALL(SetPartFlagBits, ACTOR_ENEMY0, 1, ACTOR_PART_FLAG_INVISIBLE, 1) EVT_CALL(PlayModelAnimation, 0, EVT_PTR(toy_tank_as_close_hatch)) EVT_CALL(PlaySoundAtPart, ACTOR_ENEMY0, 1, SOUND_206B) - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + 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) diff --git a/src/battle/area_omo2_1/actor/shy_squad.c b/src/battle/area_omo2_1/actor/shy_squad.c index 327c8ec8e7..31a755897c 100644 --- a/src/battle/area_omo2_1/actor/shy_squad.c +++ b/src/battle/area_omo2_1/actor/shy_squad.c @@ -896,7 +896,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_ShySquadGuy_Anim0D) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_SPIKE_TAUNT) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) diff --git a/src/battle/area_omo2_2/actor/stilt_guy.c b/src/battle/area_omo2_2/actor/stilt_guy.c index 858f8bb9cf..2c65bc89ce 100644 --- a/src/battle/area_omo2_2/actor/stilt_guy.c +++ b/src/battle/area_omo2_2/actor/stilt_guy.c @@ -479,7 +479,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_StiltGuy_Anim06) EVT_EXEC_WAIT(DoNormalHit) - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_StiltGuy_Anim06) EVT_EXEC_WAIT(DoNormalHit) @@ -724,7 +724,7 @@ EvtScript N(attack) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -869,7 +869,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, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + 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_GOTO(1) EVT_LABEL(10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D) @@ -1016,7 +1016,7 @@ EvtScript N(shy_guy_handleEvent) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -1240,7 +1240,7 @@ EvtScript N(shy_guy_attack2) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 15) EVT_THREAD diff --git a/src/battle/area_omo2_3/actor/shy_stack.c b/src/battle/area_omo2_3/actor/shy_stack.c index 67c45d7ad4..5888bae34f 100644 --- a/src/battle/area_omo2_3/actor/shy_stack.c +++ b/src/battle/area_omo2_3/actor/shy_stack.c @@ -813,7 +813,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(N(onSpinSmashLaunchDeath)) EVT_RETURN EVT_CASE_EQ(EVENT_SHOCK_HIT) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_SPIKE_TAUNT) EVT_CALL(GetBattleFlags, LVar2) @@ -1335,7 +1335,7 @@ EvtScript N(takeTurn) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CASE_OR_EQ(HIT_RESULT_10) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(15) @@ -1357,15 +1357,15 @@ EvtScript N(launch_rock) = { EVT_CALL(SetPartScale, ACTOR_SELF, 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(HIT_RESULT_HIT) + EVT_CASE_EQ(0) EVT_ADD(LVar3, -4) EVT_ADD(LVar4, 28) EVT_SET(LVar2, 9) - EVT_CASE_EQ(HIT_RESULT_1) + EVT_CASE_EQ(1) EVT_ADD(LVar3, -4) EVT_ADD(LVar4, 21) EVT_SET(LVar2, 8) - EVT_CASE_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_EQ(2) EVT_ADD(LVar3, -4) EVT_ADD(LVar4, 14) EVT_SET(LVar2, 7) @@ -1381,7 +1381,7 @@ EvtScript N(launch_rock) = { EVT_CALL(SetPartScale, ACTOR_SELF, 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(HIT_RESULT_HIT) + EVT_CASE_EQ(0) EVT_ADD(LVar3, -10) EVT_ADD(LVar4, 72) EVT_SET(LVar2, 9) @@ -1389,7 +1389,7 @@ EvtScript N(launch_rock) = { EVT_ADD(LVar3, -10) EVT_ADD(LVar4, 54) EVT_SET(LVar2, 8) - EVT_CASE_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_EQ(2) EVT_ADD(LVar3, -10) EVT_ADD(LVar4, 36) EVT_SET(LVar2, 7) @@ -1420,11 +1420,11 @@ EvtScript N(launch_rock) = { EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar2, ACTOR_PART_FLAG_INVISIBLE, 1) EVT_CASE_EQ(1) EVT_SWITCH(LVar0) - EVT_CASE_EQ(HIT_RESULT_HIT) + EVT_CASE_EQ(0) EVT_CALL(SetPartJumpGravity, ACTOR_SELF, LVar2, EVT_FLOAT(2.2)) - EVT_CASE_EQ(HIT_RESULT_1) + EVT_CASE_EQ(1) EVT_CALL(SetPartJumpGravity, ACTOR_SELF, LVar2, EVT_FLOAT(1.8)) - EVT_CASE_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_EQ(2) EVT_CALL(SetPartJumpGravity, ACTOR_SELF, LVar2, EVT_FLOAT(1.4)) EVT_CASE_DEFAULT EVT_CALL(SetPartJumpGravity, ACTOR_SELF, LVar2, EVT_FLOAT(1.0)) diff --git a/src/battle/area_omo2_4/actor/signal_guy.c b/src/battle/area_omo2_4/actor/signal_guy.c index d4833672a4..3a34275595 100644 --- a/src/battle/area_omo2_4/actor/signal_guy.c +++ b/src/battle/area_omo2_4/actor/signal_guy.c @@ -131,7 +131,7 @@ EvtScript N(handleEvent) = { EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_HIT) EVT_CASE_OR_EQ(EVENT_SPIN_SMASH_DEATH) EVT_CASE_OR_EQ(EVENT_SHOCK_HIT) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_SPIKE_TAUNT) EVT_CASE_OR_EQ(EVENT_DEATH) 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 8ac19b5849..a4f43a9b8f 100644 --- a/src/battle/area_omo2_5/actor/shy_squad_dup.c +++ b/src/battle/area_omo2_5/actor/shy_squad_dup.c @@ -802,7 +802,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_TankGuy_Anim04) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_SPIKE_TAUNT) EVT_SET_CONST(LVar0, 1) diff --git a/src/battle/area_omo3/actor/big_lantern_ghost.c b/src/battle/area_omo3/actor/big_lantern_ghost.c index 691ce75b7d..a8f4b029c0 100644 --- a/src/battle/area_omo3/actor/big_lantern_ghost.c +++ b/src/battle/area_omo3/actor/big_lantern_ghost.c @@ -422,7 +422,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BigLanternGhost_Anim09) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(func_8026E914, LVar0, LVar1) EVT_IF_EQ(LVar1, 2) @@ -601,7 +601,7 @@ EvtScript N(attackHeavyJump) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37D) EVT_CALL(ResetActorSounds, ACTOR_SELF, 2) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_63) @@ -699,20 +699,20 @@ EvtScript N(attackLightBeam) = { EVT_IF_EQ(LVar0, 1) EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarD, 0, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarD, 0, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_END_SWITCH EVT_END_CASE_GROUP EVT_CASE_DEFAULT EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarE, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarE, DAMAGE_TYPE_NO_OTHER_DAMAGE_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, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarD, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_IF EVT_END_SWITCH EVT_WAIT(40) diff --git a/src/battle/area_pra/actor/albino_dino.c b/src/battle/area_pra/actor/albino_dino.c index 358e5df28b..28a243e714 100644 --- a/src/battle/area_pra/actor/albino_dino.c +++ b/src/battle/area_pra/actor/albino_dino.c @@ -170,7 +170,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_AlbinoDino_Anim09) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -299,7 +299,7 @@ EvtScript N(takeTurn) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarF, 0, 0, STATUS_FLAG_8 | 0x00000010, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) diff --git a/src/battle/area_pra2/actor/crystal_bit.c b/src/battle/area_pra2/actor/crystal_bit.c index ead3e8804e..6be1d892cb 100644 --- a/src/battle/area_pra2/actor/crystal_bit.c +++ b/src/battle/area_pra2/actor/crystal_bit.c @@ -289,7 +289,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar2, -1) EVT_END_IF EVT_EXEC_WAIT(DoBurnHit) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) diff --git a/src/battle/area_pra2/actor/crystal_king.c b/src/battle/area_pra2/actor/crystal_king.c index e654c17e97..fc416484c5 100644 --- a/src/battle/area_pra2/actor/crystal_king.c +++ b/src/battle/area_pra2/actor/crystal_king.c @@ -635,7 +635,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(DoBurnHit) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_CrystalKing_Anim19) EVT_EXEC_WAIT(N(OnHit)) - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_EQ(EVENT_AIR_LIFT_FAILED) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_CrystalKing_Anim09) @@ -1016,7 +1016,7 @@ EvtScript N(AttackIcyBreath) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ICE | DAMAGE_TYPE_NO_CONTACT, 0, 0, 8, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -1138,7 +1138,7 @@ EvtScript N(AttackIceBolt) = { 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_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(PlayEffect, EFFECT_COLD_BREATH, 0, LVar0, LVar1, LVar2, EVT_FLOAT(2.0), 30, 0, 0, 0, 0, 0, 0, 0) @@ -1724,7 +1724,7 @@ EvtScript N(AttackIcyBreathWithClones) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ICE | DAMAGE_TYPE_NO_CONTACT, 0, 0, 8, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(20) EVT_END_CASE_GROUP diff --git a/src/battle/area_sam/actor/frost_piranha.c b/src/battle/area_sam/actor/frost_piranha.c index 0baeaac666..6575ec5434 100644 --- a/src/battle/area_sam/actor/frost_piranha.c +++ b/src/battle/area_sam/actor/frost_piranha.c @@ -187,7 +187,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_LargePiranha_Frost_Anim0E) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -361,7 +361,7 @@ EvtScript N(attack_bite) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(10) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim07) @@ -436,7 +436,7 @@ EvtScript N(attack_icy_breath) = { EVT_WAIT(1) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim0C) EVT_WAIT(5) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarA, DAMAGE_TYPE_ICE, STATUS_FLAG_FROZEN, 1, BS_FLAGS1_10) + 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) @@ -462,11 +462,11 @@ EvtScript N(attack_icy_breath) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ICE | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 65535, 0x00000002 | STATUS_FLAG_4 | STATUS_FLAG_8 | 0x00000010 | STATUS_FLAG_20 | STATUS_FLAG_40 | 0x00000080 | STATUS_FLAG_200 | STATUS_FLAG_FROZEN, 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ICE | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_ALL, DMG_STATUS_IGNORE_RES(STATUS_FLAG_FROZEN, 2), 0, 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_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(10) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Frost_Anim0D) diff --git a/src/battle/area_sam/actor/gulpit.c b/src/battle/area_sam/actor/gulpit.c index 12642d287f..e269736290 100644 --- a/src/battle/area_sam/actor/gulpit.c +++ b/src/battle/area_sam/actor/gulpit.c @@ -204,7 +204,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Gulpit_Anim0B) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -304,7 +304,7 @@ EvtScript N(attack_lick) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(10) EVT_CALL(YieldTurn) @@ -409,7 +409,7 @@ EvtScript N(attack_rock) = { EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Gulpit_Anim01) EVT_CALL(GetPartOffset, ACTOR_SELF, LVarA, LVar0, LVar1, LVar2) diff --git a/src/battle/area_sam/actor/gulpit_rocks.c b/src/battle/area_sam/actor/gulpit_rocks.c index ca61ce68fa..2d3fcad12d 100644 --- a/src/battle/area_sam/actor/gulpit_rocks.c +++ b/src/battle/area_sam/actor/gulpit_rocks.c @@ -141,7 +141,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(N(setAnim)) EVT_EXEC_WAIT(DoNormalHit) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_BEGIN_AIR_LIFT) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) diff --git a/src/battle/area_sam2/actor/monstar.c b/src/battle/area_sam2/actor/monstar.c index 148fb2feb5..d9a4ede890 100644 --- a/src/battle/area_sam2/actor/monstar.c +++ b/src/battle/area_sam2/actor/monstar.c @@ -255,7 +255,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Monstar_Hurt) EVT_EXEC_WAIT(N(OnDeath)) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) @@ -450,7 +450,7 @@ EvtScript N(attack) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_COSMIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + 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(MakeLerp, 200, 0, 60, 0) @@ -621,7 +621,7 @@ EvtScript N(OnBurn) = { EVT_SWITCH(LVar1) EVT_CASE_EQ(EVENT_BURN_HIT) EVT_CALL(GetPartEventFlags, ACTOR_SELF, LVar0, LVar1) - EVT_IF_NOT_FLAG(LVar1, ACTOR_EVENT_FLAG_FIREY | ACTOR_EVENT_FLAG_EXPLOSIVE) + EVT_IF_NOT_FLAG(LVar1, ACTOR_EVENT_FLAG_FIREY | ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar5) diff --git a/src/battle/area_tik/actor/dark_koopa.c b/src/battle/area_tik/actor/dark_koopa.c index aef47b06c4..a6a838bad9 100644 --- a/src/battle/area_tik/actor/dark_koopa.c +++ b/src/battle/area_tik/actor/dark_koopa.c @@ -15,7 +15,7 @@ extern s32 N(idleAnimations)[]; s32 N(defenseTable)[] = { ELEMENT_NORMAL, 2, - ELEMENT_HAMMER, 2, + ELEMENT_SMASH, 2, ELEMENT_JUMP, 2, ELEMENT_WATER, 2, ELEMENT_BLAST, 2, @@ -448,7 +448,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Dark_Hurt) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) @@ -650,10 +650,10 @@ EvtScript N(attackShellToss) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_STATUS_ALWAYS_HITS, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) @@ -752,10 +752,10 @@ EvtScript N(attackDizzyTornado) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 65535, STATUS_FLAG_4 | STATUS_FLAG_8 | 0x00000010 | STATUS_FLAG_20 | STATUS_FLAG_200 | STATUS_FLAG_DIZZY | STATUS_FLAG_80000000, 0, BS_FLAGS1_SP_EVT_ACTIVE) + 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_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_THREAD EVT_CALL(WasStatusInflicted, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, 1) diff --git a/src/battle/area_tik/actor/dark_paratroopa.c b/src/battle/area_tik/actor/dark_paratroopa.c index d0d65d94d4..821db92492 100644 --- a/src/battle/area_tik/actor/dark_paratroopa.c +++ b/src/battle/area_tik/actor/dark_paratroopa.c @@ -24,7 +24,7 @@ extern s32 N(idleAnimations3)[]; s32 N(defenseTable)[] = { ELEMENT_NORMAL, 2, - ELEMENT_HAMMER, 2, + ELEMENT_SMASH, 2, ELEMENT_JUMP, 2, ELEMENT_WATER, 2, ELEMENT_BLAST, 2, @@ -365,7 +365,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_ParaTroopa_Dark_HurtStill) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_ParaTroopa_Dark_ShellEnter) @@ -531,10 +531,10 @@ EvtScript N(takeTurn) = { EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_Dark_ShellDive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 30, 0) @@ -1000,7 +1000,7 @@ EvtScript N(handleEvent_koopa) = { EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Dark_Hurt) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_SWITCH(LVar0) @@ -1202,10 +1202,10 @@ EvtScript N(koopa_attackShellToss) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_STATUS_ALWAYS_HITS, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) @@ -1304,10 +1304,10 @@ EvtScript N(koopa_attackDizzyTornado) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 65535, STATUS_FLAG_4 | STATUS_FLAG_8 | 0x00000010 | STATUS_FLAG_20 | STATUS_FLAG_200 | STATUS_FLAG_DIZZY | STATUS_FLAG_80000000, 0, BS_FLAGS1_SP_EVT_ACTIVE) + 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_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_THREAD EVT_CALL(WasStatusInflicted, ACTOR_SELF, LVar0) EVT_IF_EQ(LVar0, 1) diff --git a/src/battle/area_tik/actor/gloomba.c b/src/battle/area_tik/actor/gloomba.c index d2aa073325..58a40cb210 100644 --- a/src/battle/area_tik/actor/gloomba.c +++ b/src/battle/area_tik/actor/gloomba.c @@ -230,7 +230,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(DoDeath) EVT_RETURN EVT_CASE_EQ(EVENT_STAR_BEAM) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -418,7 +418,7 @@ EvtScript N(takeTurn) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) diff --git a/src/battle/area_tik/actor/paragloomba.c b/src/battle/area_tik/actor/paragloomba.c index 680a2aa302..b9a400a369 100644 --- a/src/battle/area_tik/actor/paragloomba.c +++ b/src/battle/area_tik/actor/paragloomba.c @@ -323,7 +323,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(DoDeath) EVT_RETURN EVT_CASE_EQ(EVENT_STAR_BEAM) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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, 2) @@ -466,7 +466,7 @@ EvtScript N(takeTurn) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) @@ -704,7 +704,7 @@ EvtScript N(handleEvent_gloomba) = { EVT_EXEC_WAIT(DoDeath) EVT_RETURN EVT_CASE_EQ(EVENT_STAR_BEAM) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -892,7 +892,7 @@ EvtScript N(takeTurn_gloomba) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) diff --git a/src/battle/area_tik/actor/spiked_gloomba.c b/src/battle/area_tik/actor/spiked_gloomba.c index a944f1b9f6..b0337285dc 100644 --- a/src/battle/area_tik/actor/spiked_gloomba.c +++ b/src/battle/area_tik/actor/spiked_gloomba.c @@ -231,7 +231,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(DoDeath) EVT_RETURN EVT_CASE_EQ(EVENT_STAR_BEAM) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -434,7 +434,7 @@ EvtScript N(takeTurn) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) diff --git a/src/battle/area_tik2/actor/blooper.c b/src/battle/area_tik2/actor/blooper.c index a827010635..3b8b80887b 100644 --- a/src/battle/area_tik2/actor/blooper.c +++ b/src/battle/area_tik2/actor/blooper.c @@ -322,7 +322,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Blooper_Anim04) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) diff --git a/src/battle/area_tik2/actor/blooper_baby.c b/src/battle/area_tik2/actor/blooper_baby.c index f918904590..19e5857e08 100644 --- a/src/battle/area_tik2/actor/blooper_baby.c +++ b/src/battle/area_tik2/actor/blooper_baby.c @@ -346,7 +346,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BabyBlooper_Anim03) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) diff --git a/src/battle/area_tik2/actor/electro_blooper.c b/src/battle/area_tik2/actor/electro_blooper.c index 833561f672..d7d568c260 100644 --- a/src/battle/area_tik2/actor/electro_blooper.c +++ b/src/battle/area_tik2/actor/electro_blooper.c @@ -430,7 +430,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Blooper_Anim04) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CASE_OR_EQ(EVENT_1D) @@ -670,7 +670,7 @@ EvtScript N(attackElectricDrop) = { EVT_SET(LVar1, 100) EVT_SET(LVar3, 15) EVT_EXEC_WAIT(N(FloatToPos)) - EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_ELECTRIC, 0, 1, BS_FLAGS1_10) + EVT_CALL(EnemyTestTarget, ACTOR_SELF, LVarF, DAMAGE_TYPE_SHOCK, 0, 1, BS_FLAGS1_10) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_MISS) EVT_CASE_OR_EQ(HIT_RESULT_LUCKY) @@ -721,7 +721,7 @@ EvtScript N(attackElectricDrop) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ELECTRIC, 8, 0, 6, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_SHOCK, 8, 0, 6, BS_FLAGS1_SP_EVT_ACTIVE) EVT_IF_NE(LVarF, HIT_RESULT_HIT_STATIC) EVT_EXEC_WAIT(N(discharge)) EVT_END_IF diff --git a/src/battle/area_tik2/actor/super_blooper.c b/src/battle/area_tik2/actor/super_blooper.c index 96fa2e1f43..5180b23a69 100644 --- a/src/battle/area_tik2/actor/super_blooper.c +++ b/src/battle/area_tik2/actor/super_blooper.c @@ -381,7 +381,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Blooper_Anim04) EVT_EXEC_WAIT(N(onDeath)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CASE_OR_EQ(EVENT_1D) 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 9b457a7304..ed90d3b4a2 100644 --- a/src/battle/area_trd_part_1/actor/bill_blaster.c +++ b/src/battle/area_trd_part_1/actor/bill_blaster.c @@ -142,7 +142,7 @@ EvtScript N(handleEvent_80219EE0) = { EVT_SET_CONST(LVar1, ANIM_BillBlaster_Anim03) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) 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 0ae5152284..ef51d096e6 100644 --- a/src/battle/area_trd_part_1/actor/bob_omb.c +++ b/src/battle/area_trd_part_1/actor/bob_omb.c @@ -96,7 +96,7 @@ ActorPartBlueprint N(partsTable_8021A70C)[] = { .opacity = 255, .idleAnimations = N(idleAnimations_8021A510), .defenseTable = N(defenseTable_8021A5A8), - .eventFlags = ACTOR_EVENT_FLAG_EXPLOSIVE, + .eventFlags = ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION, .elementImmunityFlags = 0, .unk_1D = 247, }, @@ -157,7 +157,7 @@ EvtScript N(ignite) = { 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_8000, 1) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT, 1) 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) @@ -178,7 +178,7 @@ 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_8000, 0) + EVT_CALL(SetPartEventBits, ACTOR_SELF, 1, ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT, 0) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(statusTable_8021A5B4))) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar2, 2) @@ -234,7 +234,7 @@ EvtScript N(handleEvent_8021ACE8) = { EVT_EXEC_WAIT(DoNormalHit) EVT_CASE_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVarE) - EVT_IF_FLAG(LVarE, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVarE, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim10) EVT_SET_CONST(LVar2, ANIM_Bobomb_Anim11) @@ -291,7 +291,7 @@ EvtScript N(handleEvent_8021ACE8) = { EVT_SET(LVar2, -12345) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim02) EVT_EXEC_WAIT(DoImmune) @@ -307,7 +307,7 @@ EvtScript N(handleEvent_8021ACE8) = { EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) EVT_CALL(GetLastElement, LVarE) - EVT_IF_FLAG(LVarE, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVarE, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim10) EVT_SET_CONST(LVar2, ANIM_Bobomb_Anim11) @@ -392,7 +392,7 @@ EvtScript N(handleEvent_8021B4A8) = { EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim0E) EVT_EXEC_WAIT(DoNormalHit) - EVT_CASE_FLAG(DAMAGE_TYPE_ELECTRIC) + EVT_CASE_FLAG(DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Bobomb_Anim10) EVT_EXEC_WAIT(DoNormalHit) @@ -428,7 +428,7 @@ EvtScript N(handleEvent_8021B4A8) = { EVT_EXEC_WAIT(DoDeath) EVT_RETURN EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -582,7 +582,7 @@ EvtScript N(tackleAttack) = { EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bobomb_Anim02) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) 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 3e89e484f2..fc85bb3c21 100644 --- a/src/battle/area_trd_part_1/actor/bullet_bill.c +++ b/src/battle/area_trd_part_1/actor/bullet_bill.c @@ -185,7 +185,7 @@ EvtScript N(handleEvent_802193E8) = { EVT_EXEC_WAIT(DoShockHit) EVT_EXEC_WAIT(N(80219390)) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) 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 dc644e51af..4f036653bc 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 @@ -425,7 +425,7 @@ EvtScript N(8022B6E8) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LVar1) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_THREAD EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37C) @@ -617,7 +617,7 @@ EvtScript N(8022B6E8) = { EVT_END_IF EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_THREAD EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37C) @@ -767,7 +767,7 @@ EvtScript N(handleEvent_8022DD88) = { EVT_END_LOOP EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 0) 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 1f1bee2a16..93ec4711fd 100644 --- a/src/battle/area_trd_part_2/actor/fake_bowser.c +++ b/src/battle/area_trd_part_2/actor/fake_bowser.c @@ -1341,7 +1341,7 @@ EvtScript N(handleEvent_8021E6F0) = { EVT_SET(ArrayVar(0), 2) EVT_WAIT(20) EVT_SET(ArrayVar(0), 0) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET(ArrayVar(0), 2) EVT_WAIT(20) @@ -1458,7 +1458,7 @@ EvtScript N(takeTurn_8021EC98) = { EVT_END_SWITCH EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, 65535, 0, 1, BS_FLAGS1_40) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_IGNORE_DEFENSE, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_40) EVT_CALL(GetBattleFlags, LVar0) EVT_IF_FLAG(LVar0, BS_FLAGS1_ATK_BLOCKED) EVT_CALL(GetPlayerHP, LVar0) @@ -2741,7 +2741,7 @@ EvtScript N(handleEvent_802242FC) = { EVT_EXEC_WAIT(N(80223870)) EVT_WAIT(30) EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_BLAST) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_BLAST) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_OR_CONST(LVar0, 0x40) EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0) @@ -2762,7 +2762,7 @@ EvtScript N(handleEvent_802242FC) = { EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_END_IF EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_BLAST) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_BLAST) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_OR_CONST(LVar0, 0x40) EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0) @@ -2809,7 +2809,7 @@ EvtScript N(handleEvent_802242FC) = { EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_END_IF EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_BLAST) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_BLAST) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 0, LVar0) EVT_BITWISE_OR_CONST(LVar0, 0x40) EVT_CALL(SetActorVar, ACTOR_ENEMY4, 0, LVar0) @@ -2844,7 +2844,7 @@ EvtScript N(handleEvent_802242FC) = { EVT_WAIT(20) EVT_END_IF EVT_END_IF - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_SET(LVarA, 4) EVT_EXEC_WAIT(N(80223870)) EVT_CASE_EQ(EVENT_IMMUNE) 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 6b849827ce..b68e58e451 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 @@ -425,7 +425,7 @@ EvtScript N(802257A8) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LVar1) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_THREAD EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37C) @@ -617,7 +617,7 @@ EvtScript N(802257A8) = { EVT_END_IF EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_THREAD EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37C) @@ -767,7 +767,7 @@ EvtScript N(handleEvent_80227E48) = { EVT_END_LOOP EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 0) 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 b2d39d194d..dcb70056ce 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 @@ -425,7 +425,7 @@ EvtScript N(80228748) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LVar1) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_THREAD EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37C) @@ -617,7 +617,7 @@ EvtScript N(80228748) = { EVT_END_IF EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_THREAD EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37C) @@ -767,7 +767,7 @@ EvtScript N(handleEvent_8022ADE8) = { EVT_END_LOOP EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 0) 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 4b4fad2919..fe1b92b382 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 @@ -425,7 +425,7 @@ EvtScript N(8022E688) = { EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetActorVar, ACTOR_ENEMY4, 3, LVar1) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_THREAD EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37C) @@ -617,7 +617,7 @@ EvtScript N(8022E688) = { EVT_END_IF EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PLAYER) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_THREAD EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_37C) @@ -767,7 +767,7 @@ EvtScript N(handleEvent_80230D28) = { EVT_END_LOOP EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetActorVar, ACTOR_SELF, 1, LVar0) EVT_IF_EQ(LVar0, 0) diff --git a/src/battle/area_trd_part_3/actor/eldstar.c b/src/battle/area_trd_part_3/actor/eldstar.c index b231460d25..7fd38e3fdb 100644 --- a/src/battle/area_trd_part_3/actor/eldstar.c +++ b/src/battle/area_trd_part_3/actor/eldstar.c @@ -6,25 +6,25 @@ #define NAMESPACE b_area_trd_part_3_eldstar -extern EvtScript N(init_80218390); -extern EvtScript N(takeTurn_80218414); -extern EvtScript N(idle_802183E8); -extern EvtScript N(handleEvent_80218404); -extern EvtScript N(80218424); +extern EvtScript N(EVS_Init); +extern EvtScript N(EVS_TakeTurn); +extern EvtScript N(EVS_Idle); +extern EvtScript N(EVS_HandleEvent); +extern EvtScript N(EVS_ManageTutorial); BSS s32 D_80219040; -s32 N(idleAnimations_80218280)[] = { +s32 N(IdleAnims)[] = { STATUS_NORMAL, ANIM_WorldEldstar_Idle, STATUS_END, }; -s32 N(defenseTable_8021828C)[] = { +s32 N(DefenseTable)[] = { ELEMENT_NORMAL, 0, ELEMENT_END, }; -s32 N(statusTable_80218298)[] = { +s32 N(StatusTable)[] = { STATUS_NORMAL, 0, STATUS_DEFAULT, 0, STATUS_SLEEP, 0, @@ -49,15 +49,15 @@ s32 N(statusTable_80218298)[] = { STATUS_END, }; -ActorPartBlueprint N(partsTable_80218344)[] = { +ActorPartBlueprint N(ActorParts)[] = { { .flags = ACTOR_PART_FLAG_MULTI_TARGET, .index = 1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, .opacity = 255, - .idleAnimations = N(idleAnimations_80218280), - .defenseTable = N(defenseTable_8021828C), + .idleAnimations = N(IdleAnims), + .defenseTable = N(DefenseTable), .eventFlags = ACTOR_EVENT_FLAG_0, .elementImmunityFlags = 0, .unk_1D = 0, @@ -69,10 +69,10 @@ ActorBlueprint NAMESPACE = { .type = ACTOR_TYPE_ELDSTAR, .level = 99, .maxHP = 99, - .partCount = ARRAY_COUNT(N(partsTable_80218344)), - .partsData = N(partsTable_80218344), - .takeTurnScript = &N(init_80218390), - .statusTable = N(statusTable_80218298), + .partCount = ARRAY_COUNT(N(ActorParts)), + .partsData = N(ActorParts), + .takeTurnScript = &N(EVS_Init), + .statusTable = N(StatusTable), .escapeChance = 0, .airLiftChance = 0, .hurricaneChance = 0, @@ -87,16 +87,16 @@ ActorBlueprint NAMESPACE = { .statusMessageOffset = { 10, 20 }, }; -EvtScript N(init_80218390) = { - EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn_80218414))) - EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle_802183E8))) - EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(handleEvent_80218404))) - EVT_EXEC(N(80218424)) +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_EXEC(N(EVS_ManageTutorial)) EVT_RETURN EVT_END }; -ApiStatus func_80218000_4CF1B0(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_80218000_4CF1B0) { Actor* actor = get_actor(script->owner1.actorID); s32* sym; @@ -107,34 +107,34 @@ ApiStatus func_80218000_4CF1B0(Evt* script, s32 isInitialCall) { sym = &D_80219040; *sym += 15; *sym = clamp_angle(*sym); - actor->unk_19A = sin_rad(DEG_TO_RAD(*sym)) * 3.0f; + actor->verticalRenderOffset = sin_rad(DEG_TO_RAD(*sym)) * 3.0f; return ApiStatus_BLOCK; } -ApiStatus func_802180C8_4CF278(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_802180C8_4CF278) { status_menu_start_blinking_sp(); return ApiStatus_DONE2; } -ApiStatus func_802180E8_4CF298(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_802180E8_4CF298) { status_menu_stop_blinking_sp(); return ApiStatus_DONE2; } -ApiStatus func_80218108_4CF2B8(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_80218108_4CF2B8) { status_menu_start_blinking_hp(); status_menu_start_blinking_fp(); return ApiStatus_DONE2; } -ApiStatus func_80218130_4CF2E0(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_80218130_4CF2E0) { status_menu_stop_blinking_hp(); status_menu_stop_blinking_fp(); return ApiStatus_DONE2; } -ApiStatus func_80218158_4CF308(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_80218158_4CF308) { BattleStatus* battleStatus = &gBattleStatus; battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_MAIN] = 0; @@ -143,7 +143,7 @@ ApiStatus func_80218158_4CF308(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_80218170_4CF320(Evt* script, s32 isInitialCall) { +API_CALLABLE(N(func_80218170_4CF320)) { BattleStatus* battleStatus = &gBattleStatus; if (isInitialCall) { @@ -160,7 +160,7 @@ ApiStatus func_80218170_4CF320(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_802181B4_4CF364(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_802181B4_4CF364) { BattleStatus* battleStatus = &gBattleStatus; if (isInitialCall) { @@ -177,7 +177,7 @@ ApiStatus func_802181B4_4CF364(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_802181F8_4CF3A8(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_802181F8_4CF3A8) { PlayerData* playerData = &gPlayerData; playerData->specialBarsFilled += 32; @@ -185,23 +185,23 @@ ApiStatus func_802181F8_4CF3A8(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -EvtScript N(idle_802183E8) = { +EvtScript N(EVS_Idle) = { EVT_CALL(func_80218000_4CF1B0) EVT_RETURN EVT_END }; -EvtScript N(handleEvent_80218404) = { +EvtScript N(EVS_HandleEvent) = { EVT_RETURN EVT_END }; -EvtScript N(takeTurn_80218414) = { +EvtScript N(EVS_TakeTurn) = { EVT_RETURN EVT_END }; -EvtScript N(80218424) = { +EvtScript N(EVS_ManageTutorial) = { EVT_CALL(SetBattleFlagBits, BS_FLAGS1_TUTORIAL_BATTLE, 1) EVT_CALL(func_80218158_4CF308) EVT_CALL(WaitForState, BATTLE_STATE_PLAYER_MENU) @@ -249,7 +249,7 @@ EvtScript N(80218424) = { EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, 1) EVT_THREAD - EVT_CALL(func_80218170_4CF320) + EVT_CALL(N(func_80218170_4CF320)) EVT_END_THREAD EVT_CALL(WaitForState, BATTLE_STATE_END_PLAYER_TURN) EVT_SET(LVar0, 0) @@ -317,7 +317,7 @@ EvtScript N(80218424) = { EVT_CALL(SetPartAlpha, ACTOR_SELF, 1, 0) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, 1) EVT_THREAD - EVT_CALL(func_80218170_4CF320) + EVT_CALL(N(func_80218170_4CF320)) EVT_END_THREAD EVT_CALL(WaitForState, BATTLE_STATE_END_PLAYER_TURN) EVT_SET(LVar0, 0) @@ -341,7 +341,7 @@ EvtScript N(80218424) = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) EVT_CALL(ActorSpeak, MSG_CH1_011D, ACTOR_SELF, 1, ANIM_WorldEldstar_Wave, ANIM_WorldEldstar_Idle) EVT_CALL(WaitForState, BATTLE_STATE_0) - EVT_CALL(SetBattleState, 30) + EVT_CALL(SetBattleState, BATTLE_STATE_END_TRAINING_BATTLE) EVT_WAIT(10000) EVT_RETURN EVT_END diff --git a/src/battle/common/actor/bandit.inc.c b/src/battle/common/actor/bandit.inc.c index dc6c88ca37..45640c78fb 100644 --- a/src/battle/common/actor/bandit.inc.c +++ b/src/battle/common/actor/bandit.inc.c @@ -405,7 +405,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Bandit_Anim09) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -574,7 +574,7 @@ EvtScript N(takeTurn) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar0) EVT_IF_LE(LVar0, 0) EVT_SET(LVar0, 1) diff --git a/src/battle/common/actor/buzzy_beetle.inc.c b/src/battle/common/actor/buzzy_beetle.inc.c index be5fb6c99b..ffcde410ef 100644 --- a/src/battle/common/actor/buzzy_beetle.inc.c +++ b/src/battle/common/actor/buzzy_beetle.inc.c @@ -264,7 +264,7 @@ EvtScript N(handleEvent_ceiling) = { EVT_SET_CONST(LVar1, ANIM_BuzzyBeetle_Anim07) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BuzzyBeetle_Anim16) EVT_EXEC_WAIT(DoImmune) @@ -419,7 +419,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BuzzyBeetle_Anim07) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_IF_EQ(LVar0, 1) EVT_SET_CONST(LVar0, 1) @@ -652,10 +652,10 @@ EvtScript N(takeTurn_ceiling) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) @@ -787,10 +787,10 @@ EvtScript N(takeTurn) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) diff --git a/src/battle/common/actor/bzzap.inc.c b/src/battle/common/actor/bzzap.inc.c index 6ed77fbd94..d2885f6df3 100644 --- a/src/battle/common/actor/bzzap.inc.c +++ b/src/battle/common/actor/bzzap.inc.c @@ -266,7 +266,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Bzzap_Anim0B) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -381,10 +381,10 @@ EvtScript N(attackThornStab) = { EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Bzzap_Anim04) EVT_WAIT(6) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, STATUS_FLAG_8 | STATUS_FLAG_20 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 6, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_CHANCE(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_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(20) EVT_CALL(YieldTurn) @@ -708,7 +708,7 @@ EvtScript N(attackSwarmSting) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetAnimation, ACTOR_SELF, 6, ANIM_Bzzap_Anim03) EVT_CALL(SetPartYaw, ACTOR_SELF, 6, 180) diff --git a/src/battle/common/actor/clubba.inc.c b/src/battle/common/actor/clubba.inc.c index 2964dfa424..cec004d83c 100644 --- a/src/battle/common/actor/clubba.inc.c +++ b/src/battle/common/actor/clubba.inc.c @@ -158,7 +158,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleClubba_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -267,7 +267,7 @@ EvtScript N(takeTurn) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_THREAD EVT_CALL(ShakeCam, 1, 0, 10, EVT_FLOAT(1.5)) EVT_END_THREAD diff --git a/src/battle/common/actor/duplighost.inc.c b/src/battle/common/actor/duplighost.inc.c index cc2880a2cb..02a4bdbed2 100644 --- a/src/battle/common/actor/duplighost.inc.c +++ b/src/battle/common/actor/duplighost.inc.c @@ -194,7 +194,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Duplighost_Anim0A) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -293,7 +293,7 @@ EvtScript N(attack) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(ResetActorSounds, ACTOR_SELF, 2) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Duplighost_Anim09) diff --git a/src/battle/common/actor/fuzzy.inc.c b/src/battle/common/actor/fuzzy.inc.c index a19ee6182e..d4d9447e58 100644 --- a/src/battle/common/actor/fuzzy.inc.c +++ b/src/battle/common/actor/fuzzy.inc.c @@ -115,7 +115,7 @@ EvtScript N(handleEvent) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Fuzzy_HurtShock) EVT_ELSE @@ -171,7 +171,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Fuzzy_Hurt) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -180,7 +180,7 @@ EvtScript N(handleEvent) = { EVT_END_CASE_GROUP EVT_CASE_EQ(EVENT_DEATH) EVT_CALL(GetLastElement, LVar0) - EVT_IF_FLAG(LVar0, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Fuzzy_HurtShock) EVT_EXEC_WAIT(DoNormalHit) @@ -353,7 +353,7 @@ EvtScript N(takeTurn) = { EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_Fuzzy_Idle) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetLastDamage, 0, LVar3) EVT_IF_NE(LVar3, 0) diff --git a/src/battle/common/actor/ghost_bombette.inc.c b/src/battle/common/actor/ghost_bombette.inc.c index c8067fae15..03a0bb3750 100644 --- a/src/battle/common/actor/ghost_bombette.inc.c +++ b/src/battle/common/actor/ghost_bombette.inc.c @@ -132,7 +132,7 @@ EvtScript N(bombette_handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleBombette_Hurt) EVT_EXEC_WAIT(DoNormalHit) EVT_CALL(GetLastElement, LVar1) - EVT_IF_FLAG(LVar1, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar1, DAMAGE_TYPE_SHOCK) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_BurnHurt) EVT_WAIT(20) EVT_EXEC_WAIT(N(bombette_playEffects)) @@ -195,7 +195,7 @@ EvtScript N(bombette_handleEvent) = { EVT_EXEC_WAIT(DoDeath) EVT_RETURN EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -317,7 +317,7 @@ EvtScript N(bombette_takeTurn) = { EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleBombette_Idle) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 8) diff --git a/src/battle/common/actor/ghost_bow.inc.c b/src/battle/common/actor/ghost_bow.inc.c index 8a01cd1f6e..f4200a0769 100644 --- a/src/battle/common/actor/ghost_bow.inc.c +++ b/src/battle/common/actor/ghost_bow.inc.c @@ -121,7 +121,7 @@ EvtScript N(bow_handleEvent) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVar1) - EVT_IF_FLAG(LVar1, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar1, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleBow_Hurt) EVT_EXEC_WAIT(N(OnHitElectric)) @@ -178,7 +178,7 @@ EvtScript N(bow_handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleBow_Hurt) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -383,7 +383,7 @@ EvtScript N(bow_takeTurn) = { EVT_END_LOOP EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(10) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BOO_APPEAR) EVT_THREAD diff --git a/src/battle/common/actor/ghost_goombario.inc.c b/src/battle/common/actor/ghost_goombario.inc.c index 74c455bfad..1515d9fa4c 100644 --- a/src/battle/common/actor/ghost_goombario.inc.c +++ b/src/battle/common/actor/ghost_goombario.inc.c @@ -130,7 +130,7 @@ EvtScript N(goombario_handleEvent) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVar1) - EVT_IF_FLAG(LVar1, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar1, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleGoombario_HurtStill) EVT_EXEC_WAIT(N(OnHitElectric)) @@ -185,7 +185,7 @@ EvtScript N(goombario_handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleGoombario_HurtStill) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -473,7 +473,7 @@ EvtScript N(goombario_attack) = { EVT_LABEL(100) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(YieldTurn) EVT_EXEC_WAIT(N(goombario_returnBack)) EVT_END_CASE_GROUP diff --git a/src/battle/common/actor/ghost_kooper.inc.c b/src/battle/common/actor/ghost_kooper.inc.c index 546c83fbfa..18f8433c63 100644 --- a/src/battle/common/actor/ghost_kooper.inc.c +++ b/src/battle/common/actor/ghost_kooper.inc.c @@ -177,7 +177,7 @@ EvtScript N(kooper_handleEvent) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVar1) - EVT_IF_FLAG(LVar1, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar1, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleKooper_Hurt) EVT_EXEC_WAIT(N(OnHitElectric)) @@ -248,7 +248,7 @@ EvtScript N(kooper_handleEvent) = { 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_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CALL(GetActorVar, ACTOR_SELF, 3, LVar0) @@ -490,17 +490,17 @@ EvtScript N(kooper_takeTurn) = { EVT_SWITCH(LVar9) EVT_CASE_EQ(0) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_EQ(1) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_EQ(2) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 8) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) diff --git a/src/battle/common/actor/ghost_lakilester.inc.c b/src/battle/common/actor/ghost_lakilester.inc.c index aea93688b2..cfe79875e7 100644 --- a/src/battle/common/actor/ghost_lakilester.inc.c +++ b/src/battle/common/actor/ghost_lakilester.inc.c @@ -126,7 +126,7 @@ EvtScript N(lakilester_handleEvent) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVar1) - EVT_IF_FLAG(LVar1, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar1, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_EXEC_WAIT(N(OnHitElectric)) @@ -185,7 +185,7 @@ EvtScript N(lakilester_handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Dead) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -362,7 +362,7 @@ EvtScript N(lakilester_takeTurn) = { EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(15) EVT_CALL(YieldTurn) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) diff --git a/src/battle/common/actor/ghost_parakarry.inc.c b/src/battle/common/actor/ghost_parakarry.inc.c index b04f9518ae..5ccfda6012 100644 --- a/src/battle/common/actor/ghost_parakarry.inc.c +++ b/src/battle/common/actor/ghost_parakarry.inc.c @@ -121,7 +121,7 @@ EvtScript N(parakarry_handleEvent) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVar1) - EVT_IF_FLAG(LVar1, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar1, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleParakarry_Hurt) EVT_EXEC_WAIT(N(OnHitElectric)) @@ -176,7 +176,7 @@ EvtScript N(parakarry_handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleParakarry_Hurt) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -307,7 +307,7 @@ EvtScript N(parakarry_doTakeTurn) = { EVT_CALL(PlaySound, SOUND_0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleParakarry_Dive) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.4)) diff --git a/src/battle/common/actor/ghost_sushie.inc.c b/src/battle/common/actor/ghost_sushie.inc.c index a6a0154e35..91cdb87529 100644 --- a/src/battle/common/actor/ghost_sushie.inc.c +++ b/src/battle/common/actor/ghost_sushie.inc.c @@ -108,7 +108,7 @@ EvtScript N(sushie_handleEvent) = { EVT_CASE_OR_EQ(EVENT_HIT_COMBO) EVT_CASE_OR_EQ(EVENT_HIT) EVT_CALL(GetLastElement, LVar1) - EVT_IF_FLAG(LVar1, DAMAGE_TYPE_ELECTRIC) + EVT_IF_FLAG(LVar1, DAMAGE_TYPE_SHOCK) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_BattleSushie_Hurt) EVT_EXEC_WAIT(N(OnHitElectric)) @@ -163,7 +163,7 @@ EvtScript N(sushie_handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleSushie_Hurt) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -415,7 +415,7 @@ EvtScript N(sushie_takeTurn) = { EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_BattleSushie_Fall) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 60) diff --git a/src/battle/common/actor/ghost_watt.inc.c b/src/battle/common/actor/ghost_watt.inc.c index f8d9b9b0a3..b3889b9b5c 100644 --- a/src/battle/common/actor/ghost_watt.inc.c +++ b/src/battle/common/actor/ghost_watt.inc.c @@ -29,10 +29,10 @@ ApiStatus N(UnkWattEffectFunc1)(Evt* script, s32 isInitialCall) { wattEffectData->angle += 15; wattEffectData->angle = clamp_angle(wattEffectData->angle); } - actor->unk_19A = sin_rad(DEG_TO_RAD(wattEffectData->angle)) * 3.0f; + 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->unk_19A + (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_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) { @@ -294,7 +294,7 @@ EvtScript N(watt_handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleWatt_Hurt) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -430,17 +430,17 @@ EvtScript N(watt_takeTurn) = { EVT_SWITCH(LVar9) EVT_CASE_EQ(0) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_IGNORE_DEFENSE, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_EQ(1) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_IGNORE_DEFENSE, 65535, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE, SUPPRESS_EVENT_ALL, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_EQ(2) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_IGNORE_DEFENSE, 65535, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE, SUPPRESS_EVENT_ALL, 0, 5, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(N(UnkWattEffectFunc4), 1) EVT_CALL(N(UnkWattEffectFunc3), 1) diff --git a/src/battle/common/actor/goomba.inc.c b/src/battle/common/actor/goomba.inc.c index 2aa9a02a8d..aa2636783c 100644 --- a/src/battle/common/actor/goomba.inc.c +++ b/src/battle/common/actor/goomba.inc.c @@ -227,7 +227,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(DoDeath) EVT_RETURN EVT_CASE_EQ(EVENT_STAR_BEAM) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -415,7 +415,7 @@ EvtScript N(takeTurn) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) diff --git a/src/battle/common/actor/gray_magikoopa.inc.c b/src/battle/common/actor/gray_magikoopa.inc.c index 44fead4bbd..5c377d6b12 100644 --- a/src/battle/common/actor/gray_magikoopa.inc.c +++ b/src/battle/common/actor/gray_magikoopa.inc.c @@ -258,7 +258,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_Gray_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -461,7 +461,7 @@ EvtScript N(handleEvent_flying) = { EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Gray_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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, 2) @@ -608,7 +608,7 @@ EvtScript N(attackMagicBlast) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(19) EVT_CALL(YieldTurn) EVT_END_CASE_GROUP @@ -695,7 +695,7 @@ EvtScript N(attackWandStrike) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(10) EVT_SET(LVar0, 200) diff --git a/src/battle/common/actor/green_magikoopa.inc.c b/src/battle/common/actor/green_magikoopa.inc.c index 3d7bb24a7b..dd350d9014 100644 --- a/src/battle/common/actor/green_magikoopa.inc.c +++ b/src/battle/common/actor/green_magikoopa.inc.c @@ -260,7 +260,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_Green_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -463,7 +463,7 @@ EvtScript N(handleEvent_flying) = { EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Green_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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, 2) @@ -610,7 +610,7 @@ EvtScript N(attackMagicBlast) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(19) EVT_CALL(YieldTurn) EVT_END_CASE_GROUP @@ -697,7 +697,7 @@ EvtScript N(attackWandStrike) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(10) EVT_SET(LVar0, 200) diff --git a/src/battle/common/actor/hammer_bro.inc.c b/src/battle/common/actor/hammer_bro.inc.c index c4dce4f754..3ee192e842 100644 --- a/src/battle/common/actor/hammer_bro.inc.c +++ b/src/battle/common/actor/hammer_bro.inc.c @@ -230,7 +230,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim0E) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_HammerBros_Anim15) @@ -382,10 +382,10 @@ EvtScript N(attackHammerThrow) = { EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.3)) EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LVar0, LVar1, LVar2, 15, 1) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0x00000002 | 0x00000010 | STATUS_FLAG_20 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_SHRINK | STATUS_FLAG_80000000, 5, BS_FLAGS1_SP_EVT_ACTIVE) + 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_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 50) EVT_SET(LVar1, 10) @@ -564,10 +564,10 @@ EvtScript N(attackHammerSurge) = { 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, 0x00000002 | 0x00000010 | STATUS_FLAG_20 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_SHRINK | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) + 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_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(20) EVT_CALL(YieldTurn) EVT_END_CASE_GROUP diff --git a/src/battle/common/actor/koopa_troopa.inc.c b/src/battle/common/actor/koopa_troopa.inc.c index 62a74b8371..97b154a86b 100644 --- a/src/battle/common/actor/koopa_troopa.inc.c +++ b/src/battle/common/actor/koopa_troopa.inc.c @@ -6,7 +6,7 @@ s32 N(defenseTable)[] = { ELEMENT_NORMAL, 1, - ELEMENT_HAMMER, 1, + ELEMENT_SMASH, 1, ELEMENT_JUMP, 1, ELEMENT_WATER, 1, ELEMENT_BLAST, 1, @@ -334,7 +334,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Hurt) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_IF_EQ(LVar0, 0) @@ -573,10 +573,10 @@ EvtScript N(takeTurn) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) diff --git a/src/battle/common/actor/koopatrol.inc.c b/src/battle/common/actor/koopatrol.inc.c index 00ddac7bc9..f117bc699a 100644 --- a/src/battle/common/actor/koopatrol.inc.c +++ b/src/battle/common/actor/koopatrol.inc.c @@ -469,7 +469,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Koopatrol_Anim08) EVT_EXEC_WAIT(DoImmune) EVT_END_IF - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_STATE), LVar0) EVT_SWITCH(LVar0) @@ -770,10 +770,10 @@ EvtScript N(attackShellToss) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) @@ -928,10 +928,10 @@ EvtScript N(attackShellMissile) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(16.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarA, 0, 65535, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVarA, 0, SUPPRESS_EVENT_ALL, 0, 10, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVarA) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_THREAD EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 16, 0) diff --git a/src/battle/common/actor/magikoopa.inc.c b/src/battle/common/actor/magikoopa.inc.c index d6e975491b..59b95463e3 100644 --- a/src/battle/common/actor/magikoopa.inc.c +++ b/src/battle/common/actor/magikoopa.inc.c @@ -559,7 +559,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Magikoopa_Anim01) EVT_EXEC_WAIT(DoImmune) @@ -698,7 +698,7 @@ EvtScript N(handleEvent_flying) = { EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Anim01) EVT_EXEC_WAIT(DoImmune) diff --git a/src/battle/common/actor/medi_guy.inc.c b/src/battle/common/actor/medi_guy.inc.c index be4995bb2a..ee3cb86bc1 100644 --- a/src/battle/common/actor/medi_guy.inc.c +++ b/src/battle/common/actor/medi_guy.inc.c @@ -194,7 +194,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_MediGuy_Anim07) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -336,7 +336,7 @@ EvtScript N(flyingAttack) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) diff --git a/src/battle/common/actor/monty_mole.inc.c b/src/battle/common/actor/monty_mole.inc.c index d848c96694..7814f8ca04 100644 --- a/src/battle/common/actor/monty_mole.inc.c +++ b/src/battle/common/actor/monty_mole.inc.c @@ -255,7 +255,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_MontyMole_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetLastElement, LVar0) EVT_IF_FLAG(LVar0, DAMAGE_TYPE_SMASH) @@ -409,7 +409,7 @@ EvtScript N(takeTurn) = { 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_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) EVT_SET(LVar1, 0) diff --git a/src/battle/common/actor/paragoomba.inc.c b/src/battle/common/actor/paragoomba.inc.c index 41aa26ed41..ae05a19031 100644 --- a/src/battle/common/actor/paragoomba.inc.c +++ b/src/battle/common/actor/paragoomba.inc.c @@ -314,7 +314,7 @@ EvtScript N(handleEvent_8021B768) = { EVT_EXEC_WAIT(DoDeath) EVT_RETURN EVT_CASE_EQ(EVENT_STAR_BEAM) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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, 2) @@ -457,7 +457,7 @@ EvtScript N(takeTurn_8021BD5C) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 50, 10, 0) @@ -704,7 +704,7 @@ EvtScript N(handleEvent_8021CEBC) = { EVT_EXEC_WAIT(DoDeath) EVT_RETURN EVT_CASE_EQ(EVENT_STAR_BEAM) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -892,7 +892,7 @@ EvtScript N(takeTurn_8021D6E8) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) diff --git a/src/battle/common/actor/paratroopa.inc.c b/src/battle/common/actor/paratroopa.inc.c index 7d2938cddc..5718c4b80e 100644 --- a/src/battle/common/actor/paratroopa.inc.c +++ b/src/battle/common/actor/paratroopa.inc.c @@ -7,7 +7,7 @@ s32 N(defenseTable_8021EAD0)[] = { ELEMENT_NORMAL, 1, - ELEMENT_HAMMER, 1, + ELEMENT_SMASH, 1, ELEMENT_JUMP, 1, ELEMENT_WATER, 1, ELEMENT_BLAST, 1, @@ -358,7 +358,7 @@ EvtScript N(handleEvent_8021F2EC) = { EVT_SET_CONST(LVar1, ANIM_ParaTroopa_HurtStill) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 1) EVT_SET_CONST(LVar0, 2) EVT_SET_CONST(LVar1, ANIM_ParaTroopa_ShellEnter) @@ -524,10 +524,10 @@ EvtScript N(takeTurn_8021FA24) = { EVT_CALL(SetAnimation, ACTOR_SELF, 2, ANIM_ParaTroopa_ShellDive) EVT_CALL(FlyToGoal, ACTOR_SELF, 0, 0, 0) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, 40, 30, 0) @@ -892,7 +892,7 @@ EvtScript N(handleEvent_80221228) = { EVT_SET_CONST(LVar1, ANIM_KoopaTroopa_Hurt) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_IF_EQ(LVar0, 0) @@ -1131,10 +1131,10 @@ EvtScript N(takeTurn_80221DAC) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 1, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) diff --git a/src/battle/common/actor/pokey.inc.c b/src/battle/common/actor/pokey.inc.c index c3f36838ed..cb09b4db5e 100644 --- a/src/battle/common/actor/pokey.inc.c +++ b/src/battle/common/actor/pokey.inc.c @@ -408,7 +408,7 @@ EvtScript N(handleEvent) = { EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_HIT), LVar1) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_ANIM_IMMUNE), LVar1) @@ -584,10 +584,10 @@ EvtScript N(timberAttack) = { EVT_END_SWITCH EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, LVar1, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, DMG_STATUS_CHANCE(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_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MakeLerp, 90, 0, 10, 0) EVT_LABEL(5) @@ -792,12 +792,12 @@ EvtScript N(takeTurn) = { 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, 1) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) + 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(GetActorVar, ACTOR_SELF, N(VAR_ANIM_UNK), LVar1) EVT_CALL(SetAnimation, ACTOR_SELF, 1, LVar1) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 55) EVT_SET(LVar1, 0) @@ -1092,11 +1092,11 @@ 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, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) + 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_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetActorRotation, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) diff --git a/src/battle/common/actor/putrid_piranha.inc.c b/src/battle/common/actor/putrid_piranha.inc.c index 3437eaebc6..9fd5414c8b 100644 --- a/src/battle/common/actor/putrid_piranha.inc.c +++ b/src/battle/common/actor/putrid_piranha.inc.c @@ -182,7 +182,7 @@ EvtScript N(handleEvent_8021B3D0) = { EVT_SET_CONST(LVar1, ANIM_LargePiranha_Putrid_Anim0E) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -352,7 +352,7 @@ EvtScript N(bite) = { EVT_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(10) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim07) @@ -453,11 +453,11 @@ EvtScript N(breath) = { EVT_END_SWITCH EVT_WAIT(2) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, STATUS_FLAG_4 | STATUS_FLAG_20 | STATUS_FLAG_40 | STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_POISON | STATUS_FLAG_80000000, 2, BS_FLAGS1_SP_EVT_ACTIVE) + 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_SET(LVarF, LVar0) EVT_SWITCH(LVarF) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(10) EVT_CALL(SetAnimation, ACTOR_SELF, 1, ANIM_LargePiranha_Putrid_Anim0A) diff --git a/src/battle/common/actor/red_magikoopa.inc.c b/src/battle/common/actor/red_magikoopa.inc.c index 593c4ba949..4b609bc57b 100644 --- a/src/battle/common/actor/red_magikoopa.inc.c +++ b/src/battle/common/actor/red_magikoopa.inc.c @@ -258,7 +258,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_Red_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -461,7 +461,7 @@ EvtScript N(handleEvent_flying) = { EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Red_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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, 2) @@ -608,7 +608,7 @@ EvtScript N(attackMagicBlast) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(19) EVT_CALL(YieldTurn) EVT_END_CASE_GROUP @@ -695,7 +695,7 @@ EvtScript N(attackWandStrike) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(10) EVT_SET(LVar0, 200) diff --git a/src/battle/common/actor/red_shy_guy.inc.c b/src/battle/common/actor/red_shy_guy.inc.c index b5706596be..bb3cfd75f4 100644 --- a/src/battle/common/actor/red_shy_guy.inc.c +++ b/src/battle/common/actor/red_shy_guy.inc.c @@ -183,7 +183,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_ShyGuy_Red_Anim0C) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -407,7 +407,7 @@ EvtScript N(acrobaticAttack) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(MoveBattleCamOver, 15) EVT_THREAD diff --git a/src/battle/common/actor/slot_machine.inc.c b/src/battle/common/actor/slot_machine.inc.c index eb4fcc06a9..d8747019a0 100644 --- a/src/battle/common/actor/slot_machine.inc.c +++ b/src/battle/common/actor/slot_machine.inc.c @@ -447,7 +447,7 @@ EvtScript N(handleEvent) = { EVT_CASE_OR_EQ(EVENT_SPIKE_CONTACT) EVT_CASE_OR_EQ(EVENT_BURN_CONTACT) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_END_CASE_GROUP EVT_END_SWITCH diff --git a/src/battle/common/actor/spike_top.inc.c b/src/battle/common/actor/spike_top.inc.c index e44bb14507..f07eafb05e 100644 --- a/src/battle/common/actor/spike_top.inc.c +++ b/src/battle/common/actor/spike_top.inc.c @@ -263,7 +263,7 @@ EvtScript N(spikeTop_HandleEvent_Ceiling) = { EVT_SET_CONST(LVar1, ANIM_SpikeTop_Anim13) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_SpikeTop_Anim0D) EVT_EXEC_WAIT(DoImmune) @@ -420,7 +420,7 @@ EvtScript N(spikeTop_HandleEvent_Floor) = { EVT_SET_CONST(LVar1, ANIM_SpikeTop_Anim13) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_CALL(GetActorVar, ACTOR_SELF, 8, LVar0) EVT_IF_EQ(LVar0, 1) EVT_SET_CONST(LVar0, 1) @@ -654,10 +654,10 @@ EvtScript N(spikeTop_TakeTurn_Ceiling) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 15, FALSE, TRUE, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) @@ -790,10 +790,10 @@ EvtScript N(spikeTop_TakeTurn_Floor) = { EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(14.0)) EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 40) diff --git a/src/battle/common/actor/spiked_goomba.inc.c b/src/battle/common/actor/spiked_goomba.inc.c index 1258d24a46..6d8d519909 100644 --- a/src/battle/common/actor/spiked_goomba.inc.c +++ b/src/battle/common/actor/spiked_goomba.inc.c @@ -228,7 +228,7 @@ EvtScript N(handleEvent_8021E874) = { EVT_EXEC_WAIT(DoDeath) EVT_RETURN EVT_CASE_EQ(EVENT_STAR_BEAM) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -431,7 +431,7 @@ EvtScript N(takeTurn_8021F1BC) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 0, 0, 2, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) EVT_WAIT(1) diff --git a/src/battle/common/actor/spiny.inc.c b/src/battle/common/actor/spiny.inc.c index ae3f885883..8b8c6bba54 100644 --- a/src/battle/common/actor/spiny.inc.c +++ b/src/battle/common/actor/spiny.inc.c @@ -255,7 +255,7 @@ EvtScript N(handleEvent) = { EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(20) - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CASE_OR_EQ(EVENT_AIR_LIFT_FAILED) EVT_CALL(GetActorVar, ACTOR_SELF, 0, LVar0) @@ -464,7 +464,7 @@ EvtScript N(takeTurn) = { EVT_CALL(RunToGoal, ACTOR_SELF, 0, FALSE) EVT_CALL(ResetAllActorSounds, ACTOR_SELF) EVT_WAIT(2) - EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, 65535, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, 0, SUPPRESS_EVENT_ALL, 0, 4, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(0) EVT_CASE_OR_EQ(2) diff --git a/src/battle/common/actor/swooper.inc.c b/src/battle/common/actor/swooper.inc.c index ebd7600d2e..10d93c8d3d 100644 --- a/src/battle/common/actor/swooper.inc.c +++ b/src/battle/common/actor/swooper.inc.c @@ -191,7 +191,7 @@ EvtScript N(hadleEvent_flying) = { EVT_SET_CONST(LVar1, ANIM_Swooper_Anim15) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -365,7 +365,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Swooper_Anim15) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Swooper_Anim0C) diff --git a/src/battle/common/actor/swoopula.inc.c b/src/battle/common/actor/swoopula.inc.c index 69b20193eb..0597e01e39 100644 --- a/src/battle/common/actor/swoopula.inc.c +++ b/src/battle/common/actor/swoopula.inc.c @@ -192,7 +192,7 @@ EvtScript N(hadleEvent_flying) = { EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -368,7 +368,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim15) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Swooper_Gray_Anim0C) diff --git a/src/battle/common/actor/whacka.inc.c b/src/battle/common/actor/whacka.inc.c index 73388f6ad1..0358c8bd3b 100644 --- a/src/battle/common/actor/whacka.inc.c +++ b/src/battle/common/actor/whacka.inc.c @@ -208,7 +208,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_EQ(EVENT_ZERO_DAMAGE) EVT_SET_CONST(LVar0, 1) EVT_SET_CONST(LVar1, ANIM_Whacka_Idle) EVT_EXEC_WAIT(DoImmune) diff --git a/src/battle/common/actor/white_clubba.inc.c b/src/battle/common/actor/white_clubba.inc.c index e67f82239f..06894079ae 100644 --- a/src/battle/common/actor/white_clubba.inc.c +++ b/src/battle/common/actor/white_clubba.inc.c @@ -160,7 +160,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleClubba_Frost_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -331,7 +331,7 @@ EvtScript N(takeTurn) = { EVT_LABEL(100) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(19) EVT_CALL(YieldTurn) diff --git a/src/battle/common/actor/white_magikoopa.inc.c b/src/battle/common/actor/white_magikoopa.inc.c index 8b29afae3b..8391ef8a03 100644 --- a/src/battle/common/actor/white_magikoopa.inc.c +++ b/src/battle/common/actor/white_magikoopa.inc.c @@ -261,7 +261,7 @@ EvtScript N(handleEvent_80223E24) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_White_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -464,7 +464,7 @@ EvtScript N(handleEvent_80224A44) = { EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_White_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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, 2) @@ -611,7 +611,7 @@ EvtScript N(wMagikoopa_ShapeSpell) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(19) EVT_CALL(YieldTurn) EVT_END_CASE_GROUP @@ -698,7 +698,7 @@ EvtScript N(wMagikoopa_WandStrike) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(10) EVT_SET(LVar0, 200) diff --git a/src/battle/common/actor/yellow_magikoopa.inc.c b/src/battle/common/actor/yellow_magikoopa.inc.c index 07fde4f0f8..0eff327339 100644 --- a/src/battle/common/actor/yellow_magikoopa.inc.c +++ b/src/battle/common/actor/yellow_magikoopa.inc.c @@ -257,7 +257,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Magikoopa_Yellow_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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) @@ -460,7 +460,7 @@ EvtScript N(handleEvent_flying) = { EVT_SET_CONST(LVar1, ANIM_FlyingMagikoopa_Yellow_Anim04) EVT_EXEC_WAIT(DoDeath) EVT_RETURN - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + 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, 2) @@ -607,7 +607,7 @@ EvtScript N(attackMagicBlast) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_MAGIC | DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_WAIT(19) EVT_CALL(YieldTurn) EVT_END_CASE_GROUP @@ -694,7 +694,7 @@ EvtScript N(attackWandStrike) = { EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, 0, 3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) EVT_WAIT(10) EVT_SET(LVar0, 200) diff --git a/src/battle/item/dizzy_dial.c b/src/battle/item/dizzy_dial.c index 3be2c404a4..bc0a10b609 100644 --- a/src/battle/item/dizzy_dial.c +++ b/src/battle/item/dizzy_dial.c @@ -84,7 +84,7 @@ EvtScript N(main) = { EVT_END_IF EVT_CALL(GetItemPower, ITEM_DIZZY_DIAL, LVar0, LVar1) EVT_CALL(MakeStatusField, LVar0, 262144, 100, LVar0) - EVT_CALL(func_80252B3C, LVar0, 1342177280, LVar0, 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemAfflictEnemy, LVar0, 1342177280, LVar0, 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, 0, LVar0) diff --git a/src/battle/item/dizzy_dial.h b/src/battle/item/dizzy_dial.h index b4a6473a5e..664221b285 100644 --- a/src/battle/item/dizzy_dial.h +++ b/src/battle/item/dizzy_dial.h @@ -7,7 +7,7 @@ #undef NAMESPACE #define NAMESPACE battle_item_dizzy_dial -ApiStatus func_80252B3C(Evt* script, s32 isInitialCall); +ApiStatus ItemAfflictEnemy(Evt* script, s32 isInitialCall); ApiStatus N(func_802A1270_727B80)(Evt* script, s32 isInitialCall); extern EvtScript N(UseItemWithEffect); diff --git a/src/battle/item/fright_jar.c b/src/battle/item/fright_jar.c index 942c225e4b..b04ca49efd 100644 --- a/src/battle/item/fright_jar.c +++ b/src/battle/item/fright_jar.c @@ -64,7 +64,7 @@ EvtScript N(main) = { EVT_GOTO(1) EVT_END_IF EVT_CALL(func_80269EAC, 21) - EVT_CALL(ItemAfflictEnemy, LVar0, 1879052288, 0, 100, 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemSpookEnemy, LVar0, 1879052288, 0, 100, 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_CALL(ChooseNextTarget, 0, LVar0) EVT_IF_NE(LVar0, -1) diff --git a/src/battle/item/sleepy_sheep.c b/src/battle/item/sleepy_sheep.c index ef10f70482..a50fe4f1fa 100644 --- a/src/battle/item/sleepy_sheep.c +++ b/src/battle/item/sleepy_sheep.c @@ -417,7 +417,7 @@ EvtScript N(main) = { EVT_END_IF EVT_CALL(GetItemPower, ITEM_SLEEPY_SHEEP, LVar0, LVar1) EVT_CALL(MakeStatusField, LVar0, 4096, 100, LVar0) - EVT_CALL(func_80252B3C, LVar0, 1342177280, LVar0, 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemAfflictEnemy, LVar0, 1342177280, LVar0, 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, 0, LVar0) diff --git a/src/battle/item/sleepy_sheep.h b/src/battle/item/sleepy_sheep.h index ed6cfa3a03..7b32bb3776 100644 --- a/src/battle/item/sleepy_sheep.h +++ b/src/battle/item/sleepy_sheep.h @@ -9,7 +9,7 @@ ApiStatus SetVirtualEntityMoveSpeed(Evt* script, s32 isInitialCall); ApiStatus VirtualEntityMoveTo(Evt* script, s32 isInitialCall); -ApiStatus func_80252B3C(Evt* script, s32 isInitialCall); +ApiStatus ItemAfflictEnemy(Evt* script, s32 isInitialCall); ApiStatus N(func_802A123C_71E88C)(Evt* script, s32 isInitialCall); ApiStatus N(func_802A1740_71ED90)(Evt* script, s32 isInitialCall); diff --git a/src/battle/item/stop_watch.c b/src/battle/item/stop_watch.c index 3022dc5c78..f5c9b1a142 100644 --- a/src/battle/item/stop_watch.c +++ b/src/battle/item/stop_watch.c @@ -46,7 +46,7 @@ EvtScript N(main) = { EVT_END_IF EVT_CALL(GetItemPower, ITEM_STOP_WATCH, LVar0, LVar1) EVT_CALL(MakeStatusField, LVar0, 2097152, 100, LVar0) - EVT_CALL(func_80252B3C, LVar0, 1342177280, LVar0, 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(ItemAfflictEnemy, LVar0, 1342177280, LVar0, 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, 0, LVar0) diff --git a/src/battle/item/stop_watch.h b/src/battle/item/stop_watch.h index f1f807d403..f1adeb2811 100644 --- a/src/battle/item/stop_watch.h +++ b/src/battle/item/stop_watch.h @@ -7,7 +7,7 @@ #undef NAMESPACE #define NAMESPACE battle_item_stop_watch -ApiStatus func_80252B3C(Evt* script, s32 isInitialCall); +ApiStatus ItemAfflictEnemy(Evt* script, s32 isInitialCall); ApiStatus N(FadeBackgroundToBlack)(Evt* script, s32 isInitialCall); ApiStatus N(func_802A12D4_7270A4)(Evt* script, s32 isInitialCall); diff --git a/src/battle/item/thunder_rage.c b/src/battle/item/thunder_rage.c index 082e2110ff..9c5d694baf 100644 --- a/src/battle/item/thunder_rage.c +++ b/src/battle/item/thunder_rage.c @@ -53,7 +53,7 @@ ApiStatus N(func_802A1354_71B4F4)(Evt* script, s32 isInitialCall) { #include "UseItem.inc.c" EvtScript N(main) = { - EVT_SET_CONST(LVarA, 0x00000082) + EVT_SET_CONST(LVarA, ITEM_THUNDER_RAGE) EVT_EXEC_WAIT(N(UseItemWithEffect)) EVT_CHILD_THREAD EVT_WAIT(5) @@ -65,24 +65,24 @@ EvtScript N(main) = { EVT_WAIT(10) EVT_CALL(InitTargetIterator) EVT_LABEL(0) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(ItemCheckHit, LVar0, 268435456, 0, LVar0, 0) - EVT_IF_EQ(LVar0, 6) - EVT_GOTO(1) - EVT_END_IF - EVT_CALL(N(func_802A1354_71B4F4)) - EVT_WAIT(5) - EVT_CALL(StartRumble, 10) - EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(1.0)) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetItemPower, ITEM_THUNDER_RAGE, LVar0, LVar1) - EVT_CALL(ItemDamageEnemy, LVar0, 939524128, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_LABEL(1) - EVT_WAIT(5) - EVT_CALL(ChooseNextTarget, 0, LVar0) - EVT_IF_NE(LVar0, -1) - EVT_GOTO(0) - EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(ItemCheckHit, LVar0, 0x10000000, 0, LVar0, 0) + EVT_IF_EQ(LVar0, 6) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(N(func_802A1354_71B4F4)) + EVT_WAIT(5) + EVT_CALL(StartRumble, 10) + EVT_CALL(ShakeCam, 1, 0, 5, EVT_FLOAT(1.0)) + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(GetItemPower, ITEM_THUNDER_RAGE, LVar0, LVar1) + EVT_CALL(ItemDamageEnemy, LVar0, 0x38000020, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_LABEL(1) + EVT_WAIT(5) + EVT_CALL(ChooseNextTarget, 0, LVar0) + EVT_IF_NE(LVar0, -1) + EVT_GOTO(0) + EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) diff --git a/src/battle/move/auto_multibounce/auto_multibounce.c b/src/battle/move/auto_multibounce/auto_multibounce.c index 033c1fae56..1951a8b755 100644 --- a/src/battle/move/auto_multibounce/auto_multibounce.c +++ b/src/battle/move/auto_multibounce/auto_multibounce.c @@ -631,15 +631,15 @@ EvtScript N(D_802A2EC0) = { EVT_END_SWITCH EVT_SWITCH(LVarF) EVT_CASE_EQ(0) - EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x235) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_235) EVT_CASE_EQ(1) - EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x236) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_236) EVT_CASE_EQ(2) - EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x237) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_237) EVT_CASE_EQ(3) - EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x238) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_238) EVT_CASE_DEFAULT - EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, 0x238) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_238) EVT_END_SWITCH EVT_CALL(func_80269550, LVarE) EVT_CALL(DidActionSucceed, LVar0) diff --git a/src/battle/move/auto_smash/763540.c b/src/battle/move/auto_smash/763540.c deleted file mode 100644 index f320e19f50..0000000000 --- a/src/battle/move/auto_smash/763540.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "common.h" - -#define NAMESPACE battle_move_auto_smash - -#include "world/common/todo/IsBerserkerEquipped.inc.c" - -#include "world/common/todo/ShouldMovesAutoSucceed.inc.c" diff --git a/src/battle/move/auto_smash/auto_smash.c b/src/battle/move/auto_smash/auto_smash.c new file mode 100644 index 0000000000..25cc224540 --- /dev/null +++ b/src/battle/move/auto_smash/auto_smash.c @@ -0,0 +1,721 @@ +#include "common.h" +#include "script_api/battle.h" +#include "battle/action_cmd/hammer.h" + +#define NAMESPACE battle_move_auto_smash + +#include "world/common/todo/IsBerserkerEquipped.inc.c" +#include "world/common/todo/ShouldMovesAutoSucceed.inc.c" + +EvtScript N(EVS_802A10B0) = { + EVT_CALL(InitTargetIterator) + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(AddGoalPos, ACTOR_PLAYER, 0, 0, 0) + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 32) + EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(UseBattleCamPreset, 26) + EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(5.0)) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_Running) + EVT_CALL(PlayerRunToGoal, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A118C) = { + EVT_CALL(SetGoalPos, ACTOR_PLAYER, -33, 0, 0) + EVT_CALL(UseBattleCamPreset, 26) + EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(5.0)) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_Running) + EVT_CALL(PlayerRunToGoal, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A1204) = { + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(AddGoalPos, ACTOR_PLAYER, 0, 0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(10) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, TRUE) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_ADD(LVar1, 1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3000D) + EVT_END_LOOP + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3000D) + EVT_SWITCH(LVar1) + EVT_CASE_LT(3) + EVT_WAIT(4) + EVT_CASE_LT(5) + EVT_WAIT(3) + EVT_CASE_LT(7) + EVT_WAIT(2) + EVT_CASE_LT(9) + EVT_WAIT(1) + EVT_CASE_LT(11) + EVT_WAIT(0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A1388) = { + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(AddGoalPos, ACTOR_PLAYER, 0, 0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(10) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, TRUE) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_ADD(LVar1, 1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30014) + EVT_END_LOOP + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30014) + EVT_SWITCH(LVar1) + EVT_CASE_LT(3) + EVT_WAIT(4) + EVT_CASE_LT(5) + EVT_WAIT(3) + EVT_CASE_LT(7) + EVT_WAIT(2) + EVT_CASE_LT(9) + EVT_WAIT(1) + EVT_CASE_LT(11) + EVT_WAIT(0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A150C) = { + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(AddGoalPos, ACTOR_PLAYER, 0, 0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(10) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, TRUE) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_ADD(LVar1, 1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001B) + EVT_END_LOOP + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001B) + EVT_SWITCH(LVar1) + EVT_CASE_LT(3) + EVT_WAIT(4) + EVT_CASE_LT(5) + EVT_WAIT(3) + EVT_CASE_LT(7) + EVT_WAIT(2) + EVT_CASE_LT(9) + EVT_WAIT(1) + EVT_CASE_LT(11) + EVT_WAIT(0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A1690) = { + EVT_CALL(UseBattleCamPreset, 43) + EVT_CALL(SetBattleCamOffsetZ, 8) + EVT_CALL(InitTargetIterator) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10B) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3000E) + EVT_WAIT(4) + EVT_CALL(action_command_hammer_start, 0, 36, 3) + EVT_CALL(SetActionResult, 0) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3000F) + EVT_SET(LVar1, 0) + EVT_LOOP(30) + EVT_WAIT(1) + EVT_CALL(GetActionResult, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_IF_NE(LVar1, 1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30010) + EVT_SET(LVar1, 1) + EVT_END_IF + EVT_END_IF + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_LABEL(0) + EVT_WAIT(1) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, TRUE) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30011) + EVT_WAIT(3) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30012) + EVT_CALL(UseBattleCamPreset, 44) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A18AC) = { + EVT_CALL(func_80276EFC) + EVT_CALL(UseBattleCamPreset, 4) + EVT_CALL(MoveBattleCamOver, 5) + EVT_CALL(func_802693F0) + EVT_WAIT(20) + EVT_CALL(EnablePlayerBlur, -1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) + EVT_WAIT(5) + EVT_CALL(SetGoalToHome, ACTOR_PLAYER) + EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0)) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_Running) + EVT_CALL(PlayerRunToGoal, 0) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A1998) = { + EVT_CALL(func_80276EFC) + EVT_CALL(func_802693F0) + EVT_WAIT(20) + EVT_CALL(EnablePlayerBlur, -1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) + EVT_WAIT(5) + EVT_CALL(SetGoalToHome, ACTOR_PLAYER) + EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0)) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_Running) + EVT_CALL(PlayerRunToGoal, 0) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A1A64) = { + EVT_CALL(func_80276EFC) + EVT_CALL(UseBattleCamPreset, 29) + EVT_CALL(func_802693F0) + EVT_WAIT(20) + EVT_CALL(EnablePlayerBlur, -1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) + EVT_WAIT(5) + EVT_CALL(SetGoalToHome, ACTOR_PLAYER) + EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0)) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_Running) + EVT_CALL(PlayerRunToGoal, 0) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A1B40) = { + EVT_CALL(LoadActionCommand, ACTION_COMMAND_SMASH) + EVT_CALL(action_command_hammer_init) + EVT_EXEC_WAIT(N(EVS_802A10B0)) + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(AddGoalPos, ACTOR_PLAYER, 0, 0, 0) + EVT_EXEC_WAIT(N(EVS_802A1204)) + EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 0, 0, 0, 16) + EVT_CALL(UseBattleCamPreset, 43) + EVT_CALL(SetBattleCamOffsetZ, 8) + EVT_CALL(InitTargetIterator) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10B) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3000E) + EVT_WAIT(4) + EVT_CALL(N(IsBerserkerEquipped)) + EVT_IF_NE(LVar0, HIT_RESULT_HIT) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3000F) + EVT_CALL(GetActionCommandMode, LVar0) + EVT_IF_LT(LVar0, 2) + EVT_CALL(N(ShouldMovesAutoSucceed)) + EVT_IF_EQ(LVar0, 0) + EVT_LOOP(45) + EVT_WAIT(1) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_NE(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_IF + EVT_END_IF + EVT_ADD(LVarD, 6) + EVT_CALL(action_command_hammer_start, 0, LVarD, 3) + EVT_CALL(SetActionResult, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(30) + EVT_WAIT(1) + EVT_CALL(GetActionResult, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_IF_NE(LVar1, 1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30010) + EVT_SET(LVar1, 1) + EVT_END_IF + EVT_END_IF + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_LABEL(0) + EVT_CALL(GetActionCommandMode, LVar0) + EVT_IF_LT(LVar0, 2) + EVT_WAIT(1) + EVT_CALL(GetActionSuccess, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(0) + EVT_END_IF + EVT_END_IF + EVT_ELSE + EVT_CALL(action_command_hammer_start, 0, LVar1, 3) + EVT_CALL(SetActionResult, 0) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3000F) + EVT_SUB(LVar1, 10) + EVT_WAIT(LVar1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30010) + EVT_WAIT(5) + EVT_END_IF + EVT_CALL(GetActionCommandMode, LVar0) + EVT_IF_EQ(LVar0, 2) + EVT_CALL(SetActionCommandMode, 3) + EVT_LOOP(0) + EVT_CALL(GetActionCommandMode, LVar0) + EVT_IF_LT(LVar0, 2) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30011) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2115) + EVT_WAIT(3) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30012) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2118) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A2000) = { + EVT_CALL(LoadActionCommand, ACTION_COMMAND_SMASH) + EVT_CALL(action_command_hammer_init) + EVT_EXEC_WAIT(N(EVS_802A10B0)) + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(AddGoalPos, ACTOR_PLAYER, 0, 0, 0) + EVT_EXEC_WAIT(N(EVS_802A1388)) + EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 0, 0, 0, BS_FLAGS1_10) + EVT_CALL(UseBattleCamPreset, 43) + EVT_CALL(SetBattleCamOffsetZ, 8) + EVT_CALL(InitTargetIterator) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10B) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30015) + EVT_WAIT(4) + EVT_CALL(N(IsBerserkerEquipped)) + EVT_IF_EQ(LVar0, TRUE) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30016) + EVT_CALL(N(ShouldMovesAutoSucceed)) + EVT_IF_EQ(LVar0, HIT_RESULT_HIT) + EVT_LOOP(45) + EVT_WAIT(1) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_NE(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_IF + EVT_ADD(LVarD, 6) + EVT_CALL(action_command_hammer_start, 0, LVarD, 3) + EVT_CALL(SetActionResult, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(30) + EVT_WAIT(1) + EVT_CALL(GetActionResult, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_IF_NE(LVar1, 1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30017) + EVT_SET(LVar1, 1) + EVT_END_IF + EVT_END_IF + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_LABEL(0) + EVT_WAIT(1) + EVT_CALL(GetActionSuccess, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(0) + EVT_END_IF + EVT_ELSE + EVT_CALL(action_command_hammer_start, 0, LVar1, 3) + EVT_CALL(SetActionResult, 0) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30016) + EVT_SUB(LVar1, 10) + EVT_WAIT(LVar1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30017) + EVT_WAIT(5) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30018) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2116) + EVT_WAIT(3) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30019) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2119) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A23E8) = { + EVT_CALL(LoadActionCommand, ACTION_COMMAND_SMASH) + EVT_CALL(action_command_hammer_init) + EVT_EXEC_WAIT(N(EVS_802A10B0)) + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(AddGoalPos, ACTOR_PLAYER, 0, 0, 0) + EVT_EXEC_WAIT(N(EVS_802A150C)) + EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 0, 0, 0, BS_FLAGS1_10) + EVT_CALL(UseBattleCamPreset, 43) + EVT_CALL(SetBattleCamOffsetZ, 8) + EVT_CALL(InitTargetIterator) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10B) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001C) + EVT_WAIT(4) + EVT_CALL(N(IsBerserkerEquipped)) + EVT_IF_EQ(LVar0, TRUE) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001D) + EVT_CALL(N(ShouldMovesAutoSucceed)) + EVT_IF_EQ(LVar0, HIT_RESULT_HIT) + EVT_LOOP(45) + EVT_WAIT(1) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_NE(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_IF + EVT_ADD(LVarD, 6) + EVT_CALL(action_command_hammer_start, 0, LVarD, 3) + EVT_CALL(SetActionResult, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(30) + EVT_WAIT(1) + EVT_CALL(GetActionResult, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_IF_NE(LVar1, 1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001E) + EVT_SET(LVar1, 1) + EVT_END_IF + EVT_END_IF + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_LABEL(0) + EVT_WAIT(1) + EVT_CALL(GetActionSuccess, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(0) + EVT_END_IF + EVT_ELSE + EVT_CALL(action_command_hammer_start, 0, LVar1, 3) + EVT_CALL(SetActionResult, 0) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001D) + EVT_SUB(LVar1, 10) + EVT_WAIT(LVar1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001E) + EVT_WAIT(5) + EVT_END_IF + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001F) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2117) + EVT_WAIT(3) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30020) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_211A) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A27D0) = { + EVT_CALL(ChooseNextTarget, ITER_LAST, LVar0) + EVT_CALL(LoadActionCommand, ACTION_COMMAND_SMASH) + EVT_CALL(action_command_hammer_init) + EVT_EXEC_WAIT(N(EVS_802A118C)) + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(AddGoalPos, ACTOR_PLAYER, 0, 0, 0) + EVT_EXEC_WAIT(N(EVS_802A1204)) + EVT_CALL(UseBattleCamPreset, 43) + EVT_CALL(AddBattleCamZoom, 80) + EVT_CALL(InitTargetIterator) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10B) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3000E) + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3000F) + EVT_CALL(N(ShouldMovesAutoSucceed)) + EVT_IF_EQ(LVar0, 0) + EVT_LOOP(45) + EVT_WAIT(1) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_NE(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_IF + EVT_ADD(LVarD, 6) + EVT_CALL(action_command_hammer_start, 0, LVarD, 3) + EVT_CALL(SetActionResult, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(30) + EVT_WAIT(1) + EVT_CALL(GetActionResult, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_IF_NE(LVar1, 1) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30010) + EVT_SET(LVar1, 1) + EVT_END_IF + EVT_END_IF + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_LABEL(0) + EVT_WAIT(1) + EVT_CALL(GetActionSuccess, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2115) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30011) + EVT_WAIT(3) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30012) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2118) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A2AFC) = { + EVT_CALL(ChooseNextTarget, ITER_LAST, LVar0) + EVT_CALL(LoadActionCommand, ACTION_COMMAND_SMASH) + EVT_CALL(action_command_hammer_init) + EVT_EXEC_WAIT(N(EVS_802A118C)) + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(AddGoalPos, ACTOR_PLAYER, 0, 0, 0) + EVT_EXEC_WAIT(N(EVS_802A1388)) + EVT_CALL(UseBattleCamPreset, 43) + EVT_CALL(AddBattleCamZoom, 80) + EVT_CALL(InitTargetIterator) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10B) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30015) + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30016) + EVT_CALL(N(ShouldMovesAutoSucceed)) + EVT_IF_EQ(LVar0, 0) + EVT_LOOP(45) + EVT_WAIT(1) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_NE(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_IF + EVT_ADD(LVarD, 6) + EVT_CALL(action_command_hammer_start, 0, LVarD, 3) + EVT_LOOP(60) + EVT_WAIT(1) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_LABEL(0) + EVT_WAIT(1) + EVT_CALL(GetActionSuccess, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2116) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30018) + EVT_WAIT(3) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30019) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2119) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_802A2DA0) = { + EVT_CALL(ChooseNextTarget, ITER_LAST, LVar0) + EVT_CALL(LoadActionCommand, ACTION_COMMAND_SMASH) + EVT_CALL(action_command_hammer_init) + EVT_EXEC_WAIT(N(EVS_802A118C)) + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(AddGoalPos, ACTOR_PLAYER, 0, 0, 0) + EVT_EXEC_WAIT(N(EVS_802A150C)) + EVT_CALL(UseBattleCamPreset, 43) + EVT_CALL(AddBattleCamZoom, 80) + EVT_CALL(InitTargetIterator) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10B) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001C) + EVT_WAIT(8) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001D) + EVT_CALL(N(ShouldMovesAutoSucceed)) + EVT_IF_EQ(LVar0, 0) + EVT_LOOP(45) + EVT_WAIT(1) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_NE(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_IF + EVT_ADD(LVarD, 6) + EVT_CALL(action_command_hammer_start, 0, LVarD, 3) + EVT_LOOP(60) + EVT_WAIT(1) + EVT_CALL(CheckButtonDown, BUTTON_STICK_LEFT, LVar0) + EVT_IF_EQ(LVar0, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_LABEL(0) + EVT_WAIT(1) + EVT_CALL(GetActionSuccess, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2117) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_3001F) + EVT_WAIT(3) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_30020) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_211A) + EVT_RETURN + EVT_END +}; + +extern EvtScript N(UseMove_Impl); + +EvtScript N(UseMove) = { + EVT_CALL(SetBattleFlagBits, BS_FLAGS1_AUTO_SUCCEED_ACTION, TRUE) + EVT_CALL(ShowActionHud, 1) + EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_SET(LVarD, 45) + EVT_SET(LVarE, 1) + EVT_SET(LVarF, 2) + EVT_EXEC_WAIT(N(UseMove_Impl)) + EVT_CASE_EQ(1) + EVT_SET(LVarD, 45) + EVT_SET(LVarE, 2) + EVT_SET(LVarF, 4) + EVT_EXEC_WAIT(N(UseMove_Impl)) + EVT_CASE_EQ(2) + EVT_SET(LVarD, 45) + EVT_SET(LVarE, 3) + EVT_SET(LVarF, 6) + EVT_EXEC_WAIT(N(UseMove_Impl)) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(UseMove_Impl) = { + EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_EXEC_WAIT(N(EVS_802A1B40)) + EVT_CASE_EQ(1) + EVT_EXEC_WAIT(N(EVS_802A2000)) + EVT_CASE_EQ(2) + EVT_EXEC_WAIT(N(EVS_802A23E8)) + EVT_END_SWITCH + EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, LVar9, BS_FLAGS1_10) + EVT_CALL(GetActionSuccessCopy, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_GT(0) + EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_CALL(StartRumble, 7) + EVT_THREAD + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) + EVT_END_THREAD + EVT_CASE_EQ(1) + EVT_CALL(StartRumble, 8) + EVT_THREAD + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) + EVT_END_THREAD + EVT_CASE_EQ(2) + EVT_CALL(StartRumble, 9) + EVT_THREAD + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) + EVT_END_THREAD + EVT_END_SWITCH + EVT_CASE_DEFAULT + EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_CALL(StartRumble, 7) + EVT_THREAD + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) + EVT_END_THREAD + EVT_CASE_EQ(1) + EVT_CALL(StartRumble, 8) + EVT_THREAD + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) + EVT_END_THREAD + EVT_CASE_EQ(2) + EVT_CALL(StartRumble, 9) + EVT_THREAD + EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) + EVT_END_THREAD + EVT_END_SWITCH + EVT_END_SWITCH + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_44) + EVT_WAIT(1) + EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, 0, 16) + EVT_IF_EQ(LVar0, HIT_RESULT_MISS) + EVT_EXEC_WAIT(N(EVS_802A1A64)) + EVT_RETURN + EVT_END_IF + EVT_CALL(DidActionSucceed, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_GT(FALSE) + EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_HIT_NORMAL) + EVT_CASE_EQ(1) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10E) + EVT_CASE_EQ(2) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10E) + EVT_END_SWITCH + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, LVarF, 112) + EVT_CASE_DEFAULT + EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) + EVT_SWITCH(LVar1) + EVT_CASE_EQ(0) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_HIT_NORMAL) + EVT_CASE_EQ(1) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10E) + EVT_CASE_EQ(2) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10E) + EVT_END_SWITCH + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, LVarE, 48) + EVT_END_SWITCH + EVT_SWITCH(LVar0) + EVT_CASE_OR_EQ(HIT_RESULT_1) + EVT_CASE_OR_EQ(HIT_RESULT_3) + EVT_EXEC_WAIT(N(EVS_802A18AC)) + EVT_END_CASE_GROUP + EVT_CASE_OR_EQ(HIT_RESULT_HIT) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) + EVT_EXEC_WAIT(N(EVS_802A1A64)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; diff --git a/src/battle/partner/bombette.c b/src/battle/partner/bombette.c index 0b6aa7b8e9..ff7a5338ef 100644 --- a/src/battle/partner/bombette.c +++ b/src/battle/partner/bombette.c @@ -357,7 +357,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleBombette_Hurt) EVT_EXEC_WAIT(DoPartnerHit) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_208C) EVT_SET_CONST(LVar0, 1) @@ -927,7 +927,7 @@ EvtScript N(bodySlam) = { EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 0, 0) EVT_WAIT(2) EVT_CALL(CloseActionCommandInfo) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_2020) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) @@ -993,13 +993,13 @@ EvtScript N(bodySlam) = { EVT_END_IF EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1, 0, LVarE, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP, 0, LVarE, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(HIT_RESULT_1) @@ -1093,7 +1093,7 @@ EvtScript N(bomb) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_BOMB) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_END_SWITCH EVT_CALL(StopSound, SOUND_287) EVT_SWITCH(LVar2) @@ -1230,7 +1230,7 @@ EvtScript N(bomb) = { EVT_CASE_EQ(MOVE_BOMB) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_CANNON1) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, 6) EVT_BREAK_SWITCH EVT_END_IF @@ -1247,7 +1247,7 @@ EvtScript N(bomb) = { EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_CANNON1) EVT_LABEL(5) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, 6) EVT_GOTO(6) EVT_END_IF @@ -1269,7 +1269,7 @@ EvtScript N(bomb) = { EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_CANNON3) EVT_LABEL(10) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, 6) EVT_GOTO(11) EVT_END_IF @@ -1348,7 +1348,7 @@ EvtScript N(firstStrikeBodySlam) = { EVT_CALL(MoveBattleCamOver, 1) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBombette_AboutToExplode) EVT_WAIT(5) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_WAIT(10) EVT_CALL(StopSound, SOUND_287) EVT_LOOP(7) @@ -1377,7 +1377,7 @@ EvtScript N(firstStrikeBodySlam) = { EVT_CALL(ShakeCam, 1, 0, 8, EVT_FLOAT(0.15)) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_CANNON1) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_GOTO(10) EVT_END_IF diff --git a/src/battle/partner/bow.c b/src/battle/partner/bow.c index a132a1c137..61d92cd402 100644 --- a/src/battle/partner/bow.c +++ b/src/battle/partner/bow.c @@ -251,7 +251,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleBow_Hurt) EVT_EXEC_WAIT(DoPartnerHit) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_208C) EVT_SET_CONST(LVar0, 1) @@ -531,7 +531,7 @@ EvtScript N(smack) = { EVT_CALL(GetActionCommandResult, LVarB) EVT_CALL(func_80269600, LVarD) EVT_LABEL(0) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_SlapOnce) EVT_CALL(CloseActionCommandInfo) @@ -584,16 +584,16 @@ EvtScript N(smack) = { EVT_CALL(SetActorSounds, ACTOR_PARTNER, 3, SOUND_2019, 0) EVT_IF_EQ(LVarE, 1) EVT_IF_GT(LVarB, 99) - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_10) EVT_ELSE - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4, 0, LVarC, BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarC, BS_FLAGS1_10) EVT_END_IF EVT_GOTO(1) EVT_ELSE EVT_IF_GT(LVarB, 99) - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4, 0, LVarC, BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarC, BS_FLAGS1_40) EVT_ELSE - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4, 0, LVarC, 0) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarC, 0) EVT_END_IF EVT_GOTO(1) EVT_END_IF @@ -627,14 +627,14 @@ EvtScript N(smack) = { EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4, 0, LVarC, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarC, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_WAIT(8) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_Idle) EVT_EXEC_WAIT(N(returnHome)) EVT_END_CASE_GROUP @@ -925,7 +925,7 @@ EvtScript N(spook) = { EVT_CALL(GetActionResult, LVarF) EVT_LOOP(0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 2, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) EVT_IF_EQ(LVar0, 6) EVT_GOTO(10) EVT_END_IF @@ -1043,7 +1043,7 @@ EvtScript N(fanSmack) = { EVT_CALL(GetActionCommandResult, LVarB) EVT_CALL(func_80269600, LVarD) EVT_LABEL(0) - EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_FanSmackOnce) EVT_CALL(CloseActionCommandInfo) @@ -1103,16 +1103,16 @@ EvtScript N(fanSmack) = { EVT_CALL(SetActorSounds, ACTOR_PARTNER, 3, 8218, 0) EVT_IF_EQ(LVarE, 1) EVT_IF_GT(LVarB, 99) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_10) EVT_ELSE - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_10) EVT_END_IF EVT_GOTO(1) EVT_ELSE EVT_IF_GT(LVarB, 99) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_40) EVT_ELSE - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarC, 0) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, 0) EVT_END_IF EVT_GOTO(1) EVT_END_IF @@ -1167,9 +1167,9 @@ EvtScript N(fanSmack) = { EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_THREAD EVT_IF_EQ(LVarE, 1) diff --git a/src/battle/partner/goombario.c b/src/battle/partner/goombario.c index 2ed879a151..714ef7f5e1 100644 --- a/src/battle/partner/goombario.c +++ b/src/battle/partner/goombario.c @@ -583,7 +583,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleGoombario_HurtStill) EVT_EXEC_WAIT(DoPartnerHit) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_208C) EVT_SET_CONST(LVar0, 1) @@ -942,7 +942,7 @@ EvtScript N(headbonk1) = { EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_200D) EVT_CALL(N(JumpOnTarget), LVarA, 0) - EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(N(OnMissHeadbonk)) @@ -976,7 +976,7 @@ EvtScript N(headbonk1) = { EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, 0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_RETURN EVT_END_CASE_GROUP @@ -1047,7 +1047,7 @@ EvtScript N(headbonk2) = { EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_200D) EVT_CALL(N(JumpOnTarget), LVarA, 0) - EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(N(OnMissHeadbonk)) @@ -1081,7 +1081,7 @@ EvtScript N(headbonk2) = { EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, 0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_RETURN EVT_END_CASE_GROUP @@ -1154,7 +1154,7 @@ EvtScript N(headbonk3) = { EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_200D) EVT_CALL(N(JumpOnTarget), LVarA, 0) - EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(N(OnMissHeadbonk)) @@ -1188,7 +1188,7 @@ EvtScript N(headbonk3) = { EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, 0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_RETURN EVT_END_CASE_GROUP @@ -1274,7 +1274,7 @@ EvtScript N(multibonk) = { EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_200D) EVT_CALL(N(JumpOnTarget), LVarA, 0) - EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_POWER_BOUNCE, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_JUMP | DAMAGE_TYPE_POWER_BOUNCE, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) EVT_CALL(N(OnMissHeadbonk)) @@ -1308,7 +1308,7 @@ EvtScript N(multibonk) = { EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, 0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_RETURN EVT_END_CASE_GROUP @@ -1409,7 +1409,7 @@ EvtScript N(multibonk) = { EVT_CALL(func_80269550, LVarE) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_RETURN EVT_END_CASE_GROUP diff --git a/src/battle/partner/goompa.c b/src/battle/partner/goompa.c index f3b68f7ee4..93352c5739 100644 --- a/src/battle/partner/goompa.c +++ b/src/battle/partner/goompa.c @@ -99,7 +99,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_Goompa_Injured) EVT_EXEC_WAIT(DoNormalHit) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(PlaySound, SOUND_208C) EVT_SET_CONST(LVar0, 1) diff --git a/src/battle/partner/kooper.c b/src/battle/partner/kooper.c index 263dca5bea..206b0ac8e6 100644 --- a/src/battle/partner/kooper.c +++ b/src/battle/partner/kooper.c @@ -283,7 +283,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleKooper_Hurt) EVT_EXEC_WAIT(DoPartnerHit) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_208C) EVT_SET_CONST(LVar0, 1) @@ -627,7 +627,7 @@ EvtScript N(shellToss) = { EVT_CALL(SetActorSpeed, ACTOR_PARTNER, LVarA) EVT_CALL(SetActorSounds, ACTOR_PARTNER, 0, 0, 0) EVT_CALL(RunToGoal, ACTOR_PARTNER, 0) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 2, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_THREAD EVT_CALL(N(SlowDown)) @@ -669,14 +669,14 @@ EvtScript N(shellToss) = { EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, 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, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarE, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, 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_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(HIT_RESULT_1) @@ -814,7 +814,7 @@ EvtScript N(powerShell) = { EVT_IF_GT(LVar0, LVar3) EVT_GOTO(10) EVT_END_IF - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 2, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) EVT_IF_EQ(LVar0, 6) EVT_GOTO(12) EVT_END_IF @@ -831,9 +831,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, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + 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_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarE, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + 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_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0) EVT_LABEL(12) @@ -969,7 +969,7 @@ EvtScript N(dizzyShell) = { EVT_IF_GT(LVar0, LVar3) EVT_GOTO(10) EVT_END_IF - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 2, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_GOTO(12) EVT_END_IF @@ -989,18 +989,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, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_DIZZY | STATUS_FLAG_RIGHT_ON | STATUS_FLAG_80000000, 254, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + 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), 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, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_DIZZY | STATUS_FLAG_RIGHT_ON | STATUS_FLAG_80000000, LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + 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_END_IF EVT_ELSE - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_DIZZY | STATUS_FLAG_RIGHT_ON | STATUS_FLAG_80000000, LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + 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_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, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_DIZZY | STATUS_FLAG_RIGHT_ON | STATUS_FLAG_80000000, 255, 0, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + 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_ELSE - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_DIZZY | STATUS_FLAG_RIGHT_ON | STATUS_FLAG_80000000, 255, 0, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + 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_END_IF EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0) @@ -1214,7 +1215,7 @@ EvtScript N(fireShell) = { EVT_IF_GT(LVar0, LVar3) EVT_GOTO(10) EVT_END_IF - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 2, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) EVT_IF_EQ(LVar0, 6) EVT_GOTO(12) EVT_END_IF @@ -1232,9 +1233,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, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_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_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_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + 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_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0) EVT_LABEL(12) @@ -1283,7 +1284,7 @@ EvtScript N(shellTossOnFirstStrike) = { EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(16.0)) EVT_CALL(SetActorSounds, ACTOR_PARTNER, 0, 0, 0) EVT_CALL(RunToGoal, ACTOR_PARTNER, 0) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 2, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_THREAD EVT_CALL(N(SlowDown)) @@ -1331,7 +1332,7 @@ EvtScript N(shellTossOnFirstStrike) = { EVT_CASE_EQ(MOVE_SHELL_TOSS3) EVT_SET(LVarF, 3) EVT_END_SWITCH - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, 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(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_SHELL_TOSS1) diff --git a/src/battle/partner/lakilester.c b/src/battle/partner/lakilester.c index d926071c88..2edbd7ddf5 100644 --- a/src/battle/partner/lakilester.c +++ b/src/battle/partner/lakilester.c @@ -206,7 +206,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Hurt) EVT_EXEC_WAIT(DoPartnerHit) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_208C) EVT_SET_CONST(LVar0, 1) @@ -871,7 +871,7 @@ EvtScript N(spinyFlip) = { EVT_CALL(SetActorVar, ACTOR_PARTNER, 0, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleLakilester_ThrowSpiny) EVT_WAIT(3) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 2, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_SET(LVarF, -1) EVT_END_IF @@ -919,7 +919,7 @@ EvtScript N(spinyFlip) = { EVT_CASE_GT(0) EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SPINY_SURGE | DAMAGE_TYPE_NO_CONTACT, 0, 0, LVarE, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CASE_DEFAULT - EVT_SET(LVar0, HIT_RESULT_QUAKE_IMMUNE) + EVT_SET(LVar0, HIT_RESULT_NO_DAMAGE) EVT_END_SWITCH EVT_SWITCH(LVarF) EVT_CASE_EQ(1) @@ -934,7 +934,7 @@ EvtScript N(spinyFlip) = { EVT_EXEC_WAIT(N(returnHome2)) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -1054,7 +1054,7 @@ EvtScript N(spinySurge) = { EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 2, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_GOTO(12) EVT_END_IF @@ -1086,7 +1086,7 @@ EvtScript N(spinySurge) = { EVT_EXEC_WAIT(N(returnHome2)) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_END_CASE_GROUP EVT_END_SWITCH diff --git a/src/battle/partner/parakarry.c b/src/battle/partner/parakarry.c index f864da7587..0f8c0e3920 100644 --- a/src/battle/partner/parakarry.c +++ b/src/battle/partner/parakarry.c @@ -716,7 +716,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleParakarry_HurtStill) EVT_EXEC_WAIT(DoPartnerHit) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_208C) EVT_SET_CONST(LVar0, 1) @@ -959,7 +959,7 @@ EvtScript N(skyDive) = { EVT_CALL(AddGoalPos, ACTOR_PARTNER, -10, 0, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleParakarry_Dive) EVT_CALL(FlyToGoal, ACTOR_PARTNER, 5, 0, 0) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CHILD_THREAD EVT_WAIT(5) @@ -983,14 +983,14 @@ EvtScript N(skyDive) = { EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4, 0, LVarE, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarE, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_SET_CONST(LVarA, ANIM_BattleParakarry_Think) EVT_EXEC_WAIT(N(returnHome)) EVT_END_CASE_GROUP @@ -1016,7 +1016,7 @@ EvtScript N(shellShot) = { EVT_CALL(StopSound, SOUND_311) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_2006) EVT_CALL(GetActionResult, LVar0) - EVT_CALL(PartnerTestEnemy, LVarA, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVarA, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVarA, HIT_RESULT_MISS) EVT_SET(LVar0, -2) EVT_END_IF @@ -1060,16 +1060,16 @@ EvtScript N(shellShot) = { EVT_CALL(N(GetShellShotDamage)) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, 0, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, 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_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_110) EVT_CASE_DEFAULT - EVT_SET(LVar0, HIT_RESULT_QUAKE_IMMUNE) + EVT_SET(LVar0, HIT_RESULT_NO_DAMAGE) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0) EVT_LABEL(10) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_IF_EQ(LocalFlag(0), 1) EVT_SET_CONST(LVarA, ANIM_BattleParakarry_HurtStill) EVT_ELSE @@ -1117,7 +1117,7 @@ EvtScript N(airLift) = { EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleParakarry_LiftLight) EVT_CALL(SetAnimationRate, ACTOR_PARTNER, 0, EVT_FLOAT(2.0)) EVT_WAIT(2) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(CloseActionCommandInfo) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_51) @@ -1138,7 +1138,7 @@ EvtScript N(airLift) = { EVT_RETURN EVT_END_IF EVT_WAIT(3) - EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_AIR_LIFT, ATTACK_EVENT_FLAG_4, 0, 0, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_AIR_LIFT, SUPPRESS_EVENT_SPIKY_FRONT, 0, 0, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(N(AirLiftChance)) EVT_IF_NE(LVar0, -1) EVT_CALL(action_command_air_lift_start, 0, 87, 3, 0) @@ -1252,17 +1252,17 @@ EvtScript N(airRaid) = { EVT_CALL(InitTargetIterator) EVT_LABEL(10) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, 6) EVT_GOTO(11) EVT_END_IF 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, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10 | ATTACK_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_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(PlaySoundAtActor, ACTOR_PARTNER, SOUND_110) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + 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_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 2dabbf0606..8d153c418c 100644 --- a/src/battle/partner/sushie.c +++ b/src/battle/partner/sushie.c @@ -490,7 +490,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleSushie_Hurt) EVT_EXEC_WAIT(DoPartnerHit) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_208C) EVT_SET_CONST(LVar0, 1) @@ -886,7 +886,7 @@ EvtScript N(bellyFlop) = { EVT_SET(LVarE, 3) EVT_SET(LVarF, 5) EVT_END_SWITCH - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetActorScale, ACTOR_PARTNER, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(LandJump, ACTOR_PARTNER) @@ -910,13 +910,13 @@ EvtScript N(bellyFlop) = { EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, ATTACK_EVENT_FLAG_4, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, ATTACK_EVENT_FLAG_4, 0, LVarE, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarE, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_51) EVT_EXEC_WAIT(N(returnHome)) EVT_END_CASE_GROUP @@ -982,7 +982,7 @@ EvtScript N(squirt) = { EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_297) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_D) EVT_CALL(MoveBattleCamOver, 10) - EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_WATER | DAMAGE_TYPE_NO_CONTACT, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_WATER | DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleSushie_Squirt) EVT_CALL(SetActorScale, ACTOR_SELF, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) @@ -1010,15 +1010,15 @@ EvtScript N(squirt) = { EVT_CALL(N(GetSquirtDamage)) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_WATER | DAMAGE_TYPE_NO_CONTACT, ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_200, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_WATER | DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_200, 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_WATER | DAMAGE_TYPE_NO_CONTACT, ATTACK_EVENT_FLAG_2 | ATTACK_EVENT_FLAG_10 | ATTACK_EVENT_FLAG_200, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_WATER | DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_200, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_110) EVT_END_SWITCH EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(restoreFromSquirt)) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(HIT_RESULT_1) @@ -1200,7 +1200,7 @@ EvtScript N(tidalWave) = { EVT_CALL(InitTargetIterator) EVT_LOOP(0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 2, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_GOTO(10) EVT_END_IF diff --git a/src/battle/partner/twink.c b/src/battle/partner/twink.c index 1235629e25..eb247554d1 100644 --- a/src/battle/partner/twink.c +++ b/src/battle/partner/twink.c @@ -126,7 +126,7 @@ ApiStatus func_80238028_714D18(Evt* script, s32 isInitialCall) { D_802382F8_714FE8 += 18; D_802382F8_714FE8 = clamp_angle(D_802382F8_714FE8); - actor->unk_19A = 2.0f * sin_rad(DEG_TO_RAD(D_802382F8_714FE8)); + actor->verticalRenderOffset = 2.0f * sin_rad(DEG_TO_RAD(D_802382F8_714FE8)); return ApiStatus_DONE2; } @@ -153,7 +153,7 @@ EvtScript N(handleEvent) = { EVT_EXEC_WAIT(DoNormalHit) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Peach_A0002) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Peach_C0005) EVT_SET_CONST(LVar0, 1) diff --git a/src/battle/partner/watt.c b/src/battle/partner/watt.c index b48d4a604e..8e9faa0f9c 100644 --- a/src/battle/partner/watt.c +++ b/src/battle/partner/watt.c @@ -62,9 +62,9 @@ ApiStatus N(WattFXUpdate)(Evt* script, s32 isInitialCall) { sWattEffectData_bouncePhase = clamp_angle(sWattEffectData_bouncePhase); } - partner->unk_19A = sin_rad(DEG_TO_RAD(sWattEffectData_bouncePhase)) * 3.0f; + partner->verticalRenderOffset = sin_rad(DEG_TO_RAD(sWattEffectData_bouncePhase)) * 3.0f; x = partner->currentPos.x + partner->headOffset.x; - y = partner->currentPos.y + partner->headOffset.y + partner->unk_19A + 12.0f; + y = partner->currentPos.y + partner->headOffset.y + partner->verticalRenderOffset + 12.0f; z = partner->currentPos.z + partner->headOffset.z; if ((gBattleStatus.flags2 & (BS_FLAGS2_10 | BS_FLAGS2_4)) == BS_FLAGS2_4) { y = NPC_DISPOSE_POS_Y; @@ -192,7 +192,7 @@ ApiStatus N(PowerShockDischargeFX)(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* partner = gBattleStatus.partnerActor; f32 x = partner->currentPos.x + partner->headOffset.x; - f32 y = partner->currentPos.y + partner->headOffset.y + partner->unk_19A + 12.0f; + f32 y = partner->currentPos.y + partner->headOffset.y + partner->verticalRenderOffset + 12.0f; f32 z = partner->currentPos.z + partner->headOffset.z; if (isInitialCall) { @@ -552,7 +552,7 @@ EvtScript N(handleEvent) = { EVT_SET_CONST(LVar1, ANIM_BattleWatt_Hurt) EVT_EXEC_WAIT(DoPartnerHit) EVT_END_CASE_GROUP - EVT_CASE_OR_EQ(EVENT_SCRIPTED_IMMUNE) + EVT_CASE_OR_EQ(EVENT_ZERO_DAMAGE) EVT_CASE_OR_EQ(EVENT_IMMUNE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_208C) EVT_SET_CONST(LVar0, 1) @@ -800,7 +800,7 @@ EvtScript N(electroDash) = { EVT_KILL_THREAD(LVarA) EVT_GOTO(10) EVT_END_IF - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT, 0, 1, BS_FLAGS1_10) EVT_SET(LocalFlag(0), 0) EVT_EXEC_GET_TID(N(charge), LVarA) EVT_LOOP(55) @@ -853,7 +853,7 @@ EvtScript N(electroDash) = { EVT_KILL_THREAD(LVarA) EVT_GOTO(10) EVT_END_IF - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT, 0, 1, BS_FLAGS1_10) EVT_SET(LocalFlag(0), 0) EVT_EXEC_GET_TID(N(charge), LVarA) EVT_LOOP(55) @@ -907,7 +907,7 @@ EvtScript N(electroDash) = { EVT_WAIT(2) EVT_CALL(N(SetBackgroundAlpha), 0) EVT_END_THREAD - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_THREAD EVT_WAIT(5) @@ -940,9 +940,9 @@ EvtScript N(electroDash) = { EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_IGNORE_DEFENSE, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_IGNORE_DEFENSE, ATTACK_EVENT_FLAG_1 | ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_8 | ATTACK_EVENT_FLAG_80, 0, LVarE, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarE, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_CALL(PartnerYieldTurn) EVT_SWITCH(LVar0) @@ -951,7 +951,7 @@ EvtScript N(electroDash) = { EVT_EXEC_WAIT(N(returnHome2)) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -979,7 +979,7 @@ EvtScript N(powerShock) = { EVT_CALL(AddGoalPos, ACTOR_PARTNER, -15, -10, 0) EVT_CALL(FlyToGoal, ACTOR_PARTNER, 30, 0, 10) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleWatt_Idle) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT, 0, 1, BS_FLAGS1_10) EVT_CALL(AddBattleCamZoom, -100) EVT_CALL(MoveBattleCamOver, 80) EVT_CALL(N(WattFXDisable)) @@ -1045,7 +1045,7 @@ EvtScript N(powerShock) = { EVT_CALL(SetActorRotationOffset, ACTOR_SELF, 0, 0, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleWatt_Idle) EVT_END_THREAD - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_WAIT(15) EVT_EXEC_WAIT(N(returnHome)) @@ -1055,9 +1055,9 @@ EvtScript N(powerShock) = { EVT_CALL(GetActionCommandResult, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_PARALYZE | STATUS_FLAG_RIGHT_ON | STATUS_FLAG_80000000, 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_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_CASE_DEFAULT - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_PARALYZE | STATUS_FLAG_RIGHT_ON | STATUS_FLAG_80000000, 255, 0, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, DMG_STATUS_ALWAYS(STATUS_FLAG_PARALYZE, 3), 255, 0, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_CALL(PartnerYieldTurn) EVT_IF_NE(LocalFlag(15), 1) @@ -1074,7 +1074,7 @@ EvtScript N(powerShock) = { EVT_EXEC_WAIT(N(returnHome2)) EVT_END_CASE_GROUP EVT_CASE_OR_EQ(HIT_RESULT_HIT) - EVT_CASE_OR_EQ(HIT_RESULT_QUAKE_IMMUNE) + EVT_CASE_OR_EQ(HIT_RESULT_NO_DAMAGE) EVT_EXEC_WAIT(N(returnHome)) EVT_END_CASE_GROUP EVT_END_SWITCH @@ -1343,14 +1343,14 @@ EvtScript N(megaShock) = { EVT_LOOP(0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetActionCommandResult, LVarF) - EVT_CALL(PartnerTestEnemy, LVar0, 0, ATTACK_EVENT_FLAG_4 | ATTACK_EVENT_FLAG_10, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_GOTO(11) EVT_END_IF EVT_IF_EQ(LVarF, 100) - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_PARALYZE | STATUS_FLAG_RIGHT_ON | STATUS_FLAG_80000000, 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_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_ELSE - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_ELECTRIC | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_NO_OTHER_DAMAGE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, STATUS_FLAG_100 | STATUS_FLAG_200 | STATUS_FLAG_PARALYZE | STATUS_FLAG_RIGHT_ON | STATUS_FLAG_80000000, 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_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_END_IF EVT_LABEL(11) EVT_CALL(ChooseNextTarget, 0, LVar0) diff --git a/src/cd180_len_38f0.c b/src/cd180_len_38f0.c index b2acf3b595..034e254bf8 100644 --- a/src/cd180_len_38f0.c +++ b/src/cd180_len_38f0.c @@ -492,7 +492,7 @@ void set_map_transition_effect(ScreenTransition transition) { D_8014C6F0 = transition; } -s32 update_exit_map_screen_overlay(s16* progress) { +s16 update_exit_map_screen_overlay(s16* progress) { u8 overlayColor; u8 type = 0; u8 r = 0; diff --git a/src/encounter.c b/src/encounter.c index fd749b3e2d..3e6d84dee7 100644 --- a/src/encounter.c +++ b/src/encounter.c @@ -2525,10 +2525,10 @@ void create_encounters(void) { } bp->onUpdate = NULL; bp->onRender = NULL; - if (!(enemy->flags & ENEMY_FLAG_20000)) { - newNpcIndex = _create_npc_standard(bp, (AnimID*) npcData->extraAnimations); + if (!(enemy->flags & ENEMY_FLAG_USE_PLAYER_SPRITE)) { + newNpcIndex = create_standard_npc(bp, npcData->extraAnimations); } else { - newNpcIndex = _create_npc_partner(bp); + newNpcIndex = create_peach_npc(bp); } newNpc = get_npc_by_index(newNpcIndex); diff --git a/src/entity_model.c b/src/entity_model.c index 15d1b5a699..fef66570d5 100644 --- a/src/entity_model.c +++ b/src/entity_model.c @@ -122,7 +122,7 @@ s32 load_entity_model(EntityModelScript* cmdList) { newEntityModel->cmdListSavedPos = newEntityModel->cmdListReadPos; if (gGameStatusPtr->isBattle) { - i |= BATTLE_ENTITY_ID_MASK; + i |= BATTLE_ENTITY_ID_BIT; } return i; } @@ -164,7 +164,7 @@ s32 ALT_load_entity_model(EntityModelScript* cmdList) { newEntityModel->cmdListSavedPos = newEntityModel->cmdListReadPos; if (gGameStatusPtr->isBattle) { - i |= BATTLE_ENTITY_ID_MASK; + i |= BATTLE_ENTITY_ID_BIT; } return i; } @@ -172,8 +172,8 @@ s32 ALT_load_entity_model(EntityModelScript* cmdList) { void exec_entity_model_commandlist(s32 idx) { EntityModel* entityModel; - if (!gGameStatusPtr->isBattle || (idx & BATTLE_ENTITY_ID_MASK)) { - idx &= ~BATTLE_ENTITY_ID_MASK; + if (!gGameStatusPtr->isBattle || (idx & BATTLE_ENTITY_ID_BIT)) { + idx &= ~BATTLE_ENTITY_ID_BIT; entityModel = (*gCurrentEntityModelList)[idx]; if (entityModel != NULL && (entityModel->flags)) { if (!(entityModel->flags & ENTITY_MODEL_FLAG_HIDDEN)) { @@ -718,7 +718,7 @@ void draw_entity_model_E(s32 modelIdx, Mtx* transformMtx) { } void set_entity_model_render_command_list(s32 idx, EntityModelScript* cmdList) { - EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_MASK]; + EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_BIT]; if (entityModel != NULL && entityModel->flags) { if (cmdList == NULL) { @@ -732,11 +732,11 @@ void set_entity_model_render_command_list(s32 idx, EntityModelScript* cmdList) { } EntityModel* get_entity_model(s32 listIndex) { - return (*gCurrentEntityModelList)[listIndex & ~BATTLE_ENTITY_ID_MASK]; + return (*gCurrentEntityModelList)[listIndex & ~BATTLE_ENTITY_ID_BIT]; } void free_entity_model_by_index(s32 idx) { - s32 index = idx & ~BATTLE_ENTITY_ID_MASK; + s32 index = idx & ~BATTLE_ENTITY_ID_BIT; EntityModel* entityModel = (*gCurrentEntityModelList)[index]; if (entityModel != NULL && entityModel->flags) { @@ -767,7 +767,7 @@ void free_entity_model_by_ref(EntityModel* entityModel) { } void set_entity_model_flags(s32 idx, s32 newFlags) { - EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_MASK]; + EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_BIT]; if (entityModel != NULL && entityModel->flags) { entityModel->flags |= newFlags; @@ -775,7 +775,7 @@ void set_entity_model_flags(s32 idx, s32 newFlags) { } void clear_entity_model_flags(s32 idx, s32 newFlags) { - EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_MASK]; + EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_BIT]; if (entityModel != NULL && entityModel->flags) { entityModel->flags &= ~newFlags; @@ -783,20 +783,20 @@ void clear_entity_model_flags(s32 idx, s32 newFlags) { } void bind_entity_model_setupGfx(s32 idx, void* setupGfxCallbackArg0, void (*fpSetupGfxCallback)(void*)) { - EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_MASK]; + EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_BIT]; entityModel->fpSetupGfxCallback = fpSetupGfxCallback; entityModel->setupGfxCallbackArg0 = setupGfxCallbackArg0; } void func_80122F8C(s32 idx, s32 newFlags) { - EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_MASK]; + EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_BIT]; entityModel->flags |= newFlags; } void func_80122FB8(s32 idx, s32 newFlags) { - EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_MASK]; + EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_BIT]; entityModel->flags = (entityModel->flags & ~(ENTITY_MODEL_FLAG_CAM0 | ENTITY_MODEL_FLAG_CAM1 | ENTITY_MODEL_FLAG_CAM2 | ENTITY_MODEL_FLAG_CAM3)) | newFlags; } diff --git a/src/evt/msg_api.c b/src/evt/msg_api.c index b79bd1002e..4e4c3301b6 100644 --- a/src/evt/msg_api.c +++ b/src/evt/msg_api.c @@ -145,7 +145,7 @@ s32 _show_message(Evt* script, s32 isInitialCall, s32 mode) { get_screen_coords(gCurrentCameraID, speakerNpc->pos.x, speakerNpc->pos.y + speakerNpc->collisionHeight, speakerNpc->pos.z, &screenX, &screenY, &screenZ); animID = script->varTable[13]; if (animID != -1) { - if (!(gCurrentPrintContext->stateFlags & 0x80)) { + if (!(gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_80)) { animID = script->varTable[14]; } set_npc_animation(speakerNpc, animID); @@ -153,7 +153,7 @@ s32 _show_message(Evt* script, s32 isInitialCall, s32 mode) { } else { get_screen_coords(gCurrentCameraID, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z, &screenX, &screenY, &screenZ); if (script->varTable[13] != -1) { - if (gCurrentPrintContext->stateFlags & 0x80) { + if (gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_80) { playerStatus->anim = script->varTable[13]; } else { playerStatus->anim = script->varTable[14]; @@ -165,7 +165,7 @@ s32 _show_message(Evt* script, s32 isInitialCall, s32 mode) { msg_printer_set_origin_pos(gCurrentPrintContext, screenX + ShowMessageScreenOffsetX, screenY + ShowMessageScreenOffsetY); } - if (gCurrentPrintContext->stateFlags & 0x40) { + if (gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_40) { return TRUE; } @@ -200,7 +200,7 @@ ApiStatus ShowMessageAtScreenPos(Evt* script, s32 isInitialCall) { msg_printer_set_origin_pos(gCurrentPrintContext, x, y); } - if (gCurrentPrintContext->stateFlags & 0x40) { + if (gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_40) { return ApiStatus_DONE1; } @@ -234,7 +234,7 @@ ApiStatus ShowMessageAtWorldPos(Evt* script, s32 isInitialCall) { msg_printer_set_origin_pos(*currentPrintContext, x2, y2); } - if (gCurrentPrintContext->stateFlags & 0x40) { + if (gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_40) { return ApiStatus_DONE1; } @@ -251,7 +251,7 @@ ApiStatus CloseMessage(Evt* script, s32 isInitialCall) { close_message(gCurrentPrintContext); } - if (gCurrentPrintContext->stateFlags & 0x40) { + if (gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_40) { return ApiStatus_DONE1; } else if (D_802DB264 != 1) { return ApiStatus_BLOCK; @@ -268,7 +268,7 @@ ApiStatus SwitchMessage(Evt* script, s32 isInitialCall) { msg_printer_load_msg(evt_get_variable(script, *args), gCurrentPrintContext); } - if (gCurrentPrintContext->stateFlags & 0x40) { + if (gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_40) { return ApiStatus_DONE1; } else if (D_802DB264 != 1) { return ApiStatus_BLOCK; @@ -292,7 +292,7 @@ ApiStatus ShowChoice(Evt* script, s32 isInitialCall) { temp802DB268 = &D_802DB268; script->varTable[0] = gCurrentPrintContext->currentOption = (*temp802DB268)->currentOption; - if ((*temp802DB268)->stateFlags & 0x40) { + if ((*temp802DB268)->stateFlags & MSG_STATE_FLAG_40) { return ApiStatus_DONE1; } diff --git a/src/evt/npc_api.c b/src/evt/npc_api.c index 486d981b4a..420cc9f783 100644 --- a/src/evt/npc_api.c +++ b/src/evt/npc_api.c @@ -39,7 +39,7 @@ ApiStatus CreateNpc(Evt* script, s32 isInitialCall) { blueprint.onUpdate = NULL; blueprint.onRender = NULL; - npc = get_npc_by_index(_create_npc_basic(&blueprint)); + npc = get_npc_by_index(create_basic_npc(&blueprint)); npc->npcID = npcID; disable_npc_shadow(npc); return ApiStatus_DONE2; @@ -811,7 +811,7 @@ s32 BringPartnerOut(Evt *script, s32 isInitialCall) { bpPointer->onUpdate = NULL; bpPointer->onRender = NULL; - wExtraPartnerNpcID = _create_npc_basic(bpPointer); + wExtraPartnerNpcID = create_basic_npc(bpPointer); npc = get_npc_by_index(wExtraPartnerNpcID); npc->collisionRadius = 10; npc->collisionHeight = 10; diff --git a/src/move_script.c b/src/move_script.c index 5d509efe3e..494346f9d7 100644 --- a/src/move_script.c +++ b/src/move_script.c @@ -50,6 +50,7 @@ extern EvtScript battle_move_mega_jump_main; extern EvtScript battle_move_d_down_jump_main; extern EvtScript battle_move_shrink_stomp_main; extern EvtScript battle_move_earthquake_jump_main; +extern EvtScript battle_move_auto_smash_UseMove; // Some moves seem to have multiple entry point methods, in which case the _SCR macro is used #define BTL_MOVE_TABLE_ENTRY(name) { battle_move_##name##_ROM_START, battle_move_##name##_ROM_END, battle_move_##name##_VRAM, &battle_move_##name##_main } @@ -75,7 +76,7 @@ BattleTableEntry gMoveScriptTable[] = { BTL_MOVE_TABLE_ENTRY_SCR(hammer_charge_1, battle_move_hammer_charge_1_802A32B4), BTL_MOVE_TABLE_ENTRY_SCR(hammer_charge_2, battle_move_hammer_charge_2_802A3944), BTL_MOVE_TABLE_ENTRY_SCR(hammer_charge_2, battle_move_hammer_charge_2_802A32B4), - BTL_MOVE_TABLE_ENTRY(auto_smash), + BTL_MOVE_TABLE_ENTRY_SCR(auto_smash, battle_move_auto_smash_UseMove), BTL_MOVE_TABLE_ENTRY(power_quake), BTL_MOVE_TABLE_ENTRY(power_smash), BTL_MOVE_TABLE_ENTRY(super_smash), diff --git a/src/msg.c b/src/msg.c index a4a765b338..5ea61d50af 100644 --- a/src/msg.c +++ b/src/msg.c @@ -320,13 +320,13 @@ s32 _update_message(MessagePrintState* printer) { if ((buttons & gGameStatusPtr->pressedButtons[0]) || (gGameStatusPtr->currentButtons[0] & BUTTON_B)) { printer->windowState = MSG_WINDOW_STATE_PRINTING; printer->currentPrintDelay = 0; - printer->stateFlags |= 4; + printer->stateFlags |= MSG_STATE_FLAG_4; if (gGameStatusPtr->pressedButtons[0] & (BUTTON_A | BUTTON_C_DOWN)) { cond = TRUE; sfx_play_sound_with_params(SOUND_MENU_NEXT, 0, 0, 0); } else if (printer->srcBuffer[printer->srcBufferPos] != MSG_CHAR_READ_END) { printer->stateFlags |= MSG_STATE_FLAG_PRINT_QUICKLY | MSG_STATE_FLAG_4; - if (printer->fontVariant != 0 || printer->srcBuffer[printer->srcBufferPos] != 0xC3) { + if (printer->fontVariant != 0 || printer->srcBuffer[printer->srcBufferPos] != MSG_CHAR_UNK_C3) { printer->stateFlags |= MSG_STATE_FLAG_PRINT_QUICKLY | MSG_STATE_FLAG_80 | MSG_STATE_FLAG_4; } sfx_play_sound_with_params(SOUND_CC, 0, 0, 0); @@ -489,7 +489,7 @@ s32 _update_message(MessagePrintState* printer) { if (printer->style == MSG_STYLE_SIGN || printer->style == MSG_STYLE_LAMPPOST || - printer->srcBuffer[printer->srcBufferPos] == 0xF1) + printer->srcBuffer[printer->srcBufferPos] == MSG_CHAR_READ_WAIT) { printer->currentPrintDelay = 0; } else { diff --git a/src/npc.c b/src/npc.c index d345d2a452..d66c706056 100644 --- a/src/npc.c +++ b/src/npc.c @@ -90,7 +90,7 @@ void npc_iter_no_op(void) { } } -s32 _create_npc(NpcBlueprint* blueprint, AnimID* animList, s32 skipLoadingAnims) { +s32 create_npc_impl(NpcBlueprint* blueprint, AnimID* animList, s32 isPeachNpc) { Npc* npc; s32 i; s32 j; @@ -107,7 +107,7 @@ s32 _create_npc(NpcBlueprint* blueprint, AnimID* animList, s32 skipLoadingAnims) ASSERT(npc != NULL); npc->flags = blueprint->flags | (NPC_FLAG_400000 | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_HAS_SHADOW | NPC_FLAG_1); - if (skipLoadingAnims) { + if (isPeachNpc) { npc->flags |= NPC_FLAG_NO_ANIMS_LOADED; } @@ -170,7 +170,7 @@ s32 _create_npc(NpcBlueprint* blueprint, AnimID* animList, s32 skipLoadingAnims) if (npc->onRender == NULL) { npc->onRender = &STUB_npc_callback; } - if (!skipLoadingAnims) { + if (!isPeachNpc) { npc->extraAnimList = animList; if (!(npc->flags & NPC_FLAG_1000000)) { if (!(npc->flags & NPC_FLAG_PARTICLE)) { @@ -187,28 +187,28 @@ s32 _create_npc(NpcBlueprint* blueprint, AnimID* animList, s32 skipLoadingAnims) npc->shadowScale = 1.0f; if (gGameStatusPtr->isBattle) { - i |= 0x800; + i |= BATTLE_NPC_ID_BIT; } return i; } -s32 _create_npc_basic(NpcBlueprint* blueprint) { - return _create_npc(blueprint, NULL, FALSE); +s32 create_basic_npc(NpcBlueprint* blueprint) { + return create_npc_impl(blueprint, NULL, FALSE); } -s32 _create_npc_standard(NpcBlueprint* blueprint, AnimID* animList) { - return _create_npc(blueprint, animList, FALSE); +s32 create_standard_npc(NpcBlueprint* blueprint, AnimID* animList) { + return create_npc_impl(blueprint, animList, FALSE); } -s32 _create_npc_partner(NpcBlueprint* blueprint) { - return _create_npc(blueprint, NULL, TRUE); +s32 create_peach_npc(NpcBlueprint* blueprint) { + return create_npc_impl(blueprint, NULL, TRUE); } void free_npc_by_index(s32 listIndex) { Npc* npc; s32 i; - listIndex &= ~0x800; + listIndex &= ~BATTLE_NPC_ID_BIT; npc = (*gCurrentNpcListPtr)[listIndex]; if (npc != NULL) { @@ -274,7 +274,7 @@ void free_npc(Npc* npc) { } Npc* get_npc_by_index(s32 listIndex) { - return (*gCurrentNpcListPtr)[listIndex & ~0x800]; + return (*gCurrentNpcListPtr)[listIndex & ~BATTLE_NPC_ID_BIT]; } void npc_do_world_collision(Npc* npc) { diff --git a/src/state_file_select.c b/src/state_file_select.c index a296d183ec..25bf265469 100644 --- a/src/state_file_select.c +++ b/src/state_file_select.c @@ -370,7 +370,7 @@ void state_step_exit_file_select(void) { for (i = 44; i < ARRAY_COUNT(gWindows); i++) { Window* window = &gWindows[i]; - if (window->parent == 44 || window->parent == -1) { + if (window->parent == WINDOW_ID_FILEMENU_MAIN || window->parent == -1) { flagSum += window->flags & WINDOW_FLAG_INITIAL_ANIMATION; } } @@ -380,7 +380,7 @@ void state_step_exit_file_select(void) { } break; case 1: - if (temp_s0 == 0 || (update_exit_map_screen_overlay(D_800A0932) << 0x10) != 0) { + if (temp_s0 == 0 || update_exit_map_screen_overlay(D_800A0932) != 0) { D_800A0931 = 2; } break; diff --git a/src/status_icons.c b/src/status_icons.c index 7725a3721b..abafa1da95 100644 --- a/src/status_icons.c +++ b/src/status_icons.c @@ -206,7 +206,7 @@ void show_merlee_message(s16 messageIndex, s16 duration) { if (popup != NULL) { popup->updateFunc = update_merlee_message; popup->renderUIFunc = draw_merlee_message; - popup->unk_17 = 1; + popup->unk_17 = TRUE; popup->unk_00 = 0; popup->renderWorldFunc = NULL; popup->messageIndex = messageIndex; @@ -246,7 +246,7 @@ void update_merlee_message(void* data) { } if (closeMessage) { - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_HIDE); D_800A0F40 = 0; dispose_merlee_message(popup); } @@ -269,13 +269,13 @@ void draw_merlee_message(void* data) { s32 xPos; s32 width; - if (popup->unk_17 != 0) { - popup->unk_17 = 0; + if (popup->unk_17) { + popup->unk_17 = FALSE; messageID = D_80078168[popup->messageIndex]; width = get_msg_width(messageID, 0) + 30; xPos = 160 - (width / 2); - set_window_properties(WINDOW_ID_9, xPos, 80, width, D_80078160[get_msg_lines(messageID) - 1], 0, draw_merlee_message_string, popup, -1); - set_window_update(WINDOW_ID_9, WINDOW_UPDATE_SHOW); + set_window_properties(WINDOW_ID_BATTLE_POPUP, xPos, 80, width, D_80078160[get_msg_lines(messageID) - 1], 0, draw_merlee_message_string, popup, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); } } diff --git a/src/windows.c b/src/windows.c index 90c20ff042..ef68fd31db 100644 --- a/src/windows.c +++ b/src/windows.c @@ -125,9 +125,9 @@ u8 gWindowDisappearFlags[] = { DRAW_FLAG_ROTSCALE, DRAW_FLAG_ROTSCALE, DRAW_FLAG WindowGroup gWindowGroups[] = { { WINDOW_ID_0, WINDOW_ID_FILEMENU_FILE3_TITLE }, // all windows - { WINDOW_ID_8, WINDOW_ID_9 }, // battle ? + { WINDOW_ID_8, WINDOW_ID_BATTLE_POPUP }, // battle ? { WINDOW_ID_PAUSE_MAIN, WINDOW_ID_PAUSE_TAB_INVIS }, // pause menu - { WINDOW_ID_PAUSE_CURSOR, WINDOW_ID_FILEMENU_FILE3_TITLE } // file menu + { WINDOW_ID_FILEMENU_MAIN, WINDOW_ID_FILEMENU_FILE3_TITLE } // file menu }; void clear_windows(void) { diff --git a/src/worker.c b/src/worker.c index 0d110326fe..4ec998ef48 100644 --- a/src/worker.c +++ b/src/worker.c @@ -51,7 +51,7 @@ s32 create_worker_world(void (*updateFunc)(void), void (*drawFunc)(void)) { } if (gGameStatusPtr->isBattle) { - i |= BATTLE_ENTITY_ID_MASK; + i |= BATTLE_ENTITY_ID_BIT; } return i; } @@ -82,7 +82,7 @@ s32 create_worker_frontUI(void (*updateFunc)(void), void (*drawFunc)(void)) { } if (gGameStatusPtr->isBattle) { - i |= BATTLE_ENTITY_ID_MASK; + i |= BATTLE_ENTITY_ID_BIT; } return i; } @@ -113,7 +113,7 @@ s32 create_worker_backUI(void (*updateFunc)(void), void (*drawFunc)(void)) { } if (gGameStatusPtr->isBattle) { - i |= BATTLE_ENTITY_ID_MASK; + i |= BATTLE_ENTITY_ID_BIT; } return i; } @@ -170,8 +170,8 @@ void render_workers_backUI(void) { } void free_worker(s32 idx) { - if (!gGameStatusPtr->isBattle || (idx & BATTLE_ENTITY_ID_MASK)) { - idx &= ~BATTLE_ENTITY_ID_MASK; + if (!gGameStatusPtr->isBattle || (idx & BATTLE_ENTITY_ID_BIT)) { + idx &= ~BATTLE_ENTITY_ID_BIT; if ((*gCurrentWorkerListPtr)[idx] != NULL) { heap_free((*gCurrentWorkerListPtr)[idx]); (*gCurrentWorkerListPtr)[idx] = NULL; @@ -180,5 +180,5 @@ void free_worker(s32 idx) { } Worker* get_worker(s32 idx) { - return (*gCurrentWorkerListPtr)[idx & ~BATTLE_ENTITY_ID_MASK]; + return (*gCurrentWorkerListPtr)[idx & ~BATTLE_ENTITY_ID_BIT]; } diff --git a/src/world/area_arn/arn_05/arn_05_3_npc.c b/src/world/area_arn/arn_05/arn_05_3_npc.c index 2aeb2288ac..a8f8da2c42 100644 --- a/src/world/area_arn/arn_05/arn_05_3_npc.c +++ b/src/world/area_arn/arn_05/arn_05_3_npc.c @@ -624,14 +624,14 @@ EvtScript N(EVS_NpcInit_Tubba) = { EVT_END }; -s32 N(extraAnimationList_80244390)[] = { +AnimID N(ExtraAnims_Tubba)[] = { ANIM_WorldTubba_Anim06, ANIM_WorldTubba_Anim09, ANIM_WorldTubba_Anim1E, ANIM_WorldTubba_Anim1F, ANIM_WorldTubba_Anim20, ANIM_WorldTubba_Anim21, - -1 + ANIM_LIST_END }; NpcData N(NpcData_Tubba) = { @@ -643,7 +643,7 @@ NpcData N(NpcData_Tubba) = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, .drops = NO_DROPS, .animations = TUBBA_ANIMS, - .extraAnimations = N(extraAnimationList_80244390), + .extraAnimations = N(ExtraAnims_Tubba), }; EvtScript N(EVS_NpcIdle_Boo_06) = { 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 cf1c7d786d..81b5921631 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 @@ -40,7 +40,7 @@ API_CALLABLE(N(CreateParadeNPC)) { spr_allocateBtlComponentsOnWorldHeap = TRUE; - npc = get_npc_by_index(_create_npc_standard(&bp, npcInfo->animList)); + npc = get_npc_by_index(create_standard_npc(&bp, npcInfo->animList)); npc->npcID = npcID; npc->flags &= ~NPC_FLAG_PARTICLE; npc->pos.x = npcInfo->pos.x; diff --git a/src/world/area_end/end_01/end_01_3_parade_setup.c b/src/world/area_end/end_01/end_01_3_parade_setup.c index 394cd34688..e91c18459c 100644 --- a/src/world/area_end/end_01/end_01_3_parade_setup.c +++ b/src/world/area_end/end_01/end_01_3_parade_setup.c @@ -36,7 +36,7 @@ API_CALLABLE(N(CreateParadeNPC)) { spr_allocateBtlComponentsOnWorldHeap = TRUE; - npc = get_npc_by_index(_create_npc_standard(&bp, npcInfo->animList)); + npc = get_npc_by_index(create_standard_npc(&bp, npcInfo->animList)); npc->npcID = npcID; npc->flags &= ~NPC_FLAG_PARTICLE; npc->pos.x = npcInfo->pos.x; @@ -165,49 +165,49 @@ EvtScript N(EVS_OffsetNpcScroll) = { AnimID N(ExtraAnims_Eldstar)[] = { ANIM_BattleEldstar_Idle, - -1 + ANIM_LIST_END }; AnimID N(ExtraAnims_Mamar)[] = { ANIM_BattleMamar_Idle, - -1 + ANIM_LIST_END }; AnimID N(ExtraAnims_Skolar)[] = { ANIM_BattleSkolar_Idle, - -1 + ANIM_LIST_END }; AnimID N(ExtraAnims_Muskular)[] = { ANIM_BattleMuskular_Idle, - -1 + ANIM_LIST_END }; AnimID N(ExtraAnims_Misstar)[] = { ANIM_BattleMisstar_Still, - -1 + ANIM_LIST_END }; AnimID N(ExtraAnims_Klevar)[] = { ANIM_BattleKlevar_Idle, - -1 + ANIM_LIST_END }; AnimID N(ExtraAnims_Kalmar)[] = { ANIM_BattleKalmar_Idle, - -1 + ANIM_LIST_END }; AnimID N(ExtraAnims_PyroGuy)[] = { ANIM_PyroGuy_Anim03, - -1 + ANIM_LIST_END }; AnimID N(ExtraAnims_ShyGuy)[] = { ANIM_ShyGuy_Red_Anim04, ANIM_ShyGuy_Red_Anim10, ANIM_ShyGuy_Red_Anim01, - -1 + ANIM_LIST_END }; ParadeNpcInfo N(ParadeNpcsTable)[] = { 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 e5d4258173..a90b883799 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 @@ -461,7 +461,7 @@ NpcData N(NpcData_StarSpirits)[] = { }, }; -s32 N(NpcData_ClownCar)[] = { +AnimID N(ExtraAnims_Bowser)[] = { ANIM_WorldBowser_ClownCarStill, ANIM_WorldBowser_ClownCarIdle, ANIM_WorldBowser_ClownCarOpenMouth, @@ -472,7 +472,7 @@ s32 N(NpcData_ClownCar)[] = { ANIM_WorldBowser_ClownCarTalk, ANIM_WorldBowser_ClownCarLaugh, ANIM_WorldBowser_ClownCarPropeller, - -1 + ANIM_LIST_END }; AnimID N(ExtraAnims_Kammy)[] = { @@ -495,7 +495,7 @@ NpcData N(NpcData_Thieves)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .drops = NO_DROPS, .animations = BOWSER_ANIMS, - .extraAnimations = N(NpcData_ClownCar), + .extraAnimations = N(ExtraAnims_Bowser), }, { .id = NPC_Bowser_Prop, @@ -505,7 +505,7 @@ NpcData N(NpcData_Thieves)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .drops = NO_DROPS, .animations = BOWSER_ANIMS, - .extraAnimations = N(NpcData_ClownCar), + .extraAnimations = N(ExtraAnims_Bowser), }, { .id = NPC_Kammy, diff --git a/src/world/area_hos/hos_10/hos_10_2_npc1.c b/src/world/area_hos/hos_10/hos_10_2_npc1.c index 1f690b08a7..426a985bc7 100644 --- a/src/world/area_hos/hos_10/hos_10_2_npc1.c +++ b/src/world/area_hos/hos_10/hos_10_2_npc1.c @@ -130,7 +130,7 @@ NpcData N(NpcData_Spirits)[] = { .yaw = 270, .init = &N(EVS_NpcInit_Peach), .settings = &N(NpcSettings_Dummy), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE, .drops = NO_DROPS, .animations = { .idle = ANIM_Peach_A0000, diff --git a/src/world/area_kkj/kkj_00/kkj_00_5_npc_ending.c b/src/world/area_kkj/kkj_00/kkj_00_5_npc_ending.c index 46772c269c..0f9971cf49 100644 --- a/src/world/area_kkj/kkj_00/kkj_00_5_npc_ending.c +++ b/src/world/area_kkj/kkj_00/kkj_00_5_npc_ending.c @@ -235,7 +235,7 @@ NpcData N(NpcData_Peach) = { .pos = { 0.0f, 100.0f, -440.0f }, .yaw = 270, .settings = &N(NpcSettings_Peach), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE, .drops = NO_DROPS, .animations = PEACH_ANIMS, .extraAnimations = N(ExtraAnims_Peach), diff --git a/src/world/area_kkj/kkj_03/kkj_03_3_npc.c b/src/world/area_kkj/kkj_03/kkj_03_3_npc.c index 3ec9e175ab..bfca04ae0a 100644 --- a/src/world/area_kkj/kkj_03/kkj_03_3_npc.c +++ b/src/world/area_kkj/kkj_03/kkj_03_3_npc.c @@ -7,7 +7,7 @@ NpcData N(NpcData_Peach) = { .pos = { 670.0f, 0.0f, -12.0f }, .yaw = 270, .settings = &N(NpcSettings_Peach), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE, .drops = NO_DROPS, .animations = PEACH_ANIMS, }; diff --git a/src/world/area_kkj/kkj_13/kkj_13_3_npcs_finale.c b/src/world/area_kkj/kkj_13/kkj_13_3_npcs_finale.c index ff426ae5a4..1f947b2e3c 100644 --- a/src/world/area_kkj/kkj_13/kkj_13_3_npcs_finale.c +++ b/src/world/area_kkj/kkj_13/kkj_13_3_npcs_finale.c @@ -372,7 +372,7 @@ NpcData N(NpcData_CaptivePeach) = { .yaw = 270, .init = &N(EVS_NpcInit_CaptivePeach), .settings = &N(NpcSettings_Dummy), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .drops = NO_DROPS, .animations = PEACH_ANIMS, }; diff --git a/src/world/area_kkj/kkj_13/kkj_13_4_npcs_intro.c b/src/world/area_kkj/kkj_13/kkj_13_4_npcs_intro.c index 39309c416a..7682d9218a 100644 --- a/src/world/area_kkj/kkj_13/kkj_13_4_npcs_intro.c +++ b/src/world/area_kkj/kkj_13/kkj_13_4_npcs_intro.c @@ -132,7 +132,7 @@ NpcData N(NpcData_Characters)[] = { .pos = { 670.0f, 0.0f, -12.0f }, .yaw = 270, .settings = &N(NpcSettings_Peach), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE, .drops = NO_DROPS, .animations = PEACH_ANIMS, }, diff --git a/src/world/area_kkj/kkj_23/kkj_23_3_npcs_finale.c b/src/world/area_kkj/kkj_23/kkj_23_3_npcs_finale.c index 60939d2b95..dbaadcd096 100644 --- a/src/world/area_kkj/kkj_23/kkj_23_3_npcs_finale.c +++ b/src/world/area_kkj/kkj_23/kkj_23_3_npcs_finale.c @@ -195,7 +195,7 @@ NpcData N(NpcData_Peach) = { .yaw = 270, .init = &N(EVS_NpcInit_Peach), .settings = &N(NpcSettings_Dummy), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE, .drops = NO_DROPS, .animations = PEACH_ANIMS, }; 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 bf5dff2d3c..1310aeb12c 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 @@ -210,7 +210,7 @@ NpcData N(NpcData_Peach) = { .yaw = 270, .init = &N(EVS_NpcInit_BattleKooper_01), .settings = &N(NpcSettings_Dummy), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE, .drops = NO_DROPS, .animations = PEACH_ANIMS, .extraAnimations = N(ExtraAnims_Peach), diff --git a/src/world/area_kkj/kkj_25/kkj_25_3_npc_midpoint.c b/src/world/area_kkj/kkj_25/kkj_25_3_npc_midpoint.c index 7bc3308ef7..0bf2fc91ff 100644 --- a/src/world/area_kkj/kkj_25/kkj_25_3_npc_midpoint.c +++ b/src/world/area_kkj/kkj_25/kkj_25_3_npc_midpoint.c @@ -253,7 +253,7 @@ NpcData N(NpcData_Peach) = { .yaw = 270, .init = &N(EVS_NpcInit_Peach), .settings = &N(NpcSettings_Dummy), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE, .drops = NO_DROPS, .animations = PEACH_ANIMS, .extraAnimations = N(ExtraAnims_Peach), diff --git a/src/world/area_kkj/kkj_25/kkj_25_4_npc_final.c b/src/world/area_kkj/kkj_25/kkj_25_4_npc_final.c index 587315b10b..bcaa9e2611 100644 --- a/src/world/area_kkj/kkj_25/kkj_25_4_npc_final.c +++ b/src/world/area_kkj/kkj_25/kkj_25_4_npc_final.c @@ -113,7 +113,7 @@ NpcData N(NpcData_Peach) = { .yaw = 270, .init = &N(EVS_NpcInit_Peach), .settings = &N(NpcSettings_Dummy), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .drops = NO_DROPS, .animations = PEACH_ANIMS, .extraAnimations = N(ExtraAnims_Peach), diff --git a/src/world/area_kmr/kmr_20/kmr_20_10_npc.c b/src/world/area_kmr/kmr_20/kmr_20_10_npc.c index fe1bb9c0d5..1696e10ae5 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_10_npc.c +++ b/src/world/area_kmr/kmr_20/kmr_20_10_npc.c @@ -4,20 +4,8 @@ extern AnimScript Entity_SimpleSpring_AnimLaunch; -NpcSettings N(NpcSettings_Luigi) = { - .height = 24, - .radius = 24, - .level = 99, -}; - -NpcSettings N(NpcSettings_ShyGuy) = { - .height = 23, - .radius = 22, - .level = 14, - .onHit = &EnemyNpcHit, - .onDefeat = &EnemyNpcDefeat, - .actionFlags = AI_ACTION_JUMP_WHEN_SEE_PLAYER, -}; +#include "world/common/npc/Luigi.inc.c" +#include "world/common/enemy/ShyGuy_Stationary.inc.c" #include "world/common/complete/GiveReward.inc.c" @@ -621,24 +609,7 @@ NpcData N(NpcData_Luigi_0) = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_Luigi, }; @@ -650,24 +621,7 @@ NpcData N(NpcData_Luigi_1) = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_Luigi, }; @@ -771,27 +725,10 @@ NpcData N(NpcData_ShyGuy) = { .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, .init = &N(EVS_NpcInit_ShyGuy), - .settings = &N(NpcSettings_ShyGuy), + .settings = &N(NpcSettings_ShyGuy_Stationary), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_10000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_ShyGuy_Red_Anim01, - .walk = ANIM_ShyGuy_Red_Anim02, - .run = ANIM_ShyGuy_Red_Anim03, - .chase = ANIM_ShyGuy_Red_Anim03, - .anim_4 = ANIM_ShyGuy_Red_Anim01, - .anim_5 = ANIM_ShyGuy_Red_Anim01, - .death = ANIM_ShyGuy_Red_Anim0C, - .hit = ANIM_ShyGuy_Red_Anim0C, - .anim_8 = ANIM_ShyGuy_Red_Anim15, - .anim_9 = ANIM_ShyGuy_Red_Anim12, - .anim_A = ANIM_ShyGuy_Red_Anim11, - .anim_B = ANIM_ShyGuy_Red_Anim10, - .anim_C = ANIM_ShyGuy_Red_Anim05, - .anim_D = ANIM_ShyGuy_Red_Anim01, - .anim_E = ANIM_ShyGuy_Red_Anim01, - .anim_F = ANIM_ShyGuy_Red_Anim01, - }, + .animations = RED_SHY_GUY_ANIMS, }; NpcGroupList N(DefaultNPCs) = { diff --git a/src/world/area_kmr/kmr_22/npc/lava_piranha.inc.c b/src/world/area_kmr/kmr_22/npc/lava_piranha.inc.c index ad69b73f8a..068f62a541 100644 --- a/src/world/area_kmr/kmr_22/npc/lava_piranha.inc.c +++ b/src/world/area_kmr/kmr_22/npc/lava_piranha.inc.c @@ -222,13 +222,13 @@ EvtScript N(EVS_NpcInit_LavaBud_01) = { EVT_END }; -s32 N(D_80243848_902EB8)[] = { +AnimID N(D_80243848_902EB8)[] = { ANIM_LavaPiranha_Anim03, ANIM_LavaPiranha_Anim0E, - -1 + ANIM_LIST_END }; -s32 N(D_80243854_902EC4)[] = { +AnimID N(D_80243854_902EC4)[] = { ANIM_LavaBud_Anim03, - -1 + ANIM_LIST_END }; diff --git a/src/world/area_kpa/kpa_17/kpa_17_4_npc.c b/src/world/area_kpa/kpa_17/kpa_17_4_npc.c index 132647bf57..41106118ba 100644 --- a/src/world/area_kpa/kpa_17/kpa_17_4_npc.c +++ b/src/world/area_kpa/kpa_17/kpa_17_4_npc.c @@ -229,24 +229,7 @@ NpcData N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = NO_DROPS, - .animations = { - .idle = ANIM_ToadMinister_Idle, - .walk = ANIM_ToadMinister_Idle, - .run = ANIM_ToadMinister_Idle, - .chase = ANIM_ToadMinister_Idle, - .anim_4 = ANIM_ToadMinister_Idle, - .anim_5 = ANIM_ToadMinister_Idle, - .death = ANIM_ToadMinister_Idle, - .hit = ANIM_ToadMinister_Idle, - .anim_8 = ANIM_ToadMinister_Idle, - .anim_9 = ANIM_ToadMinister_Idle, - .anim_A = ANIM_ToadMinister_Idle, - .anim_B = ANIM_ToadMinister_Idle, - .anim_C = ANIM_ToadMinister_Idle, - .anim_D = ANIM_ToadMinister_Idle, - .anim_E = ANIM_ToadMinister_Idle, - .anim_F = ANIM_ToadMinister_Idle, - }, + .animations = TOAD_MINISTER_ANIMS, .tattle = MSG_NpcTattle_KPA_ToadMinister, }, }; diff --git a/src/world/area_kpa/kpa_53/kpa_53_3_npc.c b/src/world/area_kpa/kpa_53/kpa_53_3_npc.c index d25919f90d..6a4a102d63 100644 --- a/src/world/area_kpa/kpa_53/kpa_53_3_npc.c +++ b/src/world/area_kpa/kpa_53/kpa_53_3_npc.c @@ -346,7 +346,7 @@ NpcData N(NpcData_Imposter)[] = { .yaw = 270, .init = &N(EVS_NpcInit_Follower), .settings = &N(NpcSettings_Peach), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .drops = NO_DROPS, .animations = PEACH_ANIMS, .tattle = MSG_NpcTattle_KPA_FakePrincessPeach, diff --git a/src/world/area_kpa/kpa_82/kpa_82_3_npc.c b/src/world/area_kpa/kpa_82/kpa_82_3_npc.c index f454fcd22f..c6a1054a6d 100644 --- a/src/world/area_kpa/kpa_82/kpa_82_3_npc.c +++ b/src/world/area_kpa/kpa_82/kpa_82_3_npc.c @@ -4,20 +4,14 @@ #include "world/common/enemy/KoopaTroopa.h" #include "world/common/enemy/DarkTroopa.h" #include "world/common/enemy/ShyGuy.h" +#include "world/common/npc/Bobomb.h" enum { ANSWER_CORRECT = 0, ANSWER_WRONG = 1, }; -NpcSettings N(NpcSettings_AntiGuy) = { - .height = 23, - .radius = 22, - .level = 14, - .onHit = &EnemyNpcHit, - .onDefeat = &EnemyNpcDefeat, - .actionFlags = AI_ACTION_JUMP_WHEN_SEE_PLAYER, -}; +#include "world/common/enemy/ShyGuy_Stationary.inc.c" MobileAISettings N(AISettings_Short) = { .moveSpeed = 5.0f, @@ -1277,108 +1271,40 @@ NpcData N(NpcData_AntiGuys)[] = { .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, .init = &N(EVS_NpcInit_Door), - .settings = &N(NpcSettings_AntiGuy), + .settings = &N(NpcSettings_ShyGuy_Stationary), .flags = ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .drops = NO_DROPS, - .animations = { - .idle = ANIM_ShyGuy_Black_Anim01, - .walk = ANIM_ShyGuy_Black_Anim02, - .run = ANIM_ShyGuy_Black_Anim03, - .chase = ANIM_ShyGuy_Black_Anim02, - .anim_4 = ANIM_ShyGuy_Black_Anim01, - .anim_5 = ANIM_ShyGuy_Black_Anim01, - .death = ANIM_ShyGuy_Black_Anim0C, - .hit = ANIM_ShyGuy_Black_Anim0C, - .anim_8 = ANIM_ShyGuy_Black_Anim15, - .anim_9 = ANIM_ShyGuy_Black_Anim12, - .anim_A = ANIM_ShyGuy_Black_Anim11, - .anim_B = ANIM_ShyGuy_Black_Anim10, - .anim_C = ANIM_ShyGuy_Black_Anim05, - .anim_D = ANIM_ShyGuy_Black_Anim01, - .anim_E = ANIM_ShyGuy_Black_Anim01, - .anim_F = ANIM_ShyGuy_Black_Anim01, - }, + .animations = ANTI_GUY_ANIMS, }, { .id = NPC_AntiGuy_01, .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, .init = &N(EVS_NpcInit_AntiGuy), - .settings = &N(NpcSettings_AntiGuy), + .settings = &N(NpcSettings_ShyGuy_Stationary), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .drops = NO_DROPS, - .animations = { - .idle = ANIM_ShyGuy_Black_Anim01, - .walk = ANIM_ShyGuy_Black_Anim02, - .run = ANIM_ShyGuy_Black_Anim03, - .chase = ANIM_ShyGuy_Black_Anim02, - .anim_4 = ANIM_ShyGuy_Black_Anim01, - .anim_5 = ANIM_ShyGuy_Black_Anim01, - .death = ANIM_ShyGuy_Black_Anim0C, - .hit = ANIM_ShyGuy_Black_Anim0C, - .anim_8 = ANIM_ShyGuy_Black_Anim15, - .anim_9 = ANIM_ShyGuy_Black_Anim12, - .anim_A = ANIM_ShyGuy_Black_Anim11, - .anim_B = ANIM_ShyGuy_Black_Anim10, - .anim_C = ANIM_ShyGuy_Black_Anim05, - .anim_D = ANIM_ShyGuy_Black_Anim01, - .anim_E = ANIM_ShyGuy_Black_Anim01, - .anim_F = ANIM_ShyGuy_Black_Anim01, - }, + .animations = ANTI_GUY_ANIMS, }, { .id = NPC_AntiGuy_02, .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, .init = &N(EVS_NpcInit_AntiGuy), - .settings = &N(NpcSettings_AntiGuy), + .settings = &N(NpcSettings_ShyGuy_Stationary), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .drops = NO_DROPS, - .animations = { - .idle = ANIM_ShyGuy_Black_Anim01, - .walk = ANIM_ShyGuy_Black_Anim02, - .run = ANIM_ShyGuy_Black_Anim03, - .chase = ANIM_ShyGuy_Black_Anim02, - .anim_4 = ANIM_ShyGuy_Black_Anim01, - .anim_5 = ANIM_ShyGuy_Black_Anim01, - .death = ANIM_ShyGuy_Black_Anim0C, - .hit = ANIM_ShyGuy_Black_Anim0C, - .anim_8 = ANIM_ShyGuy_Black_Anim15, - .anim_9 = ANIM_ShyGuy_Black_Anim12, - .anim_A = ANIM_ShyGuy_Black_Anim11, - .anim_B = ANIM_ShyGuy_Black_Anim10, - .anim_C = ANIM_ShyGuy_Black_Anim05, - .anim_D = ANIM_ShyGuy_Black_Anim01, - .anim_E = ANIM_ShyGuy_Black_Anim01, - .anim_F = ANIM_ShyGuy_Black_Anim01, - }, + .animations = ANTI_GUY_ANIMS, }, { .id = NPC_AntiGuy_03, .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, .init = &N(EVS_NpcInit_AntiGuy), - .settings = &N(NpcSettings_AntiGuy), + .settings = &N(NpcSettings_ShyGuy_Stationary), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .drops = NO_DROPS, - .animations = { - .idle = ANIM_ShyGuy_Black_Anim01, - .walk = ANIM_ShyGuy_Black_Anim02, - .run = ANIM_ShyGuy_Black_Anim03, - .chase = ANIM_ShyGuy_Black_Anim02, - .anim_4 = ANIM_ShyGuy_Black_Anim01, - .anim_5 = ANIM_ShyGuy_Black_Anim01, - .death = ANIM_ShyGuy_Black_Anim0C, - .hit = ANIM_ShyGuy_Black_Anim0C, - .anim_8 = ANIM_ShyGuy_Black_Anim15, - .anim_9 = ANIM_ShyGuy_Black_Anim12, - .anim_A = ANIM_ShyGuy_Black_Anim11, - .anim_B = ANIM_ShyGuy_Black_Anim10, - .anim_C = ANIM_ShyGuy_Black_Anim05, - .anim_D = ANIM_ShyGuy_Black_Anim01, - .anim_E = ANIM_ShyGuy_Black_Anim01, - .anim_F = ANIM_ShyGuy_Black_Anim01, - }, + .animations = ANTI_GUY_ANIMS, }, }; @@ -1515,23 +1441,7 @@ NpcData N(NpcData_RedShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = RED_SHY_GUY_ANIMS, }, { @@ -1553,23 +1463,7 @@ NpcData N(NpcData_RedShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = RED_SHY_GUY_ANIMS, }, { @@ -1591,23 +1485,7 @@ NpcData N(NpcData_RedShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = RED_SHY_GUY_ANIMS, }, { @@ -1629,23 +1507,7 @@ NpcData N(NpcData_RedShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = RED_SHY_GUY_ANIMS, }, { @@ -1667,23 +1529,7 @@ NpcData N(NpcData_RedShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = RED_SHY_GUY_ANIMS, }, }; @@ -1708,23 +1554,7 @@ NpcData N(NpcData_BlueShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = BLUE_SHY_GUY_ANIMS, }, { @@ -1746,23 +1576,7 @@ NpcData N(NpcData_BlueShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = BLUE_SHY_GUY_ANIMS, }, { @@ -1784,23 +1598,7 @@ NpcData N(NpcData_BlueShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = BLUE_SHY_GUY_ANIMS, }, { @@ -1822,23 +1620,7 @@ NpcData N(NpcData_BlueShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = BLUE_SHY_GUY_ANIMS, }, { @@ -1860,23 +1642,7 @@ NpcData N(NpcData_BlueShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = BLUE_SHY_GUY_ANIMS, }, }; @@ -1901,23 +1667,7 @@ NpcData N(NpcData_GreenShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = GREEN_SHY_GUY_ANIMS, }, { @@ -1939,23 +1689,7 @@ NpcData N(NpcData_GreenShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = GREEN_SHY_GUY_ANIMS, }, { @@ -1977,23 +1711,7 @@ NpcData N(NpcData_GreenShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = GREEN_SHY_GUY_ANIMS, }, { @@ -2015,23 +1733,7 @@ NpcData N(NpcData_GreenShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = GREEN_SHY_GUY_ANIMS, }, { @@ -2053,23 +1755,7 @@ NpcData N(NpcData_GreenShyGuys)[] = { .init = &N(EVS_NpcInit_ShyGuy), .settings = &N(NpcSettings_ShyGuy), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_DIZZY_DIAL, 2, 0 }, - { ITEM_SUPER_SHROOM, 2, 0 }, - { ITEM_THUNDER_BOLT, 2, 0 }, - { ITEM_DRIED_SHROOM, 2, 0 }, - { ITEM_SLEEPY_SHEEP, 2, 0 }, - { ITEM_POW_BLOCK, 2, 0 }, - { ITEM_FRIGHT_JAR, 2, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 0, - .maxCoinBonus = 2, - }, + .drops = SHY_GUY_DROPS, .animations = GREEN_SHY_GUY_ANIMS, }, }; @@ -2094,18 +1780,7 @@ NpcData N(NpcData_DarkTroopas)[] = { .init = &N(EVS_NpcInit_KoopaTroopa), .settings = &N(NpcSettings_KoopaTroopa), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 3, 0 }, - { ITEM_KOOPA_LEAF, 7, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 1, - .maxCoinBonus = 1, - }, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = DARK_TROOPA_ANIMS, }, { @@ -2127,18 +1802,7 @@ NpcData N(NpcData_DarkTroopas)[] = { .init = &N(EVS_NpcInit_KoopaTroopa), .settings = &N(NpcSettings_KoopaTroopa), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 3, 0 }, - { ITEM_KOOPA_LEAF, 7, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 1, - .maxCoinBonus = 1, - }, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = DARK_TROOPA_ANIMS, }, { @@ -2160,18 +1824,7 @@ NpcData N(NpcData_DarkTroopas)[] = { .init = &N(EVS_NpcInit_KoopaTroopa), .settings = &N(NpcSettings_KoopaTroopa), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 3, 0 }, - { ITEM_KOOPA_LEAF, 7, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 1, - .maxCoinBonus = 1, - }, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = DARK_TROOPA_ANIMS, }, { @@ -2193,18 +1846,7 @@ NpcData N(NpcData_DarkTroopas)[] = { .init = &N(EVS_NpcInit_KoopaTroopa), .settings = &N(NpcSettings_KoopaTroopa), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 3, 0 }, - { ITEM_KOOPA_LEAF, 7, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 1, - .maxCoinBonus = 1, - }, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = DARK_TROOPA_ANIMS, }, { @@ -2226,18 +1868,7 @@ NpcData N(NpcData_DarkTroopas)[] = { .init = &N(EVS_NpcInit_KoopaTroopa), .settings = &N(NpcSettings_KoopaTroopa), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 3, 0 }, - { ITEM_KOOPA_LEAF, 7, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 1, - .maxCoinBonus = 1, - }, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = DARK_TROOPA_ANIMS, }, }; @@ -2262,18 +1893,7 @@ NpcData N(NpcData_KoopaTroopas)[] = { .init = &N(EVS_NpcInit_KoopaTroopa), .settings = &N(NpcSettings_KoopaTroopa), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 3, 0 }, - { ITEM_KOOPA_LEAF, 7, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 1, - .maxCoinBonus = 1, - }, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = KOOPA_TROOPA_ANIMS, }, { @@ -2295,18 +1915,7 @@ NpcData N(NpcData_KoopaTroopas)[] = { .init = &N(EVS_NpcInit_KoopaTroopa), .settings = &N(NpcSettings_KoopaTroopa), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 3, 0 }, - { ITEM_KOOPA_LEAF, 7, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 1, - .maxCoinBonus = 1, - }, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = KOOPA_TROOPA_ANIMS, }, { @@ -2328,18 +1937,7 @@ NpcData N(NpcData_KoopaTroopas)[] = { .init = &N(EVS_NpcInit_KoopaTroopa), .settings = &N(NpcSettings_KoopaTroopa), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 3, 0 }, - { ITEM_KOOPA_LEAF, 7, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 1, - .maxCoinBonus = 1, - }, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = KOOPA_TROOPA_ANIMS, }, { @@ -2361,18 +1959,7 @@ NpcData N(NpcData_KoopaTroopas)[] = { .init = &N(EVS_NpcInit_KoopaTroopa), .settings = &N(NpcSettings_KoopaTroopa), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 3, 0 }, - { ITEM_KOOPA_LEAF, 7, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 1, - .maxCoinBonus = 1, - }, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = KOOPA_TROOPA_ANIMS, }, { @@ -2394,18 +1981,7 @@ NpcData N(NpcData_KoopaTroopas)[] = { .init = &N(EVS_NpcInit_KoopaTroopa), .settings = &N(NpcSettings_KoopaTroopa), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, - .drops = { - .dropFlags = NPC_DROP_FLAG_80, - .itemDropChance = 5, - .itemDrops = { - { ITEM_MUSHROOM, 3, 0 }, - { ITEM_KOOPA_LEAF, 7, 0 }, - }, - .heartDrops = STANDARD_HEART_DROPS(2), - .flowerDrops = STANDARD_FLOWER_DROPS(2), - .minCoinBonus = 1, - .maxCoinBonus = 1, - }, + .drops = KOOPA_TROOPA_NOK_DROPS, .animations = KOOPA_TROOPA_ANIMS, }, }; @@ -2431,24 +2007,7 @@ NpcData N(NpcData_Bobombs)[] = { .settings = &N(NpcSettings_Short), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .drops = NO_DROPS, - .animations = { - .idle = ANIM_WorldBobomb_Green_Idle, - .walk = ANIM_WorldBobomb_Green_Walk, - .run = ANIM_WorldBobomb_Green_Run, - .chase = ANIM_WorldBobomb_Green_Run, - .anim_4 = ANIM_WorldBobomb_Green_Idle, - .anim_5 = ANIM_WorldBobomb_Green_Idle, - .death = ANIM_WorldBobomb_Green_Still, - .hit = ANIM_WorldBobomb_Green_Still, - .anim_8 = ANIM_WorldBobomb_Green_Still, - .anim_9 = ANIM_WorldBobomb_Green_Still, - .anim_A = ANIM_WorldBobomb_Green_Still, - .anim_B = ANIM_WorldBobomb_Green_Still, - .anim_C = ANIM_WorldBobomb_Green_Still, - .anim_D = ANIM_WorldBobomb_Green_Still, - .anim_E = ANIM_WorldBobomb_Green_Still, - .anim_F = ANIM_WorldBobomb_Green_Still, - }, + .animations = BOBOMB_GREEN_ANIMS, }, { .id = NPC_Bobomb_02, @@ -2470,24 +2029,7 @@ NpcData N(NpcData_Bobombs)[] = { .settings = &N(NpcSettings_Short), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .drops = NO_DROPS, - .animations = { - .idle = ANIM_WorldBobomb_Green_Idle, - .walk = ANIM_WorldBobomb_Green_Walk, - .run = ANIM_WorldBobomb_Green_Run, - .chase = ANIM_WorldBobomb_Green_Run, - .anim_4 = ANIM_WorldBobomb_Green_Idle, - .anim_5 = ANIM_WorldBobomb_Green_Idle, - .death = ANIM_WorldBobomb_Green_Still, - .hit = ANIM_WorldBobomb_Green_Still, - .anim_8 = ANIM_WorldBobomb_Green_Still, - .anim_9 = ANIM_WorldBobomb_Green_Still, - .anim_A = ANIM_WorldBobomb_Green_Still, - .anim_B = ANIM_WorldBobomb_Green_Still, - .anim_C = ANIM_WorldBobomb_Green_Still, - .anim_D = ANIM_WorldBobomb_Green_Still, - .anim_E = ANIM_WorldBobomb_Green_Still, - .anim_F = ANIM_WorldBobomb_Green_Still, - }, + .animations = BOBOMB_GREEN_ANIMS, }, { .id = NPC_Bobomb_03, @@ -2509,24 +2051,7 @@ NpcData N(NpcData_Bobombs)[] = { .settings = &N(NpcSettings_Short), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .drops = NO_DROPS, - .animations = { - .idle = ANIM_WorldBobomb_Green_Idle, - .walk = ANIM_WorldBobomb_Green_Walk, - .run = ANIM_WorldBobomb_Green_Run, - .chase = ANIM_WorldBobomb_Green_Run, - .anim_4 = ANIM_WorldBobomb_Green_Idle, - .anim_5 = ANIM_WorldBobomb_Green_Idle, - .death = ANIM_WorldBobomb_Green_Still, - .hit = ANIM_WorldBobomb_Green_Still, - .anim_8 = ANIM_WorldBobomb_Green_Still, - .anim_9 = ANIM_WorldBobomb_Green_Still, - .anim_A = ANIM_WorldBobomb_Green_Still, - .anim_B = ANIM_WorldBobomb_Green_Still, - .anim_C = ANIM_WorldBobomb_Green_Still, - .anim_D = ANIM_WorldBobomb_Green_Still, - .anim_E = ANIM_WorldBobomb_Green_Still, - .anim_F = ANIM_WorldBobomb_Green_Still, - }, + .animations = BOBOMB_GREEN_ANIMS, }, { .id = NPC_Bobomb_04, @@ -2548,24 +2073,7 @@ NpcData N(NpcData_Bobombs)[] = { .settings = &N(NpcSettings_Short), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .drops = NO_DROPS, - .animations = { - .idle = ANIM_WorldBobomb_Green_Idle, - .walk = ANIM_WorldBobomb_Green_Walk, - .run = ANIM_WorldBobomb_Green_Run, - .chase = ANIM_WorldBobomb_Green_Run, - .anim_4 = ANIM_WorldBobomb_Green_Idle, - .anim_5 = ANIM_WorldBobomb_Green_Idle, - .death = ANIM_WorldBobomb_Green_Still, - .hit = ANIM_WorldBobomb_Green_Still, - .anim_8 = ANIM_WorldBobomb_Green_Still, - .anim_9 = ANIM_WorldBobomb_Green_Still, - .anim_A = ANIM_WorldBobomb_Green_Still, - .anim_B = ANIM_WorldBobomb_Green_Still, - .anim_C = ANIM_WorldBobomb_Green_Still, - .anim_D = ANIM_WorldBobomb_Green_Still, - .anim_E = ANIM_WorldBobomb_Green_Still, - .anim_F = ANIM_WorldBobomb_Green_Still, - }, + .animations = BOBOMB_GREEN_ANIMS, }, { .id = NPC_Bobomb_05, @@ -2587,24 +2095,7 @@ NpcData N(NpcData_Bobombs)[] = { .settings = &N(NpcSettings_Short), .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .drops = NO_DROPS, - .animations = { - .idle = ANIM_WorldBobomb_Green_Idle, - .walk = ANIM_WorldBobomb_Green_Walk, - .run = ANIM_WorldBobomb_Green_Run, - .chase = ANIM_WorldBobomb_Green_Run, - .anim_4 = ANIM_WorldBobomb_Green_Idle, - .anim_5 = ANIM_WorldBobomb_Green_Idle, - .death = ANIM_WorldBobomb_Green_Still, - .hit = ANIM_WorldBobomb_Green_Still, - .anim_8 = ANIM_WorldBobomb_Green_Still, - .anim_9 = ANIM_WorldBobomb_Green_Still, - .anim_A = ANIM_WorldBobomb_Green_Still, - .anim_B = ANIM_WorldBobomb_Green_Still, - .anim_C = ANIM_WorldBobomb_Green_Still, - .anim_D = ANIM_WorldBobomb_Green_Still, - .anim_E = ANIM_WorldBobomb_Green_Still, - .anim_F = ANIM_WorldBobomb_Green_Still, - }, + .animations = BOBOMB_GREEN_ANIMS, }, }; diff --git a/src/world/area_mac/mac_00/mac_00_13_epilogue_npc.c b/src/world/area_mac/mac_00/mac_00_13_epilogue_npc.c index 334452fbaf..db6531fc1d 100644 --- a/src/world/area_mac/mac_00/mac_00_13_epilogue_npc.c +++ b/src/world/area_mac/mac_00/mac_00_13_epilogue_npc.c @@ -292,25 +292,25 @@ NpcData N(NpcData_ChuckQuizmo_Epilogue)[] = { }, }; -s32 N(D_80254944_7FF654_Epilogue)[] = { +AnimID N(ExtraAnims_TheMaster_Epilogue)[] = { ANIM_TheMaster_Still, ANIM_TheMaster_Idle, ANIM_TheMaster_Talk, - -1 + ANIM_LIST_END }; -s32 N(D_80254954_7FF664_Epilogue)[] = { +AnimID N(ExtraAnims_Chan_Epilogue)[] = { ANIM_Chan_Still, ANIM_Chan_Idle, ANIM_Chan_Run, - -1 + ANIM_LIST_END }; -s32 N(D_80254964_7FF674_Epilogue)[] = { +AnimID N(ExtraAnims_Lee_Epilogue)[] = { ANIM_Lee_Still, ANIM_Lee_Idle, ANIM_Lee_Talk, - -1 + ANIM_LIST_END }; NpcData N(NpcData_DojoMembers_Epilogue)[] = { @@ -340,7 +340,7 @@ NpcData N(NpcData_DojoMembers_Epilogue)[] = { .anim_E = ANIM_TheMaster_Still, .anim_F = ANIM_TheMaster_Still, }, - .extraAnimations = N(D_80254944_7FF654_Epilogue), + .extraAnimations = N(ExtraAnims_TheMaster_Epilogue), .tattle = MSG_NpcTattle_TheMaster, }, { @@ -354,7 +354,7 @@ NpcData N(NpcData_DojoMembers_Epilogue)[] = { .animations = { .idle = ANIM_Chan_Idle, }, - .extraAnimations = N(D_80254954_7FF664_Epilogue), + .extraAnimations = N(ExtraAnims_Chan_Epilogue), .tattle = MSG_NpcTattle_Chan, }, { @@ -368,7 +368,7 @@ NpcData N(NpcData_DojoMembers_Epilogue)[] = { .animations = { .idle = ANIM_Lee_Idle, }, - .extraAnimations = N(D_80254964_7FF674_Epilogue), + .extraAnimations = N(ExtraAnims_Lee_Epilogue), .tattle = MSG_NpcTattle_Lee, }, }; diff --git a/src/world/area_mac/mac_00/mac_00_5_npc.c b/src/world/area_mac/mac_00/mac_00_5_npc.c index d3ce399a31..f3b8bcfaf6 100644 --- a/src/world/area_mac/mac_00/mac_00_5_npc.c +++ b/src/world/area_mac/mac_00/mac_00_5_npc.c @@ -285,28 +285,28 @@ NpcData N(NpcData_Toad_01)[] = { }, }; -s32 N(D_8024CFFC_7F7D0C)[] = { +AnimID N(ExtraAnims_TheMaster)[] = { ANIM_TheMaster_Still, ANIM_TheMaster_Idle, ANIM_TheMaster_Walk, ANIM_TheMaster_Talk, - -1 + ANIM_LIST_END }; -s32 N(D_8024D010_7F7D20)[] = { +AnimID N(ExtraAnims_Chan)[] = { ANIM_Chan_Still, ANIM_Chan_Idle, ANIM_Chan_Walk, ANIM_Chan_Run, - -1 + ANIM_LIST_END }; -s32 N(D_8024D024_7F7D34)[] = { +AnimID N(ExtraAnims_Lee)[] = { ANIM_Lee_Still, ANIM_Lee_Idle, ANIM_Lee_Walk, ANIM_Lee_Talk, - -1 + ANIM_LIST_END }; NpcData N(NpcData_Toad_03)[] = { @@ -336,7 +336,7 @@ NpcData N(NpcData_Toad_03)[] = { .anim_E = ANIM_TheMaster_Still, .anim_F = ANIM_TheMaster_Still, }, - .extraAnimations = N(D_8024CFFC_7F7D0C), + .extraAnimations = N(ExtraAnims_TheMaster), .tattle = MSG_NpcTattle_TheMaster, }, { @@ -350,7 +350,7 @@ NpcData N(NpcData_Toad_03)[] = { .animations = { .idle = ANIM_Chan_Idle, }, - .extraAnimations = N(D_8024D010_7F7D20), + .extraAnimations = N(ExtraAnims_Chan), .tattle = MSG_NpcTattle_Chan, }, { @@ -364,7 +364,7 @@ NpcData N(NpcData_Toad_03)[] = { .animations = { .idle = ANIM_Lee_Idle, }, - .extraAnimations = N(D_8024D024_7F7D34), + .extraAnimations = N(ExtraAnims_Lee), .tattle = MSG_NpcTattle_Lee, }, }; diff --git a/src/world/area_mac/mac_01/mac_01_9_npc.c b/src/world/area_mac/mac_01/mac_01_9_npc.c index 5a42aa4bac..647f893580 100644 --- a/src/world/area_mac/mac_01/mac_01_9_npc.c +++ b/src/world/area_mac/mac_01/mac_01_9_npc.c @@ -2348,11 +2348,11 @@ NpcData N(NpcData_ShyGuys)[] = { }, }; -s32 N(D_8025EBB8_81F438)[] = { +AnimID N(ExtraAnims_Kolorado)[] = { ANIM_Kolorado_Still, ANIM_Kolorado_Idle, ANIM_Kolorado_Talk, - -1 + ANIM_LIST_END }; NpcData N(NpcData_Kolorado) = { @@ -2364,7 +2364,7 @@ NpcData N(NpcData_Kolorado) = { .flags = COMMON_PASSIVE_FLAGS | ENEMY_FLAG_2000, .drops = NO_DROPS, .animations = KOLORADO_ANIMS, - .extraAnimations = N(D_8025EBB8_81F438), + .extraAnimations = N(ExtraAnims_Kolorado), .tattle = MSG_NpcTattle_Kolorado, }; diff --git a/src/world/area_mac/mac_02/mac_02_6_npc.c b/src/world/area_mac/mac_02/mac_02_6_npc.c index 2917f28cb3..98c68df176 100644 --- a/src/world/area_mac/mac_02/mac_02_6_npc.c +++ b/src/world/area_mac/mac_02/mac_02_6_npc.c @@ -5,10 +5,11 @@ #include "world/common/npc/Toad_Stationary.inc.c" #include "world/common/npc/Bootler.inc.c" #include "world/common/npc/Bubulb.inc.c" - #define CHUCK_QUIZMO_NPC_ID NPC_ChuckQuizmo #include "world/common/complete/Quizmo.inc.c" +#include "world/common/enemy/ShyGuy.h" + MAP_STATIC_PAD(1,key_choice); #include "world/common/complete/KeyItemChoice.inc.c" MAP_STATIC_PAD(1,item_choice); @@ -29,7 +30,7 @@ MAP_STATIC_PAD(1,item_choice); #include "npc/toad_4.inc.c" #include "npc/bubulb.inc.c" -s32 N(D_8024CB04_82FDC4)[] = { +AnimID N(ExtraAnims_TayceT)[] = { ANIM_TayceT_Still, ANIM_TayceT_Idle, ANIM_TayceT_Walk, @@ -39,17 +40,17 @@ s32 N(D_8024CB04_82FDC4)[] = { ANIM_TayceT_IdleSad, ANIM_TayceT_Cooking, ANIM_TayceT_TurnBack, - -1 + ANIM_LIST_END }; -s32 N(D_8024CB2C_82FDEC)[] = { +AnimID N(ExtraAnims_Bubulb)[] = { ANIM_Bubulb_Pink_Still, ANIM_Bubulb_Pink_BuriedStill, ANIM_Bubulb_Pink_Idle, ANIM_Bubulb_Pink_Talk, ANIM_Bubulb_Pink_PopUp, ANIM_Bubulb_Pink_BuriedIdle, - -1 + ANIM_LIST_END }; NpcData N(NpcData_TayceT)[] = { @@ -64,7 +65,7 @@ NpcData N(NpcData_TayceT)[] = { .animations = { .idle = ANIM_TayceT_Idle, }, - .extraAnimations = N(D_8024CB04_82FDC4), + .extraAnimations = N(ExtraAnims_TayceT), .tattle = MSG_NpcTattle_TayceT, }, { @@ -89,7 +90,7 @@ NpcData N(NpcData_TayceT)[] = { .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .drops = NO_DROPS, .animations = BUBULB_PINK_ANIMS, - .extraAnimations = N(D_8024CB2C_82FDEC), + .extraAnimations = N(ExtraAnims_Bubulb), .tattle = MSG_NpcTattle_MAC_Bubulb_Revealed, }, { @@ -207,7 +208,7 @@ NpcData N(NpcData_Bootler) = { .animations = BOOTLER_ANIMS, }; -s32 N(D_8024DEA8_831168)[] = { +AnimID N(ExtraAnims_ShyGuy)[] = { ANIM_ShyGuy_Red_Anim00, ANIM_ShyGuy_Red_Anim01, ANIM_ShyGuy_Red_Anim02, @@ -215,7 +216,7 @@ s32 N(D_8024DEA8_831168)[] = { ANIM_ShyGuy_Red_Anim11, ANIM_ShyGuy_Red_Anim02, ANIM_ShyGuy_Red_Anim04, - -1 + ANIM_LIST_END }; NpcData N(NpcData_ShyGuy) = { @@ -226,25 +227,8 @@ NpcData N(NpcData_ShyGuy) = { .settings = &N(NpcSettings_Toad_Stationary), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_ShyGuy_Red_Anim01, - .walk = ANIM_ShyGuy_Red_Anim02, - .run = ANIM_ShyGuy_Red_Anim03, - .chase = ANIM_ShyGuy_Red_Anim03, - .anim_4 = ANIM_ShyGuy_Red_Anim01, - .anim_5 = ANIM_ShyGuy_Red_Anim01, - .death = ANIM_ShyGuy_Red_Anim0C, - .hit = ANIM_ShyGuy_Red_Anim0C, - .anim_8 = ANIM_ShyGuy_Red_Anim15, - .anim_9 = ANIM_ShyGuy_Red_Anim12, - .anim_A = ANIM_ShyGuy_Red_Anim11, - .anim_B = ANIM_ShyGuy_Red_Anim10, - .anim_C = ANIM_ShyGuy_Red_Anim05, - .anim_D = ANIM_ShyGuy_Red_Anim01, - .anim_E = ANIM_ShyGuy_Red_Anim01, - .anim_F = ANIM_ShyGuy_Red_Anim01, - }, - .extraAnimations = N(D_8024DEA8_831168), + .animations = RED_SHY_GUY_ANIMS, + .extraAnimations = N(ExtraAnims_ShyGuy), }; NpcGroupList N(NpcGroup4) = { diff --git a/src/world/area_mac/mac_05/mac_05_4_npc.c b/src/world/area_mac/mac_05/mac_05_4_npc.c index fe1d10098e..b88204cb2a 100644 --- a/src/world/area_mac/mac_05/mac_05_4_npc.c +++ b/src/world/area_mac/mac_05/mac_05_4_npc.c @@ -2097,13 +2097,13 @@ NpcData N(NpcData_Fishmael) = { .tattle = MSG_NpcTattle_Fishmael, }; -AnimID N(Fuzzipede_ExtraAnims)[] = { +AnimID N(ExtraAnims_Fuzzipede)[] = { ANIM_Fuzzipede_Anim00, ANIM_Fuzzipede_Anim04, ANIM_Fuzzipede_Anim08, ANIM_Fuzzipede_Anim0A, ANIM_Fuzzipede_Anim24, - -1 + ANIM_LIST_END }; NpcData N(NpcData_Fuzzipede) = { @@ -2117,11 +2117,11 @@ NpcData N(NpcData_Fuzzipede) = { .animations = { .idle = ANIM_Fuzzipede_Anim04, }, - .extraAnimations = N(Fuzzipede_ExtraAnims), + .extraAnimations = N(ExtraAnims_Fuzzipede), .tattle = MSG_NpcTattle_Fuzzipede, }; -AnimID N(JrTroopa_ExtraAnims)[] = { +AnimID N(ExtraAnims_JrTroopa)[] = { ANIM_JrTroopa_Still, ANIM_JrTroopa_PointStill, ANIM_JrTroopa_Idle, @@ -2134,7 +2134,7 @@ AnimID N(JrTroopa_ExtraAnims)[] = { ANIM_JrTroopa_Defeated, ANIM_JrTroopa_TiredTalk, ANIM_JrTroopa_PointTalk, - -1 + ANIM_LIST_END }; NpcData N(NpcData_JrTroopa_01)[] = { @@ -2164,7 +2164,7 @@ NpcData N(NpcData_JrTroopa_01)[] = { .anim_E = ANIM_JrTroopa_Idle, .anim_F = ANIM_JrTroopa_Idle, }, - .extraAnimations = N(JrTroopa_ExtraAnims), + .extraAnimations = N(ExtraAnims_JrTroopa), .tattle = MSG_NpcTattle_JrTroopa, }, { @@ -2193,7 +2193,7 @@ NpcData N(NpcData_JrTroopa_01)[] = { .anim_E = ANIM_JrTroopa_Idle, .anim_F = ANIM_JrTroopa_Idle, }, - .extraAnimations = N(JrTroopa_ExtraAnims), + .extraAnimations = N(ExtraAnims_JrTroopa), .tattle = MSG_NpcTattle_JrTroopa, }, }; 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 cc2c018b03..2493fc5ac6 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 @@ -1005,22 +1005,9 @@ EvtScript N(EVS_Dummy) = { }; #include "world/common/npc/Toad_Stationary.inc.c" - -NpcSettings N(NpcSettings_Luigi) = { - .height = 24, - .radius = 24, - .level = 99, -}; - +#include "world/common/npc/Luigi.inc.c" #include "world/common/enemy/Fuzzy.inc.c" - -NpcSettings N(NpcSettings_Bobomb) = { - .height = 23, - .radius = 20, - .level = 6, - .onHit = &EnemyNpcHit, - .onDefeat = &EnemyNpcDefeat, -}; +#include "world/common/enemy/Bobomb.inc.c" s32 N(InitialConfigurations)[3][NUM_BOXES] = { { 2, 0, 2, 0, 2, 3, 3, 3, 3, 3, 2, 3, 2, 1, 3, 3, 2, 3, 0, 3, 3, 2, 3, 3, 1, 2, 3, 3, 2, 3, 3, 1, 3, 3, 2 }, @@ -1869,24 +1856,7 @@ NpcData N(NpcData_Fuzzy_01) = { .settings = &N(NpcSettings_Fuzzy), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Fuzzy_Walk, - .walk = ANIM_Fuzzy_Walk, - .run = ANIM_Fuzzy_Run, - .chase = ANIM_Fuzzy_Run, - .anim_4 = ANIM_Fuzzy_Idle, - .anim_5 = ANIM_Fuzzy_Idle, - .death = ANIM_Fuzzy_Hurt, - .hit = ANIM_Fuzzy_Hurt, - .anim_8 = ANIM_Fuzzy_Run, - .anim_9 = ANIM_Fuzzy_Run, - .anim_A = ANIM_Fuzzy_Run, - .anim_B = ANIM_Fuzzy_Run, - .anim_C = ANIM_Fuzzy_Run, - .anim_D = ANIM_Fuzzy_Run, - .anim_E = ANIM_Fuzzy_Run, - .anim_F = ANIM_Fuzzy_Run, - }, + .animations = FUZZY_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; @@ -1898,24 +1868,7 @@ NpcData N(NpcData_Fuzzy_02) = { .settings = &N(NpcSettings_Fuzzy), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Fuzzy_Walk, - .walk = ANIM_Fuzzy_Walk, - .run = ANIM_Fuzzy_Run, - .chase = ANIM_Fuzzy_Run, - .anim_4 = ANIM_Fuzzy_Idle, - .anim_5 = ANIM_Fuzzy_Idle, - .death = ANIM_Fuzzy_Hurt, - .hit = ANIM_Fuzzy_Hurt, - .anim_8 = ANIM_Fuzzy_Run, - .anim_9 = ANIM_Fuzzy_Run, - .anim_A = ANIM_Fuzzy_Run, - .anim_B = ANIM_Fuzzy_Run, - .anim_C = ANIM_Fuzzy_Run, - .anim_D = ANIM_Fuzzy_Run, - .anim_E = ANIM_Fuzzy_Run, - .anim_F = ANIM_Fuzzy_Run, - }, + .animations = FUZZY_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; @@ -1927,24 +1880,7 @@ NpcData N(NpcData_Fuzzy_03) = { .settings = &N(NpcSettings_Fuzzy), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Fuzzy_Walk, - .walk = ANIM_Fuzzy_Walk, - .run = ANIM_Fuzzy_Run, - .chase = ANIM_Fuzzy_Run, - .anim_4 = ANIM_Fuzzy_Idle, - .anim_5 = ANIM_Fuzzy_Idle, - .death = ANIM_Fuzzy_Hurt, - .hit = ANIM_Fuzzy_Hurt, - .anim_8 = ANIM_Fuzzy_Run, - .anim_9 = ANIM_Fuzzy_Run, - .anim_A = ANIM_Fuzzy_Run, - .anim_B = ANIM_Fuzzy_Run, - .anim_C = ANIM_Fuzzy_Run, - .anim_D = ANIM_Fuzzy_Run, - .anim_E = ANIM_Fuzzy_Run, - .anim_F = ANIM_Fuzzy_Run, - }, + .animations = FUZZY_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; @@ -1956,24 +1892,7 @@ NpcData N(NpcData_Fuzzy_04) = { .settings = &N(NpcSettings_Fuzzy), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Fuzzy_Walk, - .walk = ANIM_Fuzzy_Walk, - .run = ANIM_Fuzzy_Run, - .chase = ANIM_Fuzzy_Run, - .anim_4 = ANIM_Fuzzy_Idle, - .anim_5 = ANIM_Fuzzy_Idle, - .death = ANIM_Fuzzy_Hurt, - .hit = ANIM_Fuzzy_Hurt, - .anim_8 = ANIM_Fuzzy_Run, - .anim_9 = ANIM_Fuzzy_Run, - .anim_A = ANIM_Fuzzy_Run, - .anim_B = ANIM_Fuzzy_Run, - .anim_C = ANIM_Fuzzy_Run, - .anim_D = ANIM_Fuzzy_Run, - .anim_E = ANIM_Fuzzy_Run, - .anim_F = ANIM_Fuzzy_Run, - }, + .animations = FUZZY_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; @@ -1985,24 +1904,7 @@ NpcData N(NpcData_Fuzzy_05) = { .settings = &N(NpcSettings_Fuzzy), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Fuzzy_Walk, - .walk = ANIM_Fuzzy_Walk, - .run = ANIM_Fuzzy_Run, - .chase = ANIM_Fuzzy_Run, - .anim_4 = ANIM_Fuzzy_Idle, - .anim_5 = ANIM_Fuzzy_Idle, - .death = ANIM_Fuzzy_Hurt, - .hit = ANIM_Fuzzy_Hurt, - .anim_8 = ANIM_Fuzzy_Run, - .anim_9 = ANIM_Fuzzy_Run, - .anim_A = ANIM_Fuzzy_Run, - .anim_B = ANIM_Fuzzy_Run, - .anim_C = ANIM_Fuzzy_Run, - .anim_D = ANIM_Fuzzy_Run, - .anim_E = ANIM_Fuzzy_Run, - .anim_F = ANIM_Fuzzy_Run, - }, + .animations = FUZZY_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; @@ -2014,24 +1916,7 @@ NpcData N(NpcData_Bobomb_01) = { .settings = &N(NpcSettings_Bobomb), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Bobomb_Anim02, - .walk = ANIM_Bobomb_Anim04, - .run = ANIM_Bobomb_Anim06, - .chase = ANIM_Bobomb_Anim06, - .anim_4 = ANIM_Bobomb_Anim02, - .anim_5 = ANIM_Bobomb_Anim02, - .death = ANIM_Bobomb_Anim0E, - .hit = ANIM_Bobomb_Anim0E, - .anim_8 = ANIM_Bobomb_Anim06, - .anim_9 = ANIM_Bobomb_Anim06, - .anim_A = ANIM_Bobomb_Anim06, - .anim_B = ANIM_Bobomb_Anim06, - .anim_C = ANIM_Bobomb_Anim06, - .anim_D = ANIM_Bobomb_Anim06, - .anim_E = ANIM_Bobomb_Anim06, - .anim_F = ANIM_Bobomb_Anim06, - }, + .animations = BOBOMB_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; @@ -2043,24 +1928,7 @@ NpcData N(NpcData_Bobomb_02) = { .settings = &N(NpcSettings_Bobomb), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Bobomb_Anim02, - .walk = ANIM_Bobomb_Anim04, - .run = ANIM_Bobomb_Anim06, - .chase = ANIM_Bobomb_Anim06, - .anim_4 = ANIM_Bobomb_Anim02, - .anim_5 = ANIM_Bobomb_Anim02, - .death = ANIM_Bobomb_Anim0E, - .hit = ANIM_Bobomb_Anim0E, - .anim_8 = ANIM_Bobomb_Anim06, - .anim_9 = ANIM_Bobomb_Anim06, - .anim_A = ANIM_Bobomb_Anim06, - .anim_B = ANIM_Bobomb_Anim06, - .anim_C = ANIM_Bobomb_Anim06, - .anim_D = ANIM_Bobomb_Anim06, - .anim_E = ANIM_Bobomb_Anim06, - .anim_F = ANIM_Bobomb_Anim06, - }, + .animations = BOBOMB_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; @@ -2072,24 +1940,7 @@ NpcData N(NpcData_Bobomb_03) = { .settings = &N(NpcSettings_Bobomb), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Bobomb_Anim02, - .walk = ANIM_Bobomb_Anim04, - .run = ANIM_Bobomb_Anim06, - .chase = ANIM_Bobomb_Anim06, - .anim_4 = ANIM_Bobomb_Anim02, - .anim_5 = ANIM_Bobomb_Anim02, - .death = ANIM_Bobomb_Anim0E, - .hit = ANIM_Bobomb_Anim0E, - .anim_8 = ANIM_Bobomb_Anim06, - .anim_9 = ANIM_Bobomb_Anim06, - .anim_A = ANIM_Bobomb_Anim06, - .anim_B = ANIM_Bobomb_Anim06, - .anim_C = ANIM_Bobomb_Anim06, - .anim_D = ANIM_Bobomb_Anim06, - .anim_E = ANIM_Bobomb_Anim06, - .anim_F = ANIM_Bobomb_Anim06, - }, + .animations = BOBOMB_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; @@ -2101,24 +1952,7 @@ NpcData N(NpcData_Bobomb_04) = { .settings = &N(NpcSettings_Bobomb), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Bobomb_Anim02, - .walk = ANIM_Bobomb_Anim04, - .run = ANIM_Bobomb_Anim06, - .chase = ANIM_Bobomb_Anim06, - .anim_4 = ANIM_Bobomb_Anim02, - .anim_5 = ANIM_Bobomb_Anim02, - .death = ANIM_Bobomb_Anim0E, - .hit = ANIM_Bobomb_Anim0E, - .anim_8 = ANIM_Bobomb_Anim06, - .anim_9 = ANIM_Bobomb_Anim06, - .anim_A = ANIM_Bobomb_Anim06, - .anim_B = ANIM_Bobomb_Anim06, - .anim_C = ANIM_Bobomb_Anim06, - .anim_D = ANIM_Bobomb_Anim06, - .anim_E = ANIM_Bobomb_Anim06, - .anim_F = ANIM_Bobomb_Anim06, - }, + .animations = BOBOMB_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; @@ -2130,24 +1964,7 @@ NpcData N(NpcData_Bobomb_05) = { .settings = &N(NpcSettings_Bobomb), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Bobomb_Anim02, - .walk = ANIM_Bobomb_Anim04, - .run = ANIM_Bobomb_Anim06, - .chase = ANIM_Bobomb_Anim06, - .anim_4 = ANIM_Bobomb_Anim02, - .anim_5 = ANIM_Bobomb_Anim02, - .death = ANIM_Bobomb_Anim0E, - .hit = ANIM_Bobomb_Anim0E, - .anim_8 = ANIM_Bobomb_Anim06, - .anim_9 = ANIM_Bobomb_Anim06, - .anim_A = ANIM_Bobomb_Anim06, - .anim_B = ANIM_Bobomb_Anim06, - .anim_C = ANIM_Bobomb_Anim06, - .anim_D = ANIM_Bobomb_Anim06, - .anim_E = ANIM_Bobomb_Anim06, - .anim_F = ANIM_Bobomb_Anim06, - }, + .animations = BOBOMB_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }; @@ -2160,24 +1977,7 @@ NpcData N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }, { @@ -2188,24 +1988,7 @@ NpcData N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }, { @@ -2216,24 +1999,7 @@ NpcData N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }, { @@ -2244,24 +2010,7 @@ NpcData N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }, { @@ -2272,24 +2021,7 @@ NpcData N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }, { @@ -2300,24 +2032,7 @@ NpcData N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }, { @@ -2328,24 +2043,7 @@ NpcData N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }, { @@ -2356,24 +2054,7 @@ NpcData N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }, { @@ -2384,24 +2065,7 @@ NpcData N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }, { @@ -2412,24 +2076,7 @@ NpcData N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .drops = NO_DROPS, - .animations = { - .idle = ANIM_Luigi_Still, - .walk = ANIM_Luigi_Still, - .run = ANIM_Luigi_Still, - .chase = ANIM_Luigi_Still, - .anim_4 = ANIM_Luigi_Still, - .anim_5 = ANIM_Luigi_Still, - .death = ANIM_Luigi_Still, - .hit = ANIM_Luigi_Still, - .anim_8 = ANIM_Luigi_Still, - .anim_9 = ANIM_Luigi_Still, - .anim_A = ANIM_Luigi_Still, - .anim_B = ANIM_Luigi_Still, - .anim_C = ANIM_Luigi_Still, - .anim_D = ANIM_Luigi_Still, - .anim_E = ANIM_Luigi_Still, - .anim_F = ANIM_Luigi_Still, - }, + .animations = LUIGI_ANIMS, .tattle = MSG_NpcTattle_MGM_SmashAttackGuide, }, }; diff --git a/src/world/area_osr/osr_02/osr_02_3_npc.c b/src/world/area_osr/osr_02/osr_02_3_npc.c index 689c5476b4..3821049059 100644 --- a/src/world/area_osr/osr_02/osr_02_3_npc.c +++ b/src/world/area_osr/osr_02/osr_02_3_npc.c @@ -534,7 +534,7 @@ NpcData N(NpcData_Spirits)[] = { .yaw = 270, .init = &N(EVS_NpcInit_Peach), .settings = &N(NpcSettings_Peach), - .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_USE_PLAYER_SPRITE, .drops = NO_DROPS, .animations = PEACH_ANIMS, .extraAnimations = N(ExtraAnims_Peach), diff --git a/src/world/common/enemy/Bobomb.inc.c b/src/world/common/enemy/Bobomb.inc.c new file mode 100644 index 0000000000..0a36c509b8 --- /dev/null +++ b/src/world/common/enemy/Bobomb.inc.c @@ -0,0 +1,10 @@ +#include "common.h" +#include "Bobomb.h" + +NpcSettings N(NpcSettings_Bobomb) = { + .height = 23, + .radius = 20, + .level = 6, + .onHit = &EnemyNpcHit, + .onDefeat = &EnemyNpcDefeat, +}; diff --git a/src/world/common/enemy/ShyGuy.h b/src/world/common/enemy/ShyGuy.h index 340ce49b62..659aa2d48c 100644 --- a/src/world/common/enemy/ShyGuy.h +++ b/src/world/common/enemy/ShyGuy.h @@ -122,6 +122,26 @@ .anim_F = ANIM_ShyGuy_Yellow_Anim01, \ } +#define ANTI_GUY_ANIMS \ +{ \ + .idle = ANIM_ShyGuy_Black_Anim01, \ + .walk = ANIM_ShyGuy_Black_Anim02, \ + .run = ANIM_ShyGuy_Black_Anim03, \ + .chase = ANIM_ShyGuy_Black_Anim02, \ + .anim_4 = ANIM_ShyGuy_Black_Anim01, \ + .anim_5 = ANIM_ShyGuy_Black_Anim01, \ + .death = ANIM_ShyGuy_Black_Anim0C, \ + .hit = ANIM_ShyGuy_Black_Anim0C, \ + .anim_8 = ANIM_ShyGuy_Black_Anim15, \ + .anim_9 = ANIM_ShyGuy_Black_Anim12, \ + .anim_A = ANIM_ShyGuy_Black_Anim11, \ + .anim_B = ANIM_ShyGuy_Black_Anim10, \ + .anim_C = ANIM_ShyGuy_Black_Anim05, \ + .anim_D = ANIM_ShyGuy_Black_Anim01, \ + .anim_E = ANIM_ShyGuy_Black_Anim01, \ + .anim_F = ANIM_ShyGuy_Black_Anim01, \ +} + // shy guys who avoid the player #define RED_AVOID_SHY_GUY_ANIMS \ diff --git a/src/world/common/enemy/SpearGuy_Wander.inc.c b/src/world/common/enemy/SpearGuy_Wander.inc.c index e3f7167a3b..18a6669760 100644 --- a/src/world/common/enemy/SpearGuy_Wander.inc.c +++ b/src/world/common/enemy/SpearGuy_Wander.inc.c @@ -17,7 +17,7 @@ AnimID N(ExtraAnims_SpearGuy)[] = { AnimID N(ExtraAnims_SpearGuy_Hitbox)[] = { ANIM_SpearGuy_Anim00, - -1, + ANIM_LIST_END, }; EvtScript N(EVS_NpcDefeat_SpearGuy_Hitbox) = { diff --git a/src/world/common/enemy/StoneChomp.inc.c b/src/world/common/enemy/StoneChomp.inc.c index e54492d053..acdfa61dc7 100644 --- a/src/world/common/enemy/StoneChomp.inc.c +++ b/src/world/common/enemy/StoneChomp.inc.c @@ -22,7 +22,7 @@ API_CALLABLE(N(StoneChompFXA)) { bp.onRender = NULL; for (i = 0; i < 8; i++, blurData++) { - blurData->npc = newNpc = get_npc_by_index(_create_npc_basic(bpPtr)); + blurData->npc = newNpc = get_npc_by_index(create_basic_npc(bpPtr)); newNpc->pos.x = npc->pos.x; newNpc->pos.y = npc->pos.y; newNpc->pos.z = npc->pos.z; diff --git a/src/world/partners.c b/src/world/partners.c index 1a1e24fe80..345dd99cd3 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -578,7 +578,7 @@ void func_800EA5B8(Npc* partner) { NPC_FLAG_JUMPING); } -void partner_create_npc(void) { +void partnercreate_npc_impl(void) { WorldPartner* partnerEntry = &wPartners[wCurrentPartnerId]; Npc** partnerNpcPtr = &wPartnerNpc; WorldPartner** partner = &wPartner; @@ -594,7 +594,7 @@ void partner_create_npc(void) { blueprint.initialAnim = (*partner)->idle; blueprint.onUpdate = NULL; blueprint.onRender = NULL; - wPartnerNpcIndex = npcIndex = _create_npc_basic(blueprintPtr); + wPartnerNpcIndex = npcIndex = create_basic_npc(blueprintPtr); *partnerNpcPtr = get_npc_by_index(npcIndex); @@ -685,7 +685,7 @@ void _use_partner_ability(void) { set_time_freeze_mode(TIME_FREEZE_NORMAL); partner_free_npc(); playerData->currentPartner = wCurrentPartnerId = NextPartnerID; - partner_create_npc(); + partnercreate_npc_impl(); sfx_play_sound(SOUND_E); wPartner->init(wPartnerNpc); PartnerCommandState += 1; @@ -721,7 +721,7 @@ void _use_partner_ability(void) { case 1: partner_free_npc(); playerData->currentPartner = wCurrentPartnerId = NextPartnerID; - partner_create_npc(); + partnercreate_npc_impl(); wPartnerNpc->pos.x = wSavedPartnerPosX; wPartnerNpc->pos.y = wSavedPartnerPosY; wPartnerNpc->pos.z = wSavedPartnerPosZ; @@ -781,7 +781,7 @@ void _use_partner_ability(void) { case 0: // create the new partner disable_player_input(); playerData->currentPartner = wCurrentPartnerId = NextPartnerID; - partner_create_npc(); + partnercreate_npc_impl(); wPartner->init(wPartnerNpc); PartnerCommandState += 1; // fall through @@ -811,7 +811,7 @@ void _use_partner_ability(void) { case 0: disable_player_input(); playerData->currentPartner = wCurrentPartnerId = NextPartnerID; - partner_create_npc(); + partnercreate_npc_impl(); wPartnerNpc->pos.x = wSavedPartnerPosX; wPartnerNpc->pos.y = wSavedPartnerPosY; wPartnerNpc->pos.z = wSavedPartnerPosZ; @@ -1014,7 +1014,7 @@ void partner_reset_data(void) { if (wCurrentPartnerId == PARTNER_NONE) { NextPartnerCommand = PARTNER_CMD_INIT; } else { - partner_create_npc(); + partnercreate_npc_impl(); wPartnerNpc->scale.x = 1.0f; wPartnerNpc->scale.y = 1.0f; wPartnerNpc->scale.z = 1.0f; diff --git a/src/world/script_api/shops.c b/src/world/script_api/shops.c index 4d4a5460e9..53806f30c7 100644 --- a/src/world/script_api/shops.c +++ b/src/world/script_api/shops.c @@ -938,8 +938,8 @@ API_CALLABLE(MakeShop) { hud_element_set_flags(shop->costIconID, HUD_ELEMENT_FLAG_80); hud_element_clear_flags(shop->costIconID, HUD_ELEMENT_FLAG_FILTER_TEX); get_worker(create_worker_frontUI(NULL, draw_shop_items)); - set_window_properties(WINDOW_ID_10, 100, 66, 120, 28, 0, shop_draw_item_name, NULL, -1); - set_window_properties(WINDOW_ID_11, 32, 184, 256, 32, 1, shop_draw_item_desc, NULL, -1); + set_window_properties(WINDOW_ID_ITEM_INFO_NAME, 100, 66, 120, 28, 0, shop_draw_item_name, NULL, -1); + set_window_properties(WINDOW_ID_ITEM_INFO_DESC, 32, 184, 256, 32, 1, shop_draw_item_desc, NULL, -1); gWindowStyles[10].defaultStyleID = WINDOW_STYLE_9; gWindowStyles[11].defaultStyleID = WINDOW_STYLE_3; shop->currentItemSlot = 0; diff --git a/ver/us/asm/data/battle/move/auto_smash/7635F0.data.s b/ver/us/asm/data/battle/move/auto_smash/7635F0.data.s deleted file mode 100644 index ca56a318b2..0000000000 --- a/ver/us/asm/data/battle/move/auto_smash/7635F0.data.s +++ /dev/null @@ -1,39 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802A10B0_7635F0 -.word 0x00000043, 0x00000001, InitTargetIterator, 0x00000043, 0x00000002, SetGoalToTarget, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000020, 0x00000043, 0x00000005, SetGoalPos, 0xFFFFFF81, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000001A, 0x00000043, 0x00000003, SetActorSpeed, 0x00000000, 0xF24A8E80, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010005, 0x00000043, 0x00000002, PlayerRunToGoal, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802A118C_7636CC -.word 0x00000043, 0x00000005, SetGoalPos, 0x00000000, 0xFFFFFFDF, 0x00000000, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000001A, 0x00000043, 0x00000003, SetActorSpeed, 0x00000000, 0xF24A8E80, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010005, 0x00000043, 0x00000002, PlayerRunToGoal, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802A1204_763744 -.word 0x00000043, 0x00000002, SetGoalToTarget, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010002, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000D, 0x00000006, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000D, 0x00000014, 0x00000001, 0xFE363C81, 0x00000018, 0x00000001, 0x00000003, 0x00000008, 0x00000001, 0x00000004, 0x00000018, 0x00000001, 0x00000005, 0x00000008, 0x00000001, 0x00000003, 0x00000018, 0x00000001, 0x00000007, 0x00000008, 0x00000001, 0x00000002, 0x00000018, 0x00000001, 0x00000009, 0x00000008, 0x00000001, 0x00000001, 0x00000018, 0x00000001, 0x0000000B, 0x00000008, 0x00000001, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802A1388_7638C8 -.word 0x00000043, 0x00000002, SetGoalToTarget, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010002, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030014, 0x00000006, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030014, 0x00000014, 0x00000001, 0xFE363C81, 0x00000018, 0x00000001, 0x00000003, 0x00000008, 0x00000001, 0x00000004, 0x00000018, 0x00000001, 0x00000005, 0x00000008, 0x00000001, 0x00000003, 0x00000018, 0x00000001, 0x00000007, 0x00000008, 0x00000001, 0x00000002, 0x00000018, 0x00000001, 0x00000009, 0x00000008, 0x00000001, 0x00000001, 0x00000018, 0x00000001, 0x0000000B, 0x00000008, 0x00000001, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802A150C_763A4C -.word 0x00000043, 0x00000002, SetGoalToTarget, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010002, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001B, 0x00000006, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001B, 0x00000014, 0x00000001, 0xFE363C81, 0x00000018, 0x00000001, 0x00000003, 0x00000008, 0x00000001, 0x00000004, 0x00000018, 0x00000001, 0x00000005, 0x00000008, 0x00000001, 0x00000003, 0x00000018, 0x00000001, 0x00000007, 0x00000008, 0x00000001, 0x00000002, 0x00000018, 0x00000001, 0x00000009, 0x00000008, 0x00000001, 0x00000001, 0x00000018, 0x00000001, 0x0000000B, 0x00000008, 0x00000001, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000002B, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000008, 0x00000043, 0x00000001, InitTargetIterator, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010B, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000E, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000004, action_command_hammer_start, 0x00000000, 0x00000024, 0x00000003, 0x00000043, 0x00000002, SetActionResult, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000F, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionResult, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030010, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030011, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030012, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000002C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802A18AC_763DEC -.word 0x00000043, 0x00000001, func_80276EFC, 0x00000043, 0x00000002, UseBattleCamPreset, 0x00000004, 0x00000043, 0x00000002, MoveBattleCamOver, 0x00000005, 0x00000043, 0x00000001, func_802693F0, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, EnablePlayerBlur, 0xFFFFFFFF, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010002, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, SetGoalToHome, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0x00000000, 0xF24A9A80, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010005, 0x00000043, 0x00000002, PlayerRunToGoal, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010002, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80276EFC, 0x00000043, 0x00000001, func_802693F0, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, EnablePlayerBlur, 0xFFFFFFFF, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010002, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, SetGoalToHome, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0x00000000, 0xF24A9A80, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010005, 0x00000043, 0x00000002, PlayerRunToGoal, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802A1A64_763FA4 -.word 0x00000043, 0x00000001, func_80276EFC, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000001D, 0x00000043, 0x00000001, func_802693F0, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, EnablePlayerBlur, 0xFFFFFFFF, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010002, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, SetGoalToHome, 0x00000000, 0x00000043, 0x00000003, SetActorSpeed, 0x00000000, 0xF24A9A80, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010005, 0x00000043, 0x00000002, PlayerRunToGoal, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00010002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802A1B40_764080 -.word 0x00000043, 0x00000002, LoadActionCommand, 0x00000002, 0x00000043, 0x00000001, action_command_jump_init, 0x00000046, 0x00000001, D_802A10B0_7635F0, 0x00000043, 0x00000002, SetGoalToTarget, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000046, 0x00000001, D_802A1204_763744, 0x00000043, 0x00000007, PlayerTestEnemy, 0xFE363C80, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000002B, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000008, 0x00000043, 0x00000001, InitTargetIterator, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010B, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000E, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000001, battle_move_auto_smash_IsBerserkerEquipped, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000F, 0x00000043, 0x00000002, GetActionCommandMode, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000001, battle_move_auto_smash_ShouldMovesAutoSucceed, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000002D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8D, 0x00000006, 0x00000043, 0x00000004, action_command_hammer_start, 0x00000000, 0xFE363C8D, 0x00000003, 0x00000043, 0x00000002, SetActionResult, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionResult, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030010, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetActionCommandMode, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionSuccess, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000004, action_command_hammer_start, 0x00000000, 0xFE363C81, 0x00000003, 0x00000043, 0x00000002, SetActionResult, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000F, 0x00000028, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000008, 0x00000001, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030010, 0x00000008, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetActionCommandMode, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000002, SetActionCommandMode, 0x00000003, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetActionCommandMode, 0xFE363C80, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000002, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030011, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x00002115, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030012, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x00002118, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802A2000_764540 -.word 0x00000043, 0x00000002, LoadActionCommand, 0x00000002, 0x00000043, 0x00000001, action_command_jump_init, 0x00000046, 0x00000001, D_802A10B0_7635F0, 0x00000043, 0x00000002, SetGoalToTarget, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000046, 0x00000001, D_802A1388_7638C8, 0x00000043, 0x00000007, PlayerTestEnemy, 0xFE363C80, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000002B, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000008, 0x00000043, 0x00000001, InitTargetIterator, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010B, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030015, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000001, battle_move_auto_smash_IsBerserkerEquipped, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030016, 0x00000043, 0x00000001, battle_move_auto_smash_ShouldMovesAutoSucceed, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000002D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8D, 0x00000006, 0x00000043, 0x00000004, action_command_hammer_start, 0x00000000, 0xFE363C8D, 0x00000003, 0x00000043, 0x00000002, SetActionResult, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionResult, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030017, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionSuccess, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000004, action_command_hammer_start, 0x00000000, 0xFE363C81, 0x00000003, 0x00000043, 0x00000002, SetActionResult, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030016, 0x00000028, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000008, 0x00000001, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030017, 0x00000008, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030018, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x00002116, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030019, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x00002119, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802A23E8_764928 -.word 0x00000043, 0x00000002, LoadActionCommand, 0x00000002, 0x00000043, 0x00000001, action_command_jump_init, 0x00000046, 0x00000001, D_802A10B0_7635F0, 0x00000043, 0x00000002, SetGoalToTarget, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000046, 0x00000001, D_802A150C_763A4C, 0x00000043, 0x00000007, PlayerTestEnemy, 0xFE363C80, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000002B, 0x00000043, 0x00000002, SetBattleCamOffsetZ, 0x00000008, 0x00000043, 0x00000001, InitTargetIterator, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010B, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001C, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000001, battle_move_auto_smash_IsBerserkerEquipped, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001D, 0x00000043, 0x00000001, battle_move_auto_smash_ShouldMovesAutoSucceed, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000002D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8D, 0x00000006, 0x00000043, 0x00000004, action_command_hammer_start, 0x00000000, 0xFE363C8D, 0x00000003, 0x00000043, 0x00000002, SetActionResult, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionResult, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionSuccess, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000004, action_command_hammer_start, 0x00000000, 0xFE363C81, 0x00000003, 0x00000043, 0x00000002, SetActionResult, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001D, 0x00000028, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000008, 0x00000001, 0xFE363C81, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001E, 0x00000008, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001F, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x00002117, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030020, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000211A, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, ChooseNextTarget, 0x0000000A, 0xFE363C80, 0x00000043, 0x00000002, LoadActionCommand, 0x00000002, 0x00000043, 0x00000001, action_command_jump_init, 0x00000046, 0x00000001, D_802A118C_7636CC, 0x00000043, 0x00000002, SetGoalToTarget, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000046, 0x00000001, D_802A1204_763744, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000002B, 0x00000043, 0x00000002, AddBattleCamZoom, 0x00000050, 0x00000043, 0x00000001, InitTargetIterator, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010B, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000E, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003000F, 0x00000043, 0x00000001, battle_move_auto_smash_ShouldMovesAutoSucceed, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000002D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8D, 0x00000006, 0x00000043, 0x00000004, action_command_hammer_start, 0x00000000, 0xFE363C8D, 0x00000003, 0x00000043, 0x00000002, SetActionResult, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionResult, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030010, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionSuccess, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x00002115, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030011, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030012, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x00002118, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, ChooseNextTarget, 0x0000000A, 0xFE363C80, 0x00000043, 0x00000002, LoadActionCommand, 0x00000002, 0x00000043, 0x00000001, action_command_jump_init, 0x00000046, 0x00000001, D_802A118C_7636CC, 0x00000043, 0x00000002, SetGoalToTarget, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000046, 0x00000001, D_802A1388_7638C8, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000002B, 0x00000043, 0x00000002, AddBattleCamZoom, 0x00000050, 0x00000043, 0x00000001, InitTargetIterator, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010B, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030015, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030016, 0x00000043, 0x00000001, battle_move_auto_smash_ShouldMovesAutoSucceed, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000002D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8D, 0x00000006, 0x00000043, 0x00000004, action_command_hammer_start, 0x00000000, 0xFE363C8D, 0x00000003, 0x00000005, 0x00000001, 0x0000003C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionSuccess, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x00002116, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030018, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030019, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x00002119, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, ChooseNextTarget, 0x0000000A, 0xFE363C80, 0x00000043, 0x00000002, LoadActionCommand, 0x00000002, 0x00000043, 0x00000001, action_command_jump_init, 0x00000046, 0x00000001, D_802A118C_7636CC, 0x00000043, 0x00000002, SetGoalToTarget, 0x00000000, 0x00000043, 0x00000005, AddGoalPos, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000046, 0x00000001, D_802A150C_763A4C, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000002B, 0x00000043, 0x00000002, AddBattleCamZoom, 0x00000050, 0x00000043, 0x00000001, InitTargetIterator, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010B, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001C, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001D, 0x00000043, 0x00000001, battle_move_auto_smash_ShouldMovesAutoSucceed, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000002D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8D, 0x00000006, 0x00000043, 0x00000004, action_command_hammer_start, 0x00000000, 0xFE363C8D, 0x00000003, 0x00000005, 0x00000001, 0x0000003C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, CheckButtonDown, 0x00040000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetActionSuccess, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x00002117, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x0003001F, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetAnimation, 0x00000000, 0x00000000, 0x00030020, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000211A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel battle_move_auto_smash_main -.word 0x00000043, 0x00000003, SetBattleFlagBits, 0x00001000, 0x00000001, 0x00000043, 0x00000002, ShowActionHud, 0x00000001, 0x00000043, 0x00000004, GetMenuSelection, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8D, 0x0000002D, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000001, 0x00000024, 0x00000002, 0xFE363C8F, 0x00000002, 0x00000046, 0x00000001, D_802A317C_7656BC, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C8D, 0x0000002D, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000002, 0x00000024, 0x00000002, 0xFE363C8F, 0x00000004, 0x00000046, 0x00000001, D_802A317C_7656BC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C8D, 0x0000002D, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000003, 0x00000024, 0x00000002, 0xFE363C8F, 0x00000006, 0x00000046, 0x00000001, D_802A317C_7656BC, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802A317C_7656BC -.word 0x00000043, 0x00000004, GetMenuSelection, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000046, 0x00000001, D_802A1B40_764080, 0x00000016, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_802A2000_764540, 0x00000016, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_802A23E8_764928, 0x00000023, 0x00000000, 0x00000043, 0x00000007, PlayerTestEnemy, 0xFE363C80, 0x00000040, 0x00000019, 0x00000000, 0xFE363C89, 0x00000010, 0x00000043, 0x00000002, GetActionSuccessCopy, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000019, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetMenuSelection, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000002, StartRumble, 0x00000007, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000000A, 0xF24A7FB4, 0x00000057, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000002, StartRumble, 0x00000008, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000000A, 0xF24A80E7, 0x00000057, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000002, StartRumble, 0x00000009, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x0000000A, 0xF24A821A, 0x00000057, 0x00000000, 0x00000023, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000004, GetMenuSelection, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000002, StartRumble, 0x00000007, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000002, 0xF24A7FB4, 0x00000057, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000002, StartRumble, 0x00000008, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000002, 0xF24A80E7, 0x00000057, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000002, StartRumble, 0x00000009, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000001, 0x00000000, 0x00000002, 0xF24A821A, 0x00000057, 0x00000000, 0x00000023, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, UseBattleCamPreset, 0x0000002C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000007, PlayerTestEnemy, 0xFE363C80, 0x00000040, 0x00000019, 0x00000000, 0x00000000, 0x00000010, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000006, 0x00000046, 0x00000001, D_802A1A64_763FA4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DidActionSucceed, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000019, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetMenuSelection, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x000000E9, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010E, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010E, 0x00000023, 0x00000000, 0x00000043, 0x00000007, PlayerDamageEnemy, 0xFE363C80, 0x00000040, 0x00000019, 0x00000000, 0xFE363C8F, 0x00000070, 0x0000001C, 0x00000000, 0x00000043, 0x00000004, GetMenuSelection, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000001, 0xFE363C81, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x000000E9, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010E, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, PlaySoundAtActor, 0x00000000, 0x0000010E, 0x00000023, 0x00000000, 0x00000043, 0x00000007, PlayerDamageEnemy, 0xFE363C80, 0x00000040, 0x00000019, 0x00000000, 0xFE363C8E, 0x00000030, 0x00000023, 0x00000000, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000001, 0x0000001D, 0x00000001, 0x00000003, 0x00000046, 0x00000001, D_802A18AC_763DEC, 0x00000020, 0x00000000, 0x0000001D, 0x00000001, 0x00000000, 0x0000001D, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_802A1A64_763FA4, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 03ae3dc9a9..8e5e1e4548 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -8611,8 +8611,8 @@ segments: vram: 0x802A1000 follows_vram: battle_code subsegments: - - [0x763540, c] - - [0x7635F0, data] + - [0x763540, c, auto_smash] + - [0x7635F0] - dir: battle/move/auto_jump type: code start: 0x765C20 diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index 5a6385fb8d..bba387d617 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -243,10 +243,10 @@ mtx_ident_mirror_y = 0x80038478; // type:func rom:0x13878 clear_npcs = 0x800384BC; // type:func rom:0x138BC init_npc_list = 0x8003852C; // type:func rom:0x1392C npc_iter_no_op = 0x8003857C; // type:func rom:0x1397C -_create_npc = 0x80038598; // type:func rom:0x13998 -_create_npc_basic = 0x80038844; // type:func rom:0x13C44 -_create_npc_standard = 0x80038864; // type:func rom:0x13C64 -_create_npc_partner = 0x80038880; // type:func rom:0x13C80 +create_npc_impl = 0x80038598; // type:func rom:0x13998 +create_basic_npc = 0x80038844; // type:func rom:0x13C44 +create_standard_npc = 0x80038864; // type:func rom:0x13C64 +create_peach_npc = 0x80038880; // type:func rom:0x13C80 free_npc_by_index = 0x800388A0; // type:func rom:0x13CA0 free_npc = 0x800389CC; // type:func rom:0x13DCC get_npc_by_index = 0x80038ADC; // type:func rom:0x13EDC @@ -2967,7 +2967,7 @@ world_partner_can_player_pause_default = 0x800EA524; // type:func rom:0x839D4 func_800EA52C = 0x800EA52C; // type:func rom:0x839DC partner_is_flying = 0x800EA5A4; // type:func rom:0x83A54 func_800EA5B8 = 0x800EA5B8; // type:func rom:0x83A68 -partner_create_npc = 0x800EA5D0; // type:func rom:0x83A80 +partnercreate_npc_impl = 0x800EA5D0; // type:func rom:0x83A80 partner_free_npc = 0x800EA6A8; // type:func rom:0x83B58 switch_to_partner = 0x800EB168; // type:func rom:0x84618 partner_init_after_battle = 0x800EB200; // type:func rom:0x846B0 @@ -6650,12 +6650,12 @@ ForceCloseMessageBox = 0x802513F0; // type:func rom:0x17FCD0 SetMessageBoxDuration = 0x80251408; // type:func rom:0x17FCE8 func_80251434 = 0x80251434; // type:func rom:0x17FD14 func_80251454 = 0x80251454; // type:func rom:0x17FD34 -func_80251474 = 0x80251474; // type:func rom:0x17FD54 +apply_shock_effect = 0x80251474; // type:func rom:0x17FD54 calc_item_check_hit = 0x802515D0; // type:func rom:0x17FEB0 calc_item_damage_enemy = 0x802516E8; // type:func rom:0x17FFC8 ItemDamageEnemy = 0x80252728; // type:func rom:0x181008 -ItemAfflictEnemy = 0x80252924; // type:func rom:0x181204 -func_80252B3C = 0x80252B3C; // type:func rom:0x18141C +ItemSpookEnemy = 0x80252924; // type:func rom:0x181204 +ItemAfflictEnemy = 0x80252B3C; // type:func rom:0x18141C ItemCheckHit = 0x80252D40; // type:func rom:0x181620 ActorSpeak = 0x80252F30; // type:func rom:0x181810 EndActorSpeech = 0x802532D0; // type:func rom:0x181BB0 @@ -7035,8 +7035,8 @@ GetPartTargetFlags = 0x8026D2AC; // type:func rom:0x19BB8C SetPartEventFlags = 0x8026D340; // type:func rom:0x19BC20 SetPartEventBits = 0x8026D3C8; // type:func rom:0x19BCA8 GetPartEventFlags = 0x8026D488; // type:func rom:0x19BD68 -func_8026D51C = 0x8026D51C; // type:func rom:0x19BDFC -func_8026D5A4 = 0x8026D5A4; // type:func rom:0x19BE84 +SetPartImmunityFlags = 0x8026D51C; // type:func rom:0x19BDFC +SetPartImmunityBits = 0x8026D5A4; // type:func rom:0x19BE84 HPBarToHome = 0x8026D664; // type:func rom:0x19BF44 HPBarToCurrent = 0x8026D7A8; // type:func rom:0x19C088 func_8026D8EC = 0x8026D8EC; // type:func rom:0x19C1CC