Jump to content
Sign in to follow this  
CamDawg

Class fixes

Recommended Posts

Expanded Oversight's class fixes with devSin's; also rolled in a few other files which were getting patched elsewhere.

 

// class fixes
COPY_EXISTING ~BOUNHA.CRE~   ~override~
             ~CLCOTI01.CRE~ ~override~
             ~EYESEK01.CRE~ ~override~
             ~FAMDUS25.CRE~ ~override~
             ~famquas.cre~  ~override~
             ~HLSKULL.CRE~  ~override~
             ~HSPECTR3.CRE~ ~override~
             ~ICYUAN03.CRE~ ~override~
             ~ICYUAN05.CRE~ ~override~
             ~KOBWIT01.CRE~ ~override~
             ~KPSHAM01.CRE~ ~override~
             ~PBHUNT03.CRE~ ~override~
             ~RAKSHA01.CRE~ ~override~
             ~SAHIMP04.CRE~ ~override~
             ~SAHIMP05.CRE~ ~override~
             ~SUENDEL3.CRE~ ~override~
             ~SUENDEL4.CRE~ ~override~
             ~SURAKSHA.CRE~ ~override~
             ~TANWIZ1.CRE~  ~override~
             ~TRRAK01.CRE~  ~override~
             ~TRRAK02.CRE~  ~override~
             ~TRRAK04.CRE~  ~override~
 WRITE_BYTE 0x0273 1 // mage
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~anno1.cre~    ~override~
             ~BELMIN.CRE~   ~override~
             ~BODFGT01.CRE~ ~override~
             ~BODFGT02.CRE~ ~override~
             ~CHALCY01.CRE~ ~override~
             ~civil03.cre~  ~override~
             ~copcust3.cre~ ~override~
             ~counsec.cre~  ~override~
             ~crolus.cre~   ~override~
             ~delnob01.cre~ ~override~
             ~DKHALID.CRE~  ~override~
             ~DKHALID2.CRE~ ~override~
             ~dpim.cre~     ~override~
             ~fulady.cre~   ~override~
             ~hacton.cre~   ~override~
             ~haquat.cre~   ~override~
             ~hobcap01.cre~ ~override~
             ~HSPECTR2.CRE~ ~override~
             ~hurgisf.cre~  ~override~
             ~ICGOB03.CRE~  ~override~
             ~ICGOB04.CRE~  ~override~
             ~ICYUAN01.CRE~ ~override~
             ~ICYUAN02.CRE~ ~override~
             ~ICYUAN04.CRE~ ~override~
             ~kobcap01.cre~ ~override~
             ~korpim.cre~   ~override~
             ~kplend01.cre~ ~override~
             ~kplend02.cre~ ~override~
             ~kprang02.cre~ ~override~
             ~KPSOLD10.CRE~ ~override~
             ~KPYUAN01.CRE~ ~override~
             ~llarsh.cre~   ~override~
             ~mourner3.cre~ ~override~
             ~noblem1.cre~  ~override~
             ~noblem2.cre~  ~override~
             ~PBHUNT01.CRE~ ~override~
             ~pehllus.cre~  ~override~
             ~plass02.cre~  ~override~
             ~pplove.cre~   ~override~
             ~quint.cre~    ~override~
             ~SAHBEH03.CRE~ ~override~
             ~sethle.cre~   ~override~
             ~STATUE01.CRE~ ~override~
             ~STATUE02.CRE~ ~override~
             ~STATUE03.CRE~ ~override~
             ~STATUE04.CRE~ ~override~
             ~STATUE05.CRE~ ~override~
             ~STATUE06.CRE~ ~override~
             ~SWORD01.CRE~  ~override~
             ~SWORD02.CRE~  ~override~
             ~SWORD03.CRE~  ~override~
             ~VAKG04.CRE~   ~override~
             ~victown1.cre~ ~override~
             ~victown2.cre~ ~override~
             ~victown3.cre~ ~override~
             ~wcust04.cre~  ~override~
 WRITE_BYTE 0x0273 2 // fighter
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~DRELLE.CRE~   ~override~
             ~DRELLE2.CRE~  ~override~
             ~HSPECTR1.CRE~ ~override~
             ~KOBSHA01.CRE~ ~override~
             ~KORCRAZY.CRE~ ~override~
             ~NALLA.CRE~    ~override~
             ~PBHUNT04.CRE~ ~override~
             ~RIFTG03.CRE~  ~override~
             ~SUELLE.CRE~   ~override~
             ~SUELLE2.CRE~  ~override~
             ~SUELLEAP.CRE~ ~override~
             ~SWSHAMAN.CRE~ ~override~
 WRITE_BYTE 0x0273 3 // cleric
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~AELOTUS.CRE~  ~override~
             ~BHAAL01.CRE~  ~override~
             ~BREGG.CRE~    ~override~
             ~GORSTA07.CRE~ ~override~
             ~JAHEI1.CRE~   ~override~
             ~JAREV1.CRE~   ~override~
             ~PBHUNT02.CRE~ ~override~
             ~STOLETHF.CRE~ ~override~
             ~VVRYOKOI.CRE~ ~override~
 WRITE_BYTE 0x0273 4 // thief
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~EYEVIG01.CRE~ ~override~
             ~HEARTG1.CRE~ ~override~
             ~HEARTG2.CRE~ ~override~
             ~SAHIMP06.CRE~ ~override~
 WRITE_BYTE 0x0273 6 // paladin
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~AMFAHEED.CRE~ ~override~
 WRITE_BYTE 0x0273 7 // fighter-mage
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~SARBHA01.CRE~ ~override~
 WRITE_BYTE 0x0273 9 // fighter-thief
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~EYESNT01.CRE~ ~override~
 WRITE_BYTE 0x0273 11 // druid
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~BEAST.CRE~ ~override~
             ~C6DRIZZ.CRE~ ~override~
             ~C6DRIZZ2.CRE~ ~override~
             ~C6DRIZZ3.CRE~ ~override~
             ~SAHIMP07.CRE~ ~override~
 WRITE_BYTE 0x0273 12 // ranger
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~FAMCAT25.CRE~ ~override~
             ~PTAGGET.CRE~ ~override~
 WRITE_BYTE 0x0273 13 // mage-thief
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~DEVAEVIL.CRE~ ~override~
             ~DEVAGOOD.CRE~ ~override~
             ~EYEDED01.CRE~ ~override~
             ~PLANGOOD.CRE~ ~override~
             ~PLANEVIL.CRE~ ~override~
             ~PLANWISH.CRE~ ~override~
             ~SAHIMP03.CRE~ ~override~
 WRITE_BYTE 0x0273 14 // cleric-mage
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~CUTBALTH.CRE~ ~override~
             ~SENMONK.CRE~ ~override~
             ~TOBPAR03.CRE~ ~override~
 WRITE_BYTE 0x0273 20 //monk
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~EYEGOR01.CRE~ ~override~
 WRITE_BYTE 0x0273 102 // basilisk
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~NDOG.CRE~ ~override~
 WRITE_BYTE 0x0273 109 // dog_wild
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~FSGOBL.CRE~ ~override~
 WRITE_BYTE 0x0273 122 // kobold
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~PPGUARD2.CRE~ ~override~
 WRITE_BYTE 0x0273 124 // kobold_xvart
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~GORSTA12.CRE~ ~override~
 WRITE_BYTE 0x0273 125 // ogre
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~CEGLUT.CRE~ ~override~
 WRITE_BYTE 0x0273 128 // ogre_ogrillon
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~HAMASU.CRE~ ~override~
             ~RSPIRIT1.CRE~ ~override~
 WRITE_BYTE 0x0273 131 // fairy_dryad
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~KSLAVE01.CRE~ ~override~
 WRITE_BYTE 0x0273 133 // fairy_nymph
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~AMWYVERN.CRE~ ~override~
             ~NWYVBAB.CRE~  ~override~
             ~PLYWYVRN.CRE~ ~override~
             ~WYVBAB01.CRE~ ~override~
             ~WYVERN01.CRE~ ~override~
             ~WYVGRE01.CRE~ ~override~
 WRITE_BYTE 0x0273 149 // wyvern
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~GORJELF2.CRE~ ~override~
             ~GORJELFU.CRE~ ~override~
 WRITE_BYTE 0x0273 150 // olive slime
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~JELGRA01.CRE~ ~override~
             ~JELLGR.CRE~   ~override~
             ~PUDDEN01.CRE~ ~override~
             ~PUDDEN02.CRE~ ~override~
 WRITE_BYTE 0x0273 153 // grey_ooze
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~GORJELGR.CRE~ ~override~
             ~JELGRE01.CRE~ ~override~
             ~JELLYGR.CRE~  ~override~
 WRITE_BYTE 0x0273 154 // green_slime
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~MADAM.CRE~    ~override~
             ~SUENDEL5.CRE~ ~override~
             ~SUENDEL6.CRE~ ~override~
             ~TIANA.CRE~    ~override~
             ~WELLYN.CRE~   ~override~
 WRITE_BYTE 0x0273 155 // innocent
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~AEWERE1.CRE~  ~override~
             ~AEWERE2.CRE~  ~override~
             ~AEWERE3.CRE~  ~override~
             ~AEWERE4.CRE~  ~override~
             ~AEWERE5.CRE~  ~override~
             ~AEWERE6.CRE~  ~override~
             ~C6WERE1.CRE~  ~override~
             ~FIRWLF01.CRE~ ~override~
             ~FIRWLF02.CRE~ ~override~
             ~RNGWLF01.CRE~ ~override~
             ~RNGWLF02.CRE~ ~override~
             ~RNGWLF03.CRE~ ~override~
             ~RNGWLF04.CRE~ ~override~
             ~RNGWLF05.CRE~ ~override~
             ~WOLFWE01.CRE~ ~override~
 WRITE_BYTE 0x0273 158 // wolfwere
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~FINSOL04.CRE~ ~override~
             ~RIFTCR04.CRE~ ~override~
             ~YOCHLO01.CRE~ ~override~
 WRITE_BYTE 0x0273 160 // tanari
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~GORMIND.CRE~  ~override~
             ~MINDUL01.CRE~ ~override~
 WRITE_BYTE 0x0273 162 // mindflayer
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~OTYUGH01.CRE~ ~override~
 WRITE_BYTE 0x0273 165 // otyugh
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~kptrol01.cre~ ~override~
             ~kptrol02.cre~ ~override~
             ~kptrol03.cre~ ~override~
             ~kptrol04.cre~ ~override~
             ~kptrol05.cre~ ~override~
             ~kptrol06.cre~ ~override~
             ~trolde01.cre~ ~override~
             ~trolde02.cre~ ~override~
             ~trolfr01.cre~ ~override~
             ~trolfr02.cre~ ~override~
             ~trolgi01.cre~ ~override~
             ~trolgi02.cre~ ~override~
             ~trolic01.cre~ ~override~
             ~trolic02.cre~ ~override~
             ~trolic03.cre~ ~override~
             ~trolic04.cre~ ~override~
             ~troll01.cre~  ~override~
             ~troll02.cre~  ~override~
             ~troll03.cre~  ~override~
             ~trollens.cre~ ~override~
             ~trollsm2.cre~ ~override~
             ~trolsi01.cre~ ~override~
             ~trolsi02.cre~ ~override~
             ~trolsn01.cre~ ~override~
             ~trolsn02.cre~ ~override~
             ~trolsp01.cre~ ~override~
             ~trolsp02.cre~ ~override~
             ~troluo01.cre~ ~override~
 WRITE_BYTE 0x0273 167 // troll
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~SAHCAPT0.CRE~ ~override~
             ~SAHANGU.CRE~  ~override~
 WRITE_BYTE 0x0273 169 // sahuain
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~DRSHSP01.CRE~ ~override~
             ~ELEARB01.CRE~ ~override~
             ~ELEARB02.CRE~ ~override~
             ~ELEARB03.CRE~ ~override~
             ~ELEARB04.CRE~ ~override~
             ~ELEARB05.CRE~ ~override~
             ~ELEARB06.CRE~ ~override~
             ~ELEARB07.CRE~ ~override~
             ~ELEARB08.CRE~ ~override~
             ~ELEARB09.CRE~ ~override~
             ~ELEARB10.CRE~ ~override~
             ~ELEARB11.CRE~ ~override~
             ~ELEPUZ01.CRE~ ~override~
             ~ELEPUZ02.CRE~ ~override~
             ~ELEPUZ03.CRE~ ~override~
             ~ELEPUZ04.CRE~ ~override~
             ~SENSTALK.CRE~ ~override~
             ~STALKE.CRE~   ~override~
 WRITE_BYTE 0x0273 171 // spectre
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~BANSHE01.CRE~ ~override~
             ~FIRMON01.CRE~ ~override~
 WRITE_BYTE 0x0273 172 // wraith
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~HAKSU.CRE~    ~override~
             ~NISHRUSU.CRE~ ~override~
 WRITE_BYTE 0x0273 174 // mist
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~COPLION.CRE~  ~override~
             ~JAGUARSU.CRE~ ~override~
             ~NCAT.CRE~     ~override~
             ~SLCAT.CRE~    ~override~
 WRITE_BYTE 0x0273 175 // cat
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~PETTIN.CRE~ ~override~
 WRITE_BYTE 0x0273 180 // giant
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~KCHILD1.CRE~ ~override~
             ~KCHILD2.CRE~ ~override~
 WRITE_BYTE 0x0273 181 // orc
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~ELEMCHAN.CRE~ ~override~
             ~ELWATG01.CRE~ ~override~
 WRITE_BYTE 0x0273 186 // elemental_air
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~PLYSALA.CRE~ ~override~
 WRITE_BYTE 0x0273 187 // elemental_fire
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~CENTEO01.CRE~ ~override~
 WRITE_BYTE 0x0273 189 // spider_centeol
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~HDRAGRED.CRE~ ~override~
 WRITE_BYTE 0x0273 190 // red_dragon
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~SHADRA01.CRE~ ~override~
 WRITE_BYTE 0x0273 191 // shadow_dragon
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~HDRAGSIL.CRE~ ~override~
 WRITE_BYTE 0x0273 192 // silver_dragon
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~SAHZOMB.CRE~  ~override~
             ~ZOMBIE01.CRE~ ~override~
             ~ZOMBSE01.CRE~ ~override~
 WRITE_BYTE 0x0273 198 // zombie_normal
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~CHICKDEF.CRE~ ~override~
             ~CHICKE.CRE~   ~override~
             ~CHICKER.CRE~  ~override~
             ~COW.CRE~      ~override~
             ~DEADCOW1.CRE~ ~override~
             ~DEADCOW2.CRE~ ~override~
             ~GEMCH01.CRE~  ~override~
             ~GEMCH02.CRE~  ~override~
             ~NCHICK.CRE~   ~override~
             ~NCOW.CRE~     ~override~
             ~RABBIT01.CRE~ ~override~
 WRITE_BYTE 0x0273 199 // food_creature
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~EYEEGL01.CRE~ ~override~
             ~SPIRLION.CRE~ ~override~
             ~TRANIM03.CRE~ ~override~
 WRITE_BYTE 0x0273 200 // hunter_creature
BUT_ONLY_IF_IT_CHANGES

// class fixes
COPY_EXISTING ~DAABOL.CRE~  ~override~
             ~MEPHSP1.CRE~ ~override~
             ~MEPHSP2.CRE~ ~override~
             ~MEPHSP3.CRE~ ~override~
             ~MEPHSP4.CRE~ ~override~
             ~RIFTM01.CRE~ ~override~
             ~RIFTM02.CRE~ ~override~
 WRITE_BYTE 0x0273 255 // no_class
BUT_ONLY_IF_IT_CHANGES

Share this post


Link to post

Be very careful, as some of these require script updates. Check thoroughly the hobgoblins and kobolds, as their scripts want certain values. Also, some of these are really lame (some creatures are only ever used in cutscenes, or other single-shot sequences; or aren't even used at all). I didn't have time to think about who was what and where, so I just updated freakiness when I came across it.

 

Somebody should go through and evaluate these individually where a change might conflict with something else or simply not match. Two notes:

COPY_EXISTING ~PPGUARD2.CRE~ ~override~
 WRITE_BYTE 0x0273 124 // kobold_xvart
BUT_ONLY_IF_IT_CHANGES

COPY_EXISTING ~CEGLUT.CRE~ ~override~
 WRITE_BYTE 0x0273 128 // ogre_ogrillon
BUT_ONLY_IF_IT_CHANGES

For the first, one of these is actually a xvart in the default game, but it's the wrong one (it has bow/arrows, but xvarts don't have sequences for that). So I ended up changing it around so the melee-only kobold is a xvart and changed the ranged xvart to a kobold. Make sure ppguard2 is the default xvart. Glut was a tough one: Cernd talks to it like it's some sort of sentient creature, but Deril refers to it as more of a construct (in certain dialogue paths the player may or may not be able to explore). So I figured the middle-ground was an ogrillon (natural enough to be a "good man" for Cernd, but not quite so natural as to freak out on "I can build another"). Anyway, it's not a fix. It requires updating the creature colors and the relevant cutscene.

 

