144 onParameters = nil |
144 onParameters = nil |
145 HedgewarsScriptLoad("/Scripts/Multiplayer/" .. secondScript .. ".lua") |
145 HedgewarsScriptLoad("/Scripts/Multiplayer/" .. secondScript .. ".lua") |
146 |
146 |
147 script2_onNewTurn = onNewTurn |
147 script2_onNewTurn = onNewTurn |
148 script2_onGameTick20 = onGameTick20 |
148 script2_onGameTick20 = onGameTick20 |
149 script2_onGameStart = onGameStart |
149 script2_onGameInit = onGameInit |
150 script2_onHogAttack = onHogAttack |
150 script2_onHogAttack = onHogAttack |
151 |
151 |
152 if onParameters ~= nil then |
152 if onParameters ~= nil then |
153 onParameters() |
153 onParameters() |
154 end |
154 end |
155 end |
155 end |
156 |
156 |
157 onNewTurn = grav_onNewTurn |
157 onNewTurn = grav_onNewTurn |
158 onGameTick20 = grav_onGameTick20 |
158 onGameTick20 = grav_onGameTick20 |
159 onGameStart = grav_onGameStart |
159 onGameInit = grav_onGameInit |
160 onHogAttack = grav_onHogAttack |
160 onHogAttack = grav_onHogAttack |
161 end |
161 end |
162 |
162 |
163 function grav_onGameStart() |
163 function grav_onGameInit() |
164 DisableGameFlags(gfLowGravity) |
164 DisableGameFlags(gfLowGravity) |
165 |
165 |
|
166 local v, printperiod |
|
167 if period ~= nil then |
|
168 local period_ms = period * 40 |
|
169 if period_ms % 1000 == 0 then |
|
170 printperiod = string.format(loc("%i s"), div(period_ms, 1000)) |
|
171 else |
|
172 printperiod = string.format(loc("%i ms"), period_ms) |
|
173 end |
|
174 end |
166 if delta == nil then |
175 if delta == nil then |
167 v = string.format(loc("random in range from %i%% to %i%% with period of %i msec"), div(mingravity_normal, mln), div(maxgravity_normal, mln), period * 40) |
176 v = string.format(loc("Crazy Gravity: Gravity randomly changes within a range from %i%% to %i%% with a period of %s"), div(mingravity_normal, mln), div(maxgravity_normal, mln), printperiod) |
168 elseif period ~= nil then |
177 elseif period ~= nil then |
169 v = string.format(loc("changing range from %i%% to %i%% with period of %i msec"), div(mingravity_normal, mln), div(maxgravity_normal, mln), period * 40) |
178 v = string.format(loc("Oscillating Gravity: Gravity periodically changes within a range from %i%% to %i%% with a period of %s"), div(mingravity_normal, mln), div(maxgravity_normal, mln), printperiod) |
170 else |
179 elseif gravity > 100 then |
171 v = gravity .. "%" |
180 v = string.format(loc("High Gravity: Gravity is %i%%"), gravity) |
172 end |
181 elseif gravity < 100 then |
173 |
182 v = string.format(loc("Low Gravity: Gravity is %i%%"), gravity) |
174 ShowMission(loc("Gravity"), |
183 else |
175 loc("Current setting is ") .. v, |
184 v = loc("Gravity: 100%") .. "|" .. |
176 loc("Setup:|'g=150', where 150 is 150% of normal gravity") .. "|" |
185 loc("Script parameter examples:") .. "|" .. |
177 .. loc("or 'g=50, g2=150, period=4000' for gravity changing|from 50 to 150 and back with period of 4000 msec") |
186 loc("“g=150”, where 150 is 150% of normal gravity.") .. "|" .. |
178 .. "||" .. loc("Set period to negative value for random gravity"), |
187 loc("“g=50, g2=150, period=4000” for gravity changing|from 50 to 150 and back with period of 4000 ms.") .. "|" .. |
179 0, 5000) |
188 loc("Set period to negative value for random gravity.") .. "| |" |
180 |
189 end |
181 if script2_onGameStart ~= nil then |
190 Goals = v |
182 script2_onGameStart() |
191 |
|
192 if script2_onGameInit ~= nil then |
|
193 script2_onGameInit() |
183 end |
194 end |
184 end |
195 end |
185 |
196 |
186 function grav_onHogAttack(ammoType) |
197 function grav_onHogAttack(ammoType) |
187 if ammoType == amLowGravity then |
198 if ammoType == amLowGravity then |