Hacking .hack//Infection (Adding more Monster Variety!)

Discuss the original .hack video games: Vol. 1 and 2

Moderator: Moderators

basic
Posts: 2
Joined: Fri Apr 12, 2024 10:31 pm

Re: Hacking .hack//Infection (How to make Skeith spawn anywhere)

Post by basic »

Xu Yuan wrote: Sat Apr 13, 2024 1:07 am
basic wrote: Fri Apr 12, 2024 10:39 pm dang i showed up too late, all the links were removed..... does anyone still have a premade save download they could send? or instructions to make the edit myself on cheat engine? i tried to just input the numbers above with my limited knowledge but nada, i'm hoping i'm just missing out on some crucial info that was in those screenshots or something but lemme know please; i'd really like to do a wave master only run
Hello Basic, I'm sorry I missed this post and your PM. If you're looking to change Kite's class this is very easy with PCSX2's built-in debugger, whereas Cheat Engine can be a little... temperamental with addresses.

00A46F30 - Kite's Class
00 - Twin Blade
01 - Blademaster
02 - Heavy Blade
03 - Long Arm
04 - Heavy Axeman
05 - Wavemaster

If you need any further assistance, do let me know.

man you were right cheat engine was the culprit thank you sm; few quick follow up questions if you don't mind!

right now i have the wavemaster class and weapon showing, is there a way to get the class animation too? not too important since the way kite is holding the stave is honestly pretty cool but definitely curious to see how wavemaster stance suits him if it's interchangeable

and i saw you wrote these above:

20A2FA24 - Second Item in the Weapons Category.
20A2FA20 - Kite's Reserve Weapon.
20A4F628 - The name and model of Kite's weapon

wasn't completely sure what these were either maybe that's just because i don't have items though for it to even display, correct me if i'm wrong but are these: (?)

20A2FA24: what weapons appear below your equipped weapon in equipment page(?)
20A2FA20: the default weapon place holder(?)
20A4F628: what kite is currently using(?)

not too important but i know some of the staves are cooler looking than others so i was wondering if it would also be possible to change just the
visual look of weapons too without altering stats?

thank you again! wasn't expecting such a quick response; and sorry if i wasn't clear on anything here, missed some beauty sleep
Xu Yuan
Posts: 1207
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (How to make Skeith spawn anywhere)

Post by Xu Yuan »

Great! Oh, a lot of those notes are just too old to be of real use, that first note is just Item Slot 2., the second one is what weapons appear at the time of the menu being opened in the Equip Change menu. It is very temperamental, and I don't recommend dealing with it. A4F628... I have no idea what that actually is. I looked it up in memory and I don't recognize these values at all.

If you want to change the look of a weapon that requires some rom editing, since those changes won't be remembered by memory without a constant code forcing it.

But if you are interested in more advanced forms of modding, let me know. I made some tools a while back that can help with certain matters.
Xu Yuan
Posts: 1207
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (More Monster Variety!)

Post by Xu Yuan »

So I was recently going through the code of .hack//Infection for a larger modding project I have planned. I really wanted to change how many monster types could be loaded in a field or a dungeon to give some more variety (by default its set to three!) After a bit of data scrounging I found where the values were being written, where they were being written from, and how to change them. It turned out it was a single byte.

I always had thought that the .hack// games were lacking some real model capacity behind the scenes, but it turns out that is far from the case. It was a choice, not a limitation, to set monster types to three for each field/dungeon floor. I've been playing around with it a bit, but you can really see a difference if you change this 03 to 18 (24 monster types). Fields suddenly become alive with a rich array of foes, instead of just three kinds. This also has the effect of making things more difficult as well, as high level monster types you weren't expecting could show up and surprise you.

If you are using PCSX2 it is as simple as going to 0042E8B4 - and changing 03 to any number you want up to 18.

If you want to make the change to an ISO it's at 014648B4.

I hope someone finds it useful as a way to give their next //Infection playthrough a bit greater variety.
MikeAndreas1
Posts: 1
Joined: Fri Jul 12, 2024 6:43 am

Re: Hacking .hack//Infection (Adding more Monster Variety!)

Post by MikeAndreas1 »

