Jump to content

Cheats/Loopholes/Exploits


Recommended Posts

In Brynnlaw, you must do the Lady Galvena Quest by having the chef knock the guards unconcious with the potion. Then go and kill Gelvena and her "pet mage." Free Claire and tell her you will escort her to the docks. Go back to Lady' Galvena's fest hall and speak with the chef who knocked out the guards. Everyone should receive 2250 quest exp. Speak to her again and she will give everyone 2250 quest exp. This is incredibly cheap but if you are "that close" to gaining some levels and are in the area do this.

 

Bug.

 

After coming to the island of Brynnlaw, I went to meet Desharik. He was supposed to give me some help for passage to the Asylum. After talking to him, he offered to take me there, and this gave me a lot of exp (38,500 per character). Then the game saves automatically and loads the next map. This auto ave is after getting the experience. So all you have to do is reload the autosave and talk to him again (for passage to the Asylum) and you'll get the same experience AGAIN.

 

Bug.

 

During the unseeing eye quest, you have the choice to kill that unseeing eye straight out or use the complete rod for an easy fight. Personally, I think the unseeing eye is an easy fight with or without the complete rod. Besides, the first choice gives you unlimited exp if you're quick. After you have the half rod from the lost avatar, you can go straight to Gall, the cult leader. Have one of your man stand right next to Gall. Pause immediately right after the dialog and Gall should still appear friendly. Talk to him again and you get another 75,000 exp. You can do this as many time as you want. My best try is 14 times.

 

Remember to put Minsc away, because he starts to attack Gall after Gall no matter what (He killed Gall while he's still friendly...). Also remember to talk to the man beside the pit before you do this or else you won't be able to enter the pit for the other half rod.

 

Bug.

 

This is a tactic only available to parties that are already high-level, but it's a good way to top up to the experience limit. Get your mages and clerics to memorize as many fiend summoning spells as they can (Summon Fiend, Summon Cacofiend and Gate), and prepare Haste & Protection from Evil 10' Radius as well. Find a comfortably isolated and safe place (e.g. a dungeon you have cleared - I used the Planar Sphere), cast Haste and Protect. vs Evil 10' Radius, then either one by one or two at a time cast your fiend summonings Since they're considered your enemies you can kill the fiends and earn experience, but with Protection from Evil they won't fight back. Once you've exhausted all your fiend summons and killed them, rest your party and start the process over. With a fast mouse hand this all goes pretty fast. Just remember not to summon them all at once or they'll attack each other, and your party will get caught in the crossfire.

 

Not bug.

 

In the Asylum Dungeon 1, you can gain quite a lot of experience.

 

When you have acquired the crystal shard and the withered vampire-hand and click on the blue circle beneath the giant head, every partymember gains 22,500 xp (if I remember correctly).

 

It is possible, if you are quick enough, to click the blue circle more then once and to gain 22,500 xp for every party-member for every time you click on the circle.

 

You have to be quite fast to do so as you have to confirm the game-message which states that the way is now open to reach the next level before you can click the circle again.

 

Bug.

 

As a Mage, summon your Familiar right at the start of the game. Before going through the portal to the second level of Irenicus' Prison put him in your inventory. You must leave him in here until after the fight between Irenicus and the cowled mages.

 

Once you get the 34,500 experience for everyone in your party, release the Familiar. For me, every time I have done it, he is still in prison on the second level, walk him out of the prison and you will get the fight again after which you will get the 34,500 experience again. Although this isn't much, at the start it can mean another level up.

 

Bug.

 

There is a fast and easy method to earn a TON of experience. In the Underdark there are 3 elemental portals. Now, depending on the equipment you have, you can choose any one of these portals for this method. I chose the Air Elemental portal and equipped the Staff of Air that could kill them in a single hit if they failed to save. I killed the first elemental and another spawned, I surrounded that one and pounded away. In a matter of minutes I killed around 30 air elementals at 7,000xp each. This may not seem like a whole lot each time, but I was barely taking any hits from these guys. Well worth the effort to level any characters that are near a level up. I even left the room for a while and continued having my party whack away.

 

I don't think that one is a bug, but some people may disagree.

 

The Avatar of Rillifane is very generous if you know how to deal with him. It's very easy to get a whole bunch of Staves of the Woodlands if you immediately pause after your feedback screen says "party has gained an item" and then talk to him again. I assume this principle works in alot of situations in the game. But the kicker is that you can get literally as much experience as you want, as well as any number of staves, simply by emulating an old vending machine trick (the one where you tie a string to your quarter and keep pulling it out).

 

If you've played through this part before, you know that Rillifane appears right after you put the three symbols on his altar. But the experience award (68,000 or so per character) is given before he appears. What happens is that there is a tiny window of time between the awarding of that experience and the point when the items disappear from the altar. You can exploit this by placing the items on the altar, thereby triggering the Avatar, then pulling them off before they can disappear. Even though the Avatar goes through his whole speech and the game goes to a movie sequence, if you still have the cup, talisman, and moonblade when the game returns to normal, you can start the process all over again, as many times as you want.

 

Getting the items back before they disappear is kind of difficult though. Here is the best way to do it:

 

1. Put all three items in the inventory of one character (mine had the speed boots, but I'm not sure if that makes any difference).

 

2. Have that character click on the altar, bringing up the inventory exchange screen.

 

3. Pause the game, then transfer the three items to the altar.

 

4. Without unpausing, click on the altar again. This will instruct the character to access the altar almost immediately after you unpause in step 5.

 

5. Unpause then pause again very very quickly, as if you were double-clicking a mouse button. This will bring up what looks to be the same inventory transfer screen, only it is a fraction of a second later and the Avatar should have been triggered.

 

6. Transfer the items back into your pack. If you have been too slow in double-clicking the pause button, one or two of the items may have disappeared, as they go away one at a time. If this happens, reload. There is a slight chance that you can be too fast, though I think this has more to do with the in-game round timing. If this happens, the Avatar doesn't get triggered, so just try again.

 

7. Unpause the game a final time and wait for the Avatar to do his thing. Then repeat, ad infinitum.

 

Admittedly this strategy occurs rather late in the game, but if you need one of your guys to reach the next spell level before facing Irenicus, this is the way to go. Otherwise, I'll bet this sort of thing would work elsewhere in the game.

 

Bug.

 

If you go into the tanner's home in the Bridge District, and instead of just talking to him, fight him (like force-click sword on him), then talk to him again, everyone will get 22,500 experience practically forever! For me, this trick ran out far after I had stopped thinking about xp, like two or three levels gained by everybody.

 

Bug.

 

When the Unseeing Eye is dead, venture back to the avatar of Amauntor. When you approach the temple, a Diseased one will initiate dialog, and force you into the temple. Here you will (if in a nice mode) ask him to speak the name so that avatar can summon the strength to break the rod.

 

This sequence is in two pieces...

 

First, the diseased one speaks and you click "end dialog".

Second, the Avatar speak you get the Saving Grace +3 shield and experience.

 

 

This is what an experience-hungry and shield-needing player does:

 

Pause after the Diseased one has spoken and initiate dialog again with him again. This will bring forth a number of Avatars who will all give the Saving Grace shield, as well as experience.

 

However.. if you're too slow on the space bar, the diseased one will disappear.

 

Bug.

Link to comment
There is a fast and easy method to earn a TON of experience. In the Underdark there are 3 elemental portals. Now, depending on the equipment you have, you can choose any one of these portals for this method. I chose the Air Elemental portal and equipped the Staff of Air that could kill them in a single hit if they failed to save. I killed the first elemental and another spawned, I surrounded that one and pounded away. In a matter of minutes I killed around 30 air elementals at 7,000xp each. This may not seem like a whole lot each time, but I was barely taking any hits from these guys. Well worth the effort to level any characters that are near a level up. I even left the room for a while and continued having my party whack away.

 

I don't think that one is a bug, but some people may disagree.

Less of a bug as it currently stands that any "fix" would make it. As it is, if you kill about ten elementals at each portal they stop spawning in. Truly unlimited elementals would mean truly unlimited XP--and elementals who aren't worth XP would just suck.

Link to comment
In Brynnlaw, you must do the Lady Galvena Quest by having the chef knock the guards unconcious with the potion. Then go and kill Gelvena and her "pet mage." Free Claire and tell her you will escort her to the docks. Go back to Lady' Galvena's fest hall and speak with the chef who knocked out the guards. Everyone should receive 2250 quest exp. Speak to her again and she will give everyone 2250 quest exp. This is incredibly cheap but if you are "that close" to gaining some levels and are in the area do this.

Already fixed.

 

After coming to the island of Brynnlaw, I went to meet Desharik. He was supposed to give me some help for passage to the Asylum. After talking to him, he offered to take me there, and this gave me a lot of exp (38,500 per character). Then the game saves automatically and loads the next map. This auto ave is after getting the experience. So all you have to do is reload the autosave and talk to him again (for passage to the Asylum) and you'll get the same experience AGAIN.

 

Easily fixed; moved the experience to the cutscene triggered in the same dialogue action block as the experience gains. .d:

 

REPLACE_ACTION_TEXT ~ppdesh~ ~AddXPObject(Player[1-6],38500)~ ~~

 

tp2:

 

COPY_EXISTING ~cut41f.bcs~ ~override~
 DECOMPILE_BCS_TO_BAF
 REPLACE_TEXTUALLY ~SetGlobal("EnteredArea1500","GLOBAL",1)~
~SetGlobal("EnteredArea1500","GLOBAL",1)
AddXPObject(Player1,38500)
AddXPObject(Player2,38500)
AddXPObject(Player3,38500)
AddXPObject(Player4,38500)
AddXPObject(Player5,38500)
AddXPObject(Player6,38500)~
COMPILE_BAF_TO_BCS
BUT_ONLY_IF_IT_CHANGES

 

During the unseeing eye quest, you have the choice to kill that unseeing eye straight out or use the complete rod for an easy fight. Personally, I think the unseeing eye is an easy fight with or without the complete rod. Besides, the first choice gives you unlimited exp if you're quick. After you have the half rod from the lost avatar, you can go straight to Gall, the cult leader. Have one of your man stand right next to Gall. Pause immediately right after the dialog and Gall should still appear friendly. Talk to him again and you get another 75,000 exp. You can do this as many time as you want. My best try is 14 times.

 

Remember to put Minsc away, because he starts to attack Gall after Gall no matter what (He killed Gall while he's still friendly...). Also remember to talk to the man beside the pit before you do this or else you won't be able to enter the pit for the other half rod.

Already fixed; Gaal takes the rod part so you can not trigger the XP farm option again.

 

This is a tactic only available to parties that are already high-level, but it's a good way to top up to the experience limit. Get your mages and clerics to memorize as many fiend summoning spells as they can (Summon Fiend, Summon Cacofiend and Gate), and prepare Haste & Protection from Evil 10' Radius as well. Find a comfortably isolated and safe place (e.g. a dungeon you have cleared - I used the Planar Sphere), cast Haste and Protect. vs Evil 10' Radius, then either one by one or two at a time cast your fiend summonings Since they're considered your enemies you can kill the fiends and earn experience, but with Protection from Evil they won't fight back. Once you've exhausted all your fiend summons and killed them, rest your party and start the process over. With a fast mouse hand this all goes pretty fast. Just remember not to summon them all at once or they'll attack each other, and your party will get caught in the crossfire.

Cheese, but agreed, not a bug.

 

In the Asylum Dungeon 1, you can gain quite a lot of experience.

 

When you have acquired the crystal shard and the withered vampire-hand and click on the blue circle beneath the giant head, every partymember gains 22,500 xp (if I remember correctly).

 

It is possible, if you are quick enough, to click the blue circle more then once and to gain 22,500 xp for every party-member for every time you click on the circle.

 

You have to be quite fast to do so as you have to confirm the game-message which states that the way is now open to reach the next level before you can click the circle again.

 

Already fixed.

 

As a Mage, summon your Familiar right at the start of the game. Before going through the portal to the second level of Irenicus' Prison put him in your inventory. You must leave him in here until after the fight between Irenicus and the cowled mages.

 

Once you get the 34,500 experience for everyone in your party, release the Familiar. For me, every time I have done it, he is still in prison on the second level, walk him out of the prison and you will get the fight again after which you will get the 34,500 experience again. Although this isn't much, at the start it can mean another level up.

 

The CI exit is actually a transition point with a script; the script is what actually sends you to the Promenade. The transition has no destination point set. Fixed by adding a run-once variable to the script that triggers near the CI exit.

 

COPY_EXISTING ~tele0700.bcs~ ~override~
 DECOMPILE_BCS_TO_BAF
 REPLACE_TEXTUALLY ~Range(LastTrigger,25)~
 ~Range(LastTrigger,25) Global("CDEscape","AR0603",0)~
 REPLACE_TEXTUALLY ~StartCutSceneMode()~
 ~SetGlobal("CDEscape","AR0603",1) StartCutSceneMode()~
 COMPILE_BAF_TO_BCS
 BUT_ONLY_IF_IT_CHANGES

 

If a familiar appears in CI after the variable is set, we extend the area script:

 

IF
 Global("CDEscape","AR0603",1)
 OR(8)
   InMyArea("famcat")
   InMyArea("famdust")
   InMyArea("famfair")
   InMyArea("famfer")
   InMyArea("famimp")
   InMyArea("fampsd")
   InMyArea("famquas")
   InMyArea("famrab")
THEN
 RESPONSE #100
   ActionOverride("famcat",MoveBetweenAreas("AR0700",[2753.868],4))
   ActionOverride("famdust",MoveBetweenAreas("AR0700",[2753.868],4))
   ActionOverride("famfair",MoveBetweenAreas("AR0700",[2753.868],4))
   ActionOverride("famfer",MoveBetweenAreas("AR0700",[2753.868],4))
   ActionOverride("famimp",MoveBetweenAreas("AR0700",[2753.868],4))
   ActionOverride("fampsd",MoveBetweenAreas("AR0700",[2753.868],4))
   ActionOverride("famquas",MoveBetweenAreas("AR0700",[2753.868],4))
   ActionOverride("famrab",MoveBetweenAreas("AR0700",[2753.868],4))
END

 

There is a fast and easy method to earn a TON of experience. In the Underdark there are 3 elemental portals. Now, depending on the equipment you have, you can choose any one of these portals for this method. I chose the Air Elemental portal and equipped the Staff of Air that could kill them in a single hit if they failed to save. I killed the first elemental and another spawned, I surrounded that one and pounded away. In a matter of minutes I killed around 30 air elementals at 7,000xp each. This may not seem like a whole lot each time, but I was barely taking any hits from these guys. Well worth the effort to level any characters that are near a level up. I even left the room for a while and continued having my party whack away.

 

I agree with Kish. I'd rather set a a max limit in spawns or start making the time between spawns longer and longer so that returns diminish.

 

The Avatar of Rillifane is very generous if you know how to deal with him. It's very easy to get a whole bunch of Staves of the Woodlands if you immediately pause after your feedback screen says "party has gained an item" and then talk to him again. I assume this principle works in alot of situations in the game. But the kicker is that you can get literally as much experience as you want, as well as any number of staves, simply by emulating an old vending machine trick (the one where you tie a string to your quarter and keep pulling it out).

 

Not as far as I can tell. The dialogue has a SetInterrupt(FALSE) before it starts handing out items and XP, and goes all the way to DestroySelf() without releasing it.

 

If you've played through this part before, you know that Rillifane appears right after you put the three symbols on his altar. But the experience award (68,000 or so per character) is given before he appears. What happens is that there is a tiny window of time between the awarding of that experience and the point when the items disappear from the altar. You can exploit this by placing the items on the altar, thereby triggering the Avatar, then pulling them off before they can disappear. Even though the Avatar goes through his whole speech and the game goes to a movie sequence, if you still have the cup, talisman, and moonblade when the game returns to normal, you can start the process all over again, as many times as you want.

 

Getting the items back before they disappear is kind of difficult though. Here is the best way to do it:

 

1. Put all three items in the inventory of one character (mine had the speed boots, but I'm not sure if that makes any difference).

 

2. Have that character click on the altar, bringing up the inventory exchange screen.

 

3. Pause the game, then transfer the three items to the altar.

 

4. Without unpausing, click on the altar again. This will instruct the character to access the altar almost immediately after you unpause in step 5.

 

5. Unpause then pause again very very quickly, as if you were double-clicking a mouse button. This will bring up what looks to be the same inventory transfer screen, only it is a fraction of a second later and the Avatar should have been triggered.

 

6. Transfer the items back into your pack. If you have been too slow in double-clicking the pause button, one or two of the items may have disappeared, as they go away one at a time. If this happens, reload. There is a slight chance that you can be too fast, though I think this has more to do with the in-game round timing. If this happens, the Avatar doesn't get triggered, so just try again.

 

7. Unpause the game a final time and wait for the Avatar to do his thing. Then repeat, ad infinitum.

 

Admittedly this strategy occurs rather late in the game, but if you need one of your guys to reach the next spell level before facing Irenicus, this is the way to go. Otherwise, I'll bet this sort of thing would work elsewhere in the game.

 

Fixed with another no-repeat variable:

 

COPY_EXISTING ~sustatue.bcs~ ~override~
 DECOMPILE_BCS_TO_BAF 
 REPLACE_TEXTUALLY ~Contains("MISCB3",Myself)~
 ~Contains("MISCB3",Myself) Global("CDNoRepeat","AR2803",0)~
 REPLACE_TEXTUALLY ~TriggerActivation("Tran2800",FALSE)~
 ~SetGlobal("CDNoRepeat","AR2803",0) TriggerActivation("Tran2800",FALSE)~
 COMPILE_BAF_TO_BCS
 BUT_ONLY_IF_IT_CHANGES

To eliminate logical inconsistency, the the avatar will now take and destroy the items in dialogue just to be sure. .d code:

 

ADD_TRANS_ACTION SUAVATAR
BEGIN 0 END
BEGIN 0 END
~TakePartyItemAll("miscb1")
TakePartyItemAll("miscb2")
TakePartyItemAll("miscb3")
DestroyItem("miscb1")
DestroyItem("miscb2")
DestroyItem("miscb3")~

 

 

If you go into the tanner's home in the Bridge District, and instead of just talking to him, fight him (like force-click sword on him), then talk to him again, everyone will get 22,500 experience practically forever! For me, this trick ran out far after I had stopped thinking about xp, like two or three levels gained by everybody.

 

Solved with more dialogue coding:

 

REPLACE_ACTION_TEXT ~tanner~ ~AddexperienceParty(23250)~ ~SetInterrupt(FALSE) AddexperienceParty(23250)~
REPLACE_ACTION_TEXT ~tanner~ ~EscapeAreaMove("AR0502",307,444,0)~ ~EscapeAreaMove("AR0502",307,444,0) SetInterrupt(TRUE)~

 

When the Unseeing Eye is dead, venture back to the avatar of Amauntor. When you approach the temple, a Diseased one will initiate dialog, and force you into the temple. Here you will (if in a nice mode) ask him to speak the name so that avatar can summon the strength to break the rod.

 

This sequence is in two pieces...

 

First, the diseased one speaks and you click "end dialog".

Second, the Avatar speak you get the Saving Grace +3 shield and experience.

 

 

This is what an experience-hungry and shield-needing player does:

 

Pause after the Diseased one has spoken and initiate dialog again with him again. This will bring forth a number of Avatars who will all give the Saving Grace shield, as well as experience.

 

However.. if you're too slow on the space bar, the diseased one will disappear.

 

Solved with more dialogue code.

 

ADD_TRANS_ACTION RIFTM01
BEGIN 32 END
BEGIN END
~SetGlobal("CDNoRepeat","AR0203",1)~

ADD_STATE_TRIGGER ~RIFTM01~ 32 ~!Global("CDNoRepeat","AR0203",0)~

Link to comment
The CI exit is actually a transition point with a script; the script is what actually sends you to the Promenade. The transition has no destination point set. Fixed by adding a run-once variable to the script that triggers near the CI exit.
Before wasting time with all that, I'd check to make sure this actually occurs (if nobody has done it already).

 

This sounds super-duper-suspiciously like one of the original SoA "familiars don't move with the party (especially when scripted)" bugs, fixed in one of the initial patches. I don't think that providing fixes for a default, original, un-patched installation of SoA is really a goal worth shooting for...

 

REPLACE_ACTION_TEXT ~tanner~ ~AddexperienceParty(23250)~ ~SetInterrupt(FALSE) AddexperienceParty(23250)~
I used to do this, but it turns out that SetInterrupt() wasn't sufficient (he could still be talked to multiple times). A blow to my ego that something I "fixed" didn't actually even work (oh, the shame!). I swear it's never happened before...

 

EDIT: OK, this should remove any and all possibility of talking to Rejiek for multiple XP:

DialogueInterrupt(0)
Shout(1)
SetGlobal("TANNERMOVE","GLOBAL",1)
SetGlobalTimer("TOOLATETANNER","GLOBAL",30)
AddExperienceParty(23250)
Enemy()
SetInterrupt(0)
MoveToPoint([274.276])
EscapeAreaMove("AR0502",307,444,0)

The DialogueInterrupt() keeps the player from talking to him again; the Enemy() just makes double sure (and makes sense, since he is technically hostile after you expose him); the SetInterrupt() just helps to try and keep anything else (like if you start attacking him) from interfering with his hasty departure. It doesn't ever need to be cleared (he'll still appear and make a run for the exit on the next level if you get down there in 30 seconds or less). This is the code I've been using locally (since the initial, faulty attempt to fix this, at least); I just double checked the sequence and it seems to me to work perfectly. Rejoice.

 

I'll let the Patchmaster come up with something requiring only a single REPLACE_TEXTUALLY action; keep in mind that there's about 10,000 similar action blocks in his dialogue that need to updated accordingly. You can take a look at my TANNER patch (inlined in FixPack.d) to see all the action blocks, and if there were any that required modifications (since there's two paths through here (attack or expose), it's probable that I had to give a little sumpin special to each one).

Link to comment
If you go into the tanner's home in the Bridge District, and instead of just talking to him, fight him (like force-click sword on him), then talk to him again, everyone will get 22,500 experience practically forever! For me, this trick ran out far after I had stopped thinking about xp, like two or three levels gained by everybody.

 

Solved with more dialogue coding:

 

REPLACE_ACTION_TEXT ~tanner~ ~AddexperienceParty(23250)~ ~SetInterrupt(FALSE) AddexperienceParty(23250)~
REPLACE_ACTION_TEXT ~tanner~ ~EscapeAreaMove("AR0502",307,444,0)~ ~EscapeAreaMove("AR0502",307,444,0) SetInterrupt(TRUE)~

 

This talks about force fighting. Does this also fix the exploit whereby you force-talk the tanner (without fighting) for experience?

Link to comment
The CI exit is actually a transition point with a script; the script is what actually sends you to the Promenade. The transition has no destination point set. Fixed by adding a run-once variable to the script that triggers near the CI exit.
Before wasting time with all that, I'd check to make sure this actually occurs (if nobody has done it already).

 

This sounds super-duper-suspiciously like one of the original SoA "familiars don't move with the party (especially when scripted)" bugs, fixed in one of the initial patches. I don't think that providing fixes for a default, original, un-patched installation of SoA is really a goal worth shooting for...

Good point, I didn't even think of it. I was unable to replicate this on patched SoA so it's dropped.

 

REPLACE_ACTION_TEXT ~tanner~ ~AddexperienceParty(23250)~ ~SetInterrupt(FALSE) AddexperienceParty(23250)~
I used to do this, but it turns out that SetInterrupt() wasn't sufficient (he could still be talked to multiple times). A blow to my ego that something I "fixed" didn't actually even work (oh, the shame!). I swear it's never happened before...

 

EDIT: OK, this should remove any and all possibility of talking to Rejiek for multiple XP:

DialogueInterrupt(0)
Shout(1)
SetGlobal("TANNERMOVE","GLOBAL",1)
SetGlobalTimer("TOOLATETANNER","GLOBAL",30)
AddExperienceParty(23250)
Enemy()
SetInterrupt(0)
MoveToPoint([274.276])
EscapeAreaMove("AR0502",307,444,0)

The DialogueInterrupt() keeps the player from talking to him again; the Enemy() just makes double sure (and makes sense, since he is technically hostile after you expose him); the SetInterrupt() just helps to try and keep anything else (like if you start attacking him) from interfering with his hasty departure. It doesn't ever need to be cleared (he'll still appear and make a run for the exit on the next level if you get down there in 30 seconds or less). This is the code I've been using locally (since the initial, faulty attempt to fix this, at least); I just double checked the sequence and it seems to me to work perfectly. Rejoice.

 

I'll let the Patchmaster come up with something requiring only a single REPLACE_TEXTUALLY action; keep in mind that there's about 10,000 similar action blocks in his dialogue that need to updated accordingly. You can take a look at my TANNER patch (inlined in FixPack.d) to see all the action blocks, and if there were any that required modifications (since there's two paths through here (attack or expose), it's probable that I had to give a little sumpin special to each one).

Cheers, thanks. Altered to

 

// tanner xp exploit
REPLACE_ACTION_TEXT ~tanner~ ~AddexperienceParty(23250)~ ~DialogueInterrupt(0)~
REPLACE_ACTION_TEXT ~tanner~ ~MoveToPoint(\[274\.276\])~ ~MoveToPoint([274.276]) AddExperienceParty(23250) Enemy() SetInterrupt(0)~

 

Included in alpha 4.

 

This talks about force fighting.  Does this also fix the exploit whereby you force-talk the tanner (without fighting) for experience?

It should, yeah. The only dialogue actions where he gives experience are covered by this patch, both hostile and non-hostile.

Link to comment
It should, yeah. The only dialogue actions where he gives experience are covered by this patch, both hostile and non-hostile.
The problem was that you could expose him, and then attack him (where he'd start his dialogue automatically). I *think* this should be resolved by my Enemy() (he'll only do his Attacked,LOCALS dialogue if he's neutral); if not, I guess just setting the variable manually anyway would work.

 

The "force-talk" issue was actually the one being resolved, not the "force fight" issue (to which the original report referred).

Link to comment
The CI exit is actually a transition point with a script; the script is what actually sends you to the Promenade. The transition has no destination point set. Fixed by adding a run-once variable to the script that triggers near the CI exit.
Before wasting time with all that, I'd check to make sure this actually occurs (if nobody has done it already).

 

This sounds super-duper-suspiciously like one of the original SoA "familiars don't move with the party (especially when scripted)" bugs, fixed in one of the initial patches. I don't think that providing fixes for a default, original, un-patched installation of SoA is really a goal worth shooting for...

Good point, I didn't even think of it. I was unable to replicate this on patched SoA so it's dropped.

 

REPLACE_ACTION_TEXT ~tanner~ ~AddexperienceParty(23250)~ ~SetInterrupt(FALSE) AddexperienceParty(23250)~
I used to do this, but it turns out that SetInterrupt() wasn't sufficient (he could still be talked to multiple times). A blow to my ego that something I "fixed" didn't actually even work (oh, the shame!). I swear it's never happened before...

 

EDIT: OK, this should remove any and all possibility of talking to Rejiek for multiple XP:

DialogueInterrupt(0)
Shout(1)
SetGlobal("TANNERMOVE","GLOBAL",1)
SetGlobalTimer("TOOLATETANNER","GLOBAL",30)
AddExperienceParty(23250)
Enemy()
SetInterrupt(0)
MoveToPoint([274.276])
EscapeAreaMove("AR0502",307,444,0)

The DialogueInterrupt() keeps the player from talking to him again; the Enemy() just makes double sure (and makes sense, since he is technically hostile after you expose him); the SetInterrupt() just helps to try and keep anything else (like if you start attacking him) from interfering with his hasty departure. It doesn't ever need to be cleared (he'll still appear and make a run for the exit on the next level if you get down there in 30 seconds or less). This is the code I've been using locally (since the initial, faulty attempt to fix this, at least); I just double checked the sequence and it seems to me to work perfectly. Rejoice.

 

I'll let the Patchmaster come up with something requiring only a single REPLACE_TEXTUALLY action; keep in mind that there's about 10,000 similar action blocks in his dialogue that need to updated accordingly. You can take a look at my TANNER patch (inlined in FixPack.d) to see all the action blocks, and if there were any that required modifications (since there's two paths through here (attack or expose), it's probable that I had to give a little sumpin special to each one).

Cheers, thanks. Altered to

 

// tanner xp exploit
REPLACE_ACTION_TEXT ~tanner~ ~AddexperienceParty(23250)~ ~DialogueInterrupt(0)~
REPLACE_ACTION_TEXT ~tanner~ ~MoveToPoint(\[274\.276\])~ ~MoveToPoint([274.276]) AddExperienceParty(23250) Enemy() SetInterrupt(0)~

 

Included in alpha 4.

 

This talks about force fighting.  Does this also fix the exploit whereby you force-talk the tanner (without fighting) for experience?

It should, yeah. The only dialogue actions where he gives experience are covered by this patch, both hostile and non-hostile.

 

Ah, OK, I see now. So even if the party surrounds him so he can't MoveToPoint, he can't be spoken to again "...has nothing to say" yes? (this would be the point of DialogueInterrupt(0)) So no more XP after what you're supposed to get.

Link to comment

Archived

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

×
×
  • Create New...