Langrisser 2 ROM Hacking
Class info starts at $5EE02. Each owns $1C bytes. In order, bytes mean:
0-MP to raise during class.
1-Attack to raise during class.
2-Defense to raise during class.
3-Movility adquired for the class.
4-Range held during the class.
5-Attack revision to develop during the class.
6-Defense revision to develop during the class.
7?
8?
9?
10-Length of the class' experience bar.
11?
12?
13 through 17 are the spells to learn. Spells are:
00:Magic Arrows
01:Blast
02:Thunder
03:Fireball
04:Meteor
05:Blizzard
06:Tornado
07:Turn Undead
08:Earthquake
09:Heal 1
0A:Heal 2
0B:Force Heal 1
0C:Force Heal 2
0D:Sleep
0E:Mute
0F:Protection
10:Attack
11:Zone
12:Teleport
13:Illusion
14:Resist
15:Team
16:Summonning Magic
FF:Null
18 and 19 are the new available troops
Troops:
00:Pike
01:Flanker
02:Soldier
03:Gladiator
04:ArmorSoldier
05:Horseman
06:HeavyHorseman
07:Dracorn
08:Elf
09:Blaster
0A:Monk
0B:Guardman
0C:Merman
0D:Griffon
0E:Angel
0F:Civilian
All other red tape is hardly interesting.
Found the promotion paths! They start at $82563. Format is like in Warsong,
with data at odd adresses, but they are ordered by character. Also, the
class number is listed before its promotions. If the number dosen't appear
in the right character area, or is full with F's, the character is not
promotable. [You'll see how it is when you get in the ROM]
I found something at $8840A... By the looks of it it should be the attack
graphics but I don't see any changes when I alter them...
Well then:
The byte at number 5 determines which animation to perform with normal
attacks.
The byte at number 7 determines which one to use when attacking at flyers or
in long range.
They are:
00:Bust 10:Spears 20:Waves 30:Flash
01:Charge 11:Lances 21:Light 31:Fireballs
02:Combat 12:Death Lances 22:Powerballs 32:Fireballs 2
03:Combat 13:Spears 23:Flames 2
04:Combat 14:Swords 24:Flames 3
05:Combat 15:Axes 25:Powerballs
06:Combat 16:Crosses 26:Groundwave
07:Charge 17:Torches 27:Wave
08:Fast Combat 18:Wraiths 28:Firestorm
09:Fast Combat 19:Rocks 29:Storm
0A:Ghost Combat 1A:Death Lances 2A:Light Thread
0B:Fast Charge 1B:Blue Slimes 2B:Groundwave 2
0C:Fast Charge 1C:Red Slimes 2C:Groundwave 2
0D:Arrows 1D:Spears 2D:Wind
0E:Arrows 1E:Magic Fire 2E:Wind
0F:Rocks 1F:Flames 1 2F:Flash
This also determines how the class dies.
There are ten pointers for the promotion paths starting at
Name pointers start at $618E8.
Class name pointers start at $5E6D6 (first pointer is for the null class).
Pointers about character stats RAM adresses at $5E5D8. They are exactly #20.
The character starting stats are nearby! Precisely at $5E64A. Format is
different than savestate format, though:
1-Class
2-MP
3-Level
4-XP
5-Attack
6-Defense
7 through 10- Magic bits.
11,12-Available troop bits.
Byte 11:
0:Elf
1:Ballista
2:Monk
3:Guardman
4:Merman
5:Griffin
6:Angel
7:Civilian
Byte 12:
0:Pike
1:Phalanx
2:Soldier
3:Gladiator
4:ArmorSoldier
5:Horseman
6:HeavyHorseman
7:Dragoon
13-?
14-Face
...and that's it. Weird how I didn't find the range and revisions. Must be a
class thing.
The stuff I've been looking for (the scenario info), it's around $180358.
Starts around offset $1801BD.
It starts earlier than I expected.
All scenarios are around there.
Format:
-3 thorugh -1-Items equipped
2-Orders
4-Side: 1, Player; 3, NPC; 4, Enemy.
10-Level
12/13-Current/max MP.
14-Attack
15-Defense
17 through 19-Magic bits
20/21-X/Y
23-Class
24-Face
26 through 31-Troops
This also controls enemy/NPC settings.
In the first part of each scenario the settings of included characters and
posting locations are included.
[NOTE: I'm not sure what the below stuff means]
2-Number of characters
Next 20 bytes are the characters (data at odd adresses).
Next 40 are posting coordinates.
Attack gfx:
2F:Pike
30:Phalanx 40:Freyia 50:RoyalHorse 60:HellHound 70:I.Bishop
31:Soldier 41:W.Dragon 51:DarkGuard 61:Slime 71:I.DragonK.
32:Gladiator 42:Valkyrie 52:I.Griffon 62:I.Fighter 72:I.ArchMage
33:A.Soldier 43:Sleipnir 53:I.Pike 63:** 73:Necromancer
34:Horseman 44:Fenrir 54:I.Phalanx 64:I.Warlock 74:I.Wizard
35:H.Horseman 45:IremGuard 55:Skeleton 65:I.Knight 75:I.ArchMage
36:Dracoon 46:Aniki 56:Zombie 66:I.Lord 76:I.Sorcerer?
37:Elf 47:I.Soldier 57:Gargoyle 67:Thief 77:I.KnightM.
38:Ballista 48:I.A.Soldier 58:WolfMan 68:I.Mage 78:I.Palladin
39:Monk 49:Berserker 59:BoneDino 69:I.HawkKnight 79:I.Saint
3A:Guardman 4A:Barbarian 5A:Leviathan 6A:I.Shaman 7A:I.DragonLord
3B:Merman 4B:Dark Elf 5B:Golem 6B:I.MagicK. 7B:I.SerpentL.
3C:Griffon 4C:I.Ballista 5C:Bat* 6C:I.Swordman 7C:Leon the KnightMaster
3D:Angel 4D:Lizardman 5D:F.Elemental 6D:I.HighLord 7D:Leon the RoyalGuard
3E:Civilian 4E:I.Horseman 5E:ArchDemon 6E:Assasin 7E:Laird the MagicKnight
3F:W.Elemental 4F:I.H.Horseman 5F:Wraith 6F:I.SerpentK. 7F:Laird the
SilverKnight
*It is the same graphic as the map graphic
**It doesn't resemble any known class
80:Bernahrt 90:DemonLord A0:Elwin the GrandKnightB0:Jessica the Saint
81:Imelda 91:Succubus A1:Riana the Cleric B1:Jessica the Lord
82:Eggbert 92:Minotauros A2:Riana the Shaman B2:Jessica the MagicKnight
83:Vargas 93:Vampire Lord A3:Riana the Sage B3:Sherry the Fighter
84:Dark Lana 94:GreatDragon A4:Riana the Saint B4:Sherry the Shaman
85:Werewolf 95:Bozel A5:Riana the Lord B5:Sherry the Bishop
86:GreatSlime 96:** A6:Riana the MagicKnightB6:Sherry the Princess
87:Kraken 97:Villager A7:Lana the Cleric B7:Sherry the UnicornKnight
88:Cerberus 98:Shinto Priest A8:Lana the Shaman B8:Sherry the HawkKnight
89:Ghost 99:NPC Lord A9:Lana the Sage B9:Sherry the DragonKnight
8A:Wyvern 9A:Elwin the Fighter AA:Lana the Saint BA:Hein the Warlock
8B:MasterDino 9B:Elwin the Shaman AB:Lana the Lord BB:Hein the Bishop
8C:IronGolem 9C:Elwin the Saint AC:Lana the MagicKnight BC:Hein the Saint
8D:Lich 9D:Elwin the King AD:Jessica the Sorcerer BD:Hein the Lord
8E:LivingArmor 9E:Elwin the Knight AE:Jessica the Priest BE:Hein the Shaman
8F:Scylla 9F:Elwin the MagicKnightAF:Jessica the Sage BF:Hein the
MagicKnight
C0:Scott the Fighter D0:Aaron the Fighter
C1:Scott the Saint D1:Aaron the Shaman
C2:Scott the Bishop D2:Aaron the Priest
C3:Scott the Priest D3:Aaron the Saint
C4:Scott the Knight D4:Aaron the Knight
C5:Scott the MagicKnight D5:Aaron the MagicKnight
C6:Scott the HawkKnight D6:Aaron the GrandKnight
C7:Scott the DragonKnight D7:Lester the Lord
C8:Scott the GrandKnight D8:Lester the Shaman
C9:Keith the Lord D9:Lester the Saint
CA:Keith the Shaman DA:Lester the HighLander
CB:Keith the Priest DB:Lester the MagicKnight
CC:Keith the Saint DC:Lester the CrocodileKnight
CD:Keith the MagicKnight DD:Lester the SerpentKnight
CE:Keith the HawkKnight DE:Lester the GrandKnight
CF:Keith the DragonKnight
Right. I can modify characters now. Something around offset $87755.
FOUND TEXT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
It's in the worst encoding the translator could have possibly thought of.
Elwin's first line in scenario ?4 is at $276067.
AND, speaking events for scenario ?4 are around $1B85CB.
---DA TABLES---
+++Class Table+++
These are the hex values for each class.
00:Null 10:SerpentKnight 20:King 30:Warlock
01:Fighter 11:Priest 21:Ranger 31:Knight
02:Cleric 12:Bishop 22:Hero 32:Lord
03:Warlock 13:Mage 23:HighMaster 33:Chief
04:Lord 14:ArchMage 24:DragonMaster 34:Sorcerer
05:Knight 15:Wizard 25:Ancient 35:HawkKnight
06:HawkKnight 16:HighPriest 26:Zarvera 36:Shaman
07:CrocodileKnight 17:Saint 27:Princess 37:MagicKnight
08:Healer 18:Sage 28:Summoner 38:MagicKnight
09:Sorcerer 19:Palladin 29:RoyalKnight 39:Swordman
0A:Shaman 1A:SwordMaster 2A:SerpentMaster 3A:HighLord
0B:HighLord 1B:KnightMaster 2B:Leader 3B:Assasin
0C:HighLander 1C:GrandKnight 2C:Vampire 3C:SerpentKnight
0D:MagicKnight 1D:SilverKnight 2D:Fighter 3D:Bishop
0E:UnicornKnight 1E:DragonLord 2E:Fighter 3E:DragonKnight
0F:DragonKnight 1F:SerpentLord 2F:Cleric 3F:Mage
40:Mage 50:Werewolf 60:DarkPrincess 70:Angel
41:Wizard 51:GreatSlime 61:DarkMaster 71:Civilian
42:ArchMage 52:Cerberus 62:Pike 72:Soldier
43:SilverKnight 53:Scylla 63:Flanker 73:ArmorSoldier
44:SilverKnight 54:Ghost 64:Soldier 74:Berserker
45:KnightMaster 55:Wyvern 65:Gladiator 75:Barbarian
46:KnightMaster 56:MasterDino 66:ArmorSoldier 76:DarkElf
47:Palladin 57:IronGolem 67:Horseman 77:Blaster
48:Saint 58:Lich 68:HeavyHorseman 78:Lizardman
49:General 59:LivingArmor 69:Dracoon 79:Horseman
4A:General 5A:Succubus 6A:Elf 7A:HeavyHorseman
4B:DragonLord 5B:Kraken 6B:Blaster 7B:RoyalHorse
4C:SerpentLord 5C:Minotauros 6C:Monk 7C:DarkGuard
4D:RoyalGuard 5D:DemonLord 6D:Guardman 7D:Griffon
4E:Emperor 5E:GreatDragon 6E:Merman 7E:Pike
4F:Zarvera? 5F:Null 6F:Griffon 7F:Flanker
80:Skeleton 90:Valkyrie
81:Zombie 91:Sleipnir
82:Gargoyle 92:Fenrir
83:ArmorSoldier 93:Iremguard
84:BoneDino 94:Aniki
85:Leviathan 95:Builder
86:Golem 96:Fighter
87:VampireBat 97:Cleric
88:Elemental 98:Knight
89:ArchDemon 99:Lord
8A:Wraith 9A:Pirate
8B:HellHound 9B:HighLord
8C:Slime 9C:Priest
8D:Elemental
8E:Freyia
8F:WhiteDragon
Note that I did this table using the Japanese ROM, and some names are
probably repeated and mixed up.
+++Spells+++
These are the hex values for every spell.
00:Magic Arrows
01:Blast
02:Thunder
03:Fireball
04:Meteor
05:Blizzard
06:Tornado
07:Turn Undead
08:Earthquake
09:Heal 1
0A:Heal 2
0B:Force Heal 1
0C:Force Heal 2
0D:Sleep
0E:Mute
0F:Protection
10:Attack
11:Zone
12:Teleport
13:Illusion
14:Resist
15:Team
16:Summonning Magic
FF:No spell
Bitwisely, the spells are ordered like this:
Byte 3:
Bit 0: magic ability
Bit 1: MagicArrows
Bit 2: Blast
Bit 3: Thunder
Bit 4: Fireball
Bit 5: Meteor
Bit 6: Blizzard
Bit 7: Tornado
Byte 2:
Bit 0: TurnUndead
Bit 1: Earthquake
Bit 2: Heal1
Bit 3: Heal2
Bit 4: ForceHeal1
Bit 5: ForceHeal2
Bit 6: Sleep
Bit 7: Mute
Byte 1:
Bit 0: Protection
Bit 1: Attack
Bit 2: Zone
Bit 3: Teleport
Bit 4: Illusion
Bit 5: Resist
Bit 6: Team
Bit 7: Summoning magic
It is strange, now that I think about it. If you find something wrong here,
let me know.
+++Troops+++
These are the hex values of the recruitable troops used in the statistical
information array.
00:Pike
01:Flanker
02:Soldier
03:Gladiator
04:ArmorSoldier
05:Horseman
06:HeavyHorseman
07:Dracorn
08:Elf
09:Blaster
0A:Monk
0B:Guardman
0C:Merman
0D:Griffon
0E:Angel
0F:Civilian
+++Characters+++
Values for characters are:
00:Null
01:Elwin
02:Riana
03:Lana
04:Shery
05:Hain
06:Scott
07:Keith
08:Aaron
09:Lester
0A:Jessica
+++Faces+++
There are a LOT of faces. The names on this table are very very confusing.
00:Null 10:Sad Shery 20:Sad Lester 30:Dying Girl B
01:Elwin 11:Hain 21:Chris 31:Girl Y
02:Dying Elwin 12:Dying Hain 22:Dying Chris 32:Dying Girl Y
03:Angry Elwin 13:Angry Hain 23:Angry Chris 33:Girl R
04:Sad Elwin 14:Sad Hain 24:Sad Chris 34:Dying Girl R
05:Rianna 15:Scott 25:Aaron 35:Rolen
06:Dying Rianna 16:Dying Scott 26:Dying Aaron 36:Soldier G
07:Angry Rianna 17:Scott 27:Angry Aaron 37:Dying Soldier G
08:Sad Rianna 18:Sad Scott 28:Sad Aaron 38:Soldier Y
09:Lana 19:Jessica 29:Messenger L 39:Dying Soldier Y
0A:Dying Lana 1A:Dying Jessica 2A:Messenger B 3A:Soldier B
0B:Angry Lana 1B:Angry Jessica 2B:Messenger Y 3B:Dying Soldier B
0C:Sad Lana 1C:Sad Jessica 2C:Big Messenger L 3C:Chief G
0D:Shery 1D:Lester 2D:Big Messenger B 3D:Dying Chief G
0E:Dying Shery 1E:Dying Lester 2E:Big Messenger Y 3E:Chief Y
0F:Angry Shery 1F:Angry Lester 2F:Girl B 3F:Dying Chief Y
40:Chief B 50:Leon 60:Zolm 70:Elwin
41:Dying Chief B 51:Dying Leon 61:Dying Zolm 71:Barbarian Y
42:Priest W 52:Angry Leon 62:Morgan 72:Dying Barbarian Y
43:Dying Priest W 53:Bloody Leon 63:Dying Morgan 73:Barbarian G
44:Priest G 54:Vargas 64:Corpse R 74:Dying Barbarian G
45:Dying Priest G 55:Dying Vargas 65:Dying Corpse R 75:Magician B
46:Sailor B 56:Angry Vargas 66:Corpse B 76:Dying Magician B
47:Dying Sailor B 57:Imelda 67:Dying Corpse B 77:Magician G
48:Sailor G 58:Dying Imelda 68:Corpse Y 78:Dying Magician G
49:Dying Sailor G 59:Sad Imelda 69:Dying Corpse Y 79:Magician R
4A:Bernhart 5A:Princess Lana 6A:Assasin W 7A:Dying Magician R
4B:Dying Bernhart 5B:Dying Princess Lana 6B:Dying Assasin W 7B:Caster R
4C:Angry Bernhart 5C:Angry Princess Lana 6C:Assasin G 7C:Dying Caster R
4D:Egbert 5D:Vorzel 6D:Dying Assasin G 7D:Caster B
4E:Dying Egbert 5E:Dying Vorzel 6E:Assasin B 7E:Dying Caster B
4F:Angry Egbert 5F:Angry Vorzel 6F:Dying Assasin B 7F:Caster G
80:Dying Caster G 90:Dying Knight R A0:Dying HawkKnight L B0:Slime
81:Witch R 91:Knight Y A1:HawkKnight R B1:Cerberus
82:Dying Witch R 92:Dying Knight Y A2:Dying HawkKnight R B2:Gourgon G
83:Witch B 93:Lord B A3:HawkKnight G B3:Gourgon B
84:Dying Witch B 94:Dying Lord B A4:Dying HawkKnight G B4:Gourgon L
85:Witch L 95:Lord R A5:SerpentKnight B B5:Ghost
86:Dying Witch L 96:Dying Lord R A6:Dying SerpentMan B B6:Wyvern
87:Fighter B 97:Lord Y A7:SerpentKnight R B7:MonsterLord
88:Dying Fighter B 98:Dying Lord Y A8:Dying SerpentMan R B8:IronGolem
89:Fighter R 99:MagicKnight B A9:Evil Messenger B B9:Ghast R
8A:Dying Fighter R 9A:Dying MagicKnight B AA:Evil Messenger R BA:Ghast B
8B:Fighter Y 9B:MagicKnight R AB:Evil Messenger G BB:Ghast G
8C:Dying Fighter Y 9C:Dying MagicKnight R AC:Horned Messenger B BC:Armor L
8D:Knight B 9D:MagicKnight Y AD:Horned Messenger R BD:Armor R
8E:Dying Knight B 9E:Dying MagicKnight Y AE:Horned Messenger G BE:Armor Y
8F:Knight R 9F:HawkKnight L AF:Werewolf BF:Fairy R
C0:Fairy Y D0:Kraken
C1:Fairy G D1:Colossus R
C2:Minotaur D2:Colossus G
C3:DemonLord D3:Colossus Y
C4:Dragon D4:Summoner
C5:VampireLord D5:Dying Summoner
C6:Leard
C7:Dying Leard
C8:Sad Leard
C9:MysterySoldier
CA:Old Man W
CB:Dying Old Man W
CC:Old Man Y
CD:Dying Old Man Y
CE:Baldo
CF:Dying Baldo