Before Cam chides: Yes, the scripts are updated in my fix pack, so there's no issue from me about non-matching GRCs. These are just parts of the fix pack with some obscure dependency issues.

Share this post


Link to post

I always figured Glut was some sort of Golem. They can have some intelligence, but are subservient to the master's orders.

Share this post


Link to post
I always figured Glut was some sort of Golem.  They can have some intelligence, but are subservient to the master's orders.

Yes, I think so too.

Share this post


Link to post

That still doesn't explain why Cernd treats it like a real person. Even a flesh golem (which would use the clay golem avatar in-game, anyway), no matter how intelligent, is still a construct, and I think that Cernd, master of all things natural, flexible like bamboo, would know the difference. As much as I hate Cernd, this one sequence just adds to the pain.

 

Anyway, I'm not suggesting BioWare intended Glut to be something other than what it is; I make changes to better suit my own preconceptions (or misconceptions, as you prefer), and alter things that bother me during gameplay. So I went on the prowl for a frumpy humanoid... and came back with the ogrillon.

Share this post


Link to post

Well, really flesh golems should be using the ogrillon avatar anyway. You can recolour the avatar it to make it look naked (one of my many areas of expertise).

Share this post


Link to post

It can't be a standard flesh golem, since it is intelligent. It's clearly a construct of some kind, but we don't know what Deril plans to make another one out of.

Share this post


Link to post

The class fixes are included in alpha 4, but I'm keeping this here until we can track down the necessary script changes.

Share this post


Link to post
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...