Jump to content

Joster exploit


Recommended Posts

From frabjous' post at the end of the thread over in the Bioware forums:

 

I once discovered that if you simply never talk to the thief who collects your quota (and I mean never, not even a first time), you never have to pay it. I may have encountered some bug, however.

 

I'd suggest we add something to his script to initiate dialogue when he sees the PC.

Link to comment

I was actually testing the thief stronghold this morning, and there are a number of bugs. It totally sucks too (only two actual missions, and once you get your thieves to do a successful run with the most difficult assignments, they'll always be successful as long as you don't mess with their assignments again).

 

Even if you talk to Joster, you simply have to tell him that you won't pay now, and you'll be free from ever paying your dues. The block for failure in Baldur.bcs should use !Global("JosterLeave","GLOBAL",1) instead of Global("JosterLeave","GLOBAL",2).

 

In AR0322, the "Your thieves have returned" string will run an additional time when you enter (it's really funky if you're already in the guild when it first fires). Ar0322.bcs shouldn't run SetGlobal("NotifyThiefHead","GLOBAL",0) when setting up the thieves' return.

 

Even if you lose the guild, you're still able to get Jariel to assign the thieves tasks and hand over the profits. His dialogue needs to be re-weighted to 1 -> 199 -> 0 -> 143 -> 144 (or just add Global("PGFailed","GLOBAL",0) checks to 1, 143, and 144).

Link to comment

Paladin love:

 

If you try to attack the squatters in Imnesvale, any of the static actors that are nearby will also turn hostile. The squatters should use GenSht01 instead of Shout.

 

If you get the fake Hurgis and kill him, after returning to Reirrac and reporting success, Tyrianna will stick around if you haven't killed Firkraag and retrieved Carsomyr yet. She needs to also DestroySelf() if Global("PaladinPlot","GLOBAL",60).

 

When challenging Firkraag, the special paladin journal entry doesn't get added when you return to Ar1202 after it's dead. The variable scope is "AR1200" but should be "AR1202."

Link to comment

Nice work. :) For the thieves guild fixes, .d code:

 

// not paying thieves guild quota fix; see also ar0322.bcs, baldur.bcs, joster.bcs, shthlt01.dlg
ADD_STATE_TRIGGER SHTHLT01 1 ~Global("PGFailed","GLOBAL",0)~ 143 144

 

tp2 junk:

 

// multiple stringheads for thieves return fix; not paying thieves guild quota fix; see also baldur.bcs, joster.bcs, shthlt01.dlg
COPY_EXISTING ~ar0322.bcs~ ~override~
 DECOMPILE_BCS_TO_BAF
REPLACE_TEXTUALLY ~SetGlobal("NotifyThiefHead","GLOBAL",0)~ ~~
REPLACE_TEXTUALLY ~CreateCreature("SHTH05",\[691\.292\],2)~
  ~SetGlobal("CDJoster","AR0322",1) CreateCreature("SHTH05",[691.292],2)~
 COMPILE_BAF_TO_BCS
 BUT_ONLY_IF_IT_CHANGES

// not paying thieves guild quota fix; see also ar0322.bcs, joster.bcs, shthlt01.dlg
COPY_EXISTING ~baldur.bcs~ ~override~
 DECOMPILE_BCS_TO_BAF
REPLACE_TEXTUALLY ~\bGlobal("JosterLeave","GLOBAL",2)~ ~!Global("JosterLeave","GLOBAL",1)~
 COMPILE_BAF_TO_BCS
 BUT_ONLY_IF_IT_CHANGES

// not paying thieves guild quota fix; see also ar0322.bcs, baldur.bcs, shthlt01.dlg
EXTEND_BOTTOM ~joster.bcs~ ~bg2fixpack/baf/joster.baf~

 

joster.baf:

 

IF
 Global("CDJoster","AR0522",1)
 See(Player1)
THEN
 RESPONSE #100
SetGlobal("CDJoster","AR0522",0)
StartDialogueNoSet(Player1)
END

Link to comment

Fixes for paladiny goodness:

 

// attacking squatters in paladin-baron quest causes normal townspeople to turn hostile
COPY_EXISTING ~plfarm04.cre~ ~override~
		  ~plfarm05.cre~ ~override~
		  ~plfarm06.cre~ ~override~
 WRITE_ASCII 0x248 ~gensht01~ // override script
 BUT_ONLY_IF_IT_CHANGES

// tyrianna should disappear after conclusion of her quest
EXTEND_BOTTOM ~plgirl01.bcs~ ~bg2fixpack/baf/plgirl01.baf~

// paladin-firkraag journal entry not being set due to bad variable scope
COPY_EXISTING ~ar1202.bcs~ ~override~
 DECOMPILE_BCS_TO_BAF
REPLACE_TEXTUALLY ~"AR1200"~ ~"AR1202"~
 COMPILE_BAF_TO_BCS
 BUT_ONLY_IF_IT_CHANGES

 

Running a very simple var scope check against area scripts also yields...

 

// can still rest in lathander temple after stripped due to var scope issue
COPY_EXISTING ~ar0901.bcs~ ~override~
 DECOMPILE_BCS_TO_BAF
REPLACE_TEXTUALLY ~"AR0902"~ ~"AR0901"~
 COMPILE_BAF_TO_BCS
 BUT_ONLY_IF_IT_CHANGES

 

I'm not terribly familiar with Bodh's chapter 3 stuff; is the stuff below an issue? It's a spawn of Palern and a group of thieves in ar0327.

 

// palern & thieves spawn using bad var scope
COPY_EXISTING ~ar0327.bcs~ ~override~
 DECOMPILE_BCS_TO_BAF
REPLACE_TEXTUALLY ~"AR0328"~ ~"AR0327"~
 COMPILE_BAF_TO_BCS
 BUT_ONLY_IF_IT_CHANGES

Link to comment

Neither of those last two exist in my install. I did extend your code to check trigger point, container, and door scripts (also can't use LOCALS), which returned: AR1306.ARE uses KPFORGE.BCS, which is using a variable with scope AR1302.

 

The forge is accessible in the fighter stronghold, and it should be using GLOBAL variables (so the feedback doesn't change if you've done flail stuff before taking control of the keep).

Link to comment

Palern's block in ar0327.bcs is a non-issue and has been dropped (the same block is in ar0328.bcs and works fine). FoA forge fixed:

 

// flail of ages forge should still work after acquiring stronghold; wasn't due to bad variable scope
COPY_EXISTING ~kpforge.bcs~ ~override~
 DECOMPILE_BCS_TO_BAF
REPLACE_TEXTUALLY ~,"AR1302",~ ~,"GLOBAL",~
 COMPILE_BAF_TO_BCS
 BUT_ONLY_IF_IT_CHANGES

 

Added for v4.

Link to comment

Archived

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

×
×
  • Create New...