The purpose of this page is to document information about the RPG 7th Saga.
This article concentrates on information that would be useful in the making of tool-assisted speedruns.

Random Number Generator

The random number generator is located at 7E006C and 7E006E. It increments by (RNG*0x383) mod 65536

Overworld Incrementation

The random number generator increments multiple times per frame on the overworld to determine enemy movement patterns. The amount of enemies currently on the screen tends to correlate to the amount of incrementations of the RNG.

Dungeon Battle Incrementation

In a dungeon battle, the RNG will only increment due to character and enemy actions. This makes it very difficult to manipulate favorable outcomes, because the battle is nearly predetermined from the RNG it is entered on. Choosing a good starting point is extremely important.

Overworld Battle Incrementation

In an overworld battle, an additional source of incrementation exists. Once every 1-2 seconds, the RNG will be called in order to perform random movement of the water on the overworld.

Encounter Groups

Area12345678
LemeleHermitHermitHermit
Wyvern
HermitHermitWyvernHermitHermit
RableskDemonDemon
Wyvern
Wyvern
DemonDemon
Wyvern
DemonWyvernHermitHermit
Hermit
BonroAndroid
Android
Android
Wyvern
Android
Demon
Android
Wyvern
Wyvern
Demon
Demon
Demon
Demon
Wyvern
Wyvern
Wyvern
Demon
Demon
Wyvern
(unknown)ManrotManrotManrotAndroid
Demon
Demon
AndroidAndroid
Wyvern
Android
Demon
Wyvern
Demon
Demon
Demon
(unknown)B.DemonDespairManrot
Android
Manrot
Manrot
Android
Android
Android
Android
Android
Wyvern
Wyvern
Android
Demon
EygusBrainBrainDespairB.DemonDespairB.Demon
Wyvern
Wyvern
Wyvern
B.Demon
Manrot
Demon
Wyvern
Present Melenam*Chimera
Trick
Titan
Coccoon
Soldiek
Spidek
Undead
Defeat
Orc
Manrot
Brain
Ghoul
Spirit
Crab
Griffin
Android
Sage
Wyrock
Flame
B.Night
Sword
Mutant
Manta
S.Witch
PellMantaDespairManta
B.Demon
Brain
Brain
Brain
B.Demon
BrainDespairB.Demon
B.Demon
(unknown)Titan
Titan
Titan
Titan
TitanManta
Manta
Manta
B.Demon
B.Demon
MantaCoccoonS.Witch
Titan
(unknown)CoccoonCoccoon
Titan
Titan
TitanTitanS.WitchS.Witch
S.Witch
S.WitchManta
Manta
(unknown)DefeatDefeat
Sage
Sage
Titan
Titan
Coccoon
Coccoon
Defeat
Coccoon
Sage
Coccoon
Manta
Coccoon
R.Demon
Sage
Sage
R.Demon
LuzeS.BrainS.Brain
Coccoon
S.Brain
Sage
S.Brain
Defeat
S.BrainR.Demon
Sage
R.Demon
Coccoon
Coccoon
Defeat
Coccoon
(unknown)Defeat
Manta
DefeatDefeat
Defeat
R.DemonR.Demon
Manta
UndeadUndead
Coccoon
Undead
(unknown)SoldiekSoldiek
Soldiek
Soldiek
Soldiek
Coccoon
Soldiek
Soldiek
B.NightDefeat
Coccoon
R.Demon
Undead
S.Brain
PolasuFlameFlame
Flame
B.Night
Undead
B.NightSoldiekFlame
Flame
Flame
R.DemonSoldiek
Flame
BrushDefeatDefeatDefeat
Coccoon
DefeatUndeadR.Demon
R.Demon
Undead
Coccoon
S.Brain
(unknown)UndeadUndeadDefeat
Coccoon
DefeatR.DemonR.Demon
Manta
Manta
Manta
Undead
Coccoon
(unknown)DoomDoomDoomGriffin
Flame
Flame
Griffin
Wyrock
SwordB.Night
B.Night
B.Night
B.Night
Wyrock
(unknown)DoomDoomGriffin
Griffin
Griffin
Griffin
Coccoon
N.BrainN.Brain
Coccoon
Sword
Wyrock
Sword
B.Night
(unknown)DoomSword
Sword
Sword
Sword
B.Night
Sword
Sword
Griffin
Griffin
N.Brain
Griffin
N.Brain
Sword
B.Night
N.Brain
Griffin
N.Brain
N.Brain
(unknown)DemonDemon
Wyvern
Wyvern
DemonDemon
Wyvern
DemonWyvernHermitHermit
Hermit
(unknown)DemonDemon
Wyvern
Wyvern
DemonDemon
Wyvern
DemonWyvernHermitHermit
Hermit
                                                           

Battle Mechanics

Hit Rates