Xu Yuan wrote: Mon Jul 18, 2011 10:36 pm While watching NakaTeleeli on youtube, one of the best .hack// LPer's I've ever seen, I started to get nostalgic for the old games. But after thinking on it for a while I couldn't just play a normal playthrough this time. I wanted to try something new. When I was younger I used to fantasize about playing as any other class but Twin Blade in the original games and now that I'm older and a fair amount smarter I set about making my dream a reality.

After a few hours of scrounging through the data I found what I had been looking for all of these years. And to my grand surprise it was held in one, single, byte. To put that in perspective in an absolute sea of data, classes are controlled by 00-05 with Twin Blade normally being 00. Each character has their own Stat table in the data, as one would guess and the last byte of their separate tables is their class. I was overjoyed when I found this. The way the game handles classes and weapons is strange though... to say the least.

As this is a PS2 game there is a lot of dynamic loading that you can check on while in the middle of testing. Say you have Amateur Blades equipped as a Twin Blade, while when you change your class to 02 (Heavy Blade) your equipped weapon will automatically change to the corresponding weapon type, in this case Amateur Blade turns into Adventurer. In addition your Armor Class will automatically change when you change your class, as you may have guessed. My greatest surprise however was seeing that Kite can support using every type of weapon, so nothing ever really looks off or funny, the only thing though is that when using the more Physical Classes, Kite will call out the wrong names for the attacks and likely do the animation of one of his Twin Blade attacks. Also the Level Up data is also the same, so even if you are a WaveMaster you will have a natural 99 Evade and 99 Accuracy by the end game.

Now I also happened upon a "Character Identifier" byte, which does gives you their corresponding level ups and equipment, but you can't change your equipment unless they're in the party and their skills are imprinted over yours. It is a real shame, but alas.

I wish I could have found the model pointer, but unlike G.U. I do not think that the original games take kindly to a change of leader.

So for those that want to enjoy an old game in a new way, There are five saves prepared, one for each different class (excluding Twin Blade, obviously)

