--- a/ChangeLog.txt Wed Nov 28 17:20:22 2018 +0300
+++ b/ChangeLog.txt Wed Nov 28 17:25:29 2018 +0300
@@ -5,6 +5,7 @@
+ Complete overhaul of Continental supplies
+ Can adjust weapon start and crate probabilities in Balanced Random Weapon
+ Remove rubber duck
+ + New air mine features
+ Rework team rankings
+ Tied teams now rank equally
+ Help button in main menu
@@ -19,7 +20,8 @@
Game, gameplay:
+ Increase hedgehog limit to 64
+ Remove rubber duck
- + Shotgun, Desert Eagle, Sniper Rifle, Firepunch, Kamikaze, Whip and Baseball Bat can now hit air mines (and some other moving gears) ...
+ + Shotgun, Desert Eagle, Sniper Rifle, Firepunch, Kamikaze, Whip and Baseball Bat can now hit air mines (and some other projectiles)
+ + Freezer can freeze air mines when they don't move too fast
+ Air mines get stunned by getting shoved
+ Shotgun shots can now pass through portals
* Fix hog being unable to walk after using sniper rifle without firing both shots
@@ -75,7 +77,6 @@
+ Add help button in main menu (link to Hedgewars Wiki)
+ Add setting to disable audio dampening when losing window focus
+ Rework player rankings: Losing clans are now ranked in the reverse order they died
- + Add-ons now support preview images for campaign missions
* Fix player rankings on round draw: Clans that died in the same turn now have the same rank
* Fix rare crash when aborting video encoding in progress
* Fix critical failure to cleanup teams list after rejoining game under certain conditions
@@ -110,6 +111,8 @@
* Fix breakage when enabling per-hog ammo
Mutant:
+ + Do not reduce mutant's health in Ready phase
+ + Play poison hurt sound when mutant is low on health
+ Unlock game scheme
Continental supplies:
@@ -122,6 +125,7 @@
+ Show message when hog receives new continent ammo
+ Sabotaged hedgehogs also emit smoke when it's not their turn
+ Can switch continent in reverse order with [Precise]+[Switch]
+ * Sabotage deals no damage in ready phase, while attacking or retreating
* Invulnerability now protects from sabotage damage
* Sabotage kills hog instantly when health reaches 0
* Reliably prevent using of Lonely Cries and baseball bat specials when usage not allowed
@@ -163,6 +167,10 @@
+ New land objects for Beach theme
* Fix repeating sun in Hoggywood theme
+Content creation:
+ + HWPs can be nested inside HWPs (1 layer deep only)
+ + Add-ons now support preview images for campaign missions
+
Translations:
+ Translations kept up-to-date: German, Polish
+ Major translation updates: Russian, Japanese, Scottish Gaelic, Ukrainian
--- a/INSTALL.md Wed Nov 28 17:20:22 2018 +0300
+++ b/INSTALL.md Wed Nov 28 17:25:29 2018 +0300
@@ -76,7 +76,7 @@
- `utf8-string`
- `SHA`
- `entropy`
- - `zlib` >= 0.5.3 and < 0.6
+ - `zlib` >= 0.5.3 and < 0.7
- `regex-tdfa`
- `binary` >= 0.8.5.1
--- a/QTfrontend/main.cpp Wed Nov 28 17:20:22 2018 +0300
+++ b/QTfrontend/main.cpp Wed Nov 28 17:25:29 2018 +0300
@@ -255,7 +255,7 @@
}
}
- if(cmdMsgState == 0)
+ if(cmdMsgState == cmdMsgNone)
{
if(parsedArgs.contains("data-dir"))
{
@@ -532,7 +532,7 @@
app.form = new HWForm(NULL, style);
#ifdef Q_OS_WIN
- if(cmdMsgState == 0)
+ if(cmdMsgState == cmdMsgNone)
splash.finish(app.form);
#endif
app.form->show();
Binary file QTfrontend/res/splash.png has changed
--- a/gameServer/hedgewars-server.cabal Wed Nov 28 17:20:22 2018 +0300
+++ b/gameServer/hedgewars-server.cabal Wed Nov 28 17:25:29 2018 +0300
@@ -36,6 +36,8 @@
zlib >= 0.5.3 && < 0.7,
regex-tdfa,
binary >= 0.8.5.1,
+
+-- These dependencies are for OFFICIAL_SERVER only and do not need to be mentioned in docs
yaml >= 0.8.30,
aeson,
text >= 1.2
--- a/share/hedgewars.appdata.xml Wed Nov 28 17:20:22 2018 +0300
+++ b/share/hedgewars.appdata.xml Wed Nov 28 17:25:29 2018 +0300
@@ -16,21 +16,21 @@
As commander, it's your job to assemble your crack team of hedgehog soldiers and bring the war to your enemy.
</p>
<p xml:lang="de">
- Als Kommandant ist es deine Aufgabe, deine Topmannschaft aus Igelsoldaten aufzustellen und in den Krieg gegen deinen Feind zu führen.
+ Als Kommandant ist es deine Aufgabe, deine Topmannschaft aus Igelsoldaten aufzustellen und in den Krieg gegen deinen Feind zu ziehen.
</p>
<p>Game features:</p>
<p xml:lang="de">Spiel-Features:</p>
<ul>
<li>Hilarious and strategic turn based combat for up to 8 players</li>
<li xml:lang="de">Absurder und strategischer zugbasierter Kampf mit bis zu 8 Spielern</li>
- <li>Singpleplayer mode with two campaigns and many scenarios and challenges</li>
+ <li>Singleplayer mode with two campaigns and many scenarios and challenges</li>
<li xml:lang="de">Einzelspielermodus mit zwei Kampagnen und vielen Szenarios und Herausforderungen</li>
<li>Both local and network multiplayer, with optional AI opponents</li>
<li xml:lang="de">Mehrspielermodus sowohl lokal als auch über das Netzwerk, mit optionalen KI-Gegnern</li>
<li>Battle on an infinite number of randomly generated maps, with over 22 environments</li>
<li xml:lang="de">Kämpfe auf einer unendlichen Anzahl auf zufällig erstellten Landschaften mit über 22 Szenerien</li>
<li>Attack with one of over 38 devastating weapons!</li>
- <li xml:lang="de">Greif mit einer von über 38 zerstörerischen Waffen an</li>
+ <li xml:lang="de">Greif mit einer von über 38 zerstörerischen Waffen an!</li>
<li>Including the piano strike and explosive robotic cake</li>
<li xml:lang="de">Darunter auch der Pianoangriff und ein explosiver robotischer Kuchen</li>
<li>Utilise over 16 utilities like the rope or portable portal device to pave your path to victory</li>
--- a/share/hedgewars/Data/Locale/hedgewars_de.ts Wed Nov 28 17:20:22 2018 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_de.ts Wed Nov 28 17:25:29 2018 +0300
@@ -391,7 +391,7 @@
<message>
<source>Hedgewars can use a %1 (e.g. "%2") to connect on start.</source>
<comment>command-line</comment>
- <translation>Hedgewars kann ein %1 (z.B. »%2«) verwenden, um beim Start zu verbinden.</translation>
+ <translation>Hedgewars kann einen %1 (z.B. »%2«) verwenden, um sich beim Start zu verbinden.</translation>
</message>
<message>
<source>Malformed option argument: %1</source>
--- a/share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua Wed Nov 28 17:20:22 2018 +0300
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua Wed Nov 28 17:25:29 2018 +0300
@@ -1633,7 +1633,7 @@
-- Spawn sabotage smoke for inactive hogs (red smoke, more subtle than for active hogs)
function SabotageSmokeInactive(gear)
- if GetGearType(gear) == gtHedgehog and gear ~= CurrentHedgehog and CS.SABOTAGE_HOGS[gear]~=nil and CS.SABOTAGE_HOGS[gear]>=1 then
+ if GetGearType(gear) == gtHedgehog and (gear ~= CurrentHedgehog or ReadyTimeLeft > 0) and CS.SABOTAGE_HOGS[gear]~=nil and CS.SABOTAGE_HOGS[gear]>=1 then
local vg = AddVisualGear(GetX(gear), GetY(gear), vgtSmokeWhite, 0, false)
SetVisualGearValues(vg, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0xFF8080B0)
end
@@ -1773,7 +1773,7 @@
if(CS.SABOTAGE_HOGS[CurrentHedgehog]~=nil and CS.SABOTAGE_HOGS[CurrentHedgehog]>=1)
then
--for sabotage
- if(CS.SABOTAGE_HOGS[CurrentHedgehog]==1)
+ if(CS.SABOTAGE_HOGS[CurrentHedgehog]==1 and ReadyTimeLeft == 0)
then
AddCaption(loc("You are sabotaged, RUN!"))
@@ -1785,7 +1785,7 @@
CS.SABOTAGE_HOGS[CurrentHedgehog]=2
end
- if(CS.SABOTAGE_COUNTER % 20 == 0)
+ if(CS.SABOTAGE_HOGS[CurrentHedgehog]==2 and CS.SABOTAGE_COUNTER % 20 == 0)
then
-- Sabotage effect (red smoke)
local vg = AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtSmokeWhite, 0, false)
@@ -1799,10 +1799,11 @@
then
-- Sabotage decreases hog health regularily,
-- but invulnerable protects.
- -- Also do not decrease health while retreating or attacking.
+ -- Also do not decrease health while retreating, attacking or in ready phase.
if(GetEffect(CurrentHedgehog, heInvulnerable) == 0 and
band(GetState(CurrentHedgehog), gstHHDriven) ~= 0 and
- band(GetState(CurrentHedgehog), gstAttacked+gstAttacking) == 0)
+ band(GetState(CurrentHedgehog), gstAttacked+gstAttacking) == 0) and
+ (ReadyTimeLeft == 0)
then
if(GetHealth(CurrentHedgehog)<=CS.SABOTAGE_DAMAGE)
then
--- a/share/hedgewars/Data/Scripts/Multiplayer/Mutant.lua Wed Nov 28 17:20:22 2018 +0300
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Mutant.lua Wed Nov 28 17:25:29 2018 +0300
@@ -313,23 +313,34 @@
end
end
- if TurnTimeLeft==0 and mt_hurt then
+ if (TurnTimeLeft==0 or band(GetState(mutant), gstHHDriven) == 0) and mt_hurt then
mt_hurt = false
end
- if mt_hurt and mutant~=nil then
+ -- Mutant's disease
+ -- Hurt Mutant during its turn time
+ -- Mutant's health is safe in ready phase
+ if mt_hurt and mutant~=nil and ReadyTimeLeft == 0 then
timer = timer + 1
- if timer > disease_timer then
- timer = 0
- SetHealth(mutant, GetHealth(mutant)-disease )
- AddVisualGear(GetX(mutant), GetY(mutant)-5, vgtHealthTag, disease, true)
- if GetHealth(mutant)<=0 then
- SetHealth(mutant,0)
- mt_hurt= false
- setGearValue(mutant,"SelfDestruct",true)
- EndTurn()
- end
+ if timer > disease_timer then
+ timer = 0
+ local h = GetHealth(mutant)-disease
+ SetHealth(mutant, h)
+ -- Low health warning
+ if h <= 75 then
+ PlaySound(sndPoisonMoan, mutant)
+ elseif h <= 150 then
+ PlaySound(sndPoisonCough, mutant)
end
+ local tag = AddVisualGear(GetX(mutant), GetY(mutant)-5, vgtHealthTag, disease, true)
+ SetVisualGearValues(tag, nil, nil, nil, nil, nil, nil, nil, nil, nil, GetClanColor(GetHogClan(mutant)))
+ if GetHealth(mutant)<=0 then
+ SetHealth(mutant,0)
+ mt_hurt= false
+ setGearValue(mutant,"SelfDestruct",true)
+ EndTurn()
+ end
+ end
end
end