forked from github/server
springtime is time to drown
This commit is contained in:
parent
561745b356
commit
337dfab982
|
@ -5,34 +5,47 @@ local function is_winter(turn)
|
|||
return season == "calendar::winter"
|
||||
end
|
||||
|
||||
local function freeze(r)
|
||||
local function is_spring(turn)
|
||||
local season = get_season(turn)
|
||||
return season == "calendar::spring"
|
||||
end
|
||||
|
||||
local function freeze(r, chance)
|
||||
for i, rn in ipairs(r.adj) do
|
||||
-- each region has a chance to freeze
|
||||
if rn.terrain=="ocean" and math.mod(rng_int(), 100)<20 then
|
||||
if rn.terrain=="ocean" and (chance>=100 or math.mod(rng_int(), 100)<chance) then
|
||||
rn.terrain = "packice"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function thaw(r)
|
||||
local function thaw(r, chance)
|
||||
if chance>=100 or math.mod(rng_int(), 100)<chance then
|
||||
r.terrain = "ocean"
|
||||
for s in r.ships do
|
||||
s.coast = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function update()
|
||||
local turn = get_turn()
|
||||
if is_winter(turn) then
|
||||
for r in regions() do
|
||||
if r.terrain=="glacier" then
|
||||
freeze(r)
|
||||
freeze(r, 20)
|
||||
end
|
||||
end
|
||||
elseif is_winter(turn-1) then
|
||||
elseif is_spring(turn) then
|
||||
for r in regions() do
|
||||
if r.terrain=="packice" then
|
||||
thaw(r)
|
||||
thaw(r, 20)
|
||||
end
|
||||
end
|
||||
elseif is_spring(turn-1) then
|
||||
for r in regions() do
|
||||
if r.terrain=="packice" then
|
||||
thaw(r, 100)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue