diff options
author | yenatch <yenatch@gmail.com> | 2017-12-23 17:14:09 -0500 |
---|---|---|
committer | yenatch <yenatch@gmail.com> | 2017-12-23 17:14:09 -0500 |
commit | c51968f0de6b8420c141dde27339e82a42837c5b (patch) | |
tree | 782f2b25f21adacb48fd516694b8a82864fe0b99 /engine/read_trainer_attributes.asm | |
parent | c883ab4d34ecb4890010e808d6b6d533f5d8ad56 (diff) | |
parent | 878092004956418bfd77bfdb9fc9dd7f640f80d2 (diff) |
Merge remote-tracking branch 'origin/master' into master
Diffstat (limited to 'engine/read_trainer_attributes.asm')
-rw-r--r-- | engine/read_trainer_attributes.asm | 64 |
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 |