Explorar el Código

added payback and assurance

SBird1337 hace 8 años
padre
commit
b87d32209d

+ 1
- 0
bpre.sym Ver fichero

@@ -103,6 +103,7 @@ battle_turn_random = 0x02023e80;
103 103
 battle_damage_multiplier = 0x02023FD2;
104 104
 battle_protect = 0x02023E8C;
105 105
 side_affecting_halfword = 0x2023DDE;
106
+battle_turn_order = 0x02023bde;
106 107
 
107 108
 item_get_quality = 0x0809A948|1;
108 109
 item_get_x12 = 0x0809A924|1;

+ 1
- 1
data/moves/animation_table.S Ver fichero

@@ -375,7 +375,7 @@ m_animation_table:
375 375
 .word as_metal_burst @368
376 376
 .word as_uturn @369
377 377
 .word as_close_combat @370
378
-.word 0x081C6F34 @371
378
+.word as_pay_back @371
379 379
 .word 0x081C6F34 @372
380 380
 .word 0x081C6F34 @373
381 381
 .word 0x081C6F34 @374

+ 2
- 0
data/moves/effect_table.S Ver fichero

@@ -224,3 +224,5 @@ m_effect_table:
224 224
         .word bs_tailwind@215
225 225
         .word bs_feint   @216
226 226
         .word bs_close_combat @217
227
+        .word bs_pay_back@218
228
+        .word bs_assurance@219

+ 6
- 6
data/moves/move_data.S Ver fichero

@@ -383,13 +383,13 @@ move_data_offenlegung:		.byte	216,            	30,		0,		100,		10,		0,		0,		2,		0
383 383
 move_data_pfluecker:		.byte	MOVE_EFFECT_NONE,	60,		2,		100,		20,		0,		0,		0,		51,		0,		0,		0
384 384
 move_data_rueckenwind:		.byte	215,                    0,		2,		0,		15,		0,		16,		0,		4,		0,		2,		0
385 385
 @TODO AKUPRESSUR
386
-move_data_akupressur:		.byte	214,			0,		0,		0,		30,		0,		16,		0,		4,		0,		2,		0
386
+move_data_akupressur:		.byte	MOVE_EFFECT_NONE,			0,		0,		0,		30,		0,		16,		0,		4,		0,		2,		0
387 387
 move_data_metallstoss:		.byte	89,                     1,		8,		100,		10,		0,		1,		0,		0,		0,		0,		0
388 388
 move_data_kehrtwende:		.byte	127,            	70,		6,		100,		20,		0,		0,		0,		51,		0,		0,		0
389 389
 
390 390
 move_data_nahkampf:		.byte	217,            	120,		1,		100,		5,		100,		0,		0,		51,		0,		0,		0
391
-move_data_gegenstoss:		.byte	MOVE_EFFECT_NONE,	50,		17,		100,		10,		0,		0,		0,		51,		0,		0,		0
392
-move_data_gewissheit:		.byte	215,			60,		17,		100,		10,		0,		0,		0,		51,		0,		0,		0
391
+move_data_gegenstoss:		.byte	218,            	50,		17,		100,		10,		0,		0,		0,		51,		0,		0,		0
392
+move_data_gewissheit:		.byte	219,			60,		17,		100,		10,		0,		0,		0,		51,		0,		0,		0
393 393
 move_data_itemsperre:		.byte	MOVE_EFFECT_NONE,	0,		17,		100,		15,		0,		0,		0,		26,		0,		2,		0
394 394
 move_data_schleuder:		.byte	MOVE_EFFECT_NONE,	1,		17,		100,		10,		0,		0,		0,		18,		0,		0,		0
395 395
 move_data_psybann:		.byte	MOVE_EFFECT_NONE,	0,		14,		100,		10,		0,		0,		0,		18,		0,		2,		0
@@ -439,9 +439,9 @@ move_data_patronenhieb:		.byte	0,			40,		8,		100,		30,		0,		0,		1,		51,		0,		0,
439 439
 move_data_lawine:		.byte	185,			60,		15,		100,		10,		0,		8,		252,		51,		0,		0,		0
440 440
 move_data_eissplitter:		.byte	0,			40,		15,		100,		30,		0,		0,		1,		50,		0,		0,		0
441 441
 move_data_dunkelklaue:		.byte	43,			70,		7,		100,		15,		0,		0,		0,		51,		0,		0,		0
442
-move_data_donnerzahn:		.byte	MOVE_EFFECT_NONE,	65,		13,		95,		15,		0,		0,		0,		51,		0,		0,		0
443
-move_data_eiszahn:		.byte	MOVE_EFFECT_NONE,	65,		15,		95,		15,		0,		0,		0,		51,		0,		0,		0
444
-move_data_feuerzahn:		.byte	MOVE_EFFECT_NONE,	65,		10,		95,		15,		0,		0,		0,		51,		0,		0,		0
442
+move_data_donnerzahn:		.byte	31,             	65,		13,		95,		15,		0,		0,		0,		51,		0,		0,		0
443
+move_data_eiszahn:		.byte	31,             	65,		15,		95,		15,		0,		0,		0,		51,		0,		0,		0
444
+move_data_feuerzahn:		.byte	31,                     65,		10,		95,		15,		0,		0,		0,		51,		0,		0,		0
445 445
 move_data_schattenstoss:	.byte	MOVE_EFFECT_NONE,	40,		7,		100,		30,		0,		0,		0,		51,		0,		0,		0
446 446
 move_data_schlammbombe:		.byte	73,			65,		4,		85,		10,		30,		0,		0,		50,		0,		1,		0
447 447
 move_data_psychoklinge:		.byte	43,			70,		14,		100,		20,		0,		0,		0,		51,		0,		0,		0

+ 1
- 1
data/pkmn_tables/pokemon_moveset_table.S Ver fichero

@@ -1218,7 +1218,7 @@ moveset_bisasam:
1218 1218
 .byte 0x1 
1219 1219
 .hword 0x2D 
1220 1220
 .byte 0x3 
1221
-.hword MOVE_CLOSE_COMBAT 
1221
+.hword MOVE_THUNDER
1222 1222
 .byte 0x7 
1223 1223
 .hword 0x16 
1224 1224
 .byte 0x9 

+ 22
- 0
nbproject/configurations.xml Ver fichero

@@ -4645,6 +4645,10 @@
4645 4645
           </df>
4646 4646
         </df>
4647 4647
         <df name="moves">
4648
+          <df name="assurance">
4649
+            <in>assurance.c</in>
4650
+            <in>assurance_script.S</in>
4651
+          </df>
4648 4652
           <df name="battle_engine">
4649 4653
             <in>bs_table.S</in>
4650 4654
             <in>cmd_callasm.S</in>
@@ -4677,6 +4681,10 @@
4677 4681
             <in>metal_burst.c</in>
4678 4682
             <in>metal_burst_script.S</in>
4679 4683
           </df>
4684
+          <df name="pay_back">
4685
+            <in>pay_back.c</in>
4686
+            <in>pay_back_script.S</in>
4687
+          </df>
4680 4688
           <df name="power_trick">
4681 4689
             <in>power_trick.c</in>
4682 4690
             <in>power_trick_script.S</in>
@@ -27325,6 +27333,13 @@
27325 27333
       </item>
27326 27334
       <item path="src/item/tmhm/tm_save_block.S" ex="false" tool="4" flavor2="0">
27327 27335
       </item>
27336
+      <item path="src/moves/assurance/assurance.c" ex="false" tool="0" flavor2="0">
27337
+      </item>
27338
+      <item path="src/moves/assurance/assurance_script.S"
27339
+            ex="false"
27340
+            tool="4"
27341
+            flavor2="0">
27342
+      </item>
27328 27343
       <item path="src/moves/battle_engine/bs_table.S" ex="false" tool="4" flavor2="0">
27329 27344
       </item>
27330 27345
       <item path="src/moves/battle_engine/cmd_callasm.S"
@@ -27397,6 +27412,13 @@
27397 27412
             tool="4"
27398 27413
             flavor2="0">
27399 27414
       </item>
27415
+      <item path="src/moves/pay_back/pay_back.c" ex="false" tool="0" flavor2="0">
27416
+      </item>
27417
+      <item path="src/moves/pay_back/pay_back_script.S"
27418
+            ex="false"
27419
+            tool="4"
27420
+            flavor2="0">
27421
+      </item>
27400 27422
       <item path="src/moves/power_trick/power_trick.c"
27401 27423
             ex="false"
27402 27424
             tool="0"

+ 12
- 0
nbproject/private/configurations.xml Ver fichero

@@ -4047,6 +4047,8 @@
4047 4047
             </df>
4048 4048
           </df>
4049 4049
           <df name="moves">
4050
+            <df name="assurance">
4051
+            </df>
4050 4052
             <df name="battle_engine">
4051 4053
             </df>
4052 4054
             <df name="bride">
@@ -4061,6 +4063,8 @@
4061 4063
             </df>
4062 4064
             <df name="metal_burst">
4063 4065
             </df>
4066
+            <df name="pay_back">
4067
+            </df>
4064 4068
             <df name="power_trick">
4065 4069
             </df>
4066 4070
             <df name="roost">
@@ -5798,6 +5802,10 @@
5798 5802
           </df>
5799 5803
         </df>
5800 5804
         <df name="moves">
5805
+          <df name="assurance">
5806
+            <in>assurance.c</in>
5807
+            <in>assurance_script.S</in>
5808
+          </df>
5801 5809
           <df name="battle_engine">
5802 5810
             <in>bs_table.S</in>
5803 5811
             <in>cmd_callasm.S</in>
@@ -5830,6 +5838,10 @@
5830 5838
             <in>metal_burst.c</in>
5831 5839
             <in>metal_burst_script.S</in>
5832 5840
           </df>
5841
+          <df name="pay_back">
5842
+            <in>pay_back.c</in>
5843
+            <in>pay_back_script.S</in>
5844
+          </df>
5833 5845
           <df name="power_trick">
5834 5846
             <in>power_trick.c</in>
5835 5847
             <in>power_trick_script.S</in>

+ 1
- 0
src/include/battle_locations.h Ver fichero

@@ -11,5 +11,6 @@ u16 battle_damage_store;
11 11
 u32 battle_hitmarker;
12 12
 void* battlescript_cursor;
13 13
 u8 battle_menu_chosen_item[4];
14
+u8 battle_turn_order[4];
14 15
 
15 16
 #endif

+ 7
- 0
src/moves/assurance/assurance.c Ver fichero

@@ -0,0 +1,7 @@
1
+#include <battle.h>
2
+
3
+u8 assurance_damage_modifier()
4
+{
5
+    if((battle_protect[battle_defender_bank].physical_damage + battle_protect[battle_defender_bank].special_damage) > 0)
6
+        battle_damage_multiplier *=2;
7
+}

+ 12
- 0
src/moves/assurance/assurance_script.S Ver fichero

@@ -0,0 +1,12 @@
1
+#include <battle_script.h>
2
+
3
+.align 2
4
+.thumb
5
+.text
6
+
7
+.global bs_assurance
8
+bs_assurance:
9
+    callasm assurance_damage_modifier+1
10
+    goto 0x081D6900
11
+
12
+

+ 8
- 0
src/moves/pay_back/pay_back.c Ver fichero

@@ -0,0 +1,8 @@
1
+#include <battle.h>
2
+
3
+u8 pay_back_damage_modifier()
4
+{
5
+    if(battle_turn_order[battle_attacker_bank] > battle_turn_order[battle_defender_bank])
6
+        battle_damage_multiplier *=2;
7
+    return false;
8
+}

+ 27
- 0
src/moves/pay_back/pay_back_script.S Ver fichero

@@ -0,0 +1,27 @@
1
+#include <battle_script.h>
2
+
3
+.align 2
4
+.thumb
5
+.text
6
+
7
+.global bs_pay_back
8
+bs_pay_back:
9
+    callasm pay_back_damage_modifier+1
10
+    goto 0x081D6900 @normal damaging move
11
+
12
+.global as_pay_back
13
+as_pay_back:
14
+    .byte 0x14, 0x00, 0x17, 0x00, 0x97, 0x27, 0x00, 0x9F, 0x27, 0x0A, 0x03, 0x0C, 0x0C, 0x08, 0x03, 0x7D
15
+    .byte 0x90, 0x09, 0x08, 0x02, 0x05, 0x00, 0x00, 0x12, 0x00, 0x06, 0x00, 0x01, 0x00, 0x04, 0x00, 0x19
16
+    .byte 0x73, 0x00, 0xC0, 0x05, 0x02, 0x9C, 0x4E, 0x3D, 0x08, 0x02, 0x05, 0x00, 0x00, 0x14, 0x00, 0x00
17
+    .byte 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x04, 0x02, 0x08, 0x7C, 0x3E, 0x08, 0x02, 0x04, 0xF1, 0xFF
18
+    .byte 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x74, 0x00, 0x3F, 0x04, 0x01, 0x03, 0xF9, 0x89, 0x09
19
+    .byte 0x08, 0x02, 0x05, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x19, 0x00, 0x01, 0x00, 0x02, 0x10, 0x67
20
+    .byte 0x3E, 0x08, 0x03, 0x05, 0xF1, 0xFF, 0x12, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03
21
+    .byte 0x02, 0x08, 0x7C, 0x3E, 0x08, 0x02, 0x04, 0x00, 0x00, 0xFC, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x19
22
+    .byte 0x74, 0x00, 0x3F, 0x04, 0x01, 0x02, 0x10, 0x67, 0x3E, 0x08, 0x03, 0x05, 0x00, 0x00, 0xFC, 0xFF
23
+    .byte 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x02, 0x08, 0x7C, 0x3E, 0x08, 0x02, 0x04, 0x0F
24
+    .byte 0x00, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x74, 0x00, 0x3F, 0x04, 0x01, 0x02, 0x10, 0x67
25
+    .byte 0x3E, 0x08, 0x03, 0x05, 0x0F, 0x00, 0x09, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x05
26
+    .byte 0x02, 0x84, 0x4E, 0x3D, 0x08, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x0B, 0x03
27
+    .byte 0x0D, 0x0E, 0xC7, 0x59, 0x1D, 0x08, 0x08