Jump to content

Cam's Alpha Testing


CamDawg

Recommended Posts

Trying to squeeze in a game. This is a modded game so some of these may be spurious.

  • Ilyich's Mail of the Dead is identified. I'm sure this is from the import-via-2da funk, but we should be able to work around this via scripting.
  • imoenhp1.itm is displaying a NPP portrait icon. Fixed locally.
  • spcl233b.spl is patching the wrong offsets for power and target; with my local change of setting the power to 0 this caused hard crashes. Fixed.
  • The Plate Mail +1 dropped in the first random encounter is identified.
  • New projectile for beholder lightning (cdbehbla) not being reflected by Shield of Cheese Balduran--projectile reference in new effect should be (cdbehbla - 1). clck24 has same issue. Fixed locally.

Link to comment
Ilyich's Mail of the Dead is identified. I'm sure this is from the import-via-2da funk, but we should be able to work around this via scripting.
I patch the lore value, so my guess is that it originally has none (with no lore, it'll always show up identified).

 

The Plate Mail +1 dropped in the first random encounter is identified.
Same thing. It looks like I set it to 40 (probably to match the other +1 plate).
Link to comment

Since I lost your tp2 I can no longer do this the lazy way and see what you patch. :) A tentative list of items we need to lore-ify:

 

shld17, Buckler +1

bull06, Bullets +4

chan21, Chain Mail +3

dwchan01, Drow Elven Chain +3

dwchan02, Drow Adamantite Chain +5

dwplat01, Drow Full Plate +5

plat23, Full Plate +2

halb03, Halberd +2

halb09, Halberd +4 The Wave

sw1h06, Long Sword +2 (Varscona)

chan03, Mail of the Dead

plat02, Plate Mail +1

leat03, Protector of the Second +2

rods02, Rod of Lordly Might

rods06, Rod of Reversal

slng03, Sling +3

staf07, Staff Spear +2

 

These two don't appear to be used in game.

leat06, Missile Attraction

plat09, Mithril Field Plate Armor +2

Link to comment

Hooray! I so already cover all these:

COPY_EXISTING SHLD17.ITM OVERRIDE
WRITE_SHORT 0x42 0xa

COPY_EXISTING BULL06.ITM OVERRIDE
WRITE_SHORT 0x42 0x23

COPY_EXISTING CHAN21.ITM OVERRIDE
WRITE_SHORT 0x42 0x4b

COPY_EXISTING DWCHAN01.ITM OVERRIDE
WRITE_SHORT 0x42 0x4b

COPY_EXISTING DWPLAT01.ITM OVERRIDE
WRITE_SHORT 0x42 0x4b

COPY_EXISTING PLAT23.ITM OVERRIDE
WRITE_SHORT 0x42 0x4b

COPY_EXISTING HALB03.ITM OVERRIDE
WRITE_SHORT 0x42 0x3c

COPY_EXISTING SW1H06.ITM OVERRIDE
WRITE_SHORT 0x42 0x3c

COPY_EXISTING CHAN03.ITM OVERRIDE
WRITE_SHORT 0x42 0x1e

COPY_EXISTING PLAT02.ITM OVERRIDE
WRITE_SHORT 0x42 0x28

COPY_EXISTING RODS06.ITM OVERRIDE
WRITE_SHORT 0x42 0x55

COPY_EXISTING SLNG03.ITM OVERRIDE
WRITE_SHORT 0x42 0x2d

COPY_EXISTING STAF06.ITM OVERRIDE
STAF07.ITM OVERRIDE
WRITE_SHORT 0x42 0x23

halb09, Halberd +4 The Wave
Cromwell's upgrades should always come in identified.

 

rods02, Rod of Lordly Might
The items it creates spawn in new copies of rods02; if you give it a lore, it will be unidentified every time the player uses it and changes the spear/sword/mace back to the rod.

 

plat09, Mithril Field Plate Armor +2
Yeah, BRUENPLA is the real one.

 

