Browse Source

Change to use `UnrealAPI` from `_server`

master
Anton Tarasenko 2 years ago
parent
commit
ea148e9b14
  1. 8
      sources/FixAmmoSelling/FixAmmoSelling_Feature.uc
  2. 14
      sources/FixDoshSpam/FixDoshSpam_Feature.uc
  3. 22
      sources/FixDualiesCost/FixDualiesCost_Feature.uc
  4. 6
      sources/FixFFHack/FixFFHack_Feature.uc
  5. 12
      sources/FixInfiniteNades/FixInfiniteNades_Feature.uc
  6. 2
      sources/FixInventoryAbuse/FixInventoryAbuse_Feature.uc
  7. 29
      sources/FixLogSpam/SpamPickup/HelperPickup.uc
  8. 8
      sources/FixLogSpam/SpamTrader/HelperTrader.uc
  9. 12
      sources/FixPipes/FixPipes_Feature.uc
  10. 6
      sources/FixProjectileFF/FixProjectileFF_Feature.uc
  11. 14
      sources/FixSpectatorCrash/FixSpectatorCrash_Feature.uc
  12. 10
      sources/FixZedTimeLags/FixZedTimeLags_Feature.uc

8
sources/FixAmmoSelling/FixAmmoSelling_Feature.uc

@ -135,8 +135,8 @@ protected function OnEnabled()
local LevelInfo level; local LevelInfo level;
local KFWeapon nextWeapon; local KFWeapon nextWeapon;
local KFAmmoPickup nextPickup; local KFAmmoPickup nextPickup;
level = _.unreal.GetLevel(); level = _server.unreal.GetLevel();
_.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement; _server.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement;
// Find all abusable weapons // Find all abusable weapons
foreach level.DynamicActors(class'KFMod.KFWeapon', nextWeapon) { foreach level.DynamicActors(class'KFMod.KFWeapon', nextWeapon) {
FixWeapon(nextWeapon); FixWeapon(nextWeapon);
@ -154,8 +154,8 @@ protected function OnDisabled()
local AmmoPickupStalker nextStalker; local AmmoPickupStalker nextStalker;
local array<AmmoPickupStalker> stalkers; local array<AmmoPickupStalker> stalkers;
local array<WeaponRecord> registeredWeapons; local array<WeaponRecord> registeredWeapons;
level = _.unreal.GetLevel(); level = _server.unreal.GetLevel();
_.unreal.mutator.OnCheckReplacement(self).Disconnect(); _server.unreal.mutator.OnCheckReplacement(self).Disconnect();
registeredWeapons = FixAmmoSellingService(GetService()).registeredWeapons; registeredWeapons = FixAmmoSellingService(GetService()).registeredWeapons;
// Restore all the `pickupClass` variables we've changed. // Restore all the `pickupClass` variables we've changed.
for (i = 0; i < registeredWeapons.length; i += 1) for (i = 0; i < registeredWeapons.length; i += 1)

14
sources/FixDoshSpam/FixDoshSpam_Feature.uc

@ -100,14 +100,14 @@ protected function OnEnabled()
{ {
local LevelInfo level; local LevelInfo level;
local CashPickup nextCash; local CashPickup nextCash;
checkTimer = _.time.StartRealTimer(checkInterval, true); checkTimer = _server.time.StartRealTimer(checkInterval, true);
checkTimer.OnElapsed(self).connect = Tick; checkTimer.OnElapsed(self).connect = Tick;
_.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement; _server.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement;
level = _.unreal.GetLevel(); level = _server.unreal.GetLevel();
// Find all wads of cash laying around on the map, // Find all wads of cash laying around on the map,
// so that we could accordingly limit the cash spam. // so that we could accordingly limit the cash spam.
foreach level.DynamicActors(class'KFMod.CashPickup', nextCash) { foreach level.DynamicActors(class'KFMod.CashPickup', nextCash) {
wads[wads.length] = _.unreal.ActorRef(nextCash); wads[wads.length] = _server.unreal.ActorRef(nextCash);
} }
} }
@ -120,7 +120,7 @@ protected function OnDisabled()
} }
wads.length = 0; wads.length = 0;
currentContributors.length = 0; currentContributors.length = 0;
_.unreal.mutator.OnCheckReplacement(self).Disconnect(); _server.unreal.mutator.OnCheckReplacement(self).Disconnect();
checkTimer.FreeSelf(); checkTimer.FreeSelf();
} }
@ -220,7 +220,7 @@ public final function AddContribution(PlayerController player, CashPickup cash)
{ {
local int playerIndex; local int playerIndex;
local DoshStreamPerPlayer newStreamRecord; local DoshStreamPerPlayer newStreamRecord;
wads[wads.length] = _.unreal.ActorRef(cash); wads[wads.length] = _server.unreal.ActorRef(cash);
// Add contribution to player // Add contribution to player
playerIndex = GetContributorIndex(player); playerIndex = GetContributorIndex(player);
if (playerIndex >= 0) if (playerIndex >= 0)
@ -228,7 +228,7 @@ public final function AddContribution(PlayerController player, CashPickup cash)
currentContributors[playerIndex].contribution += 1.0; currentContributors[playerIndex].contribution += 1.0;
return; return;
} }
newStreamRecord.player = _.unreal.ActorRef(player); newStreamRecord.player = _server.unreal.ActorRef(player);
newStreamRecord.contribution = 1.0; newStreamRecord.contribution = 1.0;
currentContributors[currentContributors.length] = newStreamRecord; currentContributors[currentContributors.length] = newStreamRecord;
} }

