wip
This commit is contained in:
88
MSKGS-SRV/Classes/CfgCredits.uc
Normal file
88
MSKGS-SRV/Classes/CfgCredits.uc
Normal file
@ -0,0 +1,88 @@
|
||||
class CfgCredits extends Object
|
||||
config(MSKGS)
|
||||
abstract;
|
||||
|
||||
var private config String OwnerId;
|
||||
var private config String GroupID;
|
||||
|
||||
public static function InitConfig(int Version, int LatestVersion, E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
switch (Version)
|
||||
{
|
||||
case `NO_CONFIG:
|
||||
ApplyDefault(LogLevel);
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
if (LatestVersion != Version)
|
||||
{
|
||||
StaticSaveConfig();
|
||||
}
|
||||
}
|
||||
|
||||
public static function Load(E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
}
|
||||
|
||||
public static function UniqueNetId LoadOwnerId(OnlineSubsystem OS, E_LogLevel LogLevel)
|
||||
{
|
||||
local UniqueNetId UID;
|
||||
|
||||
if (AnyToUID(OS, default.OwnerId, UID, LogLevel))
|
||||
{
|
||||
`Log_Debug("Loaded OwnerId:" @ default.OwnerId);
|
||||
}
|
||||
else
|
||||
{
|
||||
`Log_Warn("Can't load OwnerId:" @ default.OwnerId);
|
||||
}
|
||||
|
||||
return UID;
|
||||
}
|
||||
|
||||
public static function UniqueNetId LoadGroupID(OnlineSubsystem OS, E_LogLevel LogLevel)
|
||||
{
|
||||
local UniqueNetId UID;
|
||||
|
||||
if (AnyToUID(OS, default.GroupID, UID, LogLevel))
|
||||
{
|
||||
`Log_Debug("Loaded GroupID:" @ default.GroupID);
|
||||
}
|
||||
else
|
||||
{
|
||||
`Log_Warn("Can't load GroupID:" @ default.GroupID);
|
||||
}
|
||||
|
||||
return UID;
|
||||
}
|
||||
|
||||
protected static function ApplyDefault(E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
default.OwnerId = "76561198001617867";
|
||||
default.GroupID = "0x017000000223386E";
|
||||
}
|
||||
|
||||
private static function bool IsUID(String ID, E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
return (Locs(Left(ID, 2)) == "0x");
|
||||
}
|
||||
|
||||
private static function bool AnyToUID(OnlineSubsystem OS, String ID, out UniqueNetId UID, E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
return IsUID(ID, LogLevel) ? OS.StringToUniqueNetId(ID, UID) : OS.Int64ToUniqueNetId(ID, UID);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
|
||||
}
|
54
MSKGS-SRV/Classes/CfgLifespan.uc
Normal file
54
MSKGS-SRV/Classes/CfgLifespan.uc
Normal file
@ -0,0 +1,54 @@
|
||||
class CfgLifespan extends Object
|
||||
config(MSKGS)
|
||||
abstract;
|
||||
|
||||
var public config int Weap;
|
||||
var public config int Dosh;
|
||||
|
||||
public static function InitConfig(int Version, int LatestVersion, E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
switch (Version)
|
||||
{
|
||||
case `NO_CONFIG:
|
||||
ApplyDefault(LogLevel);
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
if (LatestVersion != Version)
|
||||
{
|
||||
StaticSaveConfig();
|
||||
}
|
||||
}
|
||||
|
||||
public static function Load(E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
if (default.Weap < 0)
|
||||
{
|
||||
`Log_Error("Weap" @ "(" $ default.Weap $ ")" @ "must be equal or greater than 0");
|
||||
default.Weap = 60 * 60;
|
||||
}
|
||||
|
||||
if (default.Dosh < 0)
|
||||
{
|
||||
`Log_Error("Dosh" @ "(" $ default.Dosh $ ")" @ "must be equal or greater than 0");
|
||||
default.Dosh = 60 * 5;
|
||||
}
|
||||
}
|
||||
|
||||
protected static function ApplyDefault(E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
default.Weap = 60 * 60; // 1 hour
|
||||
default.Dosh = 60 * 5; // 5 min
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
|
||||
}
|
57
MSKGS-SRV/Classes/CfgSpawnManager.uc
Normal file
57
MSKGS-SRV/Classes/CfgSpawnManager.uc
Normal file
@ -0,0 +1,57 @@
|
||||
class CfgSpawnManager extends Object
|
||||
config(MSKGS)
|
||||
abstract;
|
||||
|
||||
var public config Array<int> PerPlayerMaxMonsters;
|
||||
|
||||
public static function InitConfig(int Version, int LatestVersion, E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
switch (Version)
|
||||
{
|
||||
case `NO_CONFIG:
|
||||
ApplyDefault(LogLevel);
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
if (LatestVersion != Version)
|
||||
{
|
||||
StaticSaveConfig();
|
||||
}
|
||||
}
|
||||
|
||||
public static function Load(E_LogLevel LogLevel)
|
||||
{
|
||||
local int MM, PL;
|
||||
|
||||
`Log_TraceStatic();
|
||||
|
||||
foreach default.PerPlayerMaxMonsters(MM, PL)
|
||||
{
|
||||
if (MM <= 0)
|
||||
{
|
||||
`Log_Error("PerPlayerMaxMonsters[" $ PL $ "] =" @ MM @ "must be greater than 0");
|
||||
default.PerPlayerMaxMonsters[PL] = 32;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected static function ApplyDefault(E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
default.PerPlayerMaxMonsters.Length = 0;
|
||||
default.PerPlayerMaxMonsters.AddItem(12);
|
||||
default.PerPlayerMaxMonsters.AddItem(18);
|
||||
default.PerPlayerMaxMonsters.AddItem(24);
|
||||
default.PerPlayerMaxMonsters.AddItem(30);
|
||||
default.PerPlayerMaxMonsters.AddItem(34);
|
||||
default.PerPlayerMaxMonsters.AddItem(36);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
|
||||
}
|
42
MSKGS-SRV/Classes/CfgSrvRank.uc
Normal file
42
MSKGS-SRV/Classes/CfgSrvRank.uc
Normal file
@ -0,0 +1,42 @@
|
||||
class CfgSrvRank extends Object
|
||||
config(MSKGS)
|
||||
abstract;
|
||||
|
||||
var public config bool bCustom;
|
||||
var public config bool bUsesStats;
|
||||
|
||||
public static function InitConfig(int Version, int LatestVersion, E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
switch (Version)
|
||||
{
|
||||
case `NO_CONFIG:
|
||||
ApplyDefault(LogLevel);
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
if (LatestVersion != Version)
|
||||
{
|
||||
StaticSaveConfig();
|
||||
}
|
||||
}
|
||||
|
||||
public static function Load(E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
}
|
||||
|
||||
protected static function ApplyDefault(E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
default.bCustom = false;
|
||||
default.bUsesStats = true;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
|
||||
}
|
164
MSKGS-SRV/Classes/CfgXPBoost.uc
Normal file
164
MSKGS-SRV/Classes/CfgXPBoost.uc
Normal file
@ -0,0 +1,164 @@
|
||||
class CfgXPBoost extends Object
|
||||
config(MSKGS)
|
||||
abstract;
|
||||
|
||||
var public config int MaxBoost;
|
||||
|
||||
var public config int BoostOwner;
|
||||
var public config int BoostAdmin;
|
||||
var public config int BoostGroup;
|
||||
var public config int BoostPlayer;
|
||||
|
||||
var public config String HexColorOwner;
|
||||
var public config String HexColorAdmin;
|
||||
var public config String HexColorGroup;
|
||||
var public config String HexColorPlayer;
|
||||
var public config String HexColorLeave;
|
||||
|
||||
var public config int CheckGroupTimer;
|
||||
|
||||
public static function InitConfig(int Version, int LatestVersion, E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
switch (Version)
|
||||
{
|
||||
case `NO_CONFIG:
|
||||
ApplyDefault(LogLevel);
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
if (LatestVersion != Version)
|
||||
{
|
||||
StaticSaveConfig();
|
||||
}
|
||||
}
|
||||
|
||||
public static function Load(E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
if (default.MaxBoost < 0)
|
||||
{
|
||||
`Log_Error("MaxBoost" @ "(" $ default.MaxBoost $ ")" @ "must be equal or greater than 0");
|
||||
default.MaxBoost = 30;
|
||||
}
|
||||
|
||||
if (default.BoostOwner < 0)
|
||||
{
|
||||
`Log_Error("BoostOwner" @ "(" $ default.BoostOwner $ ")" @ "must be equal or greater than 0");
|
||||
default.BoostOwner = 30;
|
||||
}
|
||||
|
||||
if (default.BoostAdmin < 0)
|
||||
{
|
||||
`Log_Error("BoostAdmin" @ "(" $ default.BoostAdmin $ ")" @ "must be equal or greater than 0");
|
||||
default.BoostAdmin = 20;
|
||||
}
|
||||
|
||||
if (default.BoostGroup < 0)
|
||||
{
|
||||
`Log_Error("BoostGroup" @ "(" $ default.BoostGroup $ ")" @ "must be equal or greater than 0");
|
||||
default.BoostGroup = 10;
|
||||
}
|
||||
|
||||
if (default.BoostPlayer < 0)
|
||||
{
|
||||
`Log_Error("BoostPlayer" @ "(" $ default.BoostPlayer $ ")" @ "must be equal or greater than 0");
|
||||
default.BoostPlayer = 0;
|
||||
}
|
||||
|
||||
if (default.CheckGroupTimer < 0)
|
||||
{
|
||||
`Log_Error("CheckGroupTimer" @ "(" $ default.CheckGroupTimer $ ")" @ "must be equal or greater than 0");
|
||||
default.CheckGroupTimer = 10;
|
||||
}
|
||||
|
||||
if (!IsValidHexColor(default.HexColorOwner, LogLevel))
|
||||
{
|
||||
`Log_Error("HexColorOwner" @ "(" $ default.HexColorOwner $ ")" @ "is not valid hex color");
|
||||
}
|
||||
|
||||
if (!IsValidHexColor(default.HexColorAdmin, LogLevel))
|
||||
{
|
||||
`Log_Error("HexColorAdmin" @ "(" $ default.HexColorAdmin $ ")" @ "is not valid hex color");
|
||||
}
|
||||
|
||||
if (!IsValidHexColor(default.HexColorGroup, LogLevel))
|
||||
{
|
||||
`Log_Error("HexColorGroup" @ "(" $ default.HexColorGroup $ ")" @ "is not valid hex color");
|
||||
}
|
||||
|
||||
if (!IsValidHexColor(default.HexColorPlayer, LogLevel))
|
||||
{
|
||||
`Log_Error("HexColorPlayer" @ "(" $ default.HexColorPlayer $ ")" @ "is not valid hex color");
|
||||
}
|
||||
|
||||
if (!IsValidHexColor(default.HexColorLeave, LogLevel))
|
||||
{
|
||||
`Log_Error("HexColorLeave" @ "(" $ default.HexColorLeave $ ")" @ "is not valid hex color");
|
||||
}
|
||||
}
|
||||
|
||||
private static function ApplyDefault(E_LogLevel LogLevel)
|
||||
{
|
||||
`Log_TraceStatic();
|
||||
|
||||
default.MaxBoost = 100;
|
||||
|
||||
default.BoostOwner = 30;
|
||||
default.BoostAdmin = 20;
|
||||
default.BoostGroup = 10;
|
||||
default.BoostPlayer = 0;
|
||||
|
||||
default.HexColorOwner = "00FF00";
|
||||
default.HexColorAdmin = "00FF00";
|
||||
default.HexColorGroup = "00FF00";
|
||||
default.HexColorPlayer = "FFFFFF";
|
||||
default.HexColorLeave = "FF0000";
|
||||
|
||||
default.CheckGroupTimer = 10;
|
||||
}
|
||||
|
||||
private static function bool IsValidHexColor(String HexColor, E_LogLevel LogLevel)
|
||||
{
|
||||
local byte Index;
|
||||
|
||||
`Log_TraceStatic();
|
||||
|
||||
if (len(HexColor) != 6) return false;
|
||||
|
||||
HexColor = Locs(HexColor);
|
||||
|
||||
for (Index = 0; Index < 6; ++Index)
|
||||
{
|
||||
switch (Mid(HexColor, Index, 1))
|
||||
{
|
||||
case "0": break;
|
||||
case "1": break;
|
||||
case "2": break;
|
||||
case "3": break;
|
||||
case "4": break;
|
||||
case "5": break;
|
||||
case "6": break;
|
||||
case "7": break;
|
||||
case "8": break;
|
||||
case "9": break;
|
||||
case "a": break;
|
||||
case "b": break;
|
||||
case "c": break;
|
||||
case "d": break;
|
||||
case "e": break;
|
||||
case "f": break;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
|
||||
}
|
4
MSKGS-SRV/Classes/MSKGS-SRV.upkg
Normal file
4
MSKGS-SRV/Classes/MSKGS-SRV.upkg
Normal file
@ -0,0 +1,4 @@
|
||||
[Flags]
|
||||
AllowDownload=False
|
||||
ClientOptional=False
|
||||
ServerSideOnly=True
|
571
MSKGS-SRV/Classes/MSKGS.uc
Normal file
571
MSKGS-SRV/Classes/MSKGS.uc
Normal file
@ -0,0 +1,571 @@
|
||||
class MSKGS extends Info
|
||||
implements(IMSKGS)
|
||||
config(MSKGS);
|
||||
|
||||
const LatestVersion = 1;
|
||||
|
||||
const CfgCredits = class'CfgCredits';
|
||||
const CfgLifespan = class'CfgLifespan';
|
||||
const CfgSpawnManager = class'CfgSpawnManager';
|
||||
const CfgXPBoost = class'CfgXPBoost';
|
||||
const CfgSrvRank = class'CfgSrvRank';
|
||||
|
||||
const MSKGS_GameInfo = class'MSKGS_GameInfo';
|
||||
|
||||
struct ZedMap
|
||||
{
|
||||
var const class<KFPawn_Monster> Zed;
|
||||
var const class<KFPawn_Monster> Proxy;
|
||||
};
|
||||
|
||||
struct BoostMap
|
||||
{
|
||||
var const int BoostValue;
|
||||
var const Array<ZedMap> Zeds;
|
||||
};
|
||||
|
||||
var private Array<BoostMap> XPBoosts;
|
||||
var private Array<ZedMap> ZedProxies;
|
||||
|
||||
var private int XPBoost;
|
||||
var private bool XPNotifications;
|
||||
|
||||
var private config int Version;
|
||||
var private config E_LogLevel LogLevel;
|
||||
|
||||
var private OnlineSubsystem OS;
|
||||
var private KFGameInfo KFGI;
|
||||
var private KFGameReplicationInfo KFGRI;
|
||||
|
||||
var private Array<MSKGS_RepInfo> RepInfos;
|
||||
|
||||
var private UniqueNetId OwnerID;
|
||||
var private UniqueNetId GroupID;
|
||||
|
||||
public simulated function bool SafeDestroy()
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
return (bPendingDelete || bDeleteMe || Destroy());
|
||||
}
|
||||
|
||||
public event PreBeginPlay()
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
if (WorldInfo.NetMode == NM_Client)
|
||||
{
|
||||
`Log_Fatal("NetMode:" @ WorldInfo.NetMode);
|
||||
SafeDestroy();
|
||||
return;
|
||||
}
|
||||
|
||||
Super.PreBeginPlay();
|
||||
|
||||
PreInit();
|
||||
}
|
||||
|
||||
public event PostBeginPlay()
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
if (bPendingDelete || bDeleteMe) return;
|
||||
|
||||
Super.PostBeginPlay();
|
||||
|
||||
PostInit();
|
||||
}
|
||||
|
||||
private function PreInit()
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
if (Version == `NO_CONFIG)
|
||||
{
|
||||
LogLevel = LL_Info;
|
||||
SaveConfig();
|
||||
}
|
||||
|
||||
CfgCredits.static.InitConfig(Version, LatestVersion, LogLevel);
|
||||
CfgLifespan.static.InitConfig(Version, LatestVersion, LogLevel);
|
||||
CfgSpawnManager.static.InitConfig(Version, LatestVersion, LogLevel);
|
||||
CfgXPBoost.static.InitConfig(Version, LatestVersion, LogLevel);
|
||||
CfgSrvRank.static.InitConfig(Version, LatestVersion, LogLevel);
|
||||
|
||||
switch (Version)
|
||||
{
|
||||
case `NO_CONFIG:
|
||||
`Log_Info("Config created");
|
||||
|
||||
case MaxInt:
|
||||
`Log_Info("Config updated to version" @ LatestVersion);
|
||||
break;
|
||||
|
||||
case LatestVersion:
|
||||
`Log_Info("Config is up-to-date");
|
||||
break;
|
||||
|
||||
default:
|
||||
`Log_Warn("The config version is higher than the current version (are you using an old mutator?)");
|
||||
`Log_Warn("Config version is" @ Version @ "but current version is" @ LatestVersion);
|
||||
`Log_Warn("The config version will be changed to" @ LatestVersion);
|
||||
break;
|
||||
}
|
||||
|
||||
if (LatestVersion != Version)
|
||||
{
|
||||
Version = LatestVersion;
|
||||
SaveConfig();
|
||||
}
|
||||
|
||||
if (LogLevel == LL_WrongLevel)
|
||||
{
|
||||
LogLevel = LL_Info;
|
||||
`Log_Warn("Wrong 'LogLevel', return to default value");
|
||||
SaveConfig();
|
||||
}
|
||||
`Log_Base("LogLevel:" @ LogLevel);
|
||||
|
||||
CfgCredits.static.Load(LogLevel);
|
||||
CfgLifespan.static.Load(LogLevel);
|
||||
CfgSpawnManager.static.Load(LogLevel);
|
||||
CfgXPBoost.static.Load(LogLevel);
|
||||
CfgSrvRank.static.Load(LogLevel);
|
||||
|
||||
OS = class'GameEngine'.static.GetOnlineSubsystem();
|
||||
if (OS == None)
|
||||
{
|
||||
`Log_Fatal("Can't get online subsystem!");
|
||||
SafeDestroy();
|
||||
return;
|
||||
}
|
||||
|
||||
OwnerID = CfgCredits.static.LoadOwnerID(OS, LogLevel);
|
||||
GroupID = CfgCredits.static.LoadGroupID(OS, LogLevel);
|
||||
}
|
||||
|
||||
private function PostInit()
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
if (WorldInfo == None || WorldInfo.Game == None)
|
||||
{
|
||||
SetTimer(1.0f, false, nameof(PostInit));
|
||||
return;
|
||||
}
|
||||
|
||||
KFGI = KFGameInfo(WorldInfo.Game);
|
||||
if (KFGI == None)
|
||||
{
|
||||
`Log_Fatal("Incompatible gamemode:" @ WorldInfo.Game);
|
||||
SafeDestroy();
|
||||
return;
|
||||
}
|
||||
|
||||
if (KFGI.GameReplicationInfo == None)
|
||||
{
|
||||
SetTimer(1.0f, false, nameof(PostInit));
|
||||
return;
|
||||
}
|
||||
|
||||
KFGRI = KFGameReplicationInfo(KFGI.GameReplicationInfo);
|
||||
if (KFGRI == None)
|
||||
{
|
||||
`Log_Fatal("Incompatible Replication info:" @ KFGI.GameReplicationInfo);
|
||||
SafeDestroy();
|
||||
return;
|
||||
}
|
||||
|
||||
if (MSKGS_GM_Endless(KFGI) != None)
|
||||
{
|
||||
XPNotifications = true;
|
||||
MSKGS_GM_Endless(KFGI).MSKGS = Self;
|
||||
MSKGS_GM_Endless(KFGI).GI = new MSKGS_GameInfo;
|
||||
MSKGS_GM_Endless(KFGI).LogLevel = LogLevel;
|
||||
}
|
||||
else if (MSKGS_GM_Objective(KFGI) != None)
|
||||
{
|
||||
XPNotifications = (KFGI.GameDifficulty != 3);
|
||||
MSKGS_GM_Objective(KFGI).MSKGS = Self;
|
||||
MSKGS_GM_Objective(KFGI).GI = new MSKGS_GameInfo;
|
||||
MSKGS_GM_Objective(KFGI).LogLevel = LogLevel;
|
||||
}
|
||||
else if (MSKGS_GM_Survival(KFGI) != None)
|
||||
{
|
||||
XPNotifications = (KFGI.GameDifficulty != 3);
|
||||
MSKGS_GM_Survival(KFGI).MSKGS = Self;
|
||||
MSKGS_GM_Survival(KFGI).GI = new MSKGS_GameInfo;
|
||||
MSKGS_GM_Survival(KFGI).LogLevel = LogLevel;
|
||||
}
|
||||
else if (MSKGS_GM_VersusSurvival(KFGI) != None)
|
||||
{
|
||||
XPNotifications = false;
|
||||
MSKGS_GM_VersusSurvival(KFGI).MSKGS = Self;
|
||||
MSKGS_GM_VersusSurvival(KFGI).GI = new MSKGS_GameInfo;
|
||||
MSKGS_GM_VersusSurvival(KFGI).LogLevel = LogLevel;
|
||||
}
|
||||
else if (MSKGS_GM_WeeklySurvival(KFGI) != None)
|
||||
{
|
||||
XPNotifications = true;
|
||||
MSKGS_GM_WeeklySurvival(KFGI).MSKGS = Self;
|
||||
MSKGS_GM_WeeklySurvival(KFGI).GI = new MSKGS_GameInfo;
|
||||
MSKGS_GM_WeeklySurvival(KFGI).LogLevel = LogLevel;
|
||||
}
|
||||
|
||||
`Log_Info("GameInfo initialized:" @ KFGI);
|
||||
|
||||
KFGI.UpdateGameSettings();
|
||||
|
||||
ModifySpawnManager();
|
||||
|
||||
`Log_Info("Initialized");
|
||||
}
|
||||
|
||||
private function ModifySpawnManager()
|
||||
{
|
||||
local byte Difficulty, Players;
|
||||
|
||||
`Log_Trace();
|
||||
|
||||
if (KFGI.SpawnManager == None)
|
||||
{
|
||||
SetTimer(1.f, false, nameof(ModifySpawnManager));
|
||||
return;
|
||||
}
|
||||
|
||||
for (Difficulty = 0; Difficulty < KFGI.SpawnManager.PerDifficultyMaxMonsters.Length; Difficulty++)
|
||||
{
|
||||
for (Players = 0; Players < KFGI.SpawnManager.PerDifficultyMaxMonsters[Difficulty].MaxMonsters.Length; Players++)
|
||||
{
|
||||
KFGI.SpawnManager.PerDifficultyMaxMonsters[Difficulty].MaxMonsters[Players] = CfgSpawnManager.default.PerPlayerMaxMonsters[Players];
|
||||
}
|
||||
}
|
||||
|
||||
`Log_Info("SpawnManager modified");
|
||||
}
|
||||
|
||||
public function class<KFPawn_Monster> PickProxyZed(class<KFPawn_Monster> MonsterClass)
|
||||
{
|
||||
local int Index;
|
||||
|
||||
Index = ZedProxies.Find('Zed', MonsterClass);
|
||||
if (Index == INDEX_NONE)
|
||||
{
|
||||
`Log_Error("Can't find proxy for zed:" @ String(MonsterClass));
|
||||
return MonsterClass;
|
||||
}
|
||||
|
||||
`Log_Debug("Proxy Zed:" @ ZedProxies[Index].Proxy);
|
||||
|
||||
return ZedProxies[Index].Proxy;
|
||||
}
|
||||
|
||||
public function int GetXPBoost()
|
||||
{
|
||||
return XPBoost;
|
||||
}
|
||||
|
||||
public function bool GetXPNotifications()
|
||||
{
|
||||
return XPNotifications;
|
||||
}
|
||||
|
||||
public function E_LogLevel GetLogLevel()
|
||||
{
|
||||
return LogLevel;
|
||||
}
|
||||
|
||||
public function ModifyLifespan(Actor A)
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
if (KFDroppedPickup_Cash(A) != None)
|
||||
{
|
||||
if (CfgLifespan.default.Dosh != 0)
|
||||
{
|
||||
A.Lifespan = float(CfgLifespan.default.Dosh);
|
||||
}
|
||||
}
|
||||
else if (KFDroppedPickup(A) != None)
|
||||
{
|
||||
if (CfgLifespan.default.Weap != 0)
|
||||
{
|
||||
A.Lifespan = float(CfgLifespan.default.Weap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function SetMaxPlayers(int MaxPlayers)
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
if (MaxPlayers != INDEX_NONE)
|
||||
{
|
||||
KFGI.MaxPlayers = MaxPlayers;
|
||||
KFGI.MaxPlayersAllowed = MaxPlayers;
|
||||
}
|
||||
}
|
||||
|
||||
public function NotifyLogin(Controller C)
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
if (!CreateRepInfo(C))
|
||||
{
|
||||
`Log_Error("Can't create RepInfo for:" @ C @ (C == None ? "" : String(C.PlayerReplicationInfo)));
|
||||
}
|
||||
}
|
||||
|
||||
public function NotifyLogout(Controller C)
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
if (PlayerXPBoost(FindRepInfo(C)) > 0)
|
||||
{
|
||||
DecreaseXPBoost(C);
|
||||
}
|
||||
|
||||
if (!DestroyRepInfo(C))
|
||||
{
|
||||
`Log_Error("Can't destroy RepInfo of:" @ C);
|
||||
}
|
||||
}
|
||||
|
||||
public function bool CreateRepInfo(Controller C)
|
||||
{
|
||||
local MSKGS_RepInfo RepInfo;
|
||||
|
||||
`Log_Trace();
|
||||
|
||||
if (C == None || C.PlayerReplicationInfo == None) return false;
|
||||
|
||||
RepInfo = Spawn(class'MSKGS_RepInfo', C);
|
||||
|
||||
if (RepInfo == None) return false;
|
||||
|
||||
RepInfo.Init(
|
||||
LogLevel,
|
||||
Self,
|
||||
GroupID,
|
||||
CfgXPBoost.default.CheckGroupTimer,
|
||||
C.PlayerReplicationInfo.UniqueId == OwnerID);
|
||||
|
||||
RepInfos.AddItem(RepInfo);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function bool DestroyRepInfo(Controller C)
|
||||
{
|
||||
local MSKGS_RepInfo RepInfo;
|
||||
|
||||
`Log_Trace();
|
||||
|
||||
if (C == None) return false;
|
||||
|
||||
RepInfo = FindRepInfo(C);
|
||||
if (RepInfo != None)
|
||||
{
|
||||
RepInfo.SafeDestroy();
|
||||
RepInfos.RemoveItem(RepInfo);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function IncreaseXPBoost(KFPlayerController Booster)
|
||||
{
|
||||
local MSKGS_RepInfo BoosterRepInfo;
|
||||
local String HexColor;
|
||||
local int PlayerBoost;
|
||||
local String PlayerBoostStr;
|
||||
local String TotalBoostStr;
|
||||
local String BoosterName;
|
||||
|
||||
`Log_Trace();
|
||||
|
||||
UpdateXPBoost();
|
||||
KFGI.UpdateGameSettings();
|
||||
|
||||
BoosterRepInfo = FindRepInfo(Booster);
|
||||
TotalBoostStr = String(XPBoost);
|
||||
BoosterName = Booster.PlayerReplicationInfo.PlayerName;
|
||||
HexColor = PlayerHexColor(BoosterRepInfo);
|
||||
PlayerBoost = PlayerXPBoost(BoosterRepInfo);
|
||||
PlayerBoostStr = String(PlayerBoost);
|
||||
|
||||
if (XPBoost >= CfgXPBoost.default.MaxBoost)
|
||||
{
|
||||
BroadcastChatLocalized(
|
||||
MSKGS_PlayerGiveBoostToServerMax,
|
||||
HexColor,
|
||||
None,
|
||||
BoosterName,
|
||||
PlayerBoostStr,
|
||||
String(CfgXPBoost.default.MaxBoost));
|
||||
}
|
||||
else if (PlayerBoost == XPBoost)
|
||||
{
|
||||
BroadcastChatLocalized(
|
||||
MSKGS_PlayerGiveBoostToServerFirst,
|
||||
HexColor,
|
||||
None,
|
||||
BoosterName,
|
||||
TotalBoostStr);
|
||||
}
|
||||
else
|
||||
{
|
||||
BroadcastChatLocalized(
|
||||
MSKGS_PlayerGiveBoostToServer,
|
||||
HexColor,
|
||||
None,
|
||||
BoosterName,
|
||||
PlayerBoostStr,
|
||||
TotalBoostStr);
|
||||
}
|
||||
}
|
||||
|
||||
public function DecreaseXPBoost(Controller Booster)
|
||||
{
|
||||
local String HexColor;
|
||||
local String TotalBoost;
|
||||
local String BoosterName;
|
||||
|
||||
`Log_Trace();
|
||||
|
||||
UpdateXPBoost();
|
||||
KFGI.UpdateGameSettings();
|
||||
|
||||
HexColor = CfgXPBoost.default.HexColorLeave;
|
||||
BoosterName = Booster.PlayerReplicationInfo.PlayerName;
|
||||
TotalBoost = String(XPBoost);
|
||||
|
||||
if (XPBoost >= CfgXPBoost.default.MaxBoost)
|
||||
{
|
||||
BroadcastChatLocalized(
|
||||
MSKGS_BoosterLeaveServerMax,
|
||||
HexColor,
|
||||
Booster,
|
||||
BoosterName,
|
||||
String(CfgXPBoost.default.MaxBoost));
|
||||
}
|
||||
else if (XPBoost > 0)
|
||||
{
|
||||
BroadcastChatLocalized(
|
||||
MSKGS_BoosterLeaveServer,
|
||||
HexColor,
|
||||
Booster,
|
||||
BoosterName,
|
||||
TotalBoost);
|
||||
}
|
||||
else
|
||||
{
|
||||
BroadcastChatLocalized(
|
||||
MSKGS_BoosterLeaveServerNoBoost,
|
||||
HexColor,
|
||||
Booster,
|
||||
BoosterName);
|
||||
}
|
||||
}
|
||||
|
||||
private function BroadcastChatLocalized(E_MSKGS_LocalMessageType LMT, String HexColor, optional Controller Except = None, optional String String1, optional String String2, optional String String3)
|
||||
{
|
||||
local MSKGS_RepInfo RepInfo;
|
||||
|
||||
foreach RepInfos(RepInfo)
|
||||
{
|
||||
if (RepInfo.Owner != Except)
|
||||
{
|
||||
RepInfo.WriteToChatLocalized(
|
||||
LMT,
|
||||
HexColor,
|
||||
String1,
|
||||
String2,
|
||||
String3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function MSKGS_RepInfo FindRepInfo(Controller C)
|
||||
{
|
||||
local MSKGS_RepInfo RepInfo;
|
||||
|
||||
foreach RepInfos(RepInfo)
|
||||
if (RepInfo.Owner == C)
|
||||
break;
|
||||
|
||||
return RepInfo;
|
||||
}
|
||||
|
||||
public function UpdateXPBoost()
|
||||
{
|
||||
local MSKGS_RepInfo RepInfo;
|
||||
local int NextBoost;
|
||||
local int Index;
|
||||
|
||||
`Log_Trace();
|
||||
|
||||
NextBoost = 0;
|
||||
foreach RepInfos(RepInfo)
|
||||
{
|
||||
NextBoost += PlayerXPBoost(RepInfo);
|
||||
}
|
||||
|
||||
if (NextBoost > 0)
|
||||
{
|
||||
Index = XPBoosts.Find('BoostValue', NextBoost);
|
||||
if (Index == INDEX_NONE)
|
||||
{
|
||||
`Log_Error("Can't find boost proxy:" @ NextBoost);
|
||||
}
|
||||
else
|
||||
{
|
||||
ZedProxies = XPBoosts[Index].Zeds;
|
||||
}
|
||||
}
|
||||
|
||||
XPBoost = NextBoost;
|
||||
}
|
||||
|
||||
private function int PlayerXPBoost(MSKGS_RepInfo RepInfo)
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
if (RepInfo != None) switch (RepInfo.PlayerType())
|
||||
{
|
||||
case MSKGS_Owner: return CfgXPBoost.default.BoostOwner;
|
||||
case MSKGS_Admin: return CfgXPBoost.default.BoostAdmin;
|
||||
case MSKGS_Group: return CfgXPBoost.default.BoostGroup;
|
||||
}
|
||||
|
||||
return CfgXPBoost.default.BoostPlayer;
|
||||
}
|
||||
|
||||
private function String PlayerHexColor(MSKGS_RepInfo RepInfo)
|
||||
{
|
||||
`Log_Trace();
|
||||
|
||||
switch (RepInfo.PlayerType())
|
||||
{
|
||||
case MSKGS_Owner: return CfgXPBoost.default.HexColorOwner;
|
||||
case MSKGS_Admin: return CfgXPBoost.default.HexColorAdmin;
|
||||
case MSKGS_Group: return CfgXPBoost.default.HexColorGroup;
|
||||
}
|
||||
|
||||
return CfgXPBoost.default.HexColorPlayer;
|
||||
}
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPBoosts.Add({(
|
||||
BoostValue=10,
|
||||
Zeds[0]={(Zed=class'KFPawn_ZedBloat',Proxy=class'KFPawn_ZedBloat')},
|
||||
Zeds[1]={(Zed=class'KFPawn_ZedBloat',Proxy=class'KFPawn_ZedBloat')}
|
||||
)})
|
||||
XPBoosts.Add({(
|
||||
BoostValue=10,
|
||||
Zeds[0]={(Zed=class'KFPawn_ZedBloat',Proxy=class'KFPawn_ZedBloat')},
|
||||
Zeds[1]={(Zed=class'KFPawn_ZedBloat',Proxy=class'KFPawn_ZedBloat')}
|
||||
)})
|
||||
}
|
118
MSKGS-SRV/Classes/MSKGS_GameInfo.uc
Normal file
118
MSKGS-SRV/Classes/MSKGS_GameInfo.uc
Normal file
@ -0,0 +1,118 @@
|
||||
class MSKGS_GameInfo extends Object
|
||||
implements(IMSKGS_GameInfo);
|
||||
|
||||
const CfgXPBoost = class'CfgXPBoost';
|
||||
const CfgSrvRank = class'CfgSrvRank';
|
||||
|
||||
public static function UpdateGameSettings(KFGameInfo_Survival KFGI, string GameModeClass, IMSKGS MSKGS)
|
||||
{
|
||||
local name SessionName;
|
||||
local KFOnlineGameSettings KFGameSettings;
|
||||
local int NumHumanPlayers;
|
||||
local KFGameEngine KFEngine;
|
||||
local PlayerController PC;
|
||||
local E_LogLevel LogLevel;
|
||||
|
||||
LogLevel = (MSKGS == None ? LL_None : MSKGS.GetLogLevel());
|
||||
|
||||
`Log_TraceStatic();
|
||||
`Log_Debug("UpdateGameSettings");
|
||||
|
||||
if (KFGI.WorldInfo.NetMode == NM_DedicatedServer || KFGI.WorldInfo.NetMode == NM_ListenServer)
|
||||
{
|
||||
if (KFGI.GameInterface != None)
|
||||
{
|
||||
KFEngine = KFGameEngine(class'Engine'.static.GetEngine());
|
||||
|
||||
SessionName = KFGI.PlayerReplicationInfoClass.default.SessionName;
|
||||
|
||||
if (KFGI.PlayfabInter != None && KFGI.PlayfabInter.GetGameSettings() != None)
|
||||
{
|
||||
KFGameSettings = KFOnlineGameSettings(KFGI.PlayfabInter.GetGameSettings());
|
||||
KFGameSettings.bAvailableForTakeover = KFEngine.bAvailableForTakeover;
|
||||
}
|
||||
else
|
||||
{
|
||||
KFGameSettings = KFOnlineGameSettings(KFGI.GameInterface.GetGameSettings(SessionName));
|
||||
}
|
||||
|
||||
if (KFGameSettings != None)
|
||||
{
|
||||
KFGameSettings.Mode = KFGI.default.GameModes.Find('ClassNameAndPath', GameModeClass);
|
||||
KFGameSettings.Difficulty = KFGI.GameDifficulty;
|
||||
|
||||
if (KFGI.WaveNum == 0)
|
||||
{
|
||||
KFGameSettings.bInProgress = false;
|
||||
KFGameSettings.CurrentWave = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
KFGameSettings.bInProgress = true;
|
||||
KFGameSettings.CurrentWave = KFGI.WaveNum;
|
||||
}
|
||||
|
||||
if (KFGI.MyKFGRI != None)
|
||||
{
|
||||
KFGameSettings.NumWaves = KFGI.MyKFGRI.GetFinalWaveNum();
|
||||
KFGI.MyKFGRI.bCustom = CfgSrvRank.default.bCustom;
|
||||
}
|
||||
else
|
||||
{
|
||||
KFGameSettings.NumWaves = KFGI.WaveMax - 1;
|
||||
}
|
||||
|
||||
if (MSKGS == None || !MSKGS.GetXPNotifications() || MSKGS.GetXPBoost() <= 0)
|
||||
{
|
||||
KFGameSettings.OwningPlayerName = class'GameReplicationInfo'.default.ServerName;
|
||||
}
|
||||
else if (MSKGS.GetXPBoost() >= CfgXPBoost.default.MaxBoost)
|
||||
{
|
||||
KFGameSettings.OwningPlayerName = class'GameReplicationInfo'.default.ServerName $ " | +" $ CfgXPBoost.default.MaxBoost $ "% XP";
|
||||
}
|
||||
else
|
||||
{
|
||||
KFGameSettings.OwningPlayerName = class'GameReplicationInfo'.default.ServerName $ " | +" $ MSKGS.GetXPBoost() $ "% XP";
|
||||
}
|
||||
|
||||
KFGameSettings.NumPublicConnections = KFGI.MaxPlayersAllowed;
|
||||
KFGameSettings.bRequiresPassword = KFGI.RequiresPassword();
|
||||
KFGameSettings.bCustom = CfgSrvRank.default.bCustom;
|
||||
KFGameSettings.bUsesStats = CfgSrvRank.default.bUsesStats;
|
||||
KFGameSettings.NumSpectators = KFGI.NumSpectators;
|
||||
|
||||
if (KFGI.WorldInfo.IsConsoleDedicatedServer() || KFGI.WorldInfo.IsEOSDedicatedServer())
|
||||
{
|
||||
KFGameSettings.MapName = KFGI.WorldInfo.GetMapName(true);
|
||||
|
||||
foreach KFGI.WorldInfo.AllControllers(class'PlayerController', PC)
|
||||
if (PC.bIsPlayer
|
||||
&& PC.PlayerReplicationInfo != None
|
||||
&& !PC.PlayerReplicationInfo.bOnlySpectator
|
||||
&& !PC.PlayerReplicationInfo.bBot)
|
||||
NumHumanPlayers++;
|
||||
|
||||
KFGameSettings.NumOpenPublicConnections = KFGameSettings.NumPublicConnections - NumHumanPlayers;
|
||||
}
|
||||
|
||||
if (KFGI.PlayfabInter != None && KFGI.PlayfabInter.IsRegisteredWithPlayfab())
|
||||
{
|
||||
KFGI.PlayfabInter.ServerUpdateOnlineGame();
|
||||
if (KFGI.WorldInfo.IsEOSDedicatedServer())
|
||||
{
|
||||
KFGI.GameInterface.UpdateOnlineGame(SessionName, KFGameSettings, true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
KFGI.GameInterface.UpdateOnlineGame(SessionName, KFGameSettings, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
|
||||
}
|
81
MSKGS-SRV/Classes/MSKGS_Mut.uc
Normal file
81
MSKGS-SRV/Classes/MSKGS_Mut.uc
Normal file
@ -0,0 +1,81 @@
|
||||
class MSKGS_Mut extends KFMutator
|
||||
config(MSKGS);
|
||||
|
||||
var private MSKGS MSKGS;
|
||||
|
||||
public simulated function bool SafeDestroy()
|
||||
{
|
||||
return (bPendingDelete || bDeleteMe || Destroy());
|
||||
}
|
||||
|
||||
public event PreBeginPlay()
|
||||
{
|
||||
Super.PreBeginPlay();
|
||||
|
||||
if (WorldInfo.NetMode == NM_Client) return;
|
||||
|
||||
foreach WorldInfo.DynamicActors(class'MSKGS', MSKGS)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (MSKGS == None)
|
||||
{
|
||||
MSKGS = WorldInfo.Spawn(class'MSKGS');
|
||||
}
|
||||
|
||||
if (MSKGS == None)
|
||||
{
|
||||
`Log_Base("FATAL: Can't Spawn 'MSKGS'");
|
||||
SafeDestroy();
|
||||
}
|
||||
}
|
||||
|
||||
public function InitMutator(String Options, out String ErrorMessage)
|
||||
{
|
||||
Super.InitMutator(Options, ErrorMessage);
|
||||
|
||||
MSKGS.SetMaxPlayers(class'GameInfo'.static.GetIntOption(Options, "MaxPlayers", INDEX_NONE));
|
||||
}
|
||||
|
||||
public function AddMutator(Mutator Mut)
|
||||
{
|
||||
if (Mut == Self) return;
|
||||
|
||||
if (Mut.Class == Class)
|
||||
Mut.Destroy();
|
||||
else
|
||||
Super.AddMutator(Mut);
|
||||
}
|
||||
|
||||
public function bool CheckRelevance(Actor A)
|
||||
{
|
||||
local bool Relevance;
|
||||
|
||||
Relevance = Super.CheckRelevance(A);
|
||||
if (Relevance)
|
||||
{
|
||||
MSKGS.ModifyLifespan(A);
|
||||
}
|
||||
|
||||
return Relevance;
|
||||
}
|
||||
|
||||
public function NotifyLogin(Controller C)
|
||||
{
|
||||
MSKGS.NotifyLogin(C);
|
||||
|
||||
Super.NotifyLogin(C);
|
||||
}
|
||||
|
||||
public function NotifyLogout(Controller C)
|
||||
{
|
||||
MSKGS.NotifyLogout(C);
|
||||
|
||||
Super.NotifyLogout(C);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKingSubspawn_010 extends KFPawn_ZedBloatKingSubspawn;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=9 // 8
|
||||
XPValues(1)=11 // 10
|
||||
XPValues(2)=11 // 10
|
||||
XPValues(3)=11 // 10
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKingSubspawn_020 extends KFPawn_ZedBloatKingSubspawn;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=12 // 10
|
||||
XPValues(2)=12 // 10
|
||||
XPValues(3)=12 // 10
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKingSubspawn_030 extends KFPawn_ZedBloatKingSubspawn;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=13 // 10
|
||||
XPValues(2)=13 // 10
|
||||
XPValues(3)=13 // 10
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKingSubspawn_040 extends KFPawn_ZedBloatKingSubspawn;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=11 // 8
|
||||
XPValues(1)=14 // 10
|
||||
XPValues(2)=14 // 10
|
||||
XPValues(3)=14 // 10
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKingSubspawn_050 extends KFPawn_ZedBloatKingSubspawn;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=12 // 8
|
||||
XPValues(1)=15 // 10
|
||||
XPValues(2)=15 // 10
|
||||
XPValues(3)=15 // 10
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKingSubspawn_060 extends KFPawn_ZedBloatKingSubspawn;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=13 // 8
|
||||
XPValues(1)=16 // 10
|
||||
XPValues(2)=16 // 10
|
||||
XPValues(3)=16 // 10
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKingSubspawn_070 extends KFPawn_ZedBloatKingSubspawn;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=17 // 10
|
||||
XPValues(2)=17 // 10
|
||||
XPValues(3)=17 // 10
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKingSubspawn_080 extends KFPawn_ZedBloatKingSubspawn;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=18 // 10
|
||||
XPValues(2)=18 // 10
|
||||
XPValues(3)=18 // 10
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKingSubspawn_090 extends KFPawn_ZedBloatKingSubspawn;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=15 // 8
|
||||
XPValues(1)=19 // 10
|
||||
XPValues(2)=19 // 10
|
||||
XPValues(3)=19 // 10
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKingSubspawn_100 extends KFPawn_ZedBloatKingSubspawn;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=16 // 8
|
||||
XPValues(1)=20 // 10
|
||||
XPValues(2)=20 // 10
|
||||
XPValues(3)=20 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_010.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_010.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_010 extends KFPawn_ZedBloatKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=1420 // 1291
|
||||
XPValues(1)=1863 // 1694
|
||||
XPValues(2)=1969 // 1790
|
||||
XPValues(3)=2027 // 1843
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_020.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_020.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_020 extends KFPawn_ZedBloatKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=1549 // 1291
|
||||
XPValues(1)=2033 // 1694
|
||||
XPValues(2)=2148 // 1790
|
||||
XPValues(3)=2212 // 1843
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_030.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_030.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_030 extends KFPawn_ZedBloatKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=1678 // 1291
|
||||
XPValues(1)=2202 // 1694
|
||||
XPValues(2)=2327 // 1790
|
||||
XPValues(3)=2396 // 1843
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_040.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_040.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_040 extends KFPawn_ZedBloatKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=1807 // 1291
|
||||
XPValues(1)=2372 // 1694
|
||||
XPValues(2)=2506 // 1790
|
||||
XPValues(3)=2580 // 1843
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_050.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_050.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_050 extends KFPawn_ZedBloatKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=1936 // 1291
|
||||
XPValues(1)=2541 // 1694
|
||||
XPValues(2)=2685 // 1790
|
||||
XPValues(3)=2764 // 1843
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_060.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_060.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_060 extends KFPawn_ZedBloatKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=2066 // 1291
|
||||
XPValues(1)=2710 // 1694
|
||||
XPValues(2)=2864 // 1790
|
||||
XPValues(3)=2949 // 1843
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_070.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_070.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_070 extends KFPawn_ZedBloatKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=2195 // 1291
|
||||
XPValues(1)=2880 // 1694
|
||||
XPValues(2)=3043 // 1790
|
||||
XPValues(3)=3133 // 1843
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_080.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_080.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_080 extends KFPawn_ZedBloatKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=2324 // 1291
|
||||
XPValues(1)=3049 // 1694
|
||||
XPValues(2)=3222 // 1790
|
||||
XPValues(3)=3317 // 1843
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_090.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_090.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_090 extends KFPawn_ZedBloatKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=2453 // 1291
|
||||
XPValues(1)=3219 // 1694
|
||||
XPValues(2)=3401 // 1790
|
||||
XPValues(3)=3502 // 1843
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_100.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloatKing_100.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_100 extends KFPawn_ZedBloatKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=2582 // 1291
|
||||
XPValues(1)=3388 // 1694
|
||||
XPValues(2)=3580 // 1790
|
||||
XPValues(3)=3686 // 1843
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_010 extends KFPawn_ZedBloatKing_SantasWorkshop;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=1420 // 1291
|
||||
XPValues(1)=1863 // 1694
|
||||
XPValues(2)=1969 // 1790
|
||||
XPValues(3)=2027 // 1843
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_020 extends KFPawn_ZedBloatKing_SantasWorkshop;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=1549 // 1291
|
||||
XPValues(1)=2033 // 1694
|
||||
XPValues(2)=2148 // 1790
|
||||
XPValues(3)=2212 // 1843
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_030 extends KFPawn_ZedBloatKing_SantasWorkshop;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=1678 // 1291
|
||||
XPValues(1)=2202 // 1694
|
||||
XPValues(2)=2327 // 1790
|
||||
XPValues(3)=2396 // 1843
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_040 extends KFPawn_ZedBloatKing_SantasWorkshop;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=1807 // 1291
|
||||
XPValues(1)=2372 // 1694
|
||||
XPValues(2)=2506 // 1790
|
||||
XPValues(3)=2580 // 1843
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_050 extends KFPawn_ZedBloatKing_SantasWorkshop;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=1936 // 1291
|
||||
XPValues(1)=2541 // 1694
|
||||
XPValues(2)=2685 // 1790
|
||||
XPValues(3)=2764 // 1843
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_060 extends KFPawn_ZedBloatKing_SantasWorkshop;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=2066 // 1291
|
||||
XPValues(1)=2710 // 1694
|
||||
XPValues(2)=2864 // 1790
|
||||
XPValues(3)=2949 // 1843
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_070 extends KFPawn_ZedBloatKing_SantasWorkshop;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=2195 // 1291
|
||||
XPValues(1)=2880 // 1694
|
||||
XPValues(2)=3043 // 1790
|
||||
XPValues(3)=3133 // 1843
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_080 extends KFPawn_ZedBloatKing_SantasWorkshop;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=2324 // 1291
|
||||
XPValues(1)=3049 // 1694
|
||||
XPValues(2)=3222 // 1790
|
||||
XPValues(3)=3317 // 1843
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_090 extends KFPawn_ZedBloatKing_SantasWorkshop;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=2453 // 1291
|
||||
XPValues(1)=3219 // 1694
|
||||
XPValues(2)=3401 // 1790
|
||||
XPValues(3)=3502 // 1843
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_100 extends KFPawn_ZedBloatKing_SantasWorkshop;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=2582 // 1291
|
||||
XPValues(1)=3388 // 1694
|
||||
XPValues(2)=3580 // 1790
|
||||
XPValues(3)=3686 // 1843
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_010.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_010.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloat_010 extends KFPawn_ZedBloat;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=19 // 17
|
||||
XPValues(1)=24 // 22
|
||||
XPValues(2)=33 // 30
|
||||
XPValues(3)=37 // 34
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_020.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_020.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloat_020 extends KFPawn_ZedBloat;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=20 // 17
|
||||
XPValues(1)=26 // 22
|
||||
XPValues(2)=36 // 30
|
||||
XPValues(3)=41 // 34
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_030.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_030.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloat_030 extends KFPawn_ZedBloat;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=22 // 17
|
||||
XPValues(1)=29 // 22
|
||||
XPValues(2)=39 // 30
|
||||
XPValues(3)=44 // 34
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_040.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_040.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloat_040 extends KFPawn_ZedBloat;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=24 // 17
|
||||
XPValues(1)=31 // 22
|
||||
XPValues(2)=42 // 30
|
||||
XPValues(3)=48 // 34
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_050.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_050.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloat_050 extends KFPawn_ZedBloat;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=26 // 17
|
||||
XPValues(1)=33 // 22
|
||||
XPValues(2)=45 // 30
|
||||
XPValues(3)=51 // 34
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_060.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_060.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloat_060 extends KFPawn_ZedBloat;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=27 // 17
|
||||
XPValues(1)=35 // 22
|
||||
XPValues(2)=48 // 30
|
||||
XPValues(3)=54 // 34
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_070.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_070.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloat_070 extends KFPawn_ZedBloat;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=29 // 17
|
||||
XPValues(1)=37 // 22
|
||||
XPValues(2)=51 // 30
|
||||
XPValues(3)=58 // 34
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_080.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_080.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloat_080 extends KFPawn_ZedBloat;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=31 // 17
|
||||
XPValues(1)=40 // 22
|
||||
XPValues(2)=54 // 30
|
||||
XPValues(3)=61 // 34
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_090.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_090.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloat_090 extends KFPawn_ZedBloat;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=32 // 17
|
||||
XPValues(1)=42 // 22
|
||||
XPValues(2)=57 // 30
|
||||
XPValues(3)=65 // 34
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_100.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedBloat_100.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedBloat_100 extends KFPawn_ZedBloat;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=34 // 17
|
||||
XPValues(1)=44 // 22
|
||||
XPValues(2)=60 // 30
|
||||
XPValues(3)=68 // 34
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_010.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_010.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_AlphaKing_010 extends KFPawn_ZedClot_AlphaKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=9 // 8
|
||||
XPValues(1)=12 // 11
|
||||
XPValues(2)=12 // 11
|
||||
XPValues(3)=12 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_020.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_020.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_AlphaKing_020 extends KFPawn_ZedClot_AlphaKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=13 // 11
|
||||
XPValues(2)=13 // 11
|
||||
XPValues(3)=13 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_030.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_030.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_AlphaKing_030 extends KFPawn_ZedClot_AlphaKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=14 // 11
|
||||
XPValues(2)=14 // 11
|
||||
XPValues(3)=14 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_040.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_040.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_AlphaKing_040 extends KFPawn_ZedClot_AlphaKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=11 // 8
|
||||
XPValues(1)=15 // 11
|
||||
XPValues(2)=15 // 11
|
||||
XPValues(3)=15 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_050.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_050.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_AlphaKing_050 extends KFPawn_ZedClot_AlphaKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=12 // 8
|
||||
XPValues(1)=16 // 11
|
||||
XPValues(2)=16 // 11
|
||||
XPValues(3)=16 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_060.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_060.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_AlphaKing_060 extends KFPawn_ZedClot_AlphaKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=13 // 8
|
||||
XPValues(1)=18 // 11
|
||||
XPValues(2)=18 // 11
|
||||
XPValues(3)=18 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_070.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_070.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_AlphaKing_070 extends KFPawn_ZedClot_AlphaKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=19 // 11
|
||||
XPValues(2)=19 // 11
|
||||
XPValues(3)=19 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_080.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_080.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_AlphaKing_080 extends KFPawn_ZedClot_AlphaKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=20 // 11
|
||||
XPValues(2)=20 // 11
|
||||
XPValues(3)=20 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_090.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_090.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_AlphaKing_090 extends KFPawn_ZedClot_AlphaKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=15 // 8
|
||||
XPValues(1)=21 // 11
|
||||
XPValues(2)=21 // 11
|
||||
XPValues(3)=21 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_100.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_AlphaKing_100.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_AlphaKing_100 extends KFPawn_ZedClot_AlphaKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=16 // 8
|
||||
XPValues(1)=22 // 11
|
||||
XPValues(2)=22 // 11
|
||||
XPValues(3)=22 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_010.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_010.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Alpha_010 extends KFPawn_ZedClot;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=9 // 8
|
||||
XPValues(1)=12 // 11
|
||||
XPValues(2)=12 // 11
|
||||
XPValues(3)=12 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_020.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_020.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Alpha_020 extends KFPawn_ZedClot;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=13 // 11
|
||||
XPValues(2)=13 // 11
|
||||
XPValues(3)=13 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_030.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_030.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Alpha_030 extends KFPawn_ZedClot;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=14 // 11
|
||||
XPValues(2)=14 // 11
|
||||
XPValues(3)=14 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_040.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_040.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Alpha_040 extends KFPawn_ZedClot;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=11 // 8
|
||||
XPValues(1)=15 // 11
|
||||
XPValues(2)=15 // 11
|
||||
XPValues(3)=15 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_050.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_050.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Alpha_050 extends KFPawn_ZedClot;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=12 // 8
|
||||
XPValues(1)=16 // 11
|
||||
XPValues(2)=16 // 11
|
||||
XPValues(3)=16 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_060.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_060.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Alpha_060 extends KFPawn_ZedClot;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=13 // 8
|
||||
XPValues(1)=18 // 11
|
||||
XPValues(2)=18 // 11
|
||||
XPValues(3)=18 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_070.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_070.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Alpha_070 extends KFPawn_ZedClot;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=19 // 11
|
||||
XPValues(2)=19 // 11
|
||||
XPValues(3)=19 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_080.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_080.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Alpha_080 extends KFPawn_ZedClot;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=20 // 11
|
||||
XPValues(2)=20 // 11
|
||||
XPValues(3)=20 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_090.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_090.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Alpha_090 extends KFPawn_ZedClot;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=15 // 8
|
||||
XPValues(1)=21 // 11
|
||||
XPValues(2)=21 // 11
|
||||
XPValues(3)=21 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_100.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Alpha_100.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Alpha_100 extends KFPawn_ZedClot;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=16 // 8
|
||||
XPValues(1)=22 // 11
|
||||
XPValues(2)=22 // 11
|
||||
XPValues(3)=22 // 11
|
||||
}
|
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_010.uc
Normal file
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_010.uc
Normal file
@ -0,0 +1,11 @@
|
||||
class Proxy_KFPawn_ZedClot_Cyst_010 extends KFPawn_ZedClot_Cyst;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=9 // 8
|
||||
XPValues(1)=12 // 11
|
||||
XPValues(2)=12 // 11
|
||||
XPValues(3)=12 // 11
|
||||
}
|
||||
|
||||
|
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_020.uc
Normal file
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_020.uc
Normal file
@ -0,0 +1,11 @@
|
||||
class Proxy_KFPawn_ZedClot_Cyst_020 extends KFPawn_ZedClot_Cyst;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=13 // 11
|
||||
XPValues(2)=13 // 11
|
||||
XPValues(3)=13 // 11
|
||||
}
|
||||
|
||||
|
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_030.uc
Normal file
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_030.uc
Normal file
@ -0,0 +1,11 @@
|
||||
class Proxy_KFPawn_ZedClot_Cyst_030 extends KFPawn_ZedClot_Cyst;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=14 // 11
|
||||
XPValues(2)=14 // 11
|
||||
XPValues(3)=14 // 11
|
||||
}
|
||||
|
||||
|
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_040.uc
Normal file
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_040.uc
Normal file
@ -0,0 +1,11 @@
|
||||
class Proxy_KFPawn_ZedClot_Cyst_040 extends KFPawn_ZedClot_Cyst;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=11 // 8
|
||||
XPValues(1)=15 // 11
|
||||
XPValues(2)=15 // 11
|
||||
XPValues(3)=15 // 11
|
||||
}
|
||||
|
||||
|
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_050.uc
Normal file
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_050.uc
Normal file
@ -0,0 +1,11 @@
|
||||
class Proxy_KFPawn_ZedClot_Cyst_050 extends KFPawn_ZedClot_Cyst;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=12 // 8
|
||||
XPValues(1)=16 // 11
|
||||
XPValues(2)=16 // 11
|
||||
XPValues(3)=16 // 11
|
||||
}
|
||||
|
||||
|
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_060.uc
Normal file
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_060.uc
Normal file
@ -0,0 +1,11 @@
|
||||
class Proxy_KFPawn_ZedClot_Cyst_060 extends KFPawn_ZedClot_Cyst;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=13 // 8
|
||||
XPValues(1)=18 // 11
|
||||
XPValues(2)=18 // 11
|
||||
XPValues(3)=18 // 11
|
||||
}
|
||||
|
||||
|
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_070.uc
Normal file
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_070.uc
Normal file
@ -0,0 +1,11 @@
|
||||
class Proxy_KFPawn_ZedClot_Cyst_070 extends KFPawn_ZedClot_Cyst;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=19 // 11
|
||||
XPValues(2)=19 // 11
|
||||
XPValues(3)=19 // 11
|
||||
}
|
||||
|
||||
|
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_080.uc
Normal file
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_080.uc
Normal file
@ -0,0 +1,11 @@
|
||||
class Proxy_KFPawn_ZedClot_Cyst_080 extends KFPawn_ZedClot_Cyst;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=20 // 11
|
||||
XPValues(2)=20 // 11
|
||||
XPValues(3)=20 // 11
|
||||
}
|
||||
|
||||
|
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_090.uc
Normal file
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_090.uc
Normal file
@ -0,0 +1,11 @@
|
||||
class Proxy_KFPawn_ZedClot_Cyst_090 extends KFPawn_ZedClot_Cyst;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=15 // 8
|
||||
XPValues(1)=21 // 11
|
||||
XPValues(2)=21 // 11
|
||||
XPValues(3)=21 // 11
|
||||
}
|
||||
|
||||
|
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_100.uc
Normal file
11
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Cyst_100.uc
Normal file
@ -0,0 +1,11 @@
|
||||
class Proxy_KFPawn_ZedClot_Cyst_100 extends KFPawn_ZedClot_Cyst;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=16 // 8
|
||||
XPValues(1)=22 // 11
|
||||
XPValues(2)=22 // 11
|
||||
XPValues(3)=22 // 11
|
||||
}
|
||||
|
||||
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_010.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_010.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Slasher_010 extends KFPawn_ZedClot_Slasher;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=9 // 8
|
||||
XPValues(1)=12 // 11
|
||||
XPValues(2)=12 // 11
|
||||
XPValues(3)=12 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_020.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_020.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Slasher_020 extends KFPawn_ZedClot_Slasher;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=13 // 11
|
||||
XPValues(2)=13 // 11
|
||||
XPValues(3)=13 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_030.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_030.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Slasher_030 extends KFPawn_ZedClot_Slasher;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=14 // 11
|
||||
XPValues(2)=14 // 11
|
||||
XPValues(3)=14 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_040.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_040.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Slasher_040 extends KFPawn_ZedClot_Slasher;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=11 // 8
|
||||
XPValues(1)=15 // 11
|
||||
XPValues(2)=15 // 11
|
||||
XPValues(3)=15 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_050.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_050.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Slasher_050 extends KFPawn_ZedClot_Slasher;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=12 // 8
|
||||
XPValues(1)=16 // 11
|
||||
XPValues(2)=16 // 11
|
||||
XPValues(3)=16 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_060.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_060.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Slasher_060 extends KFPawn_ZedClot_Slasher;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=13 // 8
|
||||
XPValues(1)=18 // 11
|
||||
XPValues(2)=18 // 11
|
||||
XPValues(3)=18 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_070.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_070.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Slasher_070 extends KFPawn_ZedClot_Slasher;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=19 // 11
|
||||
XPValues(2)=19 // 11
|
||||
XPValues(3)=19 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_080.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_080.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Slasher_080 extends KFPawn_ZedClot_Slasher;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=20 // 11
|
||||
XPValues(2)=20 // 11
|
||||
XPValues(3)=20 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_090.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_090.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Slasher_090 extends KFPawn_ZedClot_Slasher;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=15 // 8
|
||||
XPValues(1)=21 // 11
|
||||
XPValues(2)=21 // 11
|
||||
XPValues(3)=21 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_100.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedClot_Slasher_100.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedClot_Slasher_100 extends KFPawn_ZedClot_Slasher;
|
||||
|
||||
DefaultProperties
|
||||
{
|
||||
XPValues(0)=16 // 8
|
||||
XPValues(1)=22 // 11
|
||||
XPValues(2)=22 // 11
|
||||
XPValues(3)=22 // 11
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_010.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_010.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawlerKing_010 extends KFPawn_ZedCrawlerKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=9 // 8
|
||||
XPValues(1)=11 // 10
|
||||
XPValues(2)=11 // 10
|
||||
XPValues(3)=11 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_020.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_020.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawlerKing_020 extends KFPawn_ZedCrawlerKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=12 // 10
|
||||
XPValues(2)=12 // 10
|
||||
XPValues(3)=12 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_030.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_030.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawlerKing_030 extends KFPawn_ZedCrawlerKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=10 // 8
|
||||
XPValues(1)=13 // 10
|
||||
XPValues(2)=13 // 10
|
||||
XPValues(3)=13 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_040.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_040.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawlerKing_040 extends KFPawn_ZedCrawlerKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=11 // 8
|
||||
XPValues(1)=14 // 10
|
||||
XPValues(2)=14 // 10
|
||||
XPValues(3)=14 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_050.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_050.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawlerKing_050 extends KFPawn_ZedCrawlerKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=12 // 8
|
||||
XPValues(1)=15 // 10
|
||||
XPValues(2)=15 // 10
|
||||
XPValues(3)=15 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_060.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_060.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawlerKing_060 extends KFPawn_ZedCrawlerKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=13 // 8
|
||||
XPValues(1)=16 // 10
|
||||
XPValues(2)=16 // 10
|
||||
XPValues(3)=16 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_070.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_070.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawlerKing_070 extends KFPawn_ZedCrawlerKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=17 // 10
|
||||
XPValues(2)=17 // 10
|
||||
XPValues(3)=17 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_080.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_080.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawlerKing_080 extends KFPawn_ZedCrawlerKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=14 // 8
|
||||
XPValues(1)=18 // 10
|
||||
XPValues(2)=18 // 10
|
||||
XPValues(3)=18 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_090.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_090.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawlerKing_090 extends KFPawn_ZedCrawlerKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=15 // 8
|
||||
XPValues(1)=19 // 10
|
||||
XPValues(2)=19 // 10
|
||||
XPValues(3)=19 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_100.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawlerKing_100.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawlerKing_100 extends KFPawn_ZedCrawlerKing;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=16 // 8
|
||||
XPValues(1)=20 // 10
|
||||
XPValues(2)=20 // 10
|
||||
XPValues(3)=20 // 10
|
||||
}
|
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawler_010.uc
Normal file
9
MSKGS-SRV/Classes/Proxy_KFPawn_ZedCrawler_010.uc
Normal file
@ -0,0 +1,9 @@
|
||||
class Proxy_KFPawn_ZedCrawler_010 extends KFPawn_ZedCrawler;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
XPValues(0)=9 // 8
|
||||
XPValues(1)=11 // 10
|
||||
XPValues(2)=11 // 10
|
||||
XPValues(3)=11 // 10
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user