Also here are a few notes if anyone wants to try and make sense of my pretty pathetic note taking (It's not up to Master ZED's talent, that's for sure.)
One set is for ARMAX, another for CodeBreakers, and the third is for an emulator.

It would be great to see these old games get some life again. Hopefully this foray will be just the beginning.

1 - CodeBreaker Save
2 - Action Replay Max Save
3 - PS2 Memory Card

http://imageshack.us/photo/my-images/143/axee.png
http://img143.imageshack.us/img143/1875/axee.png
http://imageshack.us/photo/my-images/834/bladedm.png
http://img834.imageshack.us/img834/1640/bladedm.png
http://imageshack.us/photo/my-images/269/spearu.png
http://img269.imageshack.us/img269/1095/spearu.png
http://imageshack.us/photo/my-images/534/staffls.png
http://img534.imageshack.us/img534/7618/staffls.png
http://imageshack.us/photo/my-images/692/swordcaq.png
http://img692.imageshack.us/img692/5076/swordcaq.png

Code: Select all

20A3F668 - Level of Field - (will not change in hex)
2072F756 - Amount of Keywords in Word List


20A2FA24 - Second Item in the Weapons Category.
20A2FA20 - Kite's Reserve Weapon.
20A4F628 - The name and model of Kite's weapon.
20A46F30 - Kite's Class! (With weapon and armor changes et al!!) 00 00 00 00 00 DC 41 02
20A46E66 - Kite's Level



218F85D0 - Kite's Current HP
218F85D2 - Kite's Current SP
218F85D4 - Kite's Max HP Bar?
218F85D6 - Kite's Max SP Bar?

20A3FA03 - Amount of Healing Potions

20A3FA0C - What is in the item slot? 

Four Bytes -

XXXX - Weapon XX
YY - Weapon Identification.
ZZ - Amount

00- Twin Blade
01- Blades
02- HeavyBlades
03- Heavy Axes
04- Spears
05- Staves
06- Helms
07- Armor
08- Gloves
09- Shoes
0A-FF- Erased Item

To find Phantom

02 00 00 XX-Held Amount in Hex

---------------------

Four Bytes - 
XXXX - Item XX
0A - If the item is present, it will have this byte, any other number makes the item vanish.- This is used Special case items like Sprite Ocarina and Fortune Wire, if this byte is changed to a 0A they will turn into Health Drinks.
YY - Item Amount

*0A Item Classification*

00 - Health Drink
01 - Health Potion
02 - Healing Elixir
03 - Antidote
04 - Restorative
05 - Resurrect
06 - Warrior Blood
07 - Knight Blood
08 - Hunter Blood
09 - Hermit Blood
0A - Beast Blood
0B - Wizard Blood
0C - Well Water
0D - Pure Water
0E - Burning Oil
0F - Holy Sap
10 - Sports Drink
11 - Cooked Bile
12 - Mage's Soul
13 - Artisan's Soul
14 - Emperor's Soul 
15 - Noble Wine
16 - Risky Coffee
17 - Recovery Drink
18 - Raining Rocks (Sidenote - Curiously enough when these are in the Item category they will target teammates, interesting how one size fits all.)
19 - Raging Earth 
1A - Stone Storm
1B - Gaia's Spell
1C - Meteor Strike
1D - Cosmic Truth
1E - Ice Storm
1F - Ice Floe
20 - Ice Strike
21 - Cygnus
22 - Absolute Zero
23 - Permafrost
24 - Fire Tempest
25 - Meteor Swarm
26 - Flame Blast
27 - Fireball Storm
28 - Hellstorm
29 - Inferno Strike
2A - Green Gale
2B - Gale Breath
2C - Leafblight
2D - Wood Sprite
2E - Jungle Rage
2F - Forest of Fear
30 - Lightning Bolt
31 - Plasma Storm
32 - Ion Strike
33 - Raging Plasma
34 - Thunderbolt
35 - Plasma Gale
36 - Nightblight
37 - Dark Night
38 - Dark Traitor
39 - Chaos Spell
3A - Nightfear
3B - Nightshade
3C - The Death
3D - The Hanged Man
3E - The Lovers
3F - The Moon
40 - The Fool
41 - The Devil
42 - Warrior's Bane
43 - Knight's Bane
44 - Hunter's Bane
45 - Hermit's Bane
46 - Beast's Bane
47 - Wizard's Bane
48 - Stonebane
49 - Waterbane
4A - Firebane
4B - Treebane
4C - Lightbane
4D - Nightbane  
4E - Health Charm
4F - Soul Charm
50 - Speed Charm
51 - Light Cross
52 - Hale Cross
53 - Divine Cross
54 - Summon Earth
55 - Summon Water
56 - Summon Fire
57 - Summon Wood
58 - Summon Thunder
59 - Summon Night
5A - Stonecall
5B - Aquacall
5C - Infernocall 
5D - Greencall
5E - Thundercall
5F - Nightcall
60 - Power Book (Sidenote: The books do not raise stats when used in the Items slot.)
61 - Tolerance Book
62 - Insight Book
63 - Spiritual Book
64 - Graceful Book
65 - Swift Book
66 - Feng Shui
67 - Water Magic
68 - Fire Magic
69 - Wood Magic
6A - Thunder Magic
6B - Black Magic
6C - Secret: Might
6D - Secret: Rigid
6E - Secret: Awaken
6F - Secret: Reason
70 - Secret: Divine
71 - Secret: Thief
72 - Earthlore
73 - Sealore
74 - Firelore
75 - Forestlore
76 - Stormlore
77 - Darklore
78 - Piros' Diary
79 - BL Yokohama
7A - Book of Ideals
7B - Book of Ideas
7C - Secret: Sage
7D - Secret: Dreams
7E - Golden Grunty
7F - Silver Grunty
80 - Energy Sutras
81 - Spirit Sutras
82-9B - (Blank)
9C - Virus Core A
9D - Virus Core B
9E - Virus Core C 
9F - Virus Core D
A0 - Virus Core E
A1 - Virus Core F
A2 - Virus Core G
A3 - Virus Core H
A4 - Virus Core I  
A5 - Virus Core J
A6 - Virus Core K
A7 - Virus Core L
A8 - Virus Core M
A9 - Virus Core N
AA - Virus Core O
AB - Virus Core P
AC - Virus Core Q
AD - Virus Core R
AE - Virus Core S
AF - Virus Core T
B0 - Virus Core U
B1 - Virus Core V
B2 - Virus Core W
B3 - Virus Core X
B4 - Virus Core Y
B5 - Virus Core Z
B6 - Golden Egg 
B7 - Grunt Mints
B8 - Twilight Onion
B9 - Snaky Cactus
BA - Oh No Melon
BB - Cordyceps
BC - White Cherry
BD - Root Vegetable
BE - La Pumpkin
BF - Mushroom
C0 - Mandragora
C1 - Piney Apple 
C2 - Immature Egg
C3 - Bear Cat Egg
C4 - Invisible Egg
C5 - Bloody Egg
C6 - Epitaph 00
C7 - Epitaph 01
C8 - Epitaph 02
C9 - Epitaph 03
CA - Epitaph 04
CB - Epitaph ?
CC - Harald's Note
CD - Grunty Flute
CE - Imp's Pin
CF - Imp's Praises
D0 - Imp's Cross
D1 - Imp's Crown
D2 - Remedy
D3 - Custom Remedy
D4 - True Remedy 
D5 - First Remedy
D6 - Love Letter
D7 - The Twilight
D8 - Book of Law
D9 - Book of Iron
DA - Spark Blade
DB - Paper cloak
DC - Mad Opener
DD - Basin Shield
DE - Love Archery
DF - Plastic Sword
E0 - Harald's Note 2
E1 - Absolute Book
E2 - Segment 1
E3 - Red Sword
E4 - Blue Boots
E5 - Yellow Cap
E6-117 - Image 01-50 (Desktop Backgrounds)
118-149 - BGM@01-50
14A-1AC - Movie 01-99
1AD-1B4 - Ryu BookI-VIII
1B5 - Marine Spear
1B6 - Demonic Sword
1B7 - Tonosama Sword
1B8 - Moon Knives
1B9 - Segment 2
1BA - Segment 3
1BC - M:Wavemaster
1BD - M:Heavy Axeman
1BE - M:Long Arm
1BF-FFFF - (Blank) or Gibberish





*0D Item Classification*

00 - Fortune Wire
01 - Sprite Ocarina
02 - Fairy's Orb
03 - Nothing
04-1A - "Cannot be used." (Does nothing when used)
1A-FF - (Blank)


*Weapons Classification*
00 - Amateur Blades
01 - Steel Blades
02 - Phantom
Class Data

Code: Select all

Kite's Second Class Change Byte?! - 20A46E64 

(Not only does this allow you to effortlessly use skills of other members, it also gives you their level 

up data! Now unfortunately the problem is that your equipment menu will still believe your Kite and though 

your skills may at first glance look like those of the class changed one, it is only the names imprinted 

on top of your actual skills.

00 - Kite
01 - Mia
02 - Orca
03 - Marlo
04 - Sanjuro
05 - Nuke
06 - Balmung
07 - Moonstone
08 - Piros
09 - Wiseman 
0A - Elk 
0B - Natsume 
0C - Rachel
0D - Gardenia
0E - Terajima Ryoko
0F - BlackRose
10 - Mistral
11 - Helba
12 -
Party Member's Class, Equipment, 

00- Twin Blade
01- Blademaster
02- Heavy Blade
03- Heavy Axeman
04- Long Arm
05- Wavemaster

Kite - 00
Mia - 01
Orca - 02
Marlo - 03
Sanjuro - 04
Nuke - 05 
Balmung - 06
Moonstone - 07
Piros - 08
Wiseman - 09
Elk - 0A
Natsume - 0B
Rachel 0C
Gardenia - 0D
Terajima Ryoko - 0E
BlackRose - 0F
Mistral - 10
Helba - 11


Incorrect File Start - Kite
(1400 1400 1400 1400)*3  (0200)*2 (0000 0000)*6 (DC)*5 (41)*4 (0400)*1 (00 00)*7 (40 78 38 00 20 76 38)*8 

00 06 00 00 00 01 00 05 00 00 00 00 00 9A 02 00 00 00 00 3E 43 00 00 34 42 F0 77 63 00 96 00 19 00 28 00 

28 00 4B 00 4B 00 19 00 19 00 32 00 32 00 00 00 19 00 00 00 00 00 00 00 00 00 36 00 5A 00 5A 00 82 00 73 

00 1D 01 19 00 37 00 32 00 78 00 28 00 41 00 28 00 28 00 28 00 28 00 68 00 F0 00 32 00 5A 00 28 00 D2 00 

00 00 1E 00 00 00 46 00 28 00 28 00 28 00 28 00 28 00 28 00 32 00 96 01
1 - Class - Long Arm - Kite
2 - Weapon
3 - Equipment
4 - Something Crucial! Do Not Change!
5 - Running Speed
6 - Unused?
7 - Unused?
8 - ??????
9



00 00 D0 F9 A3 00 00 76 38 00 07 00 00 00 00 00 (02 00)*1 (6C 02)*2 00 00 23 52 98 00 00 00 20 43 00 00 34 

42 00 00 00 00 51 00 10 00 14 00 12 00 2E 00 2E 00 12 00 12 00 20 00 20 00 02 00 02 00 02 00 02 00 02 00 

02 00 0A 00 0A 00 64 00 3A 00 4C 00 56 00 12 00 3A 00 20 00 48 00 2A 00 2A 00 2A 00 2A 00 2A 00 2A 00 0A 

00 0A 00 50 00 28 00 1E 00 28 00 00 00 28 00 00 00

Level Up Data for the various members?



1- Kite's Level Up Data
2- Kite's Exp



BlackRose's Actual Data?
00 00 00 90 79 38 00 E0 77 38 00 06 00 00 00 0F 00 01 00 B0 01 00 00 E8 03 00 00 00 00 25 43 00 00 0C 42 

30 7D 63 00 46 00 0D 00 11 00 0F 00 20 00 1E 00 0D 00 0D 00 1A 00 1A 00 00 00 00 00 0C 00 00 00 00 00 00 

00 01 00 32 00 2F 00 5F 00 2A 00 0E 01 0D 00 0D 00 1A 00 1A 00 28 00 28 00 34 00 28 00 28 00 28 00 01 00 

D2 00 1E 00 50 00 0A 00 F0 00 00 00 00 00 00 00 00 00 28 00 28 00 28 00 28 00 28 00 28 00 00 00 A0 00 00 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 28 00 28 00 28 

00 55 00 00 00 00 00 DC 41 02

0F - Skill Designation

Kite's Actual Data

00 00 00 D0 F9 A3 00 00 76 38 00 07 00 00 00 00 00 01 00 84 03 00 00 23 52 98 00 00 00 20 43 00 00 34 42 

00 00 00 00 3F 00 0D 00 0F 00 0E 00 21 00 21 00 0E 00 0E 00 1A 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 

00 00 00 00 00 5F 00 36 00 3F 00 49 00 0E 00 36 00 1A 00 42 00 28 00 28 00 28 00 28 00 28 00 28 00 00 00 

00 00 50 00 28 00 1E 00 28 00 00 00 28 00 00 00 28 00 28 00 28 00 28 00 28 00 28 00 28 00 00 00 00 00 00 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 00 14 00 14 00 14 

00 02 00 00 00 00 00 FF 41 04

1 -Graphical data? Any attempt at swapping, changing, or nulling ends with the character failing to load 

when another area is accessed or "File=None" to appear on screen.
2 - Character Identifier
3 - Level 
4 - Exp
5 - Money
6 - Porting in Height? 
7 - Conversation Pointers?
8 - Max HP and SP
9 - Uncertain, but they seem to control 5F 00 and 36 00, increasing their amounts, something to do with 

leveling maybe? Or perhaps regen effects?
A - That which is controlled by 9.
B - Logical Exclusive Or (42) 66.
C - A lot dealing with stats. I'm not exactly certain how stats are calculated yet.


(Classification) Kite
(00 00 00 D0 F9 A3 00 00 76 38 00)*1 07 00 00 00 (00 00)*2 (01 00)*3 (84 03)*4 00 00 (23 52 98 00)*5 00 00 

(20 43)*6 00 00 (34 42)*B (00 00 00 00)*7 (3F 00 0D 00)*8 (0F 00 0E 00)*9 (21 00 21 00) 0E 00 0E 00 1A 00 

1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (5F 00 36)*A 00 3F 00 49 00 0E 00 36 00 1A 00 42 00 

(28 00 28 00 28 00 28 00 28 00 28 00 00 00 00 00 50 00 28 00 1E 00 28 00 00 00 28 00 00 00 28 00 28 00 28 

00 28 00 28 00 28 00 28)*C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

00 00 00 00 00 00 00 00 14 00 14 00 14 00 14 00 02 00 00 00 00 00 FF 41 04



BlackRose
(00 00 00 90 79 38 00 E0 77 38 00) 06 00 00 00 (0F 00)*2 (01 00)*3 (B0 01)*4 00 00 (E8 03 00 00)*5 00 00 

(25 43)*6 00 00 0C 42 (30 7D 63 00)*7 (46 00 0D 00)*8 (11 00 0F 00) (20 00 1E 00) 0D 00 0D 00 1A 00 1A 00 

00 00 00 00 0C 00 00 00 00 00 00 00 01 00 32 00 2F 00 (5F 00 2A)*A 00 0E 01 0D 00 0D 00 (1A 00 1A 00 28 00 

28 00 34 00 28 00 28 00 28 00 01 00 D2 00 1E 00 50 00 0A 00 F0 00 00 00 00 00 00 00 00 00 28 00 28 00 28 

00 28 00 28 00 28 00 00 00 A0)*C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

00 00 00 00 00 00 28 00 28 00 28 00 28 00 55 00 00 00 00 00 DC 41 02
---------------------------------------------------------------------------------------------------------

Creating Custom Monsters!

Phew, it's been a long time without an update, but I hit a bit of a standstill, events are very... hefty and draining, especially when you're dealing with dozens of camera commands which take up most of the event... so I put that on hiatus for a while.


I've searched, and searched, and searched for models, but every little lead was a dead end. So I turned my attention to finding Monster Data, the official last piece until a mod could be worked on... and failed for the longest time! Despite the many searches and leads I seem to have found, nothing came of it.

Then while browsing through the SLUS data, I noticed something called EnemyTbl, I literally slapped myself in the head when I went there and it turned out to be the vaunted Monster Data I had been searching for so long. As I suspected enemies work very much like PC's in terms of battle data, without equipment, of course. But I discovered a few other things which I was very glad to come across. Namely the amount of hits it would take to get a Protect Break and the Data Drain Items. I expected the Virus Cores to be hardcoded into the game, that "this Type yields This Virus Core!" But I was pleasantly surprised to see that wasn't the case. Each monster just has a Virus Core as their first attainable Data Drain Item, so you could even make enemies that don't have a chance to drop Virus Cores, or choose to remove Virus Cores entirely. Of course that would be a lot of data searching to accomplish that.

Here's the info. I managed to find on the Monster Data.

Code: Select all

Monster Data
Bytes 0-3     - Name Pointer
Bytes 4-7     - ???
Bytes 8-11    - NPC Type Designation
Bytes 12-13   - Enemy Designation
Bytes 14-15   - Level
Bytes 16-23   - ???
Bytes 24-27   - Height of Life Bar
Bytes 28-33   - ???
Bytes 34-35   - HP
Bytes 36-37   - SP
Bytes 38-39   - Attack
Bytes 40-41   - Defense
Bytes 42-43   - Accuracy
Bytes 44-45   - Evade
Bytes 46-47   - M. Attack
Bytes 48-49   - M. Defense
Bytes 50-51   - M. Accuracy
Bytes 52-53   - M. Evade
Bytes 54-55   - Earth Element
Bytes 56-57   - Water Element
Bytes 58-59   - Fire Element
Bytes 60-61   - Wood Element
Bytes 62-63   - Light Element
Bytes 64-65   - Dark Element
Bytes 66-81   - ???
Bytes 82-85   - Data Drain Item 1
Bytes 86-89   - Data Drain Item 2
Bytes 90-93   - Data Drain Item 3
Bytes 94-117  - ???
Bytes 118-121 - Protect Break Hit Requirement?
Bytes 122-161 - ???
Bytes 162-165 - Monster Type Designation?
Bytes 166-169 - ???
Bytes 170-205 - Monster Behaviors
Bytes 206-331 - ???
Bytes 332-335 - Enemy Skill 1
Bytes 336-339 - Enemy Skill 2
Bytes 340-448 - ???
Also as theorized the Phases are right after the normal monsters, but they seem to run on a completely different specialization, unfortunately due to this you can't load a Phase into a normal enemy, as far as I can tell.

Phase Data is also, surprisingly enough, or unsurprisingly, much smaller than the normal monster files, they only have their basic stats and pointers in there. There are surprisingly 48 Phase enemies in all which may, or may not include Cubia, I couldn't quite tell. The majority of Phase dealings are in Phase specific files, so altering them beyond their basic stats is pretty much out of the question.


If it's not already known, all the Phases are officially level 100, which is likely why Skeith hurts so much, I've learned that there is a slight damage increase and slight damage decrease when fighting monsters higher level than you, this isn't really noticeable unless you're fighting one of the Phases though, nothing else has that high of levels on you.

Here are a couple of pictures to demonstrate monster control...


http://imageshack.us/photo/my-images/81 ... aindro.jpg
http://img812.imageshack.us/img812/2242 ... aindro.jpg

Uploaded with ImageShack.us

http://imageshack.us/photo/my-images/41 ... gainis.jpg
http://img41.imageshack.us/img41/3082/l ... gainis.jpg

So I was recently going through the code of .hack//Infection for a larger modding project I have planned. I really wanted to change how many monster types could be loaded in a field or a dungeon to give some more variety (by default its set to three!) After a bit of data scrounging I found where the values were being written, where they were being written from, and how to change them. It turned out it was a single byte.

I always had thought that the .hack// games were lacking some real model capacity behind the scenes, but it turns out that is far from the case. It was a choice, not a limitation, to set monster types to three for each field/dungeon floor. I've been playing around with it a bit, but you can really see a difference if you change this 03 to 18 (24 monster types). Fields suddenly become alive with a rich array of foes, instead of just three kinds. This also has the effect of making things more difficult as well, as high level monster types you weren't expecting could show up and surprise you.

If you are using PCSX2 it is as simple as going to 0042E8B4 - and changing 03 to any number you want up to 18.

If you want to make the change to an ISO it's at 014648B4.

I hope someone finds it useful as a way to give their next //Infection playthrough a bit greater variety.
Xu Yuan, in your exploration of the .hack//Infection game's data, you mentioned that each character has a stat table where the last byte determines their class. Could you elaborate on how changing Kite's class affects his gameplay mechanics, such as weapon and armor usage, and if there are any limitations or unexpected behaviors resulting from these changes?
Xu Yuan
Posts: 1207
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Adding more Monster Variety!)

Post by Xu Yuan »

Xu Yuan, in your exploration of the .hack//Infection game's data, you mentioned that each character has a stat table where the last byte determines their class. Could you elaborate on how changing Kite's class affects his gameplay mechanics, such as weapon and armor usage, and if there are any limitations or unexpected behaviors resulting from these changes?
Thank you for your interest MikeAndreas!

The game automatically allocates the weapon depending on class. For instance, if you have an Amateur Blades equipped as a Twin Blade and you change your class to Heavy Blade, you will have the Adventurer equipped (but the game does not take into account its graphic until the area reloads), nor will it take into account the new skills of that weapon because it was changed after initialization of a character where the only intended equip should be by switching it, so it will still have the previous skills attached, even when you switch weapons in your new class. It's not that big of a deal as you can change Kite's data before his stats are initialized easy enough.

However, Kite's voice is programmed only to say the weapon skills of Twin Blades, so changing the weapon will cause him to say the wrong name and the animations for the skills will correspond as well as they can, but a Twin Blade model is still a Twin Blade, so they will use their expected animations, rather than the animations of their new class. (He does transition perfectly to a Wavemaster without any hiccups).

Armors have no issues, if Kite is a Heavy Blade, Blademaster, Heavy Axeman he can equip heavy armor and there are no problems.

It does create a very different feeling game in a number of ways. Especially without Level up modifications as well, you're playing a Twin Blade that can equip another classes' weapons.
Post Reply