# HG changeset patch
# User Grigory Ustinov
# Date 1543415129 -10800
# Node ID 80a4283a58b1979bd611be37b1f0ac3708177546
# Parent 6b56a0a0afb4473744b6d6173423bedd4ab3f7d1# Parent ddcc5dd7a805dc3b6aa7f73af28a3d620fe10140
Merge with master branch
diff -r 6b56a0a0afb4 -r 80a4283a58b1 ChangeLog.txt
--- 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
diff -r 6b56a0a0afb4 -r 80a4283a58b1 INSTALL.md
--- 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
diff -r 6b56a0a0afb4 -r 80a4283a58b1 QTfrontend/main.cpp
--- 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();
diff -r 6b56a0a0afb4 -r 80a4283a58b1 QTfrontend/res/splash.png
Binary file QTfrontend/res/splash.png has changed
diff -r 6b56a0a0afb4 -r 80a4283a58b1 gameServer/hedgewars-server.cabal
--- 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
diff -r 6b56a0a0afb4 -r 80a4283a58b1 share/hedgewars.appdata.xml
--- 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.
- 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.
Game features:
Spiel-Features:
Hilarious and strategic turn based combat for up to 8 players
Absurder und strategischer zugbasierter Kampf mit bis zu 8 Spielern
-
Singpleplayer mode with two campaigns and many scenarios and challenges
+
Singleplayer mode with two campaigns and many scenarios and challenges
Einzelspielermodus mit zwei Kampagnen und vielen Szenarios und Herausforderungen
Both local and network multiplayer, with optional AI opponents
Mehrspielermodus sowohl lokal als auch über das Netzwerk, mit optionalen KI-Gegnern
Battle on an infinite number of randomly generated maps, with over 22 environments
Kämpfe auf einer unendlichen Anzahl auf zufällig erstellten Landschaften mit über 22 Szenerien
Attack with one of over 38 devastating weapons!
-
Greif mit einer von über 38 zerstörerischen Waffen an
+
Greif mit einer von über 38 zerstörerischen Waffen an!
Including the piano strike and explosive robotic cake
Darunter auch der Pianoangriff und ein explosiver robotischer Kuchen
Utilise over 16 utilities like the rope or portable portal device to pave your path to victory
diff -r 6b56a0a0afb4 -r 80a4283a58b1 share/hedgewars/Data/Locale/hedgewars_de.ts
--- 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 @@
command-line
- Hedgewars kann ein %1 (z.B. »%2«) verwenden, um beim Start zu verbinden.
+ Hedgewars kann einen %1 (z.B. »%2«) verwenden, um sich beim Start zu verbinden.
diff -r 6b56a0a0afb4 -r 80a4283a58b1 share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua
--- 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
diff -r 6b56a0a0afb4 -r 80a4283a58b1 share/hedgewars/Data/Scripts/Multiplayer/Mutant.lua
--- 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