This commit is contained in:
GenZmeY 2022-08-17 16:47:53 +03:00
commit 71047248d0
1095 changed files with 8750 additions and 1708 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
testing.ini testing.ini
3rd-party-bin 3rd-party-bin
ignore

BIN
Localization/INT/MSKGS.int Normal file

Binary file not shown.

BIN
Localization/RUS/MSKGS.rus Normal file

Binary file not shown.

View 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
{
}

View 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
{
}

View 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
{
}

View File

@ -0,0 +1,44 @@
class CfgSrvRank extends Object
config(MSKGS)
abstract;
var public config bool bAuto;
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.bAuto = true;
default.bCustom = false;
default.bUsesStats = true;
}
defaultproperties
{
}

View 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
{
}

View File

@ -0,0 +1,4 @@
[Flags]
AllowDownload=False
ClientOptional=False
ServerSideOnly=True

1646
MSKGS-SRV/Classes/MSKGS.uc Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,138 @@
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,
bool bCustomGame,
bool bUsesStats)
{
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();
if (CfgSrvRank.default.bAuto)
{
KFGI.MyKFGRI.bCustom = bCustomGame;
}
else
{
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.NumSpectators = KFGI.NumSpectators;
if (CfgSrvRank.default.bAuto)
{
KFGameSettings.bCustom = bCustomGame;
KFGameSettings.bUsesStats = bUsesStats;
}
else
{
KFGameSettings.bCustom = CfgSrvRank.default.bCustom;
KFGameSettings.bUsesStats = CfgSrvRank.default.bUsesStats;
}
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
{
}

View 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
{
}

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKingSubspawn_010 extends KFPawn_ZedBloatKingSubspawn; class Proxy_KFPawn_ZedBloatKingSubspawn_010 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKingSubspawn_020 extends KFPawn_ZedBloatKingSubspawn; class Proxy_KFPawn_ZedBloatKingSubspawn_020 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKingSubspawn_030 extends KFPawn_ZedBloatKingSubspawn; class Proxy_KFPawn_ZedBloatKingSubspawn_030 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKingSubspawn_040 extends KFPawn_ZedBloatKingSubspawn; class Proxy_KFPawn_ZedBloatKingSubspawn_040 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKingSubspawn_050 extends KFPawn_ZedBloatKingSubspawn; class Proxy_KFPawn_ZedBloatKingSubspawn_050 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKingSubspawn_060 extends KFPawn_ZedBloatKingSubspawn; class Proxy_KFPawn_ZedBloatKingSubspawn_060 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKingSubspawn_070 extends KFPawn_ZedBloatKingSubspawn; class Proxy_KFPawn_ZedBloatKingSubspawn_070 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKingSubspawn_080 extends KFPawn_ZedBloatKingSubspawn; class Proxy_KFPawn_ZedBloatKingSubspawn_080 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKingSubspawn_090 extends KFPawn_ZedBloatKingSubspawn; class Proxy_KFPawn_ZedBloatKingSubspawn_090 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKingSubspawn_100 extends KFPawn_ZedBloatKingSubspawn; class Proxy_KFPawn_ZedBloatKingSubspawn_100 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties defaultproperties
{ {

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKingSubspawn_110 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties
{
XPValues(0)=17 // 8
XPValues(1)=21 // 10
XPValues(2)=21 // 10
XPValues(3)=21 // 10
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKingSubspawn_120 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties
{
XPValues(0)=18 // 8
XPValues(1)=22 // 10
XPValues(2)=22 // 10
XPValues(3)=22 // 10
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKingSubspawn_130 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties
{
XPValues(0)=18 // 8
XPValues(1)=23 // 10
XPValues(2)=23 // 10
XPValues(3)=23 // 10
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKingSubspawn_140 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties
{
XPValues(0)=19 // 8
XPValues(1)=24 // 10
XPValues(2)=24 // 10
XPValues(3)=24 // 10
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKingSubspawn_150 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties
{
XPValues(0)=20 // 8
XPValues(1)=25 // 10
XPValues(2)=25 // 10
XPValues(3)=25 // 10
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKingSubspawn_160 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties
{
XPValues(0)=21 // 8
XPValues(1)=26 // 10
XPValues(2)=26 // 10
XPValues(3)=26 // 10
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKingSubspawn_170 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties
{
XPValues(0)=22 // 8
XPValues(1)=27 // 10
XPValues(2)=27 // 10
XPValues(3)=27 // 10
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKingSubspawn_180 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties
{
XPValues(0)=22 // 8
XPValues(1)=28 // 10
XPValues(2)=28 // 10
XPValues(3)=28 // 10
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKingSubspawn_190 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties
{
XPValues(0)=23 // 8
XPValues(1)=29 // 10
XPValues(2)=29 // 10
XPValues(3)=29 // 10
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKingSubspawn_200 extends KFPawn_ZedBloatKingSubspawn;
defaultproperties
{
XPValues(0)=24 // 8
XPValues(1)=30 // 10
XPValues(2)=30 // 10
XPValues(3)=30 // 10
}

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_010 extends KFPawn_ZedBloatKing; class Proxy_KFPawn_ZedBloatKing_010 extends KFPawn_ZedBloatKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_020 extends KFPawn_ZedBloatKing; class Proxy_KFPawn_ZedBloatKing_020 extends KFPawn_ZedBloatKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_030 extends KFPawn_ZedBloatKing; class Proxy_KFPawn_ZedBloatKing_030 extends KFPawn_ZedBloatKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_040 extends KFPawn_ZedBloatKing; class Proxy_KFPawn_ZedBloatKing_040 extends KFPawn_ZedBloatKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_050 extends KFPawn_ZedBloatKing; class Proxy_KFPawn_ZedBloatKing_050 extends KFPawn_ZedBloatKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_060 extends KFPawn_ZedBloatKing; class Proxy_KFPawn_ZedBloatKing_060 extends KFPawn_ZedBloatKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_070 extends KFPawn_ZedBloatKing; class Proxy_KFPawn_ZedBloatKing_070 extends KFPawn_ZedBloatKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_080 extends KFPawn_ZedBloatKing; class Proxy_KFPawn_ZedBloatKing_080 extends KFPawn_ZedBloatKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_090 extends KFPawn_ZedBloatKing; class Proxy_KFPawn_ZedBloatKing_090 extends KFPawn_ZedBloatKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_100 extends KFPawn_ZedBloatKing; class Proxy_KFPawn_ZedBloatKing_100 extends KFPawn_ZedBloatKing;
defaultproperties defaultproperties
{ {

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_110 extends KFPawn_ZedBloatKing;
defaultproperties
{
XPValues(0)=2711 // 1291
XPValues(1)=3557 // 1694
XPValues(2)=3759 // 1790
XPValues(3)=3870 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_120 extends KFPawn_ZedBloatKing;
defaultproperties
{
XPValues(0)=2840 // 1291
XPValues(1)=3727 // 1694
XPValues(2)=3938 // 1790
XPValues(3)=4055 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_130 extends KFPawn_ZedBloatKing;
defaultproperties
{
XPValues(0)=2969 // 1291
XPValues(1)=3896 // 1694
XPValues(2)=4117 // 1790
XPValues(3)=4239 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_140 extends KFPawn_ZedBloatKing;
defaultproperties
{
XPValues(0)=3098 // 1291
XPValues(1)=4066 // 1694
XPValues(2)=4296 // 1790
XPValues(3)=4423 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_150 extends KFPawn_ZedBloatKing;
defaultproperties
{
XPValues(0)=3228 // 1291
XPValues(1)=4235 // 1694
XPValues(2)=4475 // 1790
XPValues(3)=4608 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_160 extends KFPawn_ZedBloatKing;
defaultproperties
{
XPValues(0)=3357 // 1291
XPValues(1)=4404 // 1694
XPValues(2)=4654 // 1790
XPValues(3)=4792 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_170 extends KFPawn_ZedBloatKing;
defaultproperties
{
XPValues(0)=3486 // 1291
XPValues(1)=4574 // 1694
XPValues(2)=4833 // 1790
XPValues(3)=4976 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_180 extends KFPawn_ZedBloatKing;
defaultproperties
{
XPValues(0)=3615 // 1291
XPValues(1)=4743 // 1694
XPValues(2)=5012 // 1790
XPValues(3)=5160 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_190 extends KFPawn_ZedBloatKing;
defaultproperties
{
XPValues(0)=3744 // 1291
XPValues(1)=4913 // 1694
XPValues(2)=5191 // 1790
XPValues(3)=5345 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_200 extends KFPawn_ZedBloatKing;
defaultproperties
{
XPValues(0)=3873 // 1291
XPValues(1)=5082 // 1694
XPValues(2)=5370 // 1790
XPValues(3)=5529 // 1843
}

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_SantasWorkshop_010 extends KFPawn_ZedBloatKing_SantasWorkshop; class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_010 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_SantasWorkshop_020 extends KFPawn_ZedBloatKing_SantasWorkshop; class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_020 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_SantasWorkshop_030 extends KFPawn_ZedBloatKing_SantasWorkshop; class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_030 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_SantasWorkshop_040 extends KFPawn_ZedBloatKing_SantasWorkshop; class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_040 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_SantasWorkshop_050 extends KFPawn_ZedBloatKing_SantasWorkshop; class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_050 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_SantasWorkshop_060 extends KFPawn_ZedBloatKing_SantasWorkshop; class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_060 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_SantasWorkshop_070 extends KFPawn_ZedBloatKing_SantasWorkshop; class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_070 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_SantasWorkshop_080 extends KFPawn_ZedBloatKing_SantasWorkshop; class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_080 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_SantasWorkshop_090 extends KFPawn_ZedBloatKing_SantasWorkshop; class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_090 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloatKing_SantasWorkshop_100 extends KFPawn_ZedBloatKing_SantasWorkshop; class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_100 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties defaultproperties
{ {

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_110 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties
{
XPValues(0)=2711 // 1291
XPValues(1)=3557 // 1694
XPValues(2)=3759 // 1790
XPValues(3)=3870 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_120 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties
{
XPValues(0)=2840 // 1291
XPValues(1)=3727 // 1694
XPValues(2)=3938 // 1790
XPValues(3)=4055 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_130 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties
{
XPValues(0)=2969 // 1291
XPValues(1)=3896 // 1694
XPValues(2)=4117 // 1790
XPValues(3)=4239 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_140 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties
{
XPValues(0)=3098 // 1291
XPValues(1)=4066 // 1694
XPValues(2)=4296 // 1790
XPValues(3)=4423 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_150 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties
{
XPValues(0)=3228 // 1291
XPValues(1)=4235 // 1694
XPValues(2)=4475 // 1790
XPValues(3)=4608 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_160 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties
{
XPValues(0)=3357 // 1291
XPValues(1)=4404 // 1694
XPValues(2)=4654 // 1790
XPValues(3)=4792 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_170 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties
{
XPValues(0)=3486 // 1291
XPValues(1)=4574 // 1694
XPValues(2)=4833 // 1790
XPValues(3)=4976 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_180 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties
{
XPValues(0)=3615 // 1291
XPValues(1)=4743 // 1694
XPValues(2)=5012 // 1790
XPValues(3)=5160 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_190 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties
{
XPValues(0)=3744 // 1291
XPValues(1)=4913 // 1694
XPValues(2)=5191 // 1790
XPValues(3)=5345 // 1843
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloatKing_SantasWorkshop_200 extends KFPawn_ZedBloatKing_SantasWorkshop;
defaultproperties
{
XPValues(0)=3873 // 1291
XPValues(1)=5082 // 1694
XPValues(2)=5370 // 1790
XPValues(3)=5529 // 1843
}

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloat_010 extends KFPawn_ZedBloat; class Proxy_KFPawn_ZedBloat_010 extends KFPawn_ZedBloat;
DefaultProperties DefaultProperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloat_020 extends KFPawn_ZedBloat; class Proxy_KFPawn_ZedBloat_020 extends KFPawn_ZedBloat;
DefaultProperties DefaultProperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloat_030 extends KFPawn_ZedBloat; class Proxy_KFPawn_ZedBloat_030 extends KFPawn_ZedBloat;
DefaultProperties DefaultProperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloat_040 extends KFPawn_ZedBloat; class Proxy_KFPawn_ZedBloat_040 extends KFPawn_ZedBloat;
DefaultProperties DefaultProperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloat_050 extends KFPawn_ZedBloat; class Proxy_KFPawn_ZedBloat_050 extends KFPawn_ZedBloat;
DefaultProperties DefaultProperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloat_060 extends KFPawn_ZedBloat; class Proxy_KFPawn_ZedBloat_060 extends KFPawn_ZedBloat;
DefaultProperties DefaultProperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloat_070 extends KFPawn_ZedBloat; class Proxy_KFPawn_ZedBloat_070 extends KFPawn_ZedBloat;
DefaultProperties DefaultProperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloat_080 extends KFPawn_ZedBloat; class Proxy_KFPawn_ZedBloat_080 extends KFPawn_ZedBloat;
DefaultProperties DefaultProperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloat_090 extends KFPawn_ZedBloat; class Proxy_KFPawn_ZedBloat_090 extends KFPawn_ZedBloat;
DefaultProperties DefaultProperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedBloat_100 extends KFPawn_ZedBloat; class Proxy_KFPawn_ZedBloat_100 extends KFPawn_ZedBloat;
DefaultProperties DefaultProperties
{ {

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloat_110 extends KFPawn_ZedBloat;
DefaultProperties
{
XPValues(0)=36 // 17
XPValues(1)=46 // 22
XPValues(2)=63 // 30
XPValues(3)=71 // 34
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloat_120 extends KFPawn_ZedBloat;
DefaultProperties
{
XPValues(0)=37 // 17
XPValues(1)=48 // 22
XPValues(2)=66 // 30
XPValues(3)=75 // 34
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloat_130 extends KFPawn_ZedBloat;
DefaultProperties
{
XPValues(0)=39 // 17
XPValues(1)=51 // 22
XPValues(2)=69 // 30
XPValues(3)=78 // 34
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloat_140 extends KFPawn_ZedBloat;
DefaultProperties
{
XPValues(0)=41 // 17
XPValues(1)=53 // 22
XPValues(2)=72 // 30
XPValues(3)=82 // 34
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloat_150 extends KFPawn_ZedBloat;
DefaultProperties
{
XPValues(0)=42 // 17
XPValues(1)=55 // 22
XPValues(2)=75 // 30
XPValues(3)=85 // 34
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloat_160 extends KFPawn_ZedBloat;
DefaultProperties
{
XPValues(0)=44 // 17
XPValues(1)=57 // 22
XPValues(2)=78 // 30
XPValues(3)=88 // 34
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloat_170 extends KFPawn_ZedBloat;
DefaultProperties
{
XPValues(0)=46 // 17
XPValues(1)=59 // 22
XPValues(2)=81 // 30
XPValues(3)=92 // 34
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloat_180 extends KFPawn_ZedBloat;
DefaultProperties
{
XPValues(0)=48 // 17
XPValues(1)=62 // 22
XPValues(2)=84 // 30
XPValues(3)=95 // 34
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloat_190 extends KFPawn_ZedBloat;
DefaultProperties
{
XPValues(0)=49 // 17
XPValues(1)=64 // 22
XPValues(2)=87 // 30
XPValues(3)=99 // 34
}

View File

@ -0,0 +1,9 @@
class Proxy_KFPawn_ZedBloat_200 extends KFPawn_ZedBloat;
DefaultProperties
{
XPValues(0)=51 // 17
XPValues(1)=66 // 22
XPValues(2)=90 // 30
XPValues(3)=102 // 34
}

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedClot_AlphaKing_010 extends KFPawn_ZedClot_AlphaKing; class Proxy_KFPawn_ZedClot_AlphaKing_010 extends KFPawn_ZedClot_AlphaKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedClot_AlphaKing_020 extends KFPawn_ZedClot_AlphaKing; class Proxy_KFPawn_ZedClot_AlphaKing_020 extends KFPawn_ZedClot_AlphaKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedClot_AlphaKing_030 extends KFPawn_ZedClot_AlphaKing; class Proxy_KFPawn_ZedClot_AlphaKing_030 extends KFPawn_ZedClot_AlphaKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedClot_AlphaKing_040 extends KFPawn_ZedClot_AlphaKing; class Proxy_KFPawn_ZedClot_AlphaKing_040 extends KFPawn_ZedClot_AlphaKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedClot_AlphaKing_050 extends KFPawn_ZedClot_AlphaKing; class Proxy_KFPawn_ZedClot_AlphaKing_050 extends KFPawn_ZedClot_AlphaKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedClot_AlphaKing_060 extends KFPawn_ZedClot_AlphaKing; class Proxy_KFPawn_ZedClot_AlphaKing_060 extends KFPawn_ZedClot_AlphaKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedClot_AlphaKing_070 extends KFPawn_ZedClot_AlphaKing; class Proxy_KFPawn_ZedClot_AlphaKing_070 extends KFPawn_ZedClot_AlphaKing;
defaultproperties defaultproperties
{ {

View File

@ -1,4 +1,4 @@
class KFPawnProxy_ZedClot_AlphaKing_080 extends KFPawn_ZedClot_AlphaKing; class Proxy_KFPawn_ZedClot_AlphaKing_080 extends KFPawn_ZedClot_AlphaKing;
defaultproperties defaultproperties
{ {

Some files were not shown because too many files have changed in this diff Show More