summaryrefslogtreecommitdiff
path: root/engine/read_trainer_attributes.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2017-12-23 17:14:09 -0500
committeryenatch <yenatch@gmail.com>2017-12-23 17:14:09 -0500
commitc51968f0de6b8420c141dde27339e82a42837c5b (patch)
tree782f2b25f21adacb48fd516694b8a82864fe0b99 /engine/read_trainer_attributes.asm
parentc883ab4d34ecb4890010e808d6b6d533f5d8ad56 (diff)
parent878092004956418bfd77bfdb9fc9dd7f640f80d2 (diff)
Merge remote-tracking branch 'origin/master' into master
Diffstat (limited to 'engine/read_trainer_attributes.asm')
-rw-r--r--engine/read_trainer_attributes.asm64
1 files changed, 64 insertions, 0 deletions
diff --git a/engine/read_trainer_attributes.asm b/engine/read_trainer_attributes.asm
new file mode 100644
index 000000000..dfb8d3682
--- /dev/null
+++ b/engine/read_trainer_attributes.asm
@@ -0,0 +1,64 @@
+GetTrainerClassName: ; 3952d
+ ld hl, RivalName
+ ld a, c
+ cp RIVAL1
+ jr z, .rival
+
+ ld [CurSpecies], a
+ ld a, TRAINER_NAME
+ ld [wNamedObjectTypeBuffer], a
+ call GetName
+ ld de, StringBuffer1
+ ret
+
+.rival
+ ld de, StringBuffer1
+ push de
+ ld bc, NAME_LENGTH
+ call CopyBytes
+ pop de
+ ret
+
+GetOTName: ; 39550
+ ld hl, OTPlayerName
+ ld a, [wLinkMode]
+ and a
+ jr nz, .ok
+
+ ld hl, RivalName
+ ld a, c
+ cp RIVAL1
+ jr z, .ok
+
+ ld [CurSpecies], a
+ ld a, TRAINER_NAME
+ ld [wNamedObjectTypeBuffer], a
+ call GetName
+ ld hl, StringBuffer1
+
+.ok
+ ld bc, TRAINER_CLASS_NAME_LENGTH
+ ld de, OTClassName
+ push de
+ call CopyBytes
+ pop de
+ ret
+
+GetTrainerAttributes: ; 3957b
+ ld a, [TrainerClass]
+ ld c, a
+ call GetOTName
+ ld a, [TrainerClass]
+ dec a
+ ld hl, TrainerClassAttributes + TRNATTR_ITEM1
+ ld bc, NUM_TRAINER_ATTRIBUTES
+ call AddNTimes
+ ld de, wEnemyTrainerItem1
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ ld a, [hl]
+ ld [wEnemyTrainerBaseReward], a
+ ret