Since I lost your tp2 I can no longer do this the lazy way and see what you patch.
Feel free to browse or download the latest revision. It's not really useful these days for anything other than illustrating that I've gone completely nuts. Nuts, I say!
Link to comment

Cheers, thanks. :)

 

It's so nice that the dogs at the Keep no longer go hostile and I can save Glacias. That being said:

  • Dog meat is pickpocketable.
  • If the umber hulks in the dungeon are dead, you can still get XP for putting dog stew in the container. Suggest we add checks for umber hulk death on the container/XP script (handled in ar1303.bcs) and the string that appears when you walk into the tunnel area (umbpoly.bcs).

Link to comment

Really? I looked here and it's marked "Not stealable" (in the CRE files) by default?

 

My AR1301.bcs looks like:

IF
 Dead("TORGAL")
 Global("DEADTORGALJOURNALENTRY","AR1301",0)
THEN
 RESPONSE #100
   AddJournalEntry(11648,1)
   SetGlobalTimer("ROMANCEBLOCK","GLOBAL",7200)
   SetGlobal("DEADTORGALJOURNALENTRY","AR1301",1)
END

IF
 Contains("MISC7U","FEEDINGCELL")
 Global("UMBERHUNGRY","AR1301",0)
 NumDeadLT("KPUMB01",5)
THEN
 RESPONSE #100
   AddExperienceParty(18750)
   DisplayString("FEEDINGCELL",46805)
   SetGlobal("UMBERHUNGRY","AR1301",1)
END

IF
 Delay(12)
 Contains("MISC7U","FEEDINGCELL") // Dog Stew
 Global("UMBERHUNGRY","AR1301",1)
THEN
 RESPONSE #100
   ActionOverride("FEEDINGCELL",DestroyItem("MISC7U")) // Dog Stew
   ActionOverride("FEEDINGCELL",CreateItem("MISCBD",0,0,0)) // Dog Bones
END

I have no idea what's original and what's my fault, though.

Link to comment

Yeah, missed the flags on the dogs. Nevermind.

 

Wouldn't Ilyich's Mail of the Dead be identified because it belonged to the PC and his/her party at the end of Standard (Non-Totsc) BG1?

If that were true, every probably 50% of the items you find in the opening dungeon should be identified. :)

 

Flagging the transition from the docks to the Harper HQ as unpassable by NPCs means that Rylock now wanders off instead of returning inside.

Link to comment
If that were true, every probably 50% of the items you find in the opening dungeon should be identified.
I think the Sword of Chaos is identified, but I think at least the Helm of Balduran comes in unidentified. I'd wager that most of the import items have lore values, but I'm not against leaving the chain alone if it's deemed the best action.

 

