From 44a648e3bed7ce7922b570d30a2b41ba10c3b216 Mon Sep 17 00:00:00 2001 From: aerinon Date: Tue, 25 Oct 2022 09:15:15 -0600 Subject: [PATCH] Killable thieves flag --- enemizer/enemizerflags.asm | 5 +++-- enemizer/main.asm | 1 + enemizer/mimic_fixes.asm | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/enemizer/enemizerflags.asm b/enemizer/enemizerflags.asm index 6c7db3f..95c56f6 100644 --- a/enemizer/enemizerflags.asm +++ b/enemizer/enemizerflags.asm @@ -1,7 +1,7 @@ ; ;Enemizer Flags EnemizerFlags: .randomize_bushes -db #$00 ;408100 : 200100 ; Enable random enemy under bushes +db #$00 ;368100 ; Enable random enemy under bushes .close_blind_door db #$00 ;408101 : 200101 ; Enable blind's door closing for other bosses .moldorm_eye_count @@ -16,8 +16,9 @@ db #$00 ;408105 : 200105 ; toggle mimic code between new and old db #$00 ;408106 : 200106 ; toggle to turn on terrorpin ai "fix" .center_boss_drops db #$00 ;368107 +.killable_theives_id ; must be set to C4 to make thieves killable... +db #$B8 ;368108 -db #$00 ;408108 : 200108 db #$00 ;408109 : 200109 db #$00 ;40810A : 20010A db #$00 ;40810B : 20010B diff --git a/enemizer/main.asm b/enemizer/main.asm index e2487ef..1a8df13 100644 --- a/enemizer/main.asm +++ b/enemizer/main.asm @@ -19,6 +19,7 @@ lorom !ENABLE_MIMIC_OVERRIDE = "$368105" ;!ENABLE_TERRORPIN_AI_FIX = "$368106" # moved to baserom already !CENTER_BOSS_DROP_FLAG = "$368107" +!KILLABLE_THIEVES_ID = "$368108" ; Enemizer reserved memory ; $7F50B0 - $7F50BF - Downstream Reserved (Enemizer) diff --git a/enemizer/mimic_fixes.asm b/enemizer/mimic_fixes.asm index 91c081e..9d0bd83 100644 --- a/enemizer/mimic_fixes.asm +++ b/enemizer/mimic_fixes.asm @@ -37,10 +37,10 @@ RTL } notItemSprite_Mimic: -{ ; don't change this unless you go update SetKillableThief in c# side since it assumes +4 bytes to update the value on the CMP from B8 to C4 +{ ; if we set killable thief we want to update the sprite id so it can be killed LDA $0E20, X - CMP.b #$B8 : BEQ .changeSpriteId ; thief #$C4 + CMP.l [!KILLABLE_THIEVES_ID] : BEQ .changeSpriteId ; thief #$C4 (default is B8/dialog tester) ; if we don't have mimic code turned on we want to skip, but we also need to reload the sprite id because we just smoked it with this LDA LDA !ENABLE_MIMIC_OVERRIDE : BEQ .reloadSpriteIdAndSkipMimic ; skip to what it would have done normally