diff -r 1b62d993cd2f -r 42cd42e44c9a share/hedgewars/Data/Scripts/Multiplayer/Gravity.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Gravity.lua Mon Jan 13 14:40:06 2014 -0500 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Gravity.lua Tue Jan 14 12:44:29 2014 +0400 @@ -11,12 +11,21 @@ local wdTTL = 0 local mln = 1000000 -function onNewTurn() +local script2_onNewTurn +local script2_onGameTick20 +local script2_onGameStart + + +function grav_onNewTurn() SetGravity(gravity) wdGameTicks = GameTime + + if script2_onNewTurn ~= nil then + script2_onNewTurn() + end end -function onGameTick20() +function grav_onGameTick20() if wdGameTicks + 15000 < GameTime then SetGravity(100) else @@ -49,9 +58,13 @@ end wdTTL = TurnTimeLeft + + if script2_onGameTick20 ~= nil then + script2_onGameTick20() + end end -function onGameInit() +function onParameters() parseParams() gravity = params["g"] @@ -86,9 +99,28 @@ if gravity == nil then gravity = 100 end + + secondScript = params["script2"] + + if secondScript ~= nil then + onParameters = nil + HedgewarsScriptLoad("/Scripts/Multiplayer/" .. secondScript .. ".lua") + + script2_onNewTurn = onNewTurn + script2_onGameTick20 = onGameTick20 + script2_onGameStart = onGameStart + + if onParameters ~= nil then + onParameters() + end + end + + onNewTurn = grav_onNewTurn + onGameTick20 = grav_onGameTick20 + onGameStart = grav_onGameStart end -function onGameStart() +function grav_onGameStart() if delta == nil then v = string.format(loc("random in range from %i%% to %i%% with period of %i msec"), div(mingravity, mln), div(maxgravity, mln), period * 40) elseif period ~= nil then @@ -103,4 +135,10 @@ .. loc("or 'g=50, g2=150, period=4000' for gravity changing|from 50 to 150 and back with period of 4000 msec") .. "||" .. loc("Set period to negative value for random gravity"), 0, 5000) + + if script2_onGameStart ~= nil then + script2_onGameStart() + end end + +