Hardcoded classes removed #8

Merged
NikC- merged 8 commits from :zedtest4 into master 2022-01-21 20:40:09 +03:00
6 changed files with 11 additions and 159 deletions
Showing only changes of commit 68e9c264fe - Show all commits

View File

@ -487,19 +487,19 @@ simulated function ClientChangeWeapon(NiceWeapon newWeap){
}
// Validate that client is not hacking.
function bool CanBuyNow(){
function bool CanBuyNow()
{
local NicePlayerController niceController;
niceController = NicePlayerController(Controller);
if(niceController == none)
if (niceController == none)
return false;
if(NiceGameType(Level.Game) != none && NiceGameType(Level.Game).NicePackMutator != none
if (NiceGameType(Level.Game) != none && NiceGameType(Level.Game).NicePackMutator != none
&& NiceGameType(Level.Game).NicePackMutator.bIsPreGame)
return true;
if(NiceTSCGame(Level.Game) != none && NiceTSCGame(Level.Game).NicePackMutator != none
&& NiceTSCGame(Level.Game).NicePackMutator.bIsPreGame)
return true;
return Super.CanBuyNow();
}
// Overridden to not modify dual pistols' weapon group
function bool AddInventory(inventory NewItem){
local KFWeapon weap;

View File

@ -54,7 +54,6 @@ var int deadBodyCounter;
var ScrnBalance ScrnMut;
var ScrnGameType ScrnGT;
var NiceGameType NiceGT;
var NiceTSCGame NiceTSC;
var NicePack Mut;
var NiceRules GameRules;
var NiceStorageServer serverStorage;
@ -199,7 +198,6 @@ simulated function PostBeginPlay(){
// Find game type and ScrN mutator
ScrnGT = ScrnGameType(Level.Game);
NiceGT = NiceGameType(Level.Game);
NiceTSC = NiceTSCGame(Level.Game);
if(ScrnGT == none){
Log("ERROR: Wrong GameType (requires at least ScrnGameType)", Class.Outer.Name);
Destroy();
@ -209,8 +207,6 @@ simulated function PostBeginPlay(){
ScrnGT.LoginMenuClass = string(class'NiceInvasionLoginMenu');
if(NiceGT != none)
NiceGT.RegisterMutator(Self);
if(NiceTSC != none)
NiceTSC.RegisterMutator(Self);
ScrnMut = ScrnGT.ScrnBalanceMut;
if(bReplacePickups)
ScrnMut.bReplacePickups = false;

View File

@ -134,16 +134,17 @@ replication{
ServerSetHLMessages, ServerMarkSettingsLoaded, ServerStartleZeds, ServerSetDisplayCounters,
ServerSetDisplayWeaponProgress, ActivateAbility;
}
// Called on server only!
function PostLogin(){
function PostLogin()
{
local NicePack.PlayerRecord record;
local NiceGameType NiceGT;
local NiceTSCGame TSCGT;
local ScrnCustomPRI ScrnPRI;
Super.PostLogin();
// Restore data
NiceGT = NiceGameType(Level.Game);
TSCGT = NiceTSCGame(Level.Game);
ScrnPRI = class'ScrnCustomPRI'.static.FindMe(PlayerReplicationInfo);
if(ScrnPRI != none)
SteamID64 = ScrnPRI.GetSteamID64();
@ -167,6 +168,7 @@ function PostLogin(){
// Spawn ability manager
abilityManager = Spawn(class'NiceAbilityManager', self);
}
simulated function ClientPostLogin(){
local int i, j, k;
local bool bEntryExists;
@ -1465,7 +1467,6 @@ defaultproperties
effectsLimitSoft=100
effectsLimitHard=200
sirenScreamMod=1.000000
TSCLobbyMenuClassString="NicePack.NiceTSCLobbyMenu"
LobbyMenuClassString="NicePack.NiceLobbyMenu"
PawnClass=class'NiceHumanPawn'
}

View File

@ -1,111 +0,0 @@
class NiceTSCGame extends TSCGame;
// Copy-pasted from NiceGameType
var NicePack NicePackMutator;
function RegisterMutator(NicePack activePack){
NicePackMutator = activePack;
}
function SetupWave(){
Super.SetupWave();
// Event call
NicePackMutator.WaveStart();
}
function RestartPlayer(Controller aPlayer){
Super.RestartPlayer(aPlayer);
if(aPlayer.Pawn != none && NicePlayerController(aPlayer) != none)
NicePlayerController(aPlayer).PawnSpawned();
}
State MatchInProgress{
function BeginState(){
Super(Invasion).BeginState();
WaveNum = InitialWave;
InvasionGameReplicationInfo(GameReplicationInfo).WaveNumber = WaveNum;
if(NicePackMutator.bInitialTrader)
WaveCountDown = NicePackMutator.initialTraderTime + 10;
else
WaveCountDown = 10;
SetupPickups();
// Event call
NicePackMutator.MatchBegan();
}
function DoWaveEnd(){
Super.DoWaveEnd();
// Event call
NicePackMutator.TraderStart();
}
}
function DramaticEvent(float BaseZedTimePossibility, optional float DesiredZedTimeDuration){
local bool bWasZedTime;
bWasZedTime = bZEDTimeActive;
Super.DramaticEvent(BaseZedTimePossibility, DesiredZedTimeDuration);
// Call events
if(!bWasZedTime && bZEDTimeActive)
NicePackMutator.ZedTimeActivated();
}
event Tick(float DeltaTime){
local float TrueTimeFactor;
local Controller C;
if(bZEDTimeActive){
TrueTimeFactor = 1.1 / Level.TimeDilation;
CurrentZEDTimeDuration -= DeltaTime * TrueTimeFactor;
if(CurrentZEDTimeDuration < (ZEDTimeDuration*0.166) && CurrentZEDTimeDuration > 0 ){
if(!bSpeedingBackUp){
bSpeedingBackUp = true;
for(C = Level.ControllerList;C != none;C = C.NextController){
if(KFPlayerController(C)!= none)
KFPlayerController(C).ClientExitZedTime();
}
}
SetGameSpeed(Lerp( (CurrentZEDTimeDuration/(ZEDTimeDuration*0.166)), 1.0, 0.2 ));
}
if(CurrentZEDTimeDuration <= 0){
if(bZEDTimeActive)
NicePackMutator.ZedTimeDeactivated();
bZEDTimeActive = false;
bSpeedingBackUp = false;
SetGameSpeed(1.0);
ZedTimeExtensionsUsed = 0;
}
}
}
function Killed(Controller Killer, Controller Killed, Pawn KilledPawn, class<DamageType> dmgType){
local KFSteamStatsAndAchievements StatsAndAchievements;
Super.Killed(Killer, Killed, KilledPawn, dmgType);
if(PlayerController(Killer) != none){
if (NiceMonster(KilledPawn) != none && Killed != Killer){
StatsAndAchievements = KFSteamStatsAndAchievements(PlayerController(Killer).SteamStatsAndAchievements);
if(StatsAndAchievements != none){
if(KilledPawn.IsA('NiceZombieStalker') || KilledPawn.IsA('MeanZombieStalker')){
if(class<NiceDamTypeWinchester>(dmgType) != none)
StatsAndAchievements.AddStalkerKillWithLAR();
}
else if(KilledPawn.IsA('NiceZombieClot') || KilledPawn.IsA('MeanZombieClot')){
if(class<NiceDamTypeWinchester>(dmgType) != none)
KFSteamStatsAndAchievements(PlayerController(Killer).SteamStatsAndAchievements).AddClotKillWithLAR();
}
}
}
}
}
// Reloaded to award damage
function int ReduceDamage(int Damage, pawn injured, pawn instigatedBy, vector HitLocation, out vector Momentum, class<DamageType> DamageType){
local NiceMonster niceZed;
local KFPlayerController PC;
niceZed = NiceMonster(Injured);
if(niceZed != none){
if(instigatedBy != none){
PC = KFPlayerController(instigatedBy.Controller);
if(class<NiceWeaponDamageType>(damageType) != none && PC != none)
class<NiceWeaponDamageType>(damageType).Static.AwardNiceDamage(KFSteamStatsAndAchievements(PC.SteamStatsAndAchievements), Clamp(Damage, 1, Injured.Health), niceZed.scrnRules.HardcoreLevel);
}
}
return Super.ReduceDamage(Damage, injured, InstigatedBy, HitLocation, Momentum, DamageType);
}
defaultproperties
{
GameName="Nice Team Survival Competition"
Description="Nice Edition of Team Survival Competition (TSCGame)."
}

View File

@ -1,22 +0,0 @@
class NiceTSCLobbyFooter extends NiceLobbyFooter;
defaultproperties
{
Begin Object Class=GUIButton Name=ReadyButton
Caption="Ready"
MenuState=MSAT_Disabled
Hint="Click to indicate you are ready to play"
WinTop=0.966146
WinLeft=0.280000
WinWidth=0.120000
WinHeight=0.033203
RenderWeight=2.000000
TabOrder=4
bBoundToParent=True
bVisible=False
ToolTip=None
OnClick=TSCLobbyFooter.OnFooterClick
OnKeyEvent=ReadyButton.InternalOnKeyEvent
End Object
b_Ready=ReadyButton
}

View File

@ -1,12 +0,0 @@
class NiceTSCLobbyMenu extends TSCLobbyMenu;
defaultproperties
{
Begin Object Class=NiceTSCLobbyFooter Name=BuyFooter
RenderWeight=0.300000
TabOrder=8
bBoundToParent=False
bScaleToParent=False
OnPreDraw=BuyFooter.InternalOnPreDraw
End Object
t_Footer=BuyFooter
}