Skip to content

Instantly share code, notes, and snippets.

@towerofnix
Last active July 2, 2018 19:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save towerofnix/265ca1e573cc1c576d21f59a1561f32c to your computer and use it in GitHub Desktop.
Save towerofnix/265ca1e573cc1c576d21f59a1561f32c to your computer and use it in GitHub Desktop.
Grandia III posts
I've been poking around with Grandia III's debug mode a bit, looking for damage formulas. (Formulae?) So far I've only focused on spells, and through testing, I've found this to be the general magic formula (tested on Burn!, Crackle, and Hellburner):
'''Damage = (Spell-specific base quantity) + 4.5 * (Caster's MAG) - 3.0 * (Target's RES)'''
You also have to apply the damage ratio multiplier and the general randomness modifier. The damage ratio is that "X%" you see beside the orb. It's significant in spells like Crackle and Galactic Bang, where damage is dealt to the target multiple times, increasing their chain multiplier each time. The game also has some RNG; I'm not totally sure what the rules are on this (probably something like +/- 5%), but it's worth noting, because it means the formula won't yield the exact amount of damage dealt.
The spell-specific base quantity is a value unique to each spell. Generally, if the spell's description says it has a higher power (more stars), you can expect the base quantity to be higher. It also varies depending on what level mana egg you've equipped; Hellburner does much more damage if you've got a Volcano Egg equipped.
Some enemies will also have a resistance/weakness to spells of particular elements. Demon Lords are totally invulnerable to fire-based moves, but take 1.5x damage from water-based ones, for example. If an enemy is ''resistant'' to a move, the damage number will sort of spin off of the enemy, like a coin being flipped; if an enemy is ''weak'' to a move, the damage number will have a little yellow check mark next to it.
I've only bothered finding the base value for three spells, so far:
* '''Burn!:''' Lv. 0: 48, Lv. 1: 72, Lv. 2: 120, Lv. 3: 192
* '''Crackle:''' Lv. 0: 100, Lv. 1: 200, Lv. 2: 350, Lv. 3: 560
* '''Hellburner:''' Lv. 0: 383, Lv. 1: 576, Lv. 2: 959, Lv. 3: 1535
"Lv. 0" refers to no mana egg being equipped, or no boost being given to that move's element. For example, equipping a Lake Egg means Crackle (and other water-based spells) will be considered Lv. 3, but Burn! will be Lv. 0.
----
See [[User_blog:Liam48D/To_access_Grandia_III's_debug_mode...|this post]] for info on enabling and using debug mode. Now, for specifics regarding finding damage formulas..
Disabling DMG_RND makes your life a hundred million times easier by getting rid of the RNG factor, so definitely turn that off. (It's at the top level of Debug/Battle.)
You can manipulate stats by going to Debug/Battle/Char/Param and selecting the Char No. you want. (You have to set stats up at the start of each battle - they reset to the character's saved stats whenever you enter a battle.) MGR is "Magic Resistance" and called RES in the game; MGP is "Magic Power" and is called MAG in the game.
It's usually helpful to go to Debug/Battle/Char/IP Stop and stop monsters from moving, if you're testing the power of your own stats. (Or you can do it the other way around and stop your party members from moving if testing enemies.)
When a character is defending, the damage ratio on them doesn't go up at all. You can force an enemy to guard by first setting INPUT_ALL (at Debug/ in the battle debug menu) and then going to Debug/Battle/Char/Work and setting GUARD to On. (You can't change most of the things in .../Work if you don't have INPUT_ALL set.)
In the Field menu of the debug menu ''outside'' of battle, you can set your party to contain just Yuki (set Party Group to 0). This is just handy because it means you have to skip less character's turns / use IP stop less.
I haven't found a way to change the power of the mana egg you have equipped ''inside'' of battle, so unfortunately you need to leave battle and set up all the stats and IP stops and such again whenever you want to change what mana egg you're using.
Burn!
Lv. 0: 48
Lv. 1: 72
Lv. 2: 120
Lv. 3: 192
Burnstrike (12-14 hits)
Lv. 0: 108+ (9 per hit)
Lv. 1: 168+ (14 per hit)
Lv. 2: 288+ (24 per hit)
Lv. 3: 468+ (39 per hit)
Hellburner
Lv. 0: 383
Lv. 1: 576
Lv. 2: 960
Lv. 3: 1535
BOOM! (6 hits)
Lv. 0: 90 (15 per hit)
Lv. 1: 138 (23 per hit)
Lv. 2: 234 (39 per hit)
Lv. 3: 315 (63 per hit)
BOOMOR!
Lv. 0: 263
Lv. 1: 395
Lv. 2: 660
Lv. 3: 1055
BA-BOOM!
Lv. 0: 323
Lv. 1: 485
Lv. 2: 809
Lv. 3: 1295
Burnblaze (11-12 hits)
Lv. 0: 341+ (31 per hit)
Lv. 1: 517+ (47 per hit)
Lv. 2: 869+ (79 per hit)
Lv. 3: 1397+ (127 per hit)
Galactic Bang (15 hits)
Lv. 0: 1065 (71 per hit)
Lv. 1: 1605 (107 per hit)
Lv. 2: 2685 (179 per hit)
Lv. 3: 4305 (287 per hit)
Heaven's Gate (20 hits)
Lv. 0: 1320 (66 per hit)
Lv. 1: 2000 (100 per hit)
Lv. 2: 3340 (167 per hit)
Lv. 3: 5380 (269 per hit)
Tremor (2-3 hits)
Lv. 0: 36+ (18 per hit)
Lv. 1: 54+ (27 per hit)
Lv. 2: 88+ (44 per hit)
Lv. 3: 142+ (71 per hit)
Quake
Lv. 0: 145
Lv. 1: 215
Lv. 2: 360
Lv. 3: 575
Meteor Strike
Lv. 0: 750
Lv. 1: 1125
Lv. 2: 1875
Lv. 3: 3000
Poizn ("impact" damage, i.e. directly from getting hit by the spell - NOT gradual poison effect)
Lv. 0: 1
Lv. 1: 2
Lv. 2: 2
Lv. 3: 4
Absorber
Lv. 0: 120
Lv. 1: 180
Lv. 2: 300
Lv. 3: 480
Crackle (10 hits)
Lv. 0: 140 (14 per hit)
Lv. 1: 210 (21 per hit)
Lv. 2: 350 (35 per hit)
Lv. 3: 560 (56 per hit)
Diamond Dust (9-12 hits)
Lv. 0: 216+ (24 per hit)
Lv. 1: 324+ (36 per hit)
Lv. 2: 531+ (59 per hit)
Lv. 3: 855+ (95 per hit)
Crackle Fang
Lv. 0: 324
Lv. 1: 486
Lv. 2: 809
Lv. 3: 1295
Absolute Zero
Lv. 0: 900
Lv. 1: 1350
Lv. 2: 2250
Lv. 3: 3600
Howl (5 hits)
Lv. 0: 20 (4 per hit)
Lv. 1: 30 (6 per hit)
Lv. 2: 55 (11 per hit)
Lv. 3: 90 (18 per hit)
Howlslash
Lv. 0: 96
Lv. 1: 143
Lv. 2: 240
Lv. 3: 383
Howlnado
Lv. 0: 240
Lv. 1: 360
Lv. 2: 600
Lv. 3: 960
Zap! (7-11 hits)
Lv. 0: 56+ (8 per hit)
Lv. 1: 77+ (11 per hit)
Lv. 2: 140+ (20 per hit)
Lv. 3: 224+ (32 per hit)
Zap All (3 hits)
Lv. 0: 81 (27 per hit)
Lv. 1: 120 (40 per hit)
Lv. 2: 204 (68 per hit)
Lv. 3: 330 (110 per hit)
Gad Zap
Lv. 0: 480
Lv. 1: 720
Lv. 2: 1200
Lv. 3: 1920
Astraea Zap (8-11 hits)
Lv. 0: 432+ (54 per hit)
Lv. 1: 648+ (81 per hit)
Lv. 2: 1072+ (134 per hit)
Lv. 3: 1720+ (215 per hit)
This doesn't really fit a wiki page, but it's still useful information, so as a blog post...
== Enabling Grandia III's debug mode on PCSX2 ==
I assume you are already emulating Grandia III, and are using PCSX2 to do so. This section of my guide is not, for the most part, going to be helpful to you if you aren't.
Inside your PCSX2 folder (the one with "memcards" and such), create a folder called "cheats". Inside it, create a file called "5B657DAD.pnach"; this is the file that contains the actual cheat code. Paste this into the file:
<pre>
gametitle=Grandia III
comment=Debug mode for Grandia III
patch=1,EE,202186A8,extended,00000001
</pre>
'''Credits to PCSX2 forum user dhillel for [https://forums.pcsx2.net/Thread-Post-your-PCSX2-cheats-patches-here?pid=573316#pid573316 posting] this code.'''
(A quick explanation of that file: <code>5B657DAD</code> is the CRC code of Grandia 3 - basically a unique code that refers to Grandia 3 and Grandia 3 alone. Note that both discs have this same code, so the cheat should work whether you're running Disc 1 or 2. The <code>gametitle</code> and <code>comment</code> parts are both decorative things; they don't actually make the cheat do anything. <code>patch</code> is the important part; it contains the specific code that enables debug mode. Again, thanks to dhillel for contributing that code.)
The cheat file won't do anything until you enable cheats, though. Open the System menu in the toolbar, then make sure "Enable Cheats" is toggled on.
Once you've enabled the cheat, I recommend rebooting the game; I have no idea how reliably it'll work if you don't reboot.
Besides actually testing the cheat (which I'll cover in a moment!), you can verify that the cheat is loaded by checking the console ("Misc" menu -> "Show Console"); once you've (re)booted the game, "Found Cheats file: '5B657DAD.pnach'" and "comment: Debug mode for Grandia III" should appear in the there.
== Using debug mode ==
I don't intend to write a full guide to debug mode here and now, but I'll cover some pointer tips to get you started..
=== Debug mode requires a second controller ===
If you're using PCSX2, it's not terribly difficult to set up the second controller. (I had to use a Windows computer - i.e. the LilyPad plugin instead of OnePad - before the second controller would work. [https://www.winehq.org/ Wine] works too.) '''To configure the second controller, choose "Pad 2" instead of "Pad 1" in the controller plugin settings.''' My configuration was based on using the number key-pad as the second controller, which I'll list below:
* I bound 2, 4, 6, and 8 to the D-pad. The D-pad is extensively used in debug mode. The joysticks are ''not'' used.
* I bound slash, asterisk, and minus to cross, circle, and square, respectively. These three buttons are used a lot.
* I bound plus to triangle. This is definitely not necessary; the only use I found for the triangle button was hiding (but keeping the state of) the battle debug menu.
* I bound period/dot/delete to the start button, and 0/insert to the select key. (I would have bound return to start key, of course, but I couldn't get PCSX2 to distinguish between the numpad-return and the main keyboard-return, which I was already using for the first controller's start button, of course.)
* I bound the left- and right- square bracket keys to L1 and R1. As far as I've found, these are only used in the battle debug screen for navigating between pages of character data.
As far as I've seen, these are the only buttons used for navigating debug mode.
=== '''Don't break your game!''' ===
I'm not kidding! Make a backup of your memory card - seriously. (It's in your PCSX2's memcards folder, right alongside the cheats folder you made earlier.) Use save states frequently, especially before warping to different maps or using the flight-from-anywhere tool; if you warp somewhere you aren't supposed to be while half-way through a cutscene, there's a fair chance you will mess things up. This is only bad if you don't have a save state or file to return to.
=== The field debug mode menu is a handy tool for anyone ===
[[File:GIII_Field_Debug_Menu.png|right|180px]]
If you aren't especially interested in messing around with the rather technical debug mode, here's a brief guide to enabling field debug mode, which gives access to a very useful menu:
1. Once you've loaded a save, open the debug screen by pressing start on the second controller.
2. Use the D-pad on the second controller to navigate to "Field" ("+05 0x2f3d80 Field").
3. Press '''square''' to select it. (I know, it's ridiculous. Worse, cross means ''back''. You'd think they would have used the in-game UI controls for debug mode! Oh well.)
4. You should be greeted with a screen titled "Field Sub Menu". You'll already have "Debug Mode OFF" selected. Press right on the D-pad; it should change to "Debug Mode ON".
5. Press cross twice to exit the menu.
Now that you've got debug mode enabled, you can press select '''on the first, ordinary controller''' to open a handy debug menu. This lets you sell items, set your party up, extract magic and skills, fuse mana eggs, access the plane's "flight" menu, and so on, from ''anywhere'' in the game. Neat!
You do need to reload field debug mode whenever you reboot the game.
=== Battle debug mode lets you view ''and modify'' enemy and player stats ===
By using the battle system's dedicated debug mode, you can view and modify the stats of both players and enemies. This is particularly fun for customizing battles to be more interesting - do you find Xorn too easy to defeat? Try increasing his attack power! Want to make Kornell scarier? Boost his ACT! (ACT is equivalent to INI, and increasing it means the character will progress the IP gauge faster.)
As far as I've tested, battle debug mode only works if you've also got field debug mode enabled. So make sure you've followed the steps in the last section, if you haven't already.
Once you've gotten into a battle, press select on the second controller to open the battle debug menu. '''Controls in the battle debug menu work the same as in the main debug menu used earlier, but with circle as the "select" button instead of square.''' You can immediately change things such as the system speed, or view character data: navigate to "Char" (the first option), press square to select it, then select and press "Param".
Once you select "Param", you'll be greeted with a colossal list of stats; likely you'll have Yuki selected. To view a different character's stats, select "Char No." and use the left and right D-pad buttons to pick the one you want; numbers zero through three are your party members, and four and beyond are actual character data. (Since you can't see the name of the character you have selected in the debug screen, I like to briefly change the Icon; this updates that character's picture on the IP gauge, making it easy to see who I have selected.)
Once you've got a character selected, you can navigate to any of the other options to change them; if you want to boost the attack of a Baabaa, this is the screen to do it on. '''You can use the L1 and R1 buttons to navigate between pages'''; the various pages contain the selected character's status (poison, sleep, etc), resistances ("Fire 1.50" means the character takes 150% damage from fire moves), and other miscellaneous stats. (Funnily enough, I couldn't find the amount of gold an enemy drops anywhere.)
Some brief notes on the stats: <code>ACT</code> is called INI in the game, and it's the speed a character moves along the IP gauge. <code>MGP</code> and <code>MGR</code> probably refer to magic power and resistance, or MAG and RES, respectively, but I haven't actually tested them. Sway WT refers to the chance a character has at dodging; the Excise Sigma, for example, has a Sway WT of 0.30, which means a 30% chance at dodging attacks coming at it. Enemies apparently also have Lv values, which clearly refer to level, but I don't think these values actually have any effect in the game. Oh well; saying "Lv. 18 Excise Sigma" sounds cooler than just "Excise Sigma" anyhow.
I've been putting together a bestiary of this available data; maybe at some point, if it's ever completed, I'll work on adding it here to the wiki. We've already got [[List of Grandia Enemies|impressive]] [[List of Grandia II Enemies|bestiaries]] for Grandia I and II!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment