Blocking the gold exploits from bard and fighter stringholds is very easy, because they generate gold in containers. I've made sure that once a certain amount of gold is generated in each of those containers, the process of generating gold will stop.
As for the mage stronghold, I modified Morul's dialogue file in a way that once he gave you his ninth batch of potions, he will teleport away.
Fixing the thief stronghold is the most complicated one among the strongholds. There are at least two dialogue files and two scripts involved in the process. Forcing the player to lose the stronghold at a given time is not a straight forward solution because the player can still go to talk to Renal to re-activate it and it requires a lot of work to disable everything and I don't really have the time and intention to spend so much time reviewing all dialogue options there.
The solution I decided to implement is this:
After a certain number of times you collect money from your stronghold, your thieves (those who go to collect money) will start to die one after another during their missions and won't return. They won't all die together. After the 15th time you collect money, Kretor will die. Next time you collect money another one will die and won't return. Jariel (the guy to whom you talk to collect money) will remain there to talk. Fortunately, in his dialogue file in the vanilla game, the possibility that each of those thieves is dead exists. He will still tell you that it is time to see what your thieves did during missions, but if one of those thieves is dead, he will tell you that he is dead and there is nothing to be done about it. Once all those thieves are dead, the message "Your thieves have returned from their missions" will stop being displayed on your prtagonist's head, but if you actually return to the guild, you will still see Jariel and can talk to him, but since all thieves who worked for you are dead, you won't collect any money.
This is not probably the most elegant way to block the gold exploit from the thief strnghold, but it works effectively and doesn't force me to spend a lot of time for finding another effective method without creating bugs by messing the inter-related dialogue files and scripts. Instead of silently killing those theives in their missions, I could have forced them to be arrested during their missions everytime, but that would have been a bit more complicated, because I would have also had to do something about the option to pay for their freedom.
QUOTE(darkjeshush @ Dec 10 2009, 08:56 AM)
If someone is willing to sit at his/her computer and spam the same motions over and over again, for like 700 game days worth, just to net 500k or so of gold. They have bigger problems, independent of this mod, and beyond help. Blocking this delay-game exploit will not change anything for those people, as they will cheat in some other way and continue lying to themselves on a daily basis.
I completely agree with you, but one of our problems in the past was that some players cheated and then insisted that what they did wasn't a "cheat" because they did something within the game and without using console commands or Shadow Keeper. Blocking gold and xp exploits inside the game will force those cheaters to use more
explicit cheating methods (console command or SK) if they still want to cheat.
As I've said before, the statement "cheaters will cheat anyway", while true, doesn't provide an argument for not fixing bugs and blocking exploits. Here is a quote from IA's FAQ:
QUOTE
Q: But those who intend to cheat will cheat anyway. What's the point of blocking exploits?
A: It's true that cheaters can always find alternate ways to cheat, it's even true for the fixes we apply to the vanilla game's bugs. A cheater can always find ways to undo our bugfixes. but this doesn't provide us with a valid argument against blocking exploits or fixing bugs. Let me give you an example:
If you play the game without IA, Boots of Speed can be exploited in a particular way. The boots bonus to speed could stack with the speed bonus of (Improved) Haste, resulting in a character with quadruple speed. I have fixed this bug in IA even though the statement that "cheaters can cheat anyway" is still true and a cheater who wants to have a character with quadruple speed can still use editors to give the (x4) speed to his character. Nonetheless, the fact that a cheater can cheat this way or the other didn't stop me from fixing the bug. (As a side-note, Improved Anvil is the only mod which fixes Boots of Speed in a perfect and seamless way; all other mods and fixpacks which claim to fix the boots, actually add a critical bug to the item; this includes G3's BG2 fixpack and Baldurdash as well).
The same is true for every bugfix and exploit-fix in the game. Cheaters will always have ways to undo your bugfixes or exploit-fixes and to re-create those bugs and exploits in their games (the easiest method can sometimes be deleting files from the override folder), but this fact doesn't provide any valid argument for not fixing bugs or exploits.
If there are still n ways to cheat xp in the game, it can't be a wrong decision to block one of them and to leave the cheaters with n-1 ways to cheat (unless we can find other and independent reasons against blocking the exploit in a particular case).