22
sources/FixDualiesCost/FixDualiesCost_Feature.uc

@ -153,10 +153,10 @@ protected function OnEnabled()
{ {
local LevelInfo level; local LevelInfo level;
local KFWeapon nextWeapon; local KFWeapon nextWeapon;
_.unreal.OnTick(self).connect = Tick; _server.unreal.OnTick(self).connect = Tick;
_.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement; _server.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement;
_.unreal.gameRules.OnOverridePickupQuery(self).connect = PickupQuery; _server.unreal.gameRules.OnOverridePickupQuery(self).connect = PickupQuery;
level = _.unreal.GetLevel(); level = _server.unreal.GetLevel();
// Find all weapons, that spawned when this fix wasn't running. // Find all weapons, that spawned when this fix wasn't running.
foreach level.DynamicActors(class'KFMod.KFWeapon', nextWeapon) { foreach level.DynamicActors(class'KFMod.KFWeapon', nextWeapon) {
RegisterSinglePistol(nextWeapon, false); RegisterSinglePistol(nextWeapon, false);
@ -166,9 +166,9 @@ protected function OnEnabled()
protected function OnDisabled() protected function OnDisabled()
{ {
local int i; local int i;
_.unreal.OnTick(self).Disconnect(); _server.unreal.OnTick(self).Disconnect();
_.unreal.mutator.OnCheckReplacement(self).Disconnect(); _server.unreal.mutator.OnCheckReplacement(self).Disconnect();
_.unreal.gameRules.OnOverridePickupQuery(self).Disconnect(); _server.unreal.gameRules.OnOverridePickupQuery(self).Disconnect();
for (i = 0; i < storedValues.length; i += 1) for (i = 0; i < storedValues.length; i += 1)
{ {
storedValues[i].reference.FreeSelf(); storedValues[i].reference.FreeSelf();
@ -302,9 +302,9 @@ public final function RegisterSinglePistol(
if (singlePistol == none) return; if (singlePistol == none) return;
if (GetIndexAs(singlePistol, true) < 0) return; if (GetIndexAs(singlePistol, true) < 0) return;
newRecord.reference = _.unreal.ActorRef(singlePistol); newRecord.reference = _server.unreal.ActorRef(singlePistol);
newRecord.class = singlePistol.class; newRecord.class = singlePistol.class;
newRecord.owner = _.unreal.ActorRef(singlePistol.instigator); newRecord.owner = _server.unreal.ActorRef(singlePistol.instigator);
if (justSpawned) { if (justSpawned) {
newRecord.value = nextSellValue; newRecord.value = nextSellValue;
} }
@ -362,7 +362,7 @@ public final function FixCostAfterBuying(KFWeapon dualPistols)
// `dualPistols` will be the new pair of pistols, but it's value will // `dualPistols` will be the new pair of pistols, but it's value will
// get overwritten by vanilla's code after this function. // get overwritten by vanilla's code after this function.
// So we must add it to pending values to be changed later. // So we must add it to pending values to be changed later.
newPendingValue.weapon = _.unreal.ActorRef(dualPistols); newPendingValue.weapon = _server.unreal.ActorRef(dualPistols);
if (dualPistols.class == class'KFMod.Dualies') if (dualPistols.class == class'KFMod.Dualies')
{ {
// 9mm is an exception. // 9mm is an exception.
@ -417,7 +417,7 @@ public final function FixCostAfterPickUp(KFWeapon dualPistols)
if (storedValues[i].class != dualiesClasses[index].single) continue; if (storedValues[i].class != dualiesClasses[index].single) continue;
if (storedValues[i].owner.Get() != dualPistols.instigator) continue; if (storedValues[i].owner.Get() != dualPistols.instigator) continue;
newPendingValue.weapon = _.unreal.ActorRef(dualPistols); newPendingValue.weapon = _server.unreal.ActorRef(dualPistols);
newPendingValue.value = storedValues[i].value + nextSellValue; newPendingValue.value = storedValues[i].value + nextSellValue;
pendingValues[pendingValues.length] = newPendingValue; pendingValues[pendingValues.length] = newPendingValue;
break; break;

6
sources/FixFFHack/FixFFHack_Feature.uc

@ -59,12 +59,12 @@ var private /*config*/ array< class<DamageType> > neverScale;
protected function OnEnabled() protected function OnEnabled()
{ {
_.unreal.gameRules.OnNetDamage(self).connect = NetDamage; _server.unreal.gameRules.OnNetDamage(self).connect = NetDamage;
} }
protected function OnDisabled() protected function OnDisabled()
{ {
_.unreal.gameRules.OnNetDamage(self).Disconnect(); _server.unreal.gameRules.OnNetDamage(self).Disconnect();
} }
protected function SwapConfig(FeatureConfig config) protected function SwapConfig(FeatureConfig config)
@ -99,7 +99,7 @@ function int NetDamage(
{ {
// Remove pushback to avoid environmental kills // Remove pushback to avoid environmental kills
momentum = Vect(0.0, 0.0, 0.0); momentum = Vect(0.0, 0.0, 0.0);
damage *= _.unreal.GetKFGameType().friendlyFireScale; damage *= _server.unreal.GetKFGameType().friendlyFireScale;
} }
} }
return damage; return damage;

12
sources/FixInfiniteNades/FixInfiniteNades_Feature.uc

@ -67,9 +67,9 @@ protected function OnEnabled()
{ {
local Frag nextFrag; local Frag nextFrag;
local LevelInfo level; local LevelInfo level;
level = _.unreal.GetLevel(); level = _server.unreal.GetLevel();
_.unreal.OnTick(self).connect = Tick; _server.unreal.OnTick(self).connect = Tick;
_.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement; _server.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement;
shuttingDown = false; shuttingDown = false;
// Find all frags, that spawned when this fix wasn't running. // Find all frags, that spawned when this fix wasn't running.
foreach level.DynamicActors(class'KFMod.Frag', nextFrag) { foreach level.DynamicActors(class'KFMod.Frag', nextFrag) {
@ -80,8 +80,8 @@ protected function OnEnabled()
protected function OnDisabled() protected function OnDisabled()
{ {
_.unreal.OnTick(self).Disconnect(); _server.unreal.OnTick(self).Disconnect();
_.unreal.mutator.OnCheckReplacement(self).Disconnect(); _server.unreal.mutator.OnCheckReplacement(self).Disconnect();
shuttingDown = true; shuttingDown = true;
RecreateFrags(); RecreateFrags();
ammoRecords.length = 0; ammoRecords.length = 0;
@ -198,7 +198,7 @@ public final function RegisterFrag(Frag newFrag)
index = GetAmmoIndex(newFrag); index = GetAmmoIndex(newFrag);
if (index >= 0) return; if (index >= 0) return;
newRecord.fragReference = _.unreal.ActorRef(newFrag); newRecord.fragReference = _server.unreal.ActorRef(newFrag);
newRecord.amount = GetFragAmmo(newFrag); newRecord.amount = GetFragAmmo(newFrag);
ammoRecords[ammoRecords.length] = newRecord; ammoRecords[ammoRecords.length] = newRecord;
} }

2
sources/FixInventoryAbuse/FixInventoryAbuse_Feature.uc

@ -53,7 +53,7 @@ protected function OnEnabled()
if (actualInterval <= 0) { if (actualInterval <= 0) {
actualInterval = 0.25; actualInterval = 0.25;
} }
checkTimer = _.time.StartTimer(actualInterval, true); checkTimer = _server.time.StartTimer(actualInterval, true);
checkTimer.OnElapsed(self).connect = Timer; checkTimer.OnElapsed(self).connect = Timer;
} }

29
sources/FixLogSpam/SpamPickup/HelperPickup.uc

@ -87,20 +87,22 @@ protected function Constructor()
} }
// To detect when player tries to pick something up // To detect when player tries to pick something up
// (and force additional pickup fix update) // (and force additional pickup fix update)
_.unreal.gameRules.OnOverridePickupQuery(self).connect = PickupQuery; _server.unreal.gameRules.OnOverridePickupQuery(self).connect = PickupQuery;
// To detect newly spawned pickups // To detect newly spawned pickups
_.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement; _server.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement;
// For updating pickups as soon as possible // For updating pickups as soon as possible
_.unreal.OnTick(self).connect = Tick; _server.unreal.OnTick(self).connect = Tick;
// Find all `KFWeaponPickup`s laying around on the map, // Find all `KFWeaponPickup`s laying around on the map,
// so that we can fix preexisting ones too. // so that we can fix preexisting ones too.
// But add them to pending list in a freaky case this `HealperPickup` // But add them to pending list in a freaky case this `HealperPickup`
// was created during one's initialization. This will give it time to // was created during one's initialization. This will give it time to
// set up variables that distinguish dropped pickup from another // set up variables that distinguish dropped pickup from another
// kind of pickup. // kind of pickup.
level = _.unreal.GetLevel(); level = _server.unreal.GetLevel();
foreach level.DynamicActors(class'KFMod.KFWeaponPickup', nextPickup) { foreach level.DynamicActors(class'KFMod.KFWeaponPickup', nextPickup)
pendingPickups[pendingPickups.length] = _.unreal.ActorRef(nextPickup); {
pendingPickups[pendingPickups.length] =
_server.unreal.ActorRef(nextPickup);
} }
} }
@ -119,9 +121,9 @@ protected function Finalizer()
_.memory.FreeMany(pendingPickups); _.memory.FreeMany(pendingPickups);
recordedPickups.length = 0; recordedPickups.length = 0;
pendingPickups.length = 0; pendingPickups.length = 0;
_.unreal.gameRules.OnOverridePickupQuery(self).Disconnect(); _server.unreal.gameRules.OnOverridePickupQuery(self).Disconnect();
_.unreal.mutator.OnCheckReplacement(self).Disconnect(); _server.unreal.mutator.OnCheckReplacement(self).Disconnect();
_.unreal.OnTick(self).Disconnect(); _server.unreal.OnTick(self).Disconnect();
} }
function bool PickupQuery( function bool PickupQuery(
@ -209,10 +211,13 @@ public final function HandlePickup(KFWeaponPickup newPickup)
if (newPickup.instigator != none) if (newPickup.instigator != none)
{ {
newPickup.Disable('Destroyed'); newPickup.Disable('Destroyed');
recordedPickups[recordedPickups.length] = _.unreal.ActorRef(newPickup); recordedPickups[recordedPickups.length] =
_server.unreal.ActorRef(newPickup);
} }
else { else
pendingPickups[pendingPickups.length] = _.unreal.ActorRef(newPickup); {
pendingPickups[pendingPickups.length] =
_server.unreal.ActorRef(newPickup);
} }
} }

8
sources/FixLogSpam/SpamTrader/HelperTrader.uc

@ -63,7 +63,7 @@ protected function Constructor()
local LevelInfo level; local LevelInfo level;
local ShopVolume nextShop; local ShopVolume nextShop;
local WeaponLocker replacementLocker; local WeaponLocker replacementLocker;
level = _.unreal.GetLevel(); level = _server.unreal.GetLevel();
// Get locker // Get locker
replacementLocker = SpawnDummyWeaponLocker(); replacementLocker = SpawnDummyWeaponLocker();
if (replacementLocker == none) { if (replacementLocker == none) {
@ -81,7 +81,7 @@ protected function Constructor()
if (nextShop == none) continue; if (nextShop == none) continue;
if (nextShop.myTrader != none) continue; if (nextShop.myTrader != none) continue;
nextShop.myTrader = replacementLocker; nextShop.myTrader = replacementLocker;
fixedShops[fixedShops.length] = _.unreal.ActorRef(nextShop); fixedShops[fixedShops.length] = _server.unreal.ActorRef(nextShop);
} }
} }
@ -133,7 +133,7 @@ private final function WeaponLocker SpawnDummyWeaponLocker()
lockerInstance.SetDrawType(DT_None); lockerInstance.SetDrawType(DT_None);
lockerInstance.SetCollision(false); lockerInstance.SetCollision(false);
} }
dummyLocker = _.unreal.ActorRef(lockerInstance); dummyLocker = _server.unreal.ActorRef(lockerInstance);
return lockerInstance; return lockerInstance;
} }
@ -141,7 +141,7 @@ private final function WeaponLocker FindExistingWeaponLocker()
{ {
local LevelInfo level; local LevelInfo level;
local WeaponLocker nextLocker; local WeaponLocker nextLocker;
level = _.unreal.GetLevel(); level = _server.unreal.GetLevel();
foreach level.DynamicActors(class'KFMod.WeaponLocker', nextLocker) foreach level.DynamicActors(class'KFMod.WeaponLocker', nextLocker)
{ {
if (nextLocker != none) { if (nextLocker != none) {

12
sources/FixPipes/FixPipes_Feature.uc

@ -130,13 +130,13 @@ protected function OnEnabled()
local PipeBombProjectile nextPipe; local PipeBombProjectile nextPipe;
pipesRelevancyFlag = class'PipeBombProjectile'.default.bAlwaysRelevant; pipesRelevancyFlag = class'PipeBombProjectile'.default.bAlwaysRelevant;
class'PipeBombProjectile'.default.bGameRelevant = false; class'PipeBombProjectile'.default.bGameRelevant = false;
_.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement; _server.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement;
// Set cleanup timer, there is little point to making // Set cleanup timer, there is little point to making
// clean up interval configurable. // clean up interval configurable.
cleanupTimer = _.time.StartTimer(5.0, true); cleanupTimer = _server.time.StartTimer(5.0, true);
cleanupTimer.OnElapsed(self).connect = CleanPipeRecords; cleanupTimer.OnElapsed(self).connect = CleanPipeRecords;
// Fix pipes that are already lying about on the map // Fix pipes that are already lying about on the map
level = _.unreal.GetLevel(); level = _server.unreal.GetLevel();
foreach level.DynamicActors(class'KFMod.PipeBombProjectile', nextPipe) { foreach level.DynamicActors(class'KFMod.PipeBombProjectile', nextPipe) {
RegisterPipe(nextPipe); RegisterPipe(nextPipe);
} }
@ -146,7 +146,7 @@ protected function OnDisabled()
{ {
local int i; local int i;
class'PipeBombProjectile'.default.bGameRelevant = pipesRelevancyFlag; class'PipeBombProjectile'.default.bGameRelevant = pipesRelevancyFlag;
_.unreal.mutator.OnCheckReplacement(self).Disconnect(); _server.unreal.mutator.OnCheckReplacement(self).Disconnect();
cleanupTimer.FreeSelf(); cleanupTimer.FreeSelf();
for (i = 0; i < pipeRecords.length; i += 1) { for (i = 0; i < pipeRecords.length; i += 1) {
ReleasePipe(pipeRecords[i]); ReleasePipe(pipeRecords[i]);
@ -200,12 +200,12 @@ public final function RegisterPipe(PipeBombProjectile newPipe)
return; return;
} }
} }
newRecord.pipe = _.unreal.ActorRef(newPipe); newRecord.pipe = _server.unreal.ActorRef(newPipe);
// Setup `PipesSafetyCollision` for catching `TakeDamage()` events // Setup `PipesSafetyCollision` for catching `TakeDamage()` events
// (only if we need to according to settings) // (only if we need to according to settings)
if (NeedSafetyCollision()) if (NeedSafetyCollision())
{ {
newRecord.safetyCollision = _.unreal.ActorRef( newRecord.safetyCollision = _server.unreal.ActorRef(
class'PipesSafetyCollision'.static.ProtectPipes(newPipe)); class'PipesSafetyCollision'.static.ProtectPipes(newPipe));
} }
pipeRecords[pipeRecords.length] = newRecord; pipeRecords[pipeRecords.length] = newRecord;

6
sources/FixProjectileFF/FixProjectileFF_Feature.uc

@ -97,7 +97,7 @@ protected function OnEnabled()
rules[i].relevancyFlag = rules[i].vulnerableClass.default.bGameRelevant; rules[i].relevancyFlag = rules[i].vulnerableClass.default.bGameRelevant;
rules[i].vulnerableClass.default.bGameRelevant = false; rules[i].vulnerableClass.default.bGameRelevant = false;
} }
_.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement; _server.unreal.mutator.OnCheckReplacement(self).connect = CheckReplacement;
} }
protected function OnDisabled() protected function OnDisabled()
@ -109,7 +109,7 @@ protected function OnDisabled()
if (rules[i].protectedClass == none) continue; if (rules[i].protectedClass == none) continue;
rules[i].vulnerableClass.default.bGameRelevant = rules[i].relevancyFlag; rules[i].vulnerableClass.default.bGameRelevant = rules[i].relevancyFlag;
} }
_.unreal.mutator.OnCheckReplacement(self).Disconnect(); _server.unreal.mutator.OnCheckReplacement(self).Disconnect();
} }
protected function SwapConfig(FeatureConfig config) protected function SwapConfig(FeatureConfig config)
@ -291,7 +291,7 @@ public static final function bool IsFriendlyFireAcceptable()
if (default.ignoreFriendlyFire) { if (default.ignoreFriendlyFire) {
return false; return false;
} }
return __().unreal.GetKFGameType().friendlyFireScale > 0; return __server().unreal.GetKFGameType().friendlyFireScale > 0;
} }
defaultproperties defaultproperties

14
sources/FixSpectatorCrash/FixSpectatorCrash_Feature.uc

@ -102,14 +102,14 @@ var private const int becomeSpectatorID;
protected function OnEnabled() protected function OnEnabled()
{ {
_.unreal.OnTick(self).connect = Tick; _server.unreal.OnTick(self).connect = Tick;
_.unreal.broadcasts.OnHandleLocalized(self).connect = HandleLocalized; _server.unreal.broadcasts.OnHandleLocalized(self).connect = HandleLocalized;
} }
protected function OnDisabled() protected function OnDisabled()
{ {
_.unreal.OnTick(self).Disconnect(); _server.unreal.OnTick(self).Disconnect();
_.unreal.broadcasts.OnHandleLocalized(self).Disconnect(); _server.unreal.broadcasts.OnHandleLocalized(self).Disconnect();
} }
protected function SwapConfig(FeatureConfig config) protected function SwapConfig(FeatureConfig config)
@ -207,7 +207,7 @@ public final function NotifyStatusChange(PlayerController player)
// or didn't recently change their status (put them on cooldown). // or didn't recently change their status (put them on cooldown).
else if (!IsViolator(player)) else if (!IsViolator(player))
{ {
newRecord.player = _.unreal.ActorRef(player); newRecord.player = _server.unreal.ActorRef(player);
newRecord.cooldown = spectatorChangeTimeout; newRecord.cooldown = spectatorChangeTimeout;
currentCooldowns[currentCooldowns.length] = newRecord; currentCooldowns[currentCooldowns.length] = newRecord;
} }
@ -223,7 +223,7 @@ private final function SetBlock(bool activateBlock)
if (activateBlock == becomingActiveBlocked) return; if (activateBlock == becomingActiveBlocked) return;
// Actually block/unblock // Actually block/unblock
kfGameType = _.unreal.GetKFGameType(); kfGameType = _server.unreal.GetKFGameType();
becomingActiveBlocked = activateBlock; becomingActiveBlocked = activateBlock;
if (activateBlock) if (activateBlock)
{ {
@ -296,7 +296,7 @@ private final function int GetRealPlayers()
// (difference will be equal to the amount of faked players). // (difference will be equal to the amount of faked players).
private final function int GetNumPlayersMod() private final function int GetNumPlayersMod()
{ {
return _.unreal.GetKFGameType().numPlayers - GetRealPlayers(); return _server.unreal.GetKFGameType().numPlayers - GetRealPlayers();
} }
private final function ReduceCooldowns(float timePassed) private final function ReduceCooldowns(float timePassed)

10
sources/FixZedTimeLags/FixZedTimeLags_Feature.uc

@ -66,17 +66,17 @@ var private float updateCooldown;
protected function OnEnabled() protected function OnEnabled()
{ {
if (disableTick) { if (disableTick) {
_.unreal.GetGameType().Disable('Tick'); _server.unreal.GetGameType().Disable('Tick');
} }
_.unreal.OnTick(self).connect = Tick; _server.unreal.OnTick(self).connect = Tick;
} }
protected function OnDisabled() protected function OnDisabled()
{ {
if (disableTick) { if (disableTick) {
_.unreal.GetGameType().Enable('Tick'); _server.unreal.GetGameType().Enable('Tick');
} }
_.unreal.OnTick(self).Disconnect(); _server.unreal.OnTick(self).Disconnect();
} }
protected function SwapConfig(FeatureConfig config) protected function SwapConfig(FeatureConfig config)
@ -94,7 +94,7 @@ private function Tick(float delta, float timeDilationCoefficient)
{ {
local KFGameType gameType; local KFGameType gameType;
local float trueTimePassed; local float trueTimePassed;
gameType = _.unreal.GetKFGameType(); gameType = _server.unreal.GetKFGameType();
if (!gameType.bZEDTimeActive) return; if (!gameType.bZEDTimeActive) return;
// Unfortunately we need to keep disabling `Tick()` probe function, // Unfortunately we need to keep disabling `Tick()` probe function,
// because it constantly gets enabled back and I don't know where // because it constantly gets enabled back and I don't know where

Loading…
Cancel
Save