# HG changeset patch # User unc0rr # Date 1387908967 -14400 # Node ID 00cbbb195f11f30e36a397a18703540e371cdab9 # Parent 4486c29d176c4fa1d94eb649e5aad7abab812f08 Rework of No Gravity script: - Now called Gravity, gravity is derived from get away time percentage in game scheme - Watchdog which sets gravity to normal when TurnTimeLeft is frozen for more than 15 seconds diff -r 4486c29d176c -r 00cbbb195f11 hedgewars/uScript.pas --- a/hedgewars/uScript.pas Tue Dec 24 12:52:08 2013 -0500 +++ b/hedgewars/uScript.pas Tue Dec 24 22:16:07 2013 +0400 @@ -2040,6 +2040,7 @@ ScriptSetInteger('SuddenDeathTurns', cSuddenDTurns); ScriptSetInteger('WaterRise', cWaterRise); ScriptSetInteger('HealthDecrease', cHealthDecrease); +ScriptSetInteger('GetAwayTime', cGetAwayTime); ScriptSetString('Map', cMapName); ScriptSetString('Theme', ''); @@ -2068,6 +2069,7 @@ cSuddenDTurns := ScriptGetInteger('SuddenDeathTurns'); cWaterRise := ScriptGetInteger('WaterRise'); cHealthDecrease := ScriptGetInteger('HealthDecrease'); +cGetAwayTime := ScriptGetInteger('GetAwayTime'); if cMapName <> ScriptGetString('Map') then ParseCommand('map ' + ScriptGetString('Map'), true, true); diff -r 4486c29d176c -r 00cbbb195f11 share/hedgewars/Data/Scripts/Multiplayer/Gravity.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Gravity.cfg Tue Dec 24 22:16:07 2013 +0400 @@ -0,0 +1,2 @@ +Default +Default diff -r 4486c29d176c -r 00cbbb195f11 share/hedgewars/Data/Scripts/Multiplayer/Gravity.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Gravity.lua Tue Dec 24 22:16:07 2013 +0400 @@ -0,0 +1,33 @@ +HedgewarsScriptLoad("/Scripts/Locale.lua") + +local gravity = 100 +local wdGameTicks = 0 +local wdTTL = 0 + +function onNewTurn() + SetGravity(gravity) + wdGameTicks = GameTime +end + +function onGameTick20() + if (TurnTimeLeft < 20) or (TurnTimeLeft > 0 and wdGameTicks + 15000 < GameTime) then + SetGravity(100) + elseif wdTTL ~= TurnTimeLeft then + wdGameTicks = GameTime + SetGravity(gravity) + end + + wdTTL = TurnTimeLeft +end + +function onGameInit() + gravity = GetAwayTime + GetAwayTime = 100 +end + +function onGameStart() + ShowMission(loc("Gravity"), + loc("Current value is ") .. gravity .. "%", + loc("Set any gravity value you want by adjusting get away time"), + 0, 5000) +end \ No newline at end of file diff -r 4486c29d176c -r 00cbbb195f11 share/hedgewars/Data/Scripts/Multiplayer/No_Gravity.cfg --- a/share/hedgewars/Data/Scripts/Multiplayer/No_Gravity.cfg Tue Dec 24 12:52:08 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -Default -Default diff -r 4486c29d176c -r 00cbbb195f11 share/hedgewars/Data/Scripts/Multiplayer/No_Gravity.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/No_Gravity.lua Tue Dec 24 12:52:08 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -function onNewTurn() - SetGravity(0) -end - -function onGameTick20() - if TurnTimeLeft < 20 then - SetGravity(100) - end -end