unlock/re-enable things if config option
is turned off while they're locked/disabled
This commit is contained in:
parent
c1b2009c87
commit
9c09ae4b2e
|
@ -210,7 +210,7 @@ this.processNPCs = function(cell)
|
||||||
|
|
||||||
log(common.logLevels.small, "[PROC] Looking for NPCs to process in cell:%s", cell.id)
|
log(common.logLevels.small, "[PROC] Looking for NPCs to process in cell:%s", cell.id)
|
||||||
|
|
||||||
if badWeather and not night then
|
if config.disableNPCs and badWeather and not night then
|
||||||
log(common.logLevels.large, "[PROC] !!Bad weather and not night!!")
|
log(common.logLevels.large, "[PROC] !!Bad weather and not night!!")
|
||||||
-- bad weather during the day, so disable some NPCs
|
-- bad weather during the day, so disable some NPCs
|
||||||
for npc in cell:iterateReferences(tes3.objectType.npc) do
|
for npc in cell:iterateReferences(tes3.objectType.npc) do
|
||||||
|
@ -226,7 +226,7 @@ this.processNPCs = function(cell)
|
||||||
if not common.isEmptyTable(common.runtimeData.NPCs.movedBadWeather[cell.id]) then putNPCsBack(common.runtimeData.NPCs.movedBadWeather[cell.id]) end
|
if not common.isEmptyTable(common.runtimeData.NPCs.movedBadWeather[cell.id]) then putNPCsBack(common.runtimeData.NPCs.movedBadWeather[cell.id]) end
|
||||||
if not common.isEmptyTable(common.runtimeData.NPCs.disabledBadWeather[cell.id]) then reEnableNPCs(common.runtimeData.NPCs.disabledBadWeather[cell.id]) end
|
if not common.isEmptyTable(common.runtimeData.NPCs.disabledBadWeather[cell.id]) then reEnableNPCs(common.runtimeData.NPCs.disabledBadWeather[cell.id]) end
|
||||||
end
|
end
|
||||||
elseif night then
|
elseif config.disableNPCs and night then
|
||||||
log(common.logLevels.large, "[PROC] !!Good or bad weather and night!!")
|
log(common.logLevels.large, "[PROC] !!Good or bad weather and night!!")
|
||||||
-- at night, weather doesn't matter, disable everyone
|
-- at night, weather doesn't matter, disable everyone
|
||||||
for npc in cell:iterateReferences(tes3.objectType.npc) do
|
for npc in cell:iterateReferences(tes3.objectType.npc) do
|
||||||
|
@ -244,12 +244,10 @@ this.processNPCs = function(cell)
|
||||||
end
|
end
|
||||||
|
|
||||||
this.processSiltStriders = function(cell)
|
this.processSiltStriders = function(cell)
|
||||||
if not config.disableNPCs then return end
|
|
||||||
|
|
||||||
log(common.logLevels.small, "[PROC] Looking for silt striders to process in cell:%s", cell.id)
|
log(common.logLevels.small, "[PROC] Looking for silt striders to process in cell:%s", cell.id)
|
||||||
for activator in cell:iterateReferences(tes3.objectType.activator) do
|
for activator in cell:iterateReferences(tes3.objectType.activator) do
|
||||||
if checks.isSiltStrider(activator) then
|
if checks.isSiltStrider(activator) then
|
||||||
if checks.isNight() or (checks.isInclementWeather() and not config.keepBadWeatherNPCs) then
|
if config.disableNPCs and (checks.isNight() or (checks.isInclementWeather() and not config.keepBadWeatherNPCs)) then
|
||||||
if not activator.disabled then
|
if not activator.disabled then
|
||||||
log(common.logLevels.medium, "[PROC] Disabling silt strider %s!", activator.object.name)
|
log(common.logLevels.medium, "[PROC] Disabling silt strider %s!", activator.object.name)
|
||||||
mwscript.disable({reference = activator})
|
mwscript.disable({reference = activator})
|
||||||
|
@ -271,7 +269,6 @@ end
|
||||||
|
|
||||||
-- deal with trader's guars, and other npc linked creatures/whatever
|
-- deal with trader's guars, and other npc linked creatures/whatever
|
||||||
this.processPets = function(cell)
|
this.processPets = function(cell)
|
||||||
if not config.disableNPCs then return end
|
|
||||||
local night = checks.isNight()
|
local night = checks.isNight()
|
||||||
local badWeather = checks.isInclementWeather()
|
local badWeather = checks.isInclementWeather()
|
||||||
|
|
||||||
|
@ -280,7 +277,8 @@ this.processPets = function(cell)
|
||||||
for creature in cell:iterateReferences(tes3.objectType.creature) do
|
for creature in cell:iterateReferences(tes3.objectType.creature) do
|
||||||
local isPet, linkedToTravel = checks.isNPCPet(creature)
|
local isPet, linkedToTravel = checks.isNPCPet(creature)
|
||||||
if isPet then
|
if isPet then
|
||||||
if night or (badWeather and (not linkedToTravel or (linkedToTravel and not config.keepBadWeatherNPCs))) then
|
-- this is becoming too much lol
|
||||||
|
if config.disableNPCs and (night or (badWeather and (not linkedToTravel or (linkedToTravel and not config.keepBadWeatherNPCs)))) then
|
||||||
-- disable
|
-- disable
|
||||||
if not creature.disabled then
|
if not creature.disabled then
|
||||||
log(common.logLevels.medium, "[PROC] Disabling NPC Pet %s!", creature.object.id)
|
log(common.logLevels.medium, "[PROC] Disabling NPC Pet %s!", creature.object.id)
|
||||||
|
@ -298,7 +296,6 @@ this.processPets = function(cell)
|
||||||
end
|
end
|
||||||
|
|
||||||
this.processDoors = function(cell)
|
this.processDoors = function(cell)
|
||||||
if not config.lockDoors then return end
|
|
||||||
local night = checks.isNight()
|
local night = checks.isNight()
|
||||||
|
|
||||||
log(common.logLevels.small, "[PROC] Looking for doors to process in cell:%s", cell.id)
|
log(common.logLevels.small, "[PROC] Looking for doors to process in cell:%s", cell.id)
|
||||||
|
@ -315,7 +312,7 @@ this.processDoors = function(cell)
|
||||||
log(common.logLevels.large, "[PROC] Found %slocked %s with destination %s",
|
log(common.logLevels.large, "[PROC] Found %slocked %s with destination %s",
|
||||||
door.data.NPCsGoHome.alreadyLocked and "" or "un", door.id, door.destination.cell.id)
|
door.data.NPCsGoHome.alreadyLocked and "" or "un", door.id, door.destination.cell.id)
|
||||||
|
|
||||||
if night then
|
if config.lockDoors and night then
|
||||||
if not door.data.NPCsGoHome.alreadyLocked then
|
if not door.data.NPCsGoHome.alreadyLocked then
|
||||||
log(common.logLevels.medium, "[PROC] Locking: %s to %s", door.object.name, door.destination.cell.id)
|
log(common.logLevels.medium, "[PROC] Locking: %s to %s", door.object.name, door.destination.cell.id)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue