Question for Frans 5.0 users

Post » Tue Jan 19, 2016 2:49 pm

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



User avatar
LuCY sCoTT
 
Posts: 3410
Joined: Sun Feb 04, 2007 8:29 am

Return to IV - Oblivion