--- a/ChangeLog.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/ChangeLog.txt Sun Oct 28 02:24:06 2018 +0200
@@ -7,7 +7,7 @@
+ Rework team rankings
+ Tied teams now rank equally
+ Help button in main menu
- + 14 new hedgehog taunts
+ + 15 new hedgehog taunts
+ Many new Lua API features
* Functionality of controllers restored
* Fix at least 2 crashes
@@ -54,7 +54,7 @@
+ New default brown clan color for better contrast
+ Allow to change volume during pause
+ Add sounds: flamethrower, landspray, idle freezer, shorykuen hit
- + Add taunts: Amazing, Brilliant, Bugger, Drat, Excellent, Fire, Gonnagetyou, Grenade, Ohdear, Runaway, Solong, Thisoneismine, Whatthe, Watchthis
+ + Add taunts: Amazing, Brilliant, Bugger, Drat, Excellent, Fire, Gonnagetyou, Grenade, Ohdear, Revenge, Runaway, Solong, Thisoneismine, Whatthe, Watchthis
* Fix extreme amounts of droplets when shooting with minigun into ocean world edge
* Fix some flakes disappearing in world wrap worlds while moving camera
* Fix invisible projectile timer, attack bar, target on other side of wrap world edge
--- a/hedgewars/uSound.pas Sun Oct 28 00:49:00 2018 +0200
+++ b/hedgewars/uSound.pas Sun Oct 28 02:24:06 2018 +0200
@@ -319,7 +319,8 @@
(FileName: 'Excellent.ogg'; Path: ptVoices; AltPath: ptNone),// sndExcellent
(FileName: 'Fire.ogg'; Path: ptVoices; AltPath: ptNone),// sndFire
(FileName: 'Watchthis.ogg'; Path: ptVoices; AltPath: ptNone),// sndWatchThis
- (FileName: 'Runaway.ogg'; Path: ptVoices; AltPath: ptNone) // sndRunAway
+ (FileName: 'Runaway.ogg'; Path: ptVoices; AltPath: ptNone),// sndRunAway
+ (FileName: 'Revenge.ogg'; Path: ptVoices; AltPath: ptNone) // sndRevenge
);
--- a/hedgewars/uStats.pas Sun Oct 28 00:49:00 2018 +0200
+++ b/hedgewars/uStats.pas Sun Oct 28 02:24:06 2018 +0200
@@ -95,7 +95,21 @@
if Attacker^.Team^.Clan = Gear^.Hedgehog^.Team^.Clan then
vpHurtSameClan:= CurrentHedgehog^.Team^.voicepack
else
+ begin
vpHurtEnemy:= Gear^.Hedgehog^.Team^.voicepack;
+ if (not killed) then
+ begin
+ // Check if attacker got revenge
+ if (Attacker^.RevengeHog <> nil) and (Attacker^.RevengeHog = Gear^.Hedgehog) then
+ begin
+ Attacker^.stats.GotRevenge:= true;
+ Attacker^.RevengeHog:= nil;
+ end
+ // If not, victim remembers their attacker to plan *their* revenge
+ else
+ Gear^.Hedgehog^.RevengeHog:= Attacker;
+ end
+ end;
//////////////////////////
@@ -262,12 +276,15 @@
AddVoice(sndEnemyDown, CurrentTeam^.voicepack)
// 0 kills, only damage or poison
else
- // TODO: Play sndExcellent for a high damage shot.
- // Not done yet because the fallback is sndEnemyDown.
- if random(2) = 0 then
- AddVoice(sndRegret, vpHurtEnemy)
+ if CurrentHedgehog^.stats.GotRevenge then
+ AddVoice(sndRevenge, CurrentHedgehog^.Team^.voicepack)
else
- AddVoice(sndGonnaGetYou, vpHurtEnemy)
+ // TODO: Maybe play sndExcellent for a high damage shot.
+ // Not done yet because the fallback is sndEnemyDown.
+ if random(2) = 0 then
+ AddVoice(sndRegret, vpHurtEnemy)
+ else
+ AddVoice(sndGonnaGetYou, vpHurtEnemy)
// Missed shot
// A miss is defined as a shot with a damaging weapon with 0 kills, 0 damage, 0 hogs poisoned and 0 targets hit
@@ -308,6 +325,7 @@
StepDamageGiven:= 0;
StepPoisoned:= false;
StepDied:= false;
+ GotRevenge:= false;
end;
Kills:= 0;
--- a/hedgewars/uTeams.pas Sun Oct 28 00:49:00 2018 +0200
+++ b/hedgewars/uTeams.pas Sun Oct 28 02:24:06 2018 +0200
@@ -708,6 +708,7 @@
CurrentHedgehog^.Gear:= Gear;
CurrentHedgehog^.Name:= id;
CurrentHedgehog^.InitialHealth:= Gear^.Health;
+ CurrentHedgehog^.RevengeHog:= nil;
CurrHedgehog:= HedgehogsNumber;
inc(HedgehogsNumber)
end
--- a/hedgewars/uTypes.pas Sun Oct 28 00:49:00 2018 +0200
+++ b/hedgewars/uTypes.pas Sun Oct 28 02:24:06 2018 +0200
@@ -154,7 +154,7 @@
sndCustom5, sndCustom6, sndCustom7, sndCustom8, sndMinigun, sndFlamethrower, sndIceBeamIdle,
sndLandGun, sndCaseImpact, sndExtraDamage, sndFirePunchHit, sndGrenade, sndThisOneIsMine,
sndWhatThe, sndSoLong, sndOhDear, sndGonnaGetYou, sndDrat, sndBugger, sndAmazing,
- sndBrilliant, sndExcellent, sndFire, sndWatchThis, sndRunAway);
+ sndBrilliant, sndExcellent, sndFire, sndWatchThis, sndRunAway, sndRevenge);
// Available ammo types to be used by hedgehogs
TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amPickHammer, // 6
@@ -342,6 +342,7 @@
MaxStepDamageGiven,
MaxStepKills: Longword;
FinishedTurns: Longword;
+ GotRevenge: boolean; // True if hog got revenge in this turn
end;
TTeamStats = record
@@ -412,6 +413,7 @@
Timer: Longword;
HealthBarHealth: LongInt;
Effects: array[THogEffect] of LongInt;
+ RevengeHog: PHedgehog; // For which hog this hog wants revenge most. For sndRevenge taunt
end;
TTeam = record
--- a/share/hedgewars/Data/Sounds/voices/British/CMakeLists.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/share/hedgewars/Data/Sounds/voices/British/CMakeLists.txt Sun Oct 28 02:24:06 2018 +0200
@@ -34,6 +34,7 @@
PoisonCough.ogg
PoisonMoan.ogg
Reinforcements.ogg
+Revenge.ogg
Runaway.ogg
Sameteam.ogg
Solong.ogg
--- a/share/hedgewars/Data/Sounds/voices/Classic/CMakeLists.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/share/hedgewars/Data/Sounds/voices/Classic/CMakeLists.txt Sun Oct 28 02:24:06 2018 +0200
@@ -34,6 +34,9 @@
PoisonCough.ogg
PoisonMoan.ogg
Reinforcements.ogg
+# FIXME: Revenge.ogg is "I'll get you back" but this taunt is meant for
+# successful reveng, not the announcement thereof.
+#Revenge.ogg
Runaway.ogg
Sameteam.ogg
Solong.ogg
--- a/share/hedgewars/Data/Sounds/voices/Default/CMakeLists.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/share/hedgewars/Data/Sounds/voices/Default/CMakeLists.txt Sun Oct 28 02:24:06 2018 +0200
@@ -34,6 +34,7 @@
PoisonCough.ogg
PoisonMoan.ogg
Reinforcements.ogg
+Revenge.ogg
Runaway.ogg
Sameteam.ogg
Solong.ogg
--- a/share/hedgewars/Data/Sounds/voices/Default_uk/CMakeLists.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/share/hedgewars/Data/Sounds/voices/Default_uk/CMakeLists.txt Sun Oct 28 02:24:06 2018 +0200
@@ -34,6 +34,7 @@
PoisonCough.ogg
PoisonMoan.ogg
Reinforcements.ogg
+Revenge.ogg
Runaway.ogg
Sameteam.ogg
Solong.ogg
--- a/share/hedgewars/Data/Sounds/voices/Mobster/CMakeLists.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/share/hedgewars/Data/Sounds/voices/Mobster/CMakeLists.txt Sun Oct 28 02:24:06 2018 +0200
@@ -34,6 +34,7 @@
PoisonCough.ogg
PoisonMoan.ogg
Reinforcements.ogg
+Revenge.ogg
Runaway.ogg
Sameteam.ogg
Solong.ogg
--- a/share/hedgewars/Data/Sounds/voices/Pirate/CMakeLists.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/share/hedgewars/Data/Sounds/voices/Pirate/CMakeLists.txt Sun Oct 28 02:24:06 2018 +0200
@@ -34,6 +34,7 @@
PoisonCough.ogg
PoisonMoan.ogg
Reinforcements.ogg
+Revenge.ogg
Runaway.ogg
Sameteam.ogg
Solong.ogg
--- a/share/hedgewars/Data/Sounds/voices/Robot/CMakeLists.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/share/hedgewars/Data/Sounds/voices/Robot/CMakeLists.txt Sun Oct 28 02:24:06 2018 +0200
@@ -34,6 +34,7 @@
PoisonCough.ogg
PoisonMoan.ogg
Reinforcements.ogg
+Revenge.ogg
Runaway.ogg
Sameteam.ogg
Solong.ogg
--- a/share/hedgewars/Data/Sounds/voices/Russian/CMakeLists.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/share/hedgewars/Data/Sounds/voices/Russian/CMakeLists.txt Sun Oct 28 02:24:06 2018 +0200
@@ -34,6 +34,7 @@
PoisonCough.ogg
PoisonMoan.ogg
Reinforcements.ogg
+Revenge.ogg
Runaway.ogg
Sameteam.ogg
Solong.ogg
--- a/share/hedgewars/Data/Sounds/voices/Singer/CMakeLists.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/share/hedgewars/Data/Sounds/voices/Singer/CMakeLists.txt Sun Oct 28 02:24:06 2018 +0200
@@ -34,6 +34,7 @@
PoisonCough.ogg
PoisonMoan.ogg
Reinforcements.ogg
+Revenge.ogg
Runaway.ogg
Sameteam.ogg
Solong.ogg
--- a/share/hedgewars/Data/Sounds/voices/Surfer/CMakeLists.txt Sun Oct 28 00:49:00 2018 +0200
+++ b/share/hedgewars/Data/Sounds/voices/Surfer/CMakeLists.txt Sun Oct 28 02:24:06 2018 +0200
@@ -34,6 +34,7 @@
PoisonCough.ogg
PoisonMoan.ogg
Reinforcements.ogg
+Revenge.ogg
Runaway.ogg
Sameteam.ogg
Solong.ogg