(Attacker Speed - Target Speed) hit%
-inf to -89 10% ( 26/256)
-88 to -59 30% ( 77/256)
-58 to -29 50% (128/256)
-28 to -19 60% (154/256)
-18 to -9 71% (181/256)
-8 to -4 79% (203/256)
-3 to 1 83% (213/256)
2 to 6 85% (218/256)
7 to 11 90% (231/256)
12 to 21 95% (244/256)
22 to inf 98% (251/256)

Running Away

(Character Speed - Average Enemy Speed) run%
-inf to -42 2%
-41 to -12 5%
-11 to -7 10%
-6 to +3 30%
+4 to +18 40%
+19 to +48 60%
+49 to +inf 80%

Vacuum and Effect Spells

The game does an agility check and then a success check. The success check follows the following formula:
PercentChanceOfResist = DefenderResistanceStat - MagicResult
MagicCalc = 256*(AttackerMagic - DefenderMagic)/AttackerMagic
If (MagicCalc > DefenderResistance) then MagicResult = 0 else MagicResult = MagicCalc
This creates strange possibilities, for example when Lejes is wearing most armors and the ring, his DefenderResistanceStat for vacuum is 20 + 95 = 115. If you then go up against Doros (Magic 130) with Magic 72, then the formula creates a counterintuitive result as follows:
PercentChanceOfResist = 115 - 256*(130 - 72)/130 = 1 , and you would likely get hit by vacuum. Equipping the Fire or Ice cloak as armor with the ring may be better in this case, but it needs evaluated on a case by case basis.

Stats

StatMain Character AddressPartner AddressType
Character 7E1DC17E1E21byte
Level 7E1DC27E1E22byte
Current HP 7E1DC47E1E24word
Max HP 7E1DC67E1E26word
Current MP 7E1DC87E1E28word
Max MP 7E1DCA7E1E2Aword
Power 7E1DCC7E1E2Cword
Magic 7E1DCE7E1E2Ebyte
Speed 7E1DCF7E1E2Fbyte
Guard 7E1DDC7E1E3Cword

Apprentice memory values

CharacterValue
Kamil0
Olvan1
Esuna2
Wilme3
Lux4
Valsu5
Lejes6

Apprentice join values

7E5120 is the number of battles until apprentice responses change. This will always refresh to 4-11 7E5121 is the number of battles until apprentice locations change. This will always refresh to 5.
Apprentice responses are assigned in order of apprentices, without skipping any characters. The value is assigned to 0 to 99 by the formula INT(7E006E*100/256)
Speaking to Kamil (7E5002) (Code located at C2/8B20 and table located at C0/8752)
KamilOlvanEsunaWilmeLuxValsuLejes Before Water RuneAfter Water RuneHas Sky Rune
1X70-9980-99*90-9970-9970-9995-99 Offer JoinOffer JoinOffer Join/Offer Fight
2X50-6940-79 80-8940-6940-6990-94 Offer JoinOffer JoinOffer Join/Offer Fight
3X30-4930-39 60-7930-3930-3970-89 NeutralNeutralOffer Fight
4X20-2920-29 40-5915-2915-2950-69 NeutralNeutralOffer Fight
5X10-1910-19 30-395-14 5-14 40-49 Offer FightOffer FightOffer Fight
6X0-9 0-9 0-29 0-4 0-4 0-39 NeutralForce FightOffer Fight
Speaking to Olvan (RAM: 7E5022) (Table located at C0/878E)
KamilOlvanEsunaWilmeLuxValsuLejes Before Water RuneAfter Water RuneHas Sky Rune
190-99X80-9980-9980-9970-9995-99 Offer JoinForce FightOffer Join/Offer Fight
280-89X50-7970-7960-7950-6990-94 Offer JoinOffer JoinOffer Join/Offer Fight
350-79X30-4950-6940-5930-4970-89 NeutralOffer JoinOffer Join/Offer Fight
420-49X20-2940-4920-3910-2950-69 NeutralForce FightOffer Fight
510-19X10-1930-3910-195-9 40-49 Offer FightNeutralOffer Fight
60-9 X0-9 0-29 0-9 0-4 0-39 NeutralForce FightOffer Fight
Speaking to Esuna (RAM: 7E5042) (Table located at C0/87CA)
KamilOlvanEsunaWilmeLuxValsuLejes Before Water RuneAfter Water RuneHas Sky Rune
190-9990-99X90-9980-9990-9995-99 Offer JoinOffer JoinOffer Join/Offer Fight
280-8980-89X80-8960-7980-8990-94 Offer JoinOffer JoinOffer Join/Offer Fight
350-7950-79X70-7940-5940-7960-89 NeutralForce FightOffer Fight
420-4920-49X60-6920-3910-3930-59 NeutralNeutralOffer Fight
510-1910-19X50-5910-195-9 20-29 Offer FightForce FightOffer Fight
60-9 0-9 X0-49 0-9 0-4 0-19 NeutralForce FightOffer Fight
Speaking to Wilme (RAM: 7E5062) (Table located at C0/8806)
KamilOlvanEsunaWilmeLuxValsuLejes Before Water RuneAfter Water RuneHas Sky Rune
190-9990-9995-99X80-9995-9990-99 Offer JoinForce FightOffer Fight
280-8980-8990-94X60-7990-94N/A* Offer JoinForce JoinOffer Join/Force Fight
370-7970-7980-89X40-5980-8980-89 NeutralForce FightOffer Fight
460-6960-6960-79X20-3960-7970-79 NeutralForce FightOffer Fight
530-5930-5930-59X10-1930-5920-69 Offer FightForce FightOffer Fight
60-29 0-29 0-29 X0-9 0-29 0-19 NeutralForce FightOffer Fight
Speaking to Lux (RAM: 7E5082) (Table located at C0/8842)
KamilOlvanEsunaWilmeLuxValsuLejes Before Water RuneAfter Water RuneHas Sky Rune
180-9980-9980-9990-99X80-9990-99 Offer JoinOffer JoinOffer Join/Offer Fight
260-7960-7960-7980-89X60-7980-89 Offer JoinOffer JoinOffer Join/Offer Fight
340-5940-5940-5960-79X40-5960-79 NeutralNeutralForce Fight
420-3920-3920-3940-59X20-3940-59 NeutralNeutralForce Fight
510-1910-1910-1930-39X10-1930-39 Offer FightOffer JoinOffer Join/Offer Fight
60-9 0-9 0-9 0-29 X0-9 0-29 NeutralForce FightForce Fight
Speaking to Valsu (RAM: 7E50A2) (Table located at C0/887E)
KamilOlvanEsunaWilmeLuxValsuLejes Before Water RuneAfter Water RuneHas Sky Rune
180-9980-9980-9990-9980-99X95-99 Offer JoinOffer JoinOffer Join/Offer Fight
260-7960-7960-7980-8960-79X90-94 Offer JoinOffer JoinOffer Join/Offer Fight
340-5940-5940-5960-7940-59X85-89 NeutralNeutralForce Fight
420-3920-3920-3940-5920-39X80-84 NeutralNeutralForce Fight
510-1910-1910-1930-3910-19X70-79 Offer FightOffer FightForce Fight
60-9 0-9 0-9 0-29 0-9 X0-69 NeutralForce FightForce Fight
Speaking to Lejes (RAM: 7E50C2) (Table located at C0/88BA)
KamilOlvanEsunaWilmeLuxValsuLejes Before Water RuneAfter Water RuneHas Sky Rune
190-9990-9980-9990-9990-9995-99X Offer JoinForce FightForce Fight
280-8980-8970-7980-8980-8990-94X Offer JoinOffer JoinOffer Join/Force Fight
360-7960-7950-6970-7960-7985-89X NeutralForce FightForce Fight
440-5940-5930-4950-6940-5980-84X NeutralForce FightForce Fight
530-3930-3920-2920-4930-3960-79X Offer FightForce FightForce Fight
60-29 0-29 0-19 0-19 0-29 0-59 X NeutralForce FightForce Fight

