aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-05-02 14:07:14 +0200
committerAstatin <[email protected]>2025-05-02 14:07:14 +0200
commitf51e51ebdfc71a429fd1a4ef359f9d8ce52fb1d2 (patch)
tree6a9fbde65c0ac14e4b87c463343187d1428ecd2f
parente322573ecc55a821506e5313e3b9994e1b58745e (diff)
Fix fimshes and give them a placeholder items to drop
-rw-r--r--dialogues/text.gbasm12
-rw-r--r--dialogues/text.gbtxt10
-rw-r--r--entity/cat.gbasm5
-rw-r--r--entity/fimsh.gbasm52
-rw-r--r--entity/fox.gbasm5
-rw-r--r--entity/list.gbasm2
-rw-r--r--entity/penguin.gbasm5
-rw-r--r--entity/utils.gbasm4
-rw-r--r--map/objects.gbasm30
9 files changed, 66 insertions, 59 deletions
diff --git a/dialogues/text.gbasm b/dialogues/text.gbasm
index 491d395..d71f756 100644
--- a/dialogues/text.gbasm
+++ b/dialogues/text.gbasm
@@ -30,6 +30,18 @@ dup_attack_3b:
.DB 0x94, 0x97, 0x98, 0xa0, 0x0, 0x9d, 0x91, 0x92, 0x9c, 0xff
dup_attack_4t:
.DB 0x8a, 0x9d, 0x9d, 0x8a, 0x8c, 0x94, 0xa4, 0xa4, 0xa4, 0xff
+fimsh_eegg_1t:
+.DB 0x91, 0x98, 0x97, 0x8e, 0x9c, 0x9d, 0x95, 0xa2, 0x0, 0x92, 0x0, 0x8d, 0x92, 0x8d, 0x97, 0xa8, 0x9d, 0xff
+fimsh_eegg_1b:
+.DB 0x9d, 0x91, 0x92, 0x97, 0x94, 0x0, 0x8a, 0x97, 0xa2, 0x98, 0x97, 0x8e, 0x0, 0xa0, 0x98, 0x9e, 0x95, 0x8d, 0xff
+fimsh_eegg_2t:
+.DB 0x8f, 0x92, 0x97, 0x8d, 0x0, 0x8a, 0x0, 0x8f, 0x92, 0x96, 0x9c, 0x91, 0x0, 0xa2, 0x8e, 0x9d, 0xa4, 0xff
+fimsh_eegg_3t:
+.DB 0xa2, 0x98, 0x9e, 0x0, 0x8d, 0x98, 0x97, 0xa8, 0x9d, 0x0, 0x90, 0x8e, 0x9d, 0xff
+fimsh_eegg_3b:
+.DB 0x8a, 0x97, 0xa2, 0x9d, 0x91, 0x92, 0x97, 0x90, 0x0, 0x9c, 0x99, 0x8e, 0x8c, 0x92, 0x8a, 0x95, 0xff
+fimsh_eegg_4t:
+.DB 0x8b, 0x9e, 0x9d, 0x0, 0x8c, 0x98, 0x97, 0x90, 0x9b, 0x8a, 0x9d, 0x9c, 0x0, 0xa5, 0xa5, 0xff
Dialogue_1_1b:
.DB 0x91, 0x8e, 0x95, 0x95, 0x98, 0x0, 0xa5, 0xff
Dialogue_1_2t:
diff --git a/dialogues/text.gbtxt b/dialogues/text.gbtxt
index 246732c..fb9c4e4 100644
--- a/dialogues/text.gbtxt
+++ b/dialogues/text.gbtxt
@@ -23,6 +23,16 @@ dup_attack_3b: know this
dup_attack_4t: attack...
+fimsh_eegg_1t: Honestly I didn't
+fimsh_eegg_1b: think anyone would
+
+fimsh_eegg_2t: find a fimsh yet.
+
+fimsh_eegg_3t: You don't get
+fimsh_eegg_3b: anything special
+
+fimsh_eegg_4t: but congrats !!
+
Dialogue_1_1b: Hello !
Dialogue_1_2t: I am stuck in this
diff --git a/entity/cat.gbasm b/entity/cat.gbasm
index 23d1510..837dd39 100644
--- a/entity/cat.gbasm
+++ b/entity/cat.gbasm
@@ -36,7 +36,10 @@ Cat_Turn:
PUSH DE
LD D, $6C
LD E, $04
- CALL =Spawn_object
+ CALL =RNG_Step
+ AND $03
+ CP $00
+ CALL Z, =Spawn_object
POP DE
JP =.Skip_turn
diff --git a/entity/fimsh.gbasm b/entity/fimsh.gbasm
index 9368c2b..49c4f53 100644
--- a/entity/fimsh.gbasm
+++ b/entity/fimsh.gbasm
@@ -35,7 +35,7 @@ Fimsh_Turn:
PUSH DE
LD D, $6C
- LD E, $05
+ LD E, $07
CALL =Spawn_object
POP DE
@@ -82,56 +82,6 @@ Fimsh_Turn:
BIT 0, (HL)
JP NZ, =.Skip_turn
- .Start_action_or_movement:
- LD A, $mem_moving_animation_step
- CP $00
- JP NZ, =.Start_action_or_movement.end
-
- LD A, L
- AND $f0
- OR $07
- LD L, A
- RES 3, (HL)
-
- LD A, $mem_bunny_status
- CP $01
- JR Z, =.Run_away
- CP $04
- JR Z, =.Run_away
-
- .Try_Freeze_Attack:
- LD A, L
- AND $f0
- ADD $09
- LD L, A
- XOR A
- CP (HL)
- JR Z, =.Try_Walking
-
- CALL =Check_player_next_to
- LD A, E
- CP $00
- JR Z, =.Try_Walking
- CALL =Freeze_Enemy_Attack
-
- LD A, L
- AND $f0
- ADD $09
- LD L, A
-
- DEC (HL)
-
- JR =.Start_action_or_movement.end
-
- .Run_away:
- CALL =Walking_Away
-
- JR =.Start_action_or_movement.end
-
- .Try_Walking:
- CALL =Walking
- .Start_action_or_movement.end:
-
.End_movement:
LD A, $mem_moving_animation_step
CP $0f
diff --git a/entity/fox.gbasm b/entity/fox.gbasm
index 33eb51a..ce6da24 100644
--- a/entity/fox.gbasm
+++ b/entity/fox.gbasm
@@ -36,7 +36,10 @@ Fox_Turn:
PUSH DE
LD D, $6C
LD E, $06
- CALL =Spawn_object
+ CALL =RNG_Step
+ AND $03
+ CP $00
+ CALL Z, =Spawn_object
POP DE
JP NZ, =.Skip_turn
diff --git a/entity/list.gbasm b/entity/list.gbasm
index d32ce95..ac2908a 100644
--- a/entity/list.gbasm
+++ b/entity/list.gbasm
@@ -127,7 +127,7 @@ Entity_list:
.DB $06
; Interaction Jump Table index
- .DB $02
+ .DB $01
; Starting health
.DB $01
diff --git a/entity/penguin.gbasm b/entity/penguin.gbasm
index a317301..401c28a 100644
--- a/entity/penguin.gbasm
+++ b/entity/penguin.gbasm
@@ -36,7 +36,10 @@ Penguin_Turn:
PUSH DE
LD D, $6C
LD E, $05
- CALL =Spawn_object
+ CALL =RNG_Step
+ AND $03
+ CP $00
+ CALL Z, =Spawn_object
POP DE
JP =.Skip_turn
diff --git a/entity/utils.gbasm b/entity/utils.gbasm
index 592b473..944faa8 100644
--- a/entity/utils.gbasm
+++ b/entity/utils.gbasm
@@ -108,10 +108,6 @@ Entity_idx_to_entity_list_ptr: ; loaded idx in A, return in BC
RET
Spawn_object: ; Texture in D, XY in BC, jump table thingy in E
- CALL =RNG_Step
- AND $03
- CP $00
- JR NZ, =.skip_spawn_loot
PUSH HL
CALL =Find_Free_Object_slot
LD A, $80
diff --git a/map/objects.gbasm b/map/objects.gbasm
index 159caf5..bb3a35a 100644
--- a/map/objects.gbasm
+++ b/map/objects.gbasm
@@ -182,6 +182,10 @@ Object_Interaction_Jump_table:
JP =Earcopter_Attack_Box_Action
NOP
+ ; 07
+ JP =Fimsh_Attack_Box_Action
+ NOP
+
Stairs_Action:
LD A, $enum_dungeon_generation_mode
LD $mem_current_mode, A
@@ -298,6 +302,32 @@ Earcopter_Attack_Box_Action:
.LEARN_ATTACK $04
.END
+Fimsh_Attack_Box_Action:
+ LD (HL), $00
+
+ .START_SCRIPT =.Script
+
+ LD A, $enum_dungeon_dialogue_mode
+ LD $mem_requested_mode, A
+ LD $mem_current_mode, A
+ LD A, $mem_bunny_direction
+ AND $07
+ LD $mem_bunny_direction, A
+ LD A, $mem_map_loading_flags
+ SET 5, A
+ LD $mem_map_loading_flags, A
+
+ CALL =Fix_Bunny_screen
+
+ RET
+
+ .Script:
+ .TEXT =fimsh_eegg_1t =fimsh_eegg_1b
+ .TEXT =fimsh_eegg_2t =Empty
+ .TEXT =fimsh_eegg_3t =fimsh_eegg_3b
+ .TEXT =fimsh_eegg_4t =Empty
+ .END
+
Restore_EP_Action:
LD A, $mem_bunny_mana
ADD $15