Flagging the transition from the docks to the Harper HQ as unpassable by NPCs means that Rylock now wanders off instead of returning inside.
I remember that one. I actually changed his dialogue to MoveToPoint() / DestroySelf(). I had gone back and reexamined all of the transition flags when I dumped my old patch, but I really needed to preserve this one (the beggars outside will RunAwayFrom(), and can get permanently stuck inside the Harper HQ, and the mercenaries inside (as part of Jaheira's Harper plot) can panic and run outside).

 

The Mae'Var guild changes were mainly to keep stupid Celvan from running into the guild (he'd do it even if the doors were locked and the player couldn't follow).

Link to comment

ssword33 and ssword71 are the same sound file: Lilarcor saying "Throw a coin in that fountain. Hahaha!" They're assigned to strrefs #6442 and #9800, respectively. The text on #9800 is correct; #6442 is actually "We got a gusher". None of the sswordXX sound files contain this phrase so we need to blank the associated sound file.

 

Spear +1 and Arrows +1 in the containers in Valygar's cabin are identified.

Link to comment
rods02, Rod of Lordly Might
The items it creates spawn in new copies of rods02; if you give it a lore, it will be unidentified every time the player uses it and changes the spear/sword/mace back to the rod.

Meh, fixed it anyway. :) Also, leat06 can appear in game as it's one of the importable items from BG. (Honestly, who would import cursed armor?) For items that were in BG, I used those lore values instead of yours.

 

// rods02 requires lore; however it would make it un-id'd every time you switched back to the rod.
// So, clone it with 0 lore and have other items create the clone instead of the original
COPY_EXISTING ~rods02.itm~ ~override/rods02a.itm~ // zero-lore copy
COPY_EXISTING ~rods02.itm~ ~override~ // assign lore to original
 WRITE_SHORT 0x42 70

// change rod-created items to reference clone instead of original
COPY_EXISTING ~rodmace.itm~  ~override~
             ~rodspear.itm~ ~override~
             ~rodsword.itm~ ~override~
 READ_LONG   0x64 "abil_off"
 READ_SHORT  0x68 "abil_num"
 READ_LONG   0x6a "fx_off"
 FOR (index = 0; index < abil_num; index = index + 1) BEGIN // looks through headers
   READ_SHORT ("%abil_off%" + 0x1e + ("%index%" * 0x38)) "abil_fx_num"
   READ_SHORT ("%abil_off%" + 0x20 + ("%index%" * 0x38)) "abil_fx_idx"
   FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN // searches through fx for create item effect
     READ_SHORT ("%fx_off%" +        (("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode"
     READ_ASCII ("%fx_off%" + 0x14 + (("%abil_fx_idx%" + "%index2%") * 0x30)) "item"
     PATCH_IF (("%opcode%" = 122) AND ("%item%" STRING_COMPARE_CASE "rods02" = 0)) BEGIN // create rods02
       WRITE_ASCII ("%fx_off%" + 0x14 + (("%abil_fx_idx%" + "%index2%") * 0x30)) ~rods02a~
     END
   END
 END
 BUT_ONLY_IF_IT_CHANGES

 

If the umber hulks in the dungeon are dead, you can still get XP for putting dog stew in the container. Suggest we add checks for umber hulk death on the container/XP script (handled in ar1303.bcs) and the string that appears when you walk into the tunnel area (umbpoly.bcs).

 

Used devSin's fix for ar1301:

 

// can't lure dead umber hulks; assigned kpumb01 DVs to make this work
COPY_EXISTING ~ar1301.bcs~ ~override~
 DECOMPILE_BCS_TO_BAF
   REPLACE_TEXTUALLY ~Global("UmberHungry","AR1301",0)~ ~Global("UmberHungry","AR1301",0) NumDeadLT("KPUMB01",5)~
 COMPILE_BAF_TO_BCS
 BUT_ONLY_IF_IT_CHANGES

 

Added new string for umbpoly.bcs if the umber hulks are dead. If you enter the tunnel, you get one of these two strings:

 

This cell appears to be where the umberhulks gained entrance to the castle. Several stew pots lie in the tunnel area directly behind the cell, which seems to be their feeding area.  Putting more food in there might draw the umber hulks, it is uncertain.
This cell appears to be where the umberhulks gained entrance to the castle. Several stew pots lie in the tunnel area directly behind the cell, which seems to be their feeding area.

 

This was added to the existing umbpoly.bcs patch.

 

Importable items are a mess. Of the three import lists (armor, weapons, misc) two are all items with zero lore, implying this is intentional. Unfortunately, these items (such as plate +1) appear elsewhere in the game. It's also logically inconsistent--the party certainly possessed items like rings of protection +1, but prior possession doesn't make them not require identification. I'd say all these items need lore values, save the Sword of Chaos. The genie says that it was once yours and barters his release for it.

 

Several items that I thought weren't available in BG2 are, thanks to the import 2das. Claw and Horn of Kalgorath are, but only if you don't have the Helm of Balduran (riiiiight). Varscona and Ashideena are as well, so even Catti Brie should have a generic +2 long sword and we should change the Ashideena in the UE quest to a generic +2 hammer. Thoughts on importables?

 

Flagging the transition from the docks to the Harper HQ as unpassable by NPCs means that Rylock now wanders off instead of returning inside.
I remember that one. I actually changed his dialogue to MoveToPoint() / DestroySelf(). I had gone back and reexamined all of the transition flags when I dumped my old patch, but I really needed to preserve this one (the beggars outside will RunAwayFrom(), and can get permanently stuck inside the Harper HQ, and the mercenaries inside (as part of Jaheira's Harper plot) can panic and run outside).

 

Looks good. Fixed in .d:

 

// rylock's escapearea() class need to use movetopoint so he can go inside
REPLACE_ACTION_TEXT ~rylock~ ~EscapeArea()~ ~MoveToPoint([1367.2956]) DestroySelf()~

 

I may need to adjust those coordinates a bit.

 

ssword33 and ssword71 are the same sound file: Lilarcor saying "Throw a coin in that fountain. Hahaha!" They're assigned to strrefs #6442 and #9800, respectively. The text on #9800 is correct; #6442 is  actually "We got a gusher". None of the sswordXX sound files contain this phrase so we need to blank the associated sound file.

Fixed in GTU.

 

Spear +1 and Arrows +1 in the containers in Valygar's cabin are identified.

 

Also missed some arrows in ar0405.

 

// areas with identified items in containers
COPY_EXISTING ~ar0405.are~ ~override~
             ~ar1101.are~ ~override~
 READ_SHORT 0x76 "item_num"
 READ_LONG  0x78 "item_off"
 FOR (index = 0; index < item_num; index = index + 1) BEGIN
   READ_ASCII ("%item_off%" +        (0x14 * "%index%")) "item"
   READ_BYTE  ("%item_off%" + 0x10 + (0x14 * "%index%")) "flag"
   PATCH_IF (("%item%" STRING_COMPARE_CASE "arow02" = 0) OR
             ("%item%" STRING_COMPARE_CASE "arow08" = 0) OR 
             ("%item%" STRING_COMPARE_CASE "sper02" = 0)) BEGIN
     WRITE_BYTE  ("%item_off%" + 0x10 + (0x14 * "%index%")) ("%flag%" BAND 0b11111110)
   END
 END
 BUT_ONLY_IF_IT_CHANGES

Link to comment

Unfinished Business and Fixpack conflict in the docks soldier restoration. There are two docsol02 in ar0332; Fixpack changes one of them to docsol03 and UB changes the other, resulting in two docsol03s instead of one of each. :) I'll modify Fixpack to change the same guard to avoid collision in the short term.

Link to comment
Several items that I thought weren't available in BG2 are, thanks to the import 2das. Claw and Horn of Kalgorath are, but only if you don't have the Helm of Balduran (riiiiight). Varscona and Ashideena are as well, so even Catti Brie should have a generic +2 long sword and we should change the Ashideena in the UE quest to a generic +2 hammer. Thoughts on importables?
I don't think Malaaq does the import swap (he always gives the Sword of Chaos)? Only 01 and 03 need to be looked at. I'm in favor of leaving Koveras' ring with no lore, and fixing up the rest.
Link to comment
I don't think Malaaq does the import swap (he always gives the Sword of Chaos)? Only 01 and 03 need to be looked at. I'm in favor of leaving Koveras' ring with no lore, and fixing up the rest.

 

Correct, although it seems clear that it was meant, since Malaaq starts in 0602 and is moved out; It would be trivial to put in the IMPORT02 code line. But perhaps they put in the Sword of Chaos because it's the only way to have it for Sarevok in ToB; although that's, frankly, a silly thing to bother with.

 

I would love to have Varscona at that point in Irenicus' dungeon, personally :-) dual wield with a +1 longsword, and go to town on that silly Vampire on the second level. Although, if that is done, the identified description for the +2 mace, BLUN11, would need to be retreived from BG1. In fact, having most of that list seems nice.

 

Oh, and Kiel's Helmet/Kiel's Morningstar was a nice combo, since the helm prevents the berserk. It only we could get the +3 plate and his buckler again legitimately :-)

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...