Apprentice locations

AddressLocation
0737 Bonro item shop
0738 Bonro weapon/armor shop
0739 Bonro tavern
073A Zellis tavern
073B Zellis armor shop
073C Zellis inn
073D Eygus house of healing
073E Eygus NW house
073F Eygus inn
0740 Pell outside tavern
0741 Pell W house
0742 Pell house of healing
0743 Guntz SE house
0744 Guntz inn
0745 Guntz outside E house
0746 Patrof inn
0747 Patrof tavern
0748 Patrof weapon/armor shop
0749 Bone item shop
074A Bone weapon/armor shop
074B Bone SE house
074C Dowaine outside SW
074D Dowaine house of healing
074E Dowaine weapon shop
074F Belaine inn
0750 Belaine NW weapon shop
0751 Belaine castle basement
0752 Telaine outside SE
0753 Telaine tavern
0754 Telaine armor shop
0755 Pang SE house
0756 Pang E house
0757 Pang outside SW
0758 Padal outside W
0759 Padal barracks
075A Padal inn
075B Polasu item/weapon
075C Polasu inn
075D Polasu outside NE
075E Tiffana inn
075F Tiffana castle E balcony
0760 Tiffana armor shop
0761 Bilthem inn
0762 Bilthem 3F
0763 Bilthem 1F E room
0764 Pandam tavern
0765 Pandam weapon shop
0766 Pandam upstairs near dock
0767 Brush outside NE
0768 Brush tavern
0769 Brush item shop

Lux's Infinite Stat Boost Glitch

In the past, if Lux is in the party, he is able to receive a stat boost for 30 HP, 30 MP, and 20 of each other stat. During the cutscene for this, the player is able to walk 4 steps. The game does not check for collisions during these steps, so Lux can either walk out of bounds or up the stairs. If Lux walks up the stairs right as the dialog box appears, he receives the stat boost, but the flag for getting a stat boost is not set. Lux can receive multiple stat boosts through this method until his stats are maximized.

GameResources/SNES/7thSaga last edited by kirkq on 5/17/2014 7:24 PM
Page History Latest diff List referrers View Source