M src/main.tal => src/main.tal +37 -16
@@ 51,7 51,7 @@
@player
&hp $1 &hp-tween $1
&sp $1 &sp-tween $1
- &sp-max $1 &xp $1
+ &dp $1 &xp $1
&run $1 &sick $1
@table
&a $1 &b $1 &c $1 &d $1 &selection $1
@@ 163,7 163,7 @@ BRK
;pull-card JSR2 #00 ;put-card JSR2
#2d #01 ;put-card JSR2
#18 #02 ;put-card JSR2
- ;pull-card JSR2 #03 ;put-card JSR2
+ #21 #03 ;put-card JSR2
;redraw JSR2
;dialogs/entered ;draw-dialog JSR2
@@ 207,20 207,20 @@ RTN
RTN
-@use-card ( id -- )
+@pick-card ( id -- )
DUP #36 < ,¬-flipped JCN
POP RTN
¬-flipped
DUP TOS ;card-types ++ LDA
( route card type )
- DUP #00 = ;use-potion JCN2
- DUP #01 = ;use-shield JCN2
- DUP ;use-enemy JCN2
+ DUP #00 = ;pick-potion JCN2
+ DUP #01 = ;pick-shield JCN2
+ DUP ;pick-enemy JCN2
RTN
-@use-potion ( card type -- )
+@pick-potion ( card type -- )
POP
.player/sick LDZ #01 ! ,&no-sick JCN
@@ 241,11 241,13 @@ RTN
RTN
-@use-shield ( card type -- )
+@pick-shield ( card type -- )
POP
( get ) TOS ;card-values ++ LDA
- ( set ) .player/sp STZ
+ ( set ) .player/sp STZ
+ ( set max durability ) #16 .player/dp STZ
+ ( set sick ) #00 .player/sick STZ
( set xp ) .player/xp LDZ INC .player/xp STZ
;draw-status JSR2
;dialogs/shield ;draw-dialog JSR2
@@ 253,15 255,34 @@ RTN
RTN
-@use-enemy ( card type -- )
+@pick-enemy ( card type -- )
POP
( get ) TOS ;card-values ++ LDA
- ( set ) .player/hp LDZ SWP - .player/hp STZ
- ( set xp ) .player/xp LDZ INC .player/xp STZ
- ;draw-status JSR2
- ;dialogs/unshielded ;draw-dialog JSR2
- ;play-attack JSR2
+ .player/sp LDZ ,&shielded JCN
+ &unshielded
+ ( set ) .player/hp LDZ SWP - .player/hp STZ
+ ( set sick ) #00 .player/sick STZ
+ ( set xp ) .player/xp LDZ INC .player/xp STZ
+ ;draw-status JSR2
+ ;dialogs/unshielded ;draw-dialog JSR2
+ ;play-attack JSR2
+ RTN
+ &shielded ( value -- )
+ ( check if breaking shield )
+ DUP INC .player/dp LDZ > ,&breaking JCN
+ POP
+ ;dialogs/shielding ;draw-dialog JSR2
+ RTN
+
+ &blocking ( value -- )
+ POP
+ ;dialogs/blocking ;draw-dialog JSR2
+ RTN
+
+ &breaking ( value -- )
+ ;dialogs/breaking ;draw-dialog JSR2
+ POP
RTN
@@ 291,7 312,7 @@ RTN
( erase old selection ) #00 ;draw-selection JSR2
OVR #00 = ,&no-use JCN
- DUP .table + LDZ ;use-card JSR2
+ DUP .table + LDZ ;pick-card JSR2
DUP ;flip-card JSR2
&no-use
4MOD .table/selection STZ
M src/strings.tal => src/strings.tal +15 -7
@@ 1,21 1,29 @@
@dialogs
&clear 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
- &sickness 2333 3900 2a29 2930 0037 2d27 2f40 0000 0000 0000 0000 0000
- &shieldbreak 2333 3936 0037 2c2d 2930 2800 2636 332f 293f 0000 0000 0000
- &death 2333 3900 282d 2928 4000 4100 1e36 3d00 252b 252d 3240 0000
- &cannot_run 2333 3900 2725 3232 3338 0036 3932 0025 3b25 3d40 0000 0000
- &shield 2333 3900 2a33 3932 2800 2500 372c 2d29 3028 4000 0000 0000
+ &entered 2333 3900 2932 3829 3629 2800 382c 2900 3633 3331 4000 0000
+ ( potion )
&potion 2333 3900 2836 2532 2f00 2500 3433 382d 3332 4000 0000 0000
+ &sickness 2333 3900 2a29 2930 0037 2d27 2f40 0000 0000 0000 0000 0000
&waste 2333 3900 3b25 3738 2928 0025 0034 3338 2d33 323f 0000 0000
+ ( shield )
+ &shield 2333 3900 2a33 3932 2800 2500 372c 2d29 3028 4000 0000 0000
+ ( attack )
&unshielded 193b 3f00 2333 3900 3229 2928 0025 0037 2c2d 2930 2840 0000
- &entered 2333 3900 2932 3829 3629 2800 382c 2900 3633 3331 4000 0000
+ &blocking 2333 3900 2630 3327 2f29 2800 382c 2900 2538 3825 272f 4000
&shielded 2333 3900 2630 3327 2f29 2800 382c 2900 2538 3825 272f 4000
+ &shielding 2333 3900 2630 3327 2f29 2800 382c 2900 2538 3825 272f 4000
+ &breaking 2333 3936 0037 2c2d 2930 2800 2636 332f 293f 0000 0000 0000
&damages 2333 3900 3739 363a 2d3a 2928 0038 2c29 0026 2538 3830 2940
+ &death 2333 3900 282d 2928 4000 4100 1e36 3d00 252b 252d 3240 0000
+ ( run )
&run 2333 3900 3625 3200 253b 253d 4000 0000 0000 0000 0000 0000
+ &cannot_run 2333 3900 2725 3232 3338 0036 3932 0025 3b25 3d40 0000 0000
+ ( modes )
&easy_mode 0f25 373d 0017 3328 2900 6c00 1d29 3029 2738 0027 2536 2840
&normal_mode 1833 3631 2530 006c 001d 2930 2927 3800 2725 3628 4000 0000
&hard_mode 1225 3628 0017 3328 2900 6c00 1d29 3029 2738 0027 2536 2840
+ ( etc )
&victory 202d 2738 3336 3d00 4100 1629 253a 2900 2839 322b 2933 3240
&sound:ON 1d33 3932 2837 0019 183f 0000 0000 0000 0000 0000 0000 0000
&sound:OFF 1d33 3932 2837 0019 1010 3f00 0000 0000 0000 0000 0000 0000
@@ 73,4 81,4 @@
:cards/c01 :cards/c02 :cards/c03 :cards/c04 :cards/c05
:cards/c06 :cards/c07 :cards/c08 :cards/c09 :cards/c0a
:cards/c0b :cards/c0c :cards/c0d
- :cards/j01 :cards/j02>
\ No newline at end of file
+ :cards/j01 :cards/j02 :cards/b00<
\ No newline at end of file