Does the chest traps working for you?
Also, does the unique keys that were supposed to be added to bandit "chest guard" NPCs working for you?
They are added by script, but in Frans 5.0 there is an ini file where you can increase the odds. I incresed the odds substantially, but don't remember encountering any NPCs with keys to chests. And I remember that maybe one or two chests were ever trapped during many visits in dungeons.
That's the script:
Spoiler
begin OnReset
set Done to 0
set Trapped to 0
set NeedsKey to 0
end
begin OnLoad
if Done == 0
set Done to 1
set LType to GetLockLevel
set Rand to GetRandomPercent
if Rand <= (5 + FranLoot.ChestKey)
set Difficulty to (25 + (GetRandomPercent * 0.75))
set NeedsKey to 1
set Trapped to Difficulty / 33
set ModStat to Difficulty/4
set Reward to Difficulty/15
set KeyKeeper to PlaceAtMe FranLL00NPCNecro, 1
KeyKeeper.AddItem FranKeyNecro, 1
KeyKeeper.AddScriptPackage aaaDefaultExploreCurrentLoc3000
KeyKeeper.ModAv Health Difficulty
KeyKeeper.ModAv Luck ModStat
KeyKeeper.ModAv Strength ModStat
KeyKeeper.ModAv Agility ModStat
KeyKeeper.ModAv Willpower ModStat
AddItem FranLLG0DungRandKeyMage, Reward
set Difficulty to (Difficulty - LType)
Lock Difficulty
elseif FranLoot.RandomizeLocks == 1
if GetLocked == 0 && Rand == 6 + FranLoot.ChestKey
Lock 75
elseif GetLocked == 0 && Rand < 9 + FranLoot.ChestKey
Lock 35
elseif GetLocked == 0 && Rand < 12 + FranLoot.ChestKey
Lock 18
elseif GetLocked == 0 && Rand < 16 + FranLoot.ChestKey
Lock 6
elseif GetLocked == 1 && Rand < 15 + FranLoot.ChestKey
Unlock
elseif GetLocked && GetLockLevel <= 80 && Rand > 75
set Rand to GetRandomPercent
set LockEasy to (18 - LType)
set LockAverage to (35 - LType)
set LockHard to (75 - LType)
set LockVeryHard to (95 - LType)
if LType <= 7 && Rand <= 75
Lock LockEasy
additem FranLLG2DungRandChestLev05, 1
additem FranLLG0DungRandTreasure, 1
elseif (LType <= 7 && Rand < 95) || (LType <= 20 && Rand <= 75)
Lock LockAverage
additem FranLLG2DungRandChestLev07, 1
additem FranLLG0DungRandTreasure, 1
elseif (LType <= 7) || (LType <= 20 && Rand < 95) || (LType <= 40 && Rand <= 75)
Lock LockHard
additem FranLLG2DungRandChestLev10, 1
additem FranLLG0DungRandTreasure, 1
elseif (LType <= 20) || (LType <= 40 && Rand > 75) || (LType > 40)
Lock LockVeryHard
additem FranLLG2DungRandChestLev15, 1
additem FranLLG0DungRandTreasure, 1
endif
endif
endif
if GetLocked && NeedsKey == 0 && GetRandomPercent <= (2 + FranLoot.ChestTrap)
set LType to GetLockLevel
set Trapped to LType / 33
endif
if FranLoot.ChestMArms == 1
additem FranSCL5LootArmorAll08, 1
additem FranSCL5LootWeaponAll08, 1
endif
if FranLoot.ChestMGems == 1
additem FranSCL0LootMoreGems15, 1
endif
if FranLoot.ChestMGold == 1 && GetRandomPercent >= 50
additem LL1LootGold100, 1
endif
endif
end
Begin OnActivate
set Actor To GetActionRef
if NeedsKey == 1 && Actor.GetItemCount FranKeyNecro >= 1
set NeedsKey to 0
set Trapped to 0
Actor.RemoveItem FranKeyNecro, 1
Unlock
Activate
elseif Trapped > 0
set LType to GetLockLevel
if Done == 1 && Actor == Player && Actor.GetAv Security > ((GetRandomPercent + LType) /2)
message "Something looks out of place in this chest.. it may be trapped!"
set Done to 2
elseif Done == 2 && Actor == Player && Actor.GetAv Security > ((GetRandomPercent + LType) /1.75)
message "You managed to disarm the trap, the chest can now be safely opened!"
set Done to 3
set Trapped to 0
else
set Rand to GetRandomPercent
if Trapped <= 1 && Rand < 50
cast StandardFrostDamageTarget3Journeyman Actor
cast StandardDrainFatigue3Journeyman Actor
elseif Trapped <= 1
cast StandardFireDamageTarget3Journeyman Actor
cast StandardDrainFatigue3Journeyman Actor
elseif Trapped <= 2 && Rand < 50
cast StandardShockDamageTarget4Expert Actor
cast FranDungTrapDFatigue4 Actor
elseif Trapped <= 2
cast StandardFrostDamageTarget4Expert Actor
cast FranDungTrapDFatigue4 Actor
elseif Trapped <= 3 && Rand < 50
cast StandardShockDamageTarget5Master Actor
cast FranDungTrapDFatigue5 Actor
elseif Trapped <= 3
cast StandardFireDamageTarget5Master Actor
cast FranDungTrapDFatigue5 Actor
endif
set Trapped to 0
if Done == 2 && Actor == Player
message "You failed to disarm the trap!"
elseif Actor == Player
message "The chest was trapped!"
elseif Actor != Player
Unlock
Activate
RemoveAllItems Actor
endif
endif
elseif Actor != Player
Unlock
Activate
RemoveAllItems Actor
else
Activate
endif
end