Prepare fixtures
This commit is contained in:
parent
797e5ea192
commit
9c94356263
6021 changed files with 722805 additions and 22 deletions
39
kf_sources/MutKillMessage/Classes/DamageMessage.uc
Normal file
39
kf_sources/MutKillMessage/Classes/DamageMessage.uc
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
Class DamageMessage extends NKillsMessage;
|
||||
|
||||
static function string GetString(
|
||||
optional int Switch,
|
||||
optional PlayerReplicationInfo RelatedPRI_1,
|
||||
optional PlayerReplicationInfo RelatedPRI_2,
|
||||
optional Object OptionalObject
|
||||
)
|
||||
{
|
||||
return GetNameOf(Class<Monster>(OptionalObject))@"-"$Switch@Default.KillString;
|
||||
}
|
||||
|
||||
// Fade color: Green (0-99 damage) > Yellow (100-499 damage) > Red (500-999 damage) > Dark Red (999+ damage).
|
||||
static function color GetColor(
|
||||
optional int Switch,
|
||||
optional PlayerReplicationInfo RelatedPRI_1,
|
||||
optional PlayerReplicationInfo RelatedPRI_2
|
||||
)
|
||||
{
|
||||
local color C;
|
||||
|
||||
C.A = 255;
|
||||
if( Switch<800 )
|
||||
{
|
||||
C.G = Clamp(512-Switch,0,255);
|
||||
C.R = Clamp((Switch * 2.5f),0,255);
|
||||
}
|
||||
else C.R = Clamp(1256-Switch,150,255);
|
||||
return C;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
KillString="HP"
|
||||
MessageShowTime=4.000000
|
||||
bDamageMessage=True
|
||||
PosY=0.650000
|
||||
FontSize=-2
|
||||
}
|
||||
44
kf_sources/MutKillMessage/Classes/KillsRules.uc
Normal file
44
kf_sources/MutKillMessage/Classes/KillsRules.uc
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
//=============================================================================
|
||||
// KillsRules.
|
||||
//=============================================================================
|
||||
class KillsRules extends GameRules;
|
||||
|
||||
function PostBeginPlay()
|
||||
{
|
||||
NextGameRules = Level.Game.GameRulesModifiers;
|
||||
Level.Game.GameRulesModifiers = Self;
|
||||
}
|
||||
|
||||
function ScoreKill(Controller Killer, Controller Killed)
|
||||
{
|
||||
local Controller C;
|
||||
|
||||
if( Class'MutKillMessage'.Default.bMessageKills && Killer.PlayerReplicationInfo!=None
|
||||
&& Killer.Pawn!=None && Monster(Killer.Pawn)==None && Monster(Killed.Pawn)!=None )
|
||||
{
|
||||
if( Class'MutKillMessage'.Default.MessageHealthLimit<=Killed.Pawn.Default.Health ||
|
||||
Class'MutKillMessage'.Default.MessageMassLimit<=Killed.Pawn.Default.Mass )
|
||||
{
|
||||
for( C=Level.ControllerList; C!=None; C=C.nextController )
|
||||
if( C.bIsPlayer && xPlayer(C)!=None )
|
||||
xPlayer(C).ReceiveLocalizedMessage(Class'NKillsMessage',1,Killer.PlayerReplicationInfo,,Killed.Pawn.Class);
|
||||
}
|
||||
else if( xPlayer(Killer)!=None )
|
||||
xPlayer(Killer).ReceiveLocalizedMessage(Class'NKillsMessage',,,,Killed.Pawn.Class);
|
||||
}
|
||||
Super.ScoreKill(Killer,Killed);
|
||||
}
|
||||
|
||||
function int NetDamage( int OriginalDamage, int Damage, pawn injured, pawn instigatedBy, vector HitLocation, out vector Momentum, class<DamageType> DamageType )
|
||||
{
|
||||
if ( NextGameRules != None )
|
||||
Damage = NextGameRules.NetDamage(OriginalDamage,Damage,injured,instigatedBy,HitLocation,Momentum,DamageType);
|
||||
if( Class'MutKillMessage'.Default.bMessageDamage && Damage>0 && Monster(injured)!=None && instigatedBy!=None && Monster(instigatedBy)==None
|
||||
&& xPlayer(instigatedBy.Controller)!=None )
|
||||
xPlayer(instigatedBy.Controller).ReceiveLocalizedMessage(Class'DamageMessage',Damage,,,injured.Class);
|
||||
return Damage;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
}
|
||||
47
kf_sources/MutKillMessage/Classes/MutKillMessage.uc
Normal file
47
kf_sources/MutKillMessage/Classes/MutKillMessage.uc
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
// Mutator created by Marco.
|
||||
Class MutKillMessage extends Mutator
|
||||
Config(MutKillMessage);
|
||||
|
||||
var() config int MessageHealthLimit,MessageMassLimit;
|
||||
var() config bool bMessageDamage,bMessageKills;
|
||||
|
||||
function PreBeginPlay()
|
||||
{
|
||||
Spawn(Class'KillsRules');
|
||||
AddToPackageMap();
|
||||
}
|
||||
|
||||
static function FillPlayInfo(PlayInfo PlayInfo)
|
||||
{
|
||||
Super.FillPlayInfo(PlayInfo);
|
||||
PlayInfo.AddSetting(default.RulesGroup, "MessageHealthLimit", "Message HP limit", 0, 1, "Text", "8;0:50000");
|
||||
PlayInfo.AddSetting(default.RulesGroup, "MessageMassLimit", "Message mass limit", 0, 1, "Text", "8;0:50000");
|
||||
PlayInfo.AddSetting(default.RulesGroup, "bMessageDamage","Message damage",0,1,"Check");
|
||||
PlayInfo.AddSetting(default.RulesGroup, "bMessageKills","Message kills",0,1,"Check");
|
||||
}
|
||||
static event string GetDescriptionText(string PropName)
|
||||
{
|
||||
switch(PropName)
|
||||
{
|
||||
case "MessageHealthLimit":
|
||||
return "Monster health limit of the killed monster to broadcast the kill.";
|
||||
case "MessageMassLimit":
|
||||
return "Monster mass limit of the killed monster to broadcast the kill.";
|
||||
case "bMessageDamage":
|
||||
return "Show the amount of damage messages on HUD.";
|
||||
case "bMessageKills":
|
||||
return "Show the kills messages on HUD.";
|
||||
}
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
MessageHealthLimit=1000
|
||||
MessageMassLimit=5000
|
||||
bMessageDamage=True
|
||||
bMessageKills=True
|
||||
GroupName="KF-MessageMut"
|
||||
FriendlyName="Kill/damage Messages"
|
||||
Description="Add zombie kill/damage messages on screen."
|
||||
LifeSpan=0.100000
|
||||
}
|
||||
99
kf_sources/MutKillMessage/Classes/NKillsMessage.uc
Normal file
99
kf_sources/MutKillMessage/Classes/NKillsMessage.uc
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
Class NKillsMessage extends LocalMessage;
|
||||
|
||||
var localized string KillString,KillsString;
|
||||
var localized float MessageShowTime;
|
||||
var bool bDamageMessage;
|
||||
|
||||
static final function string GetNameOf( class<Monster> M )
|
||||
{
|
||||
if( Len(M.Default.MenuName)==0 )
|
||||
return string(M.Name);
|
||||
return M.Default.MenuName;
|
||||
}
|
||||
|
||||
static function string GetString(
|
||||
optional int Switch,
|
||||
optional PlayerReplicationInfo RelatedPRI_1,
|
||||
optional PlayerReplicationInfo RelatedPRI_2,
|
||||
optional Object OptionalObject
|
||||
)
|
||||
{
|
||||
if( RelatedPRI_1==None )
|
||||
return "+"$(Switch+1)@GetNameOf(Class<Monster>(OptionalObject))@Eval(Switch==0,Default.KillString,Default.KillsString);
|
||||
return RelatedPRI_1.PlayerName@"+"$(Switch+1)@GetNameOf(Class<Monster>(OptionalObject))@Eval(Switch==0,Default.KillString,Default.KillsString);
|
||||
}
|
||||
|
||||
static function ClientReceive(
|
||||
PlayerController P,
|
||||
optional int Sw,
|
||||
optional PlayerReplicationInfo RelatedPRI_1,
|
||||
optional PlayerReplicationInfo RelatedPRI_2,
|
||||
optional Object OptionalObject
|
||||
)
|
||||
{
|
||||
local HudBase H;
|
||||
local byte i;
|
||||
|
||||
if( Class<Monster>(OptionalObject)==None || HudBase(P.myHud)==None || (!Default.bDamageMessage && RelatedPRI_1==None && Sw==1) )
|
||||
return;
|
||||
H = HudBase(P.myHud);
|
||||
if( HudKillingFloor(H)!=None )
|
||||
HudKillingFloor(H).bTallySpecimenKills = false;
|
||||
for( i=0; i<8; ++i )
|
||||
{
|
||||
if( H.LocalMessages[i].Message==Default.Class && H.LocalMessages[i].OptionalObject==OptionalObject && H.LocalMessages[i].RelatedPRI==RelatedPRI_1 )
|
||||
{
|
||||
if( Default.bDamageMessage )
|
||||
H.LocalMessages[i].Switch+=Sw;
|
||||
else ++H.LocalMessages[i].Switch;
|
||||
H.LocalMessages[i].DrawColor = GetColor(H.LocalMessages[i].Switch);
|
||||
H.LocalMessages[i].LifeTime = Default.MessageShowTime;
|
||||
H.LocalMessages[i].EndOfLife = Default.MessageShowTime + P.Level.TimeSeconds;
|
||||
H.LocalMessages[i].StringMessage = GetString(H.LocalMessages[i].Switch,RelatedPRI_1,,OptionalObject);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if( !Default.bDamageMessage )
|
||||
Sw = 0;
|
||||
if ( H!=None )
|
||||
H.LocalizedMessage(Default.Class,Sw,RelatedPRI_1,,OptionalObject);
|
||||
}
|
||||
|
||||
static function float GetLifeTime(int Switch)
|
||||
{
|
||||
return default.MessageShowTime;
|
||||
}
|
||||
|
||||
// Fade color: Green (0-3 frags) > Yellow (4-7 frags) > Red (8-12 frags) > Dark Red (13+ frags).
|
||||
static function color GetColor(
|
||||
optional int Switch,
|
||||
optional PlayerReplicationInfo RelatedPRI_1,
|
||||
optional PlayerReplicationInfo RelatedPRI_2
|
||||
)
|
||||
{
|
||||
local color C;
|
||||
|
||||
C.A = 255;
|
||||
if( Switch<10 )
|
||||
{
|
||||
C.G = Clamp(500-Switch*50,0,255);
|
||||
C.R = Clamp(0+Switch*50,0,255);
|
||||
}
|
||||
else C.R = Max(505-Switch*25,150);
|
||||
return C;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
KillString="kill"
|
||||
KillsString="kills"
|
||||
MessageShowTime=5.000000
|
||||
bIsConsoleMessage=False
|
||||
bFadeMessage=True
|
||||
DrawColor=(B=0,G=0,R=150)
|
||||
DrawPivot=DP_UpperLeft
|
||||
StackMode=SM_Down
|
||||
PosX=0.020000
|
||||
PosY=0.200000
|
||||
FontSize=-1
|
||||
}
|
||||
10
kf_sources/MutKillMessage/Classes/index.html
Normal file
10
kf_sources/MutKillMessage/Classes/index.html
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<html>
|
||||
<head><title>Index of /kf_sources/MutKillMessage/Classes/</title></head>
|
||||
<body>
|
||||
<h1>Index of /kf_sources/MutKillMessage/Classes/</h1><hr><pre><a href="../">../</a>
|
||||
<a href="DamageMessage.uc">DamageMessage.uc</a> 06-Oct-2019 10:30 939
|
||||
<a href="KillsRules.uc">KillsRules.uc</a> 06-Oct-2019 10:30 1817
|
||||
<a href="MutKillMessage.uc">MutKillMessage.uc</a> 06-Oct-2019 10:30 1530
|
||||
<a href="NKillsMessage.uc">NKillsMessage.uc</a> 06-Oct-2019 10:30 2930
|
||||
</pre><hr></body>
|
||||
</html>
|
||||
7
kf_sources/MutKillMessage/index.html
Normal file
7
kf_sources/MutKillMessage/index.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<html>
|
||||
<head><title>Index of /kf_sources/MutKillMessage/</title></head>
|
||||
<body>
|
||||
<h1>Index of /kf_sources/MutKillMessage/</h1><hr><pre><a href="../">../</a>
|
||||
<a href="Classes/">Classes/</a> 29-Jun-2025 19:43 -
|
||||
</pre><hr></body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue