summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorRemy Oukaour <remy.oukaour@gmail.com>2018-01-10 17:30:27 -0500
committerRemy Oukaour <remy.oukaour@gmail.com>2018-01-10 17:30:27 -0500
commitc8575823a0e3694cba7c63e7ef468c55bb301804 (patch)
tree8dc753dc443b6b84d5649705415d66794781a88e /data
parent28d5169a119ece438cc39b442adaa018b9a376e3 (diff)
Battle data goes in data/battle/
TreeMons, like fish groups, have constants
Diffstat (limited to 'data')
-rw-r--r--data/battle/accuracy_multipliers.asm17
-rw-r--r--data/battle/critical_hits.asm18
-rw-r--r--data/battle/stat_multipliers.asm17
-rw-r--r--data/battle/stat_names.asm10
-rw-r--r--data/battle/type_boost_items.asm20
-rw-r--r--data/battle/type_matchups.asm (renamed from data/type_matchups.asm)10
-rw-r--r--data/wild/treemon_maps.asm76
-rw-r--r--data/wild/treemons.asm34
8 files changed, 140 insertions, 62 deletions
diff --git a/data/battle/accuracy_multipliers.asm b/data/battle/accuracy_multipliers.asm
new file mode 100644
index 000000000..a5a309bbd
--- /dev/null
+++ b/data/battle/accuracy_multipliers.asm
@@ -0,0 +1,17 @@
+; Multiplier ratios for accuracy from modifier -6 to +6
+; (for other stats, see data/battle/stat_multipliers.asm)
+
+AccuracyLevelMultipliers:
+ db 33, 100 ; -6 = 33%
+ db 36, 100 ; -5 = 36%
+ db 43, 100 ; -4 = 43%
+ db 50, 100 ; -3 = 50%
+ db 60, 100 ; -2 = 60%
+ db 75, 100 ; -1 = 75%
+ db 1, 1 ; 0 = 100%
+ db 133, 100 ; +1 = 133%
+ db 166, 100 ; +2 = 166%
+ db 2, 1 ; +3 = 200%
+ db 233, 100 ; +4 = 233%
+ db 133, 50 ; +5 = 266%
+ db 3, 1 ; +6 = 300%
diff --git a/data/battle/critical_hits.asm b/data/battle/critical_hits.asm
new file mode 100644
index 000000000..dcbfa36fa
--- /dev/null
+++ b/data/battle/critical_hits.asm
@@ -0,0 +1,18 @@
+CriticalHitMoves:
+ db KARATE_CHOP
+ db RAZOR_WIND
+ db RAZOR_LEAF
+ db CRABHAMMER
+ db SLASH
+ db AEROBLAST
+ db CROSS_CHOP
+ db -1
+
+CriticalHitChances:
+ db 7 percent ; 0
+ db 12 percent + 2 ; 1
+ db 25 percent + 1 ; 2
+ db 33 percent + 1 ; 3
+ db 50 percent + 1 ; 4
+ db 50 percent + 1 ; 5
+ db 50 percent + 1 ; 6
diff --git a/data/battle/stat_multipliers.asm b/data/battle/stat_multipliers.asm
new file mode 100644
index 000000000..e7cf8e472
--- /dev/null
+++ b/data/battle/stat_multipliers.asm
@@ -0,0 +1,17 @@
+; Multiplier ratios for all stats from modifier -6 to +6
+; (except accuracy, see data/battle/accuracy_multipliers.asm)
+
+StatLevelMultipliers:
+ db 25, 100 ; -6 = 25%
+ db 28, 100 ; -5 = 28%
+ db 33, 100 ; -4 = 33%
+ db 40, 100 ; -3 = 40%
+ db 50, 100 ; -2 = 50%
+ db 66, 100 ; -1 = 66%
+ db 1, 1 ; 0 = 100%
+ db 15, 10 ; +1 = 150%
+ db 2, 1 ; +2 = 200%
+ db 25, 10 ; +3 = 250%
+ db 3, 1 ; +4 = 300%
+ db 35, 10 ; +5 = 350%
+ db 4, 1 ; +6 = 400%
diff --git a/data/battle/stat_names.asm b/data/battle/stat_names.asm
new file mode 100644
index 000000000..86164ceb4
--- /dev/null
+++ b/data/battle/stat_names.asm
@@ -0,0 +1,10 @@
+StatNames:
+; entries correspond to stat ids
+ db "ATTACK@"
+ db "DEFENSE@"
+ db "SPEED@"
+ db "SPCL.ATK@"
+ db "SPCL.DEF@"
+ db "ACCURACY@"
+ db "EVASION@"
+ db "ABILITY@"
diff --git a/data/battle/type_boost_items.asm b/data/battle/type_boost_items.asm
new file mode 100644
index 000000000..3b7231a59
--- /dev/null
+++ b/data/battle/type_boost_items.asm
@@ -0,0 +1,20 @@
+TypeBoostItems: ; 35703
+ db HELD_NORMAL_BOOST, NORMAL ; PINK_BOW/POLKADOT_BOW
+ db HELD_FIGHTING_BOOST, FIGHTING ; BLACKBELT
+ db HELD_FLYING_BOOST, FLYING ; SHARP_BEAK
+ db HELD_POISON_BOOST, POISON ; POISON BARB
+ db HELD_GROUND_BOOST, GROUND ; SOFT_SAND
+ db HELD_ROCK_BOOST, ROCK ; HARD_STONE
+ db HELD_BUG_BOOST, BUG ; SILVERPOWDER
+ db HELD_GHOST_BOOST, GHOST ; SPELL_TAG
+ db HELD_FIRE_BOOST, FIRE ; CHARCOAL
+ db HELD_WATER_BOOST, WATER ; MYSTIC WATER
+ db HELD_GRASS_BOOST, GRASS ; MIRACLE_SEED
+ db HELD_ELECTRIC_BOOST, ELECTRIC ; MAGNET
+ db HELD_PSYCHIC_BOOST, PSYCHIC ; TWISTEDSPOON
+ db HELD_ICE_BOOST, ICE ; NEVERMELTICE
+ db HELD_DRAGON_BOOST, DRAGON ; DRAGON_SCALE
+ db HELD_DARK_BOOST, DARK ; BLACKGLASSES
+ db HELD_STEEL_BOOST, STEEL ; METAL_COAT
+ db -1
+; 35726
diff --git a/data/type_matchups.asm b/data/battle/type_matchups.asm
index 61fd19078..90e38ae2c 100644
--- a/data/type_matchups.asm
+++ b/data/battle/type_matchups.asm
@@ -1,9 +1,3 @@
-; The multiplier is divided by 10, so we can use values like 0.5.
-; All other cases are neutral (1x).
-SUPER_EFFECTIVE EQU 20
-NOT_VERY_EFFECTIVE EQU 05
-NO_EFFECT EQU 00
-
TypeMatchups: ; 34bb1
; attacker, defender, *=
db NORMAL, ROCK, NOT_VERY_EFFECTIVE
@@ -115,11 +109,11 @@ TypeMatchups: ; 34bb1
db STEEL, ROCK, SUPER_EFFECTIVE
db STEEL, STEEL, NOT_VERY_EFFECTIVE
- db $fe ; end
+ db -2 ; end
; Foresight removes Ghost's immunities.
db NORMAL, GHOST, NO_EFFECT
db FIGHTING, GHOST, NO_EFFECT
- db $ff ; end (with Foresight)
+ db -1 ; end (with Foresight)
; 34cfd
diff --git a/data/wild/treemon_maps.asm b/data/wild/treemon_maps.asm
index e825930cc..7860110ca 100644
--- a/data/wild/treemon_maps.asm
+++ b/data/wild/treemon_maps.asm
@@ -4,47 +4,47 @@ treemon_map: MACRO
ENDM
TreeMonMaps: ; b825e
- treemon_map ROUTE_26, 4
- treemon_map ROUTE_27, 4
- treemon_map ROUTE_28, 0
- treemon_map ROUTE_29, 3
- treemon_map ROUTE_30, 3
- treemon_map ROUTE_31, 3
- treemon_map ROUTE_32, 4
- treemon_map ROUTE_33, 2
- treemon_map ROUTE_34, 3
- treemon_map ROUTE_35, 3
- treemon_map ROUTE_36, 3
- treemon_map ROUTE_37, 3
- treemon_map ROUTE_38, 3
- treemon_map ROUTE_39, 3
- treemon_map ROUTE_40, 0
- treemon_map ROUTE_41, 0
- treemon_map ROUTE_42, 2
- treemon_map ROUTE_43, 5
- treemon_map ROUTE_44, 1
- treemon_map ROUTE_45, 1
- treemon_map ROUTE_46, 1
- treemon_map NEW_BARK_TOWN, 0
- treemon_map CHERRYGROVE_CITY, 0
- treemon_map VIOLET_CITY, 0
- treemon_map AZALEA_TOWN, 2
- treemon_map CIANWOOD_CITY, 0
- treemon_map GOLDENROD_CITY, 0
- treemon_map OLIVINE_CITY, 0
- treemon_map ECRUTEAK_CITY, 0
- treemon_map MAHOGANY_TOWN, 0
- treemon_map LAKE_OF_RAGE, 5
- treemon_map BLACKTHORN_CITY, 0
- treemon_map SILVER_CAVE_OUTSIDE, 0
- treemon_map ILEX_FOREST, 6
+ treemon_map ROUTE_26, TREEMON_SET_KANTO
+ treemon_map ROUTE_27, TREEMON_SET_KANTO
+ treemon_map ROUTE_28, TREEMON_SET_CITY
+ treemon_map ROUTE_29, TREEMON_SET_ROUTE
+ treemon_map ROUTE_30, TREEMON_SET_ROUTE
+ treemon_map ROUTE_31, TREEMON_SET_ROUTE
+ treemon_map ROUTE_32, TREEMON_SET_KANTO
+ treemon_map ROUTE_33, TREEMON_SET_AZALEA
+ treemon_map ROUTE_34, TREEMON_SET_ROUTE
+ treemon_map ROUTE_35, TREEMON_SET_ROUTE
+ treemon_map ROUTE_36, TREEMON_SET_ROUTE
+ treemon_map ROUTE_37, TREEMON_SET_ROUTE
+ treemon_map ROUTE_38, TREEMON_SET_ROUTE
+ treemon_map ROUTE_39, TREEMON_SET_ROUTE
+ treemon_map ROUTE_40, TREEMON_SET_CITY
+ treemon_map ROUTE_41, TREEMON_SET_CITY
+ treemon_map ROUTE_42, TREEMON_SET_AZALEA
+ treemon_map ROUTE_43, TREEMON_SET_LAKE
+ treemon_map ROUTE_44, TREEMON_SET_CANYON
+ treemon_map ROUTE_45, TREEMON_SET_CANYON
+ treemon_map ROUTE_46, TREEMON_SET_CANYON
+ treemon_map NEW_BARK_TOWN, TREEMON_SET_CITY
+ treemon_map CHERRYGROVE_CITY, TREEMON_SET_CITY
+ treemon_map VIOLET_CITY, TREEMON_SET_CITY
+ treemon_map AZALEA_TOWN, TREEMON_SET_AZALEA
+ treemon_map CIANWOOD_CITY, TREEMON_SET_CITY
+ treemon_map GOLDENROD_CITY, TREEMON_SET_CITY
+ treemon_map OLIVINE_CITY, TREEMON_SET_CITY
+ treemon_map ECRUTEAK_CITY, TREEMON_SET_CITY
+ treemon_map MAHOGANY_TOWN, TREEMON_SET_CITY
+ treemon_map LAKE_OF_RAGE, TREEMON_SET_LAKE
+ treemon_map BLACKTHORN_CITY, TREEMON_SET_CITY
+ treemon_map SILVER_CAVE_OUTSIDE, TREEMON_SET_CITY
+ treemon_map ILEX_FOREST, TREEMON_SET_FOREST
db -1
; b82c5
RockMonMaps: ; b82c5
- treemon_map CIANWOOD_CITY, 7
- treemon_map ROUTE_40, 7
- treemon_map DARK_CAVE_VIOLET_ENTRANCE, 7
- treemon_map SLOWPOKE_WELL_B1F, 7
+ treemon_map CIANWOOD_CITY, TREEMON_SET_ROCK
+ treemon_map ROUTE_40, TREEMON_SET_ROCK
+ treemon_map DARK_CAVE_VIOLET_ENTRANCE, TREEMON_SET_ROCK
+ treemon_map SLOWPOKE_WELL_B1F, TREEMON_SET_ROCK
db -1
; b82d2
diff --git a/data/wild/treemons.asm b/data/wild/treemons.asm
index 0cb8fa83d..21cef29ec 100644
--- a/data/wild/treemons.asm
+++ b/data/wild/treemons.asm
@@ -1,19 +1,21 @@
TreeMons: ; b82e8
- dw TreeMons1
- dw TreeMons1
- dw TreeMons2
- dw TreeMons3
- dw TreeMons4
- dw TreeMons5
- dw TreeMons6
- dw RockMons
- dw TreeMons1
+; entries correspond to TREEMON_SET_* constants
+ dw TreeMonSet_City
+ dw TreeMonSet_Canyon
+ dw TreeMonSet_Azalea
+ dw TreeMonSet_Route
+ dw TreeMonSet_Kanto
+ dw TreeMonSet_Lake
+ dw TreeMonSet_Forest
+ dw TreeMonSet_Rock
+ dw TreeMonSet_City
; Two tables each (common, rare).
; Structure:
; db %, species, level
-TreeMons1: ; b82fa
+TreeMonSet_City:
+TreeMonSet_Canyon: ; b82fa
; common
db 50, SPEAROW, 10
db 15, SPEAROW, 10
@@ -31,7 +33,7 @@ TreeMons1: ; b82fa
db 5, AIPOM, 10
db -1
-TreeMons2: ; b8320
+TreeMonSet_Azalea: ; b8320
; common
db 50, SPEAROW, 10
db 15, EKANS, 10
@@ -49,7 +51,7 @@ TreeMons2: ; b8320
db 5, AIPOM, 10
db -1
-TreeMons3: ; b8346
+TreeMonSet_Route: ; b8346
; common
db 50, HOOTHOOT, 10
db 15, SPINARAK, 10
@@ -67,7 +69,7 @@ TreeMons3: ; b8346
db 5, EXEGGCUTE, 10
db -1
-TreeMons4: ; b836c
+TreeMonSet_Kanto: ; b836c
; common
db 50, HOOTHOOT, 10
db 15, EKANS, 10
@@ -85,7 +87,7 @@ TreeMons4: ; b836c
db 5, EXEGGCUTE, 10
db -1
-TreeMons5: ; b8392
+TreeMonSet_Lake: ; b8392
; common
db 50, HOOTHOOT, 10
db 15, VENONAT, 10
@@ -103,7 +105,7 @@ TreeMons5: ; b8392
db 5, EXEGGCUTE, 10
db -1
-TreeMons6: ; b83b8
+TreeMonSet_Forest: ; b83b8
; common
db 50, HOOTHOOT, 10
db 15, PINECO, 10
@@ -121,7 +123,7 @@ TreeMons6: ; b83b8
db 5, KAKUNA, 10
db -1
-RockMons: ; b83de
+TreeMonSet_Rock: ; b83de
db 90, KRABBY, 15
db 10, SHUCKLE, 15
db -1