aboutsummaryrefslogtreecommitdiff
path: root/entity
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-09-05 15:29:27 +0200
committerAstatin <[email protected]>2025-09-05 15:29:27 +0200
commit03c359596bdacbf39cdc244d2f164d0ec94d5505 (patch)
tree7e4d8d8056b2560f550d68635caa2ae851c7b911 /entity
parent16c308b2567d1dddb44ca928fe376b4a6219744f (diff)
Add static human at campsiteHEADlatestmain
Diffstat (limited to 'entity')
-rw-r--r--entity/init.gbasm31
-rw-r--r--entity/list.gbasm55
-rw-r--r--entity/questgoal.gbasm16
3 files changed, 70 insertions, 32 deletions
diff --git a/entity/init.gbasm b/entity/init.gbasm
index 173bf32..0f0f354 100644
--- a/entity/init.gbasm
+++ b/entity/init.gbasm
@@ -97,16 +97,24 @@ Initialize_Enemy: ; HL => pointer to entity struct
RET Z
ADD $03
-Initialize_Entity: ; HL => pointer to entity struct, A => entity loaded index, 1 in $tmp_var_3 if should retry if collsion (could potentially fail multiple time/infinite loop)
+Initialize_Entity: ; HL => pointer to entity struct, A => entity loaded index,
+ ; $tmp_var_3:
+ ; = 01 => if should retry if collsion (could potentially fail multiple time/infinite loop)
+ ; = x2 => use BC as XY, and high nibble as direction
LD E, A
SLA A
SLA A
- LD B, A
+ LD D, A
SLA A
- ADD B
+ ADD D
INC A
LD (HL), A
+ LD A, $tmp_var_3
+ AND $0f
+ CP $02
+ JR Z, =.XY_BC
+
LD A, $mem_bunny_current_room_idx
CALL =Pick_Room_position_Avoid_A
@@ -118,7 +126,6 @@ Initialize_Entity: ; HL => pointer to entity struct, A => entity loaded index, 1
XOR A
LD (HL), A
-
LD A, $tmp_var_3
CP $01
@@ -129,6 +136,7 @@ Initialize_Entity: ; HL => pointer to entity struct, A => entity loaded index, 1
.no_collision:
+ .XY_BC:
INC HL
LD (HL), B
INC HL
@@ -138,7 +146,20 @@ Initialize_Entity: ; HL => pointer to entity struct, A => entity loaded index, 1
CALL =Carve_Entity_Collision_Map
; Direction
- LD A, $33
+
+ LD A, $tmp_var_3
+ AND $0f
+ CP $02
+ LD A, $44
+ JR NZ, =.set_direction
+ LD A, $tmp_var_3
+ AND $f0
+ DBG
+ LD D, A
+ SWAP A
+ OR D
+
+ .set_direction:
LD (HL+), A
LD A, E
diff --git a/entity/list.gbasm b/entity/list.gbasm
index 7623b39..3e98c42 100644
--- a/entity/list.gbasm
+++ b/entity/list.gbasm
@@ -23,9 +23,6 @@ Entity_list:
; Starting mana
.DB $05
- ; Spawning rate (2 lsb)
- .DB 0b10
-
.PADTO =.Fox+8
.Frog:
@@ -47,9 +44,6 @@ Entity_list:
; Starting mana
.DB $05
- ; Spawning rate (2 lsb)
- .DB 0b01
-
.PADTO =.Frog+8
.Cat:
@@ -71,9 +65,6 @@ Entity_list:
; Starting mana
.DB $00
- ; Spawning rate (2 lsb)
- .DB 0b11
-
.PADTO =.Cat+8
.Penguin:
@@ -95,9 +86,6 @@ Entity_list:
; Starting mana
.DB $05
- ; Spawning rate (2 lsb)
- .DB 0b11
-
.PADTO =.Penguin+8
.Mouse:
@@ -119,9 +107,6 @@ Entity_list:
; Starting mana
.DB $00
- ; Spawning rate (2 lsb)
- .DB 0b10
-
.PADTO =.Mouse+8
.Fimsh:
@@ -143,14 +128,11 @@ Entity_list:
; Starting mana
.DB $00
- ; Spawning rate (2 lsb)
- .DB 0b11
-
.PADTO =.Fimsh+8
- .QuestGoalBunny:
+ .Human:
; Sprite address
- .SPRITE =Entity_Tile_Image_Data.Bunny
+ .SPRITE =Entity_Tile_Image_Data.Human
; Turn Jump Table index
.DB $05
@@ -167,10 +149,7 @@ Entity_list:
; Starting mana
.DB $00
- ; Spawning rate (2 lsb)
- .DB 0b00
-
- .PADTO =.QuestGoalBunny+8
+ .PADTO =.Human+8
.Bug:
; Sprite address
@@ -191,11 +170,29 @@ Entity_list:
; Starting mana
.DB $05
- ; Spawning rate (2 lsb)
- .DB 0b11
-
.PADTO =.Bug+8
+ .Static_Human:
+ ; Sprite address
+ .SPRITE =Entity_Tile_Image_Data.Human
+
+ ; Turn Jump Table index
+ .DB $0a
+
+ ; Interaction Jump Table index
+ .DB $02
+
+ ; Starting health
+ .DB $00
+
+ ; Starting status
+ .DB $02
+
+ ; Starting mana
+ .DB $00
+
+ .PADTO =.Static_Human+8
+
Turn_Jump_table:
; 00
RET
@@ -239,6 +236,10 @@ Turn_Jump_table:
JP =Bug_Turn
NOP
+ ; 0a
+ JP =Static_Human_Turn
+ NOP
+
.INCLUDE "entity/bunny.gbasm"
.INCLUDE "entity/fox.gbasm"
.INCLUDE "entity/cat.gbasm"
diff --git a/entity/questgoal.gbasm b/entity/questgoal.gbasm
index 64cd745..17eecb8 100644
--- a/entity/questgoal.gbasm
+++ b/entity/questgoal.gbasm
@@ -99,3 +99,19 @@ QuestGoal_Turn:
POP BC
POP HL
RET
+
+Static_Human_Turn:
+ LD A, $mem_map_loading_flags
+ BIT 3, A
+ RET Z
+
+ INC HL
+ INC HL
+ INC HL
+
+ LD (HL), $11
+
+ DEC HL
+ DEC HL
+ DEC HL
+ RET