Professional Documents
Culture Documents
ZombieFear Lua
ZombieFear Lua
ZombieFear Lua
local checkAgainAt = 0
local function checkPlayer(player)
local now = getTimestampMs()
if now > checkAgainAt then
checkAgainAt = now + 1000
local zeds = math.max(
player:getStats():getNumVisibleZombies(),
player:getStats():getNumChasingZombies()
)
local moodle = MF.getMoodle(moodleName)
moodle:setThresholds(0.25, 0.5, 0.75, 0.99, 2, 3, 4, 5)
local md = player:getModData()
if not player:isAsleep() and zeds > 0 then
local intensity = effectStrength(player)
if player:getVehicle() then
intensity = intensity / 10
end
moodle:setValue(1 - intensity)
if intensity > 0 then
md.zrp_countZed = (md.zrp_countZed or 0) + zeds
md.zrp_countTime = (md.zrp_countTime or 0) + 1
player:getStats():setStress(player:getStats():getStress() + 0.005 *
zeds * intensity)
player:getStats():setPanic(player:getStats():getPanic() + 5 * zeds
* intensity)
end
else
moodle:setValue(1)
end
end
end
MF.createMoodle(moodleName)
Events.OnPlayerUpdate.Remove(checkPlayer)
if effectStrength(player) > 0 then
Events.OnPlayerUpdate.Add(checkPlayer)
end
end
Events.OnGameStart.Add(initialize)
Events.OnNewGame.Add(initialize)