Créé le 18/07/2003
Dernière mise à jour le 18/07/2003
Hit Sound est un mutator pour Unreal
Tournament 2003 qui produit un son quand vous avez tiré sur vôtre adversaire,
mais pas sur un coéquipier dans un jeu par équipe.
On a besoin d'un GameRules
pour accéder a la function NetDamage et la modifié.
Le mutator sert juste
pour faire apparaîttre dans le jeu le HitSoundGameRules et a l'ajouter a
la chaîne des GameRules du GameType comme pour le mutator
d'origine Vampire par exemple. (sans cette chaîne le GameType
prendrais en charge un seul GameRules et donc un seul mutator de ce type)
Mutator:
//===========================================
// Enemy Hit Sound
// created
by Crokx
// 18/07/2003 (dd/mm/yyyy)
//===========================================
class EnemyHitSound extends Mutator;
//=============================
//
Dés le début dans la partie
//=============================
function
PostBeginPlay()
{
local GameRules
GR;
Super.PostBeginPlay();
GR
= spawn(class'EnemyHitSoundGameRules');
if(Level.Game.GameRulesModifiers
== None)
Level.Game.GameRulesModifiers
= GR;
else Level.Game.GameRulesModifiers.AddGameRules(GR);
Destroy();
}
//=========
//
Default
//=========
defaultproperties
{
FriendlyName="Enemy
Hit
Sound"
Description="Enemy Hit Sound
by Crokx."
}
GameRules:
class EnemyHitSoundGameRules extends GameRules;
//===================================
//
Quand un joueur reçois des dégats
//===================================
function
int NetDamage(int OriginalDamage, int Damage,
pawn injured, pawn instigatedBy, vector HitLocation, out
vector Momentum, class<DamageType> DamageType)
{
if((instigatedBy != None)
&&
(instigatedBy != injured)
&&
(instigatedBy.Controller != None)
&&
(instigatedBy.Controller.IsA('PlayerController')))
{
if(Level.Game.bTeamGame)
{
if((injured.PlayerReplicationInfo
!= None)
&&
(injured.PlayerReplicationInfo.Team == None)
||
(instigatedBy.PlayerReplicationInfo != None)
&&
(instigatedBy.PlayerReplicationInfo.Team != injured.PlayerReplicationInfo.Team))
PlayerController(instigatedBy.Controller).ClientPlaySound(Sound'MyHitSound');
}
else
PlayerController(instigatedBy.Controller).ClientPlaySound(Sound'MyHitSound');
}
if(NextGameRules
!= None) return NextGameRules.NetDamage(OriginalDamage, Damage,
injured, instigatedBy, HitLocation, Momentum, DamageType);
return
Damage;
}
//=========
// Default
//=========
defaultproperties
{
}
Fichier INT:
[Public]
Object=(Class=Class, MetaClass=Engine.Mutator, Name=EnemyHitSound.EnemyHitSound)
Mutator:
Dés le début dans la partie:
Propriétés par défaults:
GameRules:
Quand un joueur reçois des dégats:
Note:
Le son MyHitSound n'exsite pas, vous devez
soit en ajoutez un ou soit en choisir un dans le navigateur des
sons.