Updated Enemy taunts feature (by anv)

- ridiculous amount of tags: attack, hit, miss, kill, head pop, blinded, type of attack, is target a zombie...
- ripostes to merc quotes,
- taunts can now make noise,
- bumped up amount of taunts to respectable 733, mostly thanks to your contributions guys,
- accidently squashed bug with incorrect noise notifications ("hears scream" instead of "hears explosion" etc.)

Ripostes
At the moment enemies can react to quotes "enemy detected", "1st enemy detected", "multiple enemies detected", "bullet flew by", "under heavy fire", as these are most likely to be used in combat. In the first three cases, riposting enemy will be chosen randomly from all enemy witnesses, latter two - last enemy to attack this merc will taunt.
Enemy's riposte will come as soon as merc quote is finished.

Noisy taunts
Taunts can be handled like other noises in game - shots, explosions, etc., meaning:
- they will be displayed only if someone from our team is close enough to hear them,
- they can be heard even if you don't see enemy (with twist of his name changed to "unknown voice". Yay.)
- volume of taunts is configurable in .ini.

see: http://www.ja-galaxy-forum.com/board/ubbthreads.php/topics/327830/4.html



git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6628 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2013-11-19 07:52:51 +00:00
parent 496616a2bd
commit 47210f9b14
27 changed files with 1477 additions and 277 deletions
+1 -1
View File
@@ -1201,7 +1201,7 @@ BOOLEAN ExecuteGameEvent( EVENT *pEvent )
case S_NOISE:
memcpy( &SNoise, pEvent->pData, pEvent->uiDataSize );
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String( "Event Pump: Noise from %d at %d/%d, type %d volume %d", SNoise.ubNoiseMaker, SNoise.sGridNo, SNoise.bLevel, SNoise.ubNoiseType, SNoise.ubVolume ) );
OurNoise( SNoise.ubNoiseMaker, SNoise.sGridNo, SNoise.bLevel, SNoise.ubTerrType, SNoise.ubVolume, SNoise.ubNoiseType );
OurNoise( SNoise.ubNoiseMaker, SNoise.sGridNo, SNoise.bLevel, SNoise.ubTerrType, SNoise.ubVolume, SNoise.ubNoiseType, SNoise.zNoiseMessage );
break;
case S_STOP_MERC:
+1
View File
@@ -211,6 +211,7 @@ typedef struct
UINT8 ubTerrType;
UINT8 ubVolume;
UINT8 ubNoiseType;
CHAR16 zNoiseMessage[320];
} EV_S_NOISE;
+1
View File
@@ -298,6 +298,7 @@ extern STR16 gzMiscString[];
extern STR16 wMapScreenSortButtonHelpText[];
extern STR16 pNewNoiseStr[];
extern STR16 pTauntUnknownVoice[]; // anv: for enemy taunts
extern STR16 gzLateLocalizedString[];
extern STR16 gzCWStrings[];
+9
View File
@@ -6063,12 +6063,21 @@ STR16 pNewNoiseStr[] =
L"%s听到%s吱吱声来自%s。",
L"%s听到%s溅水声来自%s。",
L"%s听到%s撞击声来自%s。",
L"%s hears a %s GUNFIRE coming from %s.", // anv: without this, all further noise notifications were off by 1! // TODO.Translate
L"%s听到%s爆炸声发向%s。",
L"%s听到%s尖叫声发向%s。",
L"%s听到%s撞击声发向%s。",
L"%s听到%s撞击声发向%s。",
L"%s听到%s粉碎声来自%s。",
L"%s听到%s破碎声来自%s。",
L"", // anv: placeholder for silent alarm // TODO.Translate
L"%s hears someone's %s VOICE coming from %s.", // anv: report enemy taunt to player // TODO.Translate
};
// TODO.Translate
STR16 pTauntUnknownVoice[] =
{
L"Unknown Voice",
};
STR16 wMapScreenSortButtonHelpText[] =
+9
View File
@@ -6073,12 +6073,21 @@ STR16 pNewNoiseStr[] =
L"%s hoort een %s KRAKEND geluid uit %s.",
L"%s hoort een %s SPETTEREND geluid uit %s.",
L"%s hoort een %s INSLAG uit %s.",
L"%s hears a %s GUNFIRE coming from %s.", // anv: without this, all further noise notifications were off by 1! // TODO.Translate
L"%s hoort een %s EXPLOSIE naar %s.",
L"%s hoort een %s SCHREEUW naar %s.",
L"%s hoort een %s INSLAG naar %s.",
L"%s hoort een %s INSLAG naar %s.",
L"%s hoort een %s VERSPLINTEREN uit %s.",
L"%s hoort een %s KLAP uit %s.",
L"", // anv: placeholder for silent alarm // TODO.Translate
L"%s hears someone's %s VOICE coming from %s.", // anv: report enemy taunt to player // TODO.Translate
};
// TODO.Translate
STR16 pTauntUnknownVoice[] =
{
L"Unknown Voice",
};
STR16 wMapScreenSortButtonHelpText[] =
+8
View File
@@ -6063,12 +6063,20 @@ STR16 pNewNoiseStr[] =
L"%s hears a %s CREAKING coming from %s.",
L"%s hears a %s SPLASHING coming from %s.",
L"%s hears a %s IMPACT coming from %s.",
L"%s hears a %s GUNFIRE coming from %s.", // anv: without this, all further noise notifications were off by 1!
L"%s hears a %s EXPLOSION to %s.",
L"%s hears a %s SCREAM to %s.",
L"%s hears a %s IMPACT to %s.",
L"%s hears a %s IMPACT to %s.",
L"%s hears a %s SHATTERING coming from %s.",
L"%s hears a %s SMASH coming from %s.",
L"", // anv: placeholder for silent alarm
L"%s hears someone's %s VOICE coming from %s.", // anv: report enemy taunt to player
};
STR16 pTauntUnknownVoice[] =
{
L"Unknown Voice",
};
STR16 wMapScreenSortButtonHelpText[] =
+9
View File
@@ -6068,12 +6068,21 @@ STR16 pNewNoiseStr[] =
L"%s entend un GRINCEMENT %s %s.",
L"%s entend un CLAPOTIS %s %s.",
L"%s entend un IMPACT %s %s.",
L"%s hears a %s GUNFIRE coming from %s.", // anv: without this, all further noise notifications were off by 1! // TODO.Translate
L"%s entend une EXPLOSION %s %s.",
L"%s entend un CRI %s %s.",
L"%s entend un IMPACT %s %s.",
L"%s entend un IMPACT %s %s.",
L"%s entend un BRUIT %s %s.",
L"%s entend un BRUIT %s %s.",
L"", // anv: placeholder for silent alarm // TODO.Translate
L"%s hears someone's %s VOICE coming from %s.", // anv: report enemy taunt to player // TODO.Translate
};
// TODO.Translate
STR16 pTauntUnknownVoice[] =
{
L"Unknown Voice",
};
STR16 wMapScreenSortButtonHelpText[] =
+9
View File
@@ -5904,12 +5904,21 @@ STR16 pNewNoiseStr[] =
L"%s hört ein KNARREN (%s) von %s.",
L"%s hört ein KLATSCHEN (%s) von %s.",
L"%s hört einen AUFSCHLAG (%s) von %s.",
L"%s hears a %s GUNFIRE coming from %s.", // anv: without this, all further noise notifications were off by 1! // TODO.Translate
L"%s hört eine EXPLOSION (%s) von %s.",
L"%s hört einen SCHREI (%s) von %s.",
L"%s hört einen AUFSCHLAG (%s) von %s.",
L"%s hört einen AUFSCHLAG (%s) von %s.",
L"%s hört ein ZERBRECHEN (%s) von %s.",
L"%s hört ein ZERSCHMETTERN (%s) von %s.",
L"", // anv: placeholder for silent alarm // TODO.Translate
L"%s hears someone's %s VOICE coming from %s.", // anv: report enemy taunt to player // TODO.Translate
};
// TODO.Translate
STR16 pTauntUnknownVoice[] =
{
L"Unknown Voice",
};
STR16 wMapScreenSortButtonHelpText[] =
+9
View File
@@ -6053,12 +6053,21 @@ STR16 pNewNoiseStr[] =
L"%s sente uno %s SCRICCHIOLIO proveniente da %s.",
L"%s sente un %s TONFO NELL'ACQUA proveniente da %s.",
L"%s sente un %s URTO proveniente da %s.",
L"%s hears a %s GUNFIRE coming from %s.", // anv: without this, all further noise notifications were off by 1! // TODO.Translate
L"%s sente una %s ESPLOSIONE verso %s.",
L"%s sente un %s URLO verso %s.",
L"%s sente un %s IMPATTO verso %s.",
L"%s sente un %s IMPATTO a %s.",
L"%s sente un %s SCHIANTO proveniente da %s.",
L"%s sente un %s FRASTUONO proveniente da %s.",
L"", // anv: placeholder for silent alarm // TODO.Translate
L"%s hears someone's %s VOICE coming from %s.", // anv: report enemy taunt to player // TODO.Translate
};
// TODO.Translate
STR16 pTauntUnknownVoice[] =
{
L"Unknown Voice",
};
STR16 wMapScreenSortButtonHelpText[] =
+9
View File
@@ -6078,12 +6078,21 @@ STR16 pNewNoiseStr[] =
L"%s słyszy %s ODGŁOS SKRZYPNIĘCIA dochodzący z %s.",
L"%s słyszy %s PLUSK dochodzący z %s.",
L"%s słyszy %s ODGŁOS UDERZENIA dochodzący z %s.",
L"%s słyszy %s ODGŁOS STRZAŁU dochodzący z %s.", // anv: without this, all further noise notifications were off by 1! // TODO.Translate
L"%s słyszy %s WYBUCH dochodzący z %s.",
L"%s słyszy %s KRZYK dochodzący z %s.",
L"%s słyszy %s ODGŁOS UDERZENIA dochodzący z %s.",
L"%s słyszy %s ODGŁOS UDERZENIA dochodzący z %s.",
L"%s słyszy %s ŁOMOT dochodzący z %s.",
L"%s słyszy %s TRZASK dochodzący z %s.",
L"", // anv: placeholder for silent alarm // TODO.Translate
L"%s słyszy czyjś %s GŁOS dochodzący z %s.", // anv: report enemy taunt to player // TODO.Translate
};
// TODO.Translate
STR16 pTauntUnknownVoice[] =
{
L"Nieznany głos",
};
STR16 wMapScreenSortButtonHelpText[] =
+9
View File
@@ -6062,12 +6062,21 @@ STR16 pNewNoiseStr[] =
L"%s слышит %s скрип, идущий %s.",
L"%s слышит %s звук всплеска %s.",
L"%s слышит %s звук удара %s.",
L"%s hears a %s GUNFIRE coming from %s.", // anv: without this, all further noise notifications were off by 1! // TODO.Translate
L"%s слышит %s звук взрыва %s.",
L"%s слышит %s крик %s.",
L"%s слышит %s звук удара %s.",
L"%s слышит %s звук удара %s.",
L"%s слышит %s звон %s.",
L"%s слышит %s грохот %s.",
L"", // anv: placeholder for silent alarm // TODO.Translate
L"%s hears someone's %s VOICE coming from %s.", // anv: report enemy taunt to player // TODO.Translate
};
// TODO.Translate
STR16 pTauntUnknownVoice[] =
{
L"Unknown Voice",
};
STR16 wMapScreenSortButtonHelpText[] =
+9
View File
@@ -6075,12 +6075,21 @@ STR16 pNewNoiseStr[] =
L"%s hears a %s CREAKING coming from %s.",
L"%s hears a %s SPLASHING coming from %s.",
L"%s hears a %s IMPACT coming from %s.",
L"%s hears a %s GUNFIRE coming from %s.", // anv: without this, all further noise notifications were off by 1! // TODO.Translate
L"%s hears a %s EXPLOSION to %s.",
L"%s hears a %s SCREAM to %s.",
L"%s hears a %s IMPACT to %s.",
L"%s hears a %s IMPACT to %s.",
L"%s hears a %s SHATTERING coming from %s.",
L"%s hears a %s SMASH coming from %s.",
L"", // anv: placeholder for silent alarm // TODO.Translate
L"%s hears someone's %s VOICE coming from %s.", // anv: report enemy taunt to player // TODO.Translate
};
// TODO.Translate
STR16 pTauntUnknownVoice[] =
{
L"Unknown Voice",
};
STR16 wMapScreenSortButtonHelpText[] =