1
0
KF2-Dev-Scripts/KFGame/Globals.uci

82 lines
3.9 KiB
Plaintext
Raw Normal View History

2020-12-13 15:01:13 +00:00
//=============================================================================
// KF Globals
//=============================================================================
// Script include file loaded by ProcessGlobalInclude. Not used often, but
// sometimes there aren't many options (e.g. sharing static array sizes)
//=============================================================================
// Killing Floor 2
// Copyright (C) 2015 Tripwire Interactive LLC
//=============================================================================
/** Same as cpp */
`define NAME_NONE ''
/** Difficulty setting consts, don't want to use arbitrary numbers all over the place */
`define DIFFICULTY_NORMAL 0.0
`define DIFFICULTY_HARD 1.0
`define DIFFICULTY_SUICIDAL 2.0
`define DIFFICULTY_HELLONEARTH 3.0
/** The maximum number of players allowed in a regular KF Game*/
`define KF_MAX_PLAYERS 6
`define KF_MAX_PLAYERS_VERSUS 12
/** The maximum number of skill tiers in each perk */
`define MAX_PERK_SKILLS 5
/** The maximum number of level available in each perk */
`define MAX_PERK_LEVEL 25
/** The maximum number of prestige level available in each perk */
`define MAX_PRESTIGE_LEVEL 5
/** The maximum number of simultaneous cosmetic attachments supported for a character */
`define MAX_COSMETIC_ATTACHMENTS 3
/** When the attachment mesh is none the value will be reflected at -1 */
`define CLEARED_ATTACHMENT_INDEX -1
/** Uncompression scale for PRI ping value used in every Unreal game */
`define PING_SCALE 4.f
`define IFX_NONE 0
`define IFX_LOW_HEALTH 200
`define IFX_NIGHTVISION 100
/** internal */
`define CheckDialogManager Role == ROLE_Authority && KFGameInfo(WorldInfo.Game) != none && KFGameInfo(WorldInfo.Game).DialogManager != none
`define CheckTraderDialogManager WorldInfo.NetMode != NM_DedicatedServer && KFGameReplicationInfo(WorldInfo.GRI) != none && KFGameReplicationInfo(WorldInfo.GRI).TraderDialogManager != none
/** Shortcut frequently used references */
`define GoreManager KFGoreManager(WorldInfo.MyGoreEffectManager)
`define LightPool KFLightPool(WorldInfo.MyLightPool)
`define DeferredWorkManager TWDeferredWorkManager(WorldInfo.DeferredWorkManager)
`define ImpactEffectManager KFImpactEffectManager(WorldInfo.MyImpactEffectManager)
`define DialogManager if( `CheckDialogManager ) KFGameInfo(WorldInfo.Game).DialogManager
`define TraderDialogManager if( `CheckTraderDialogManager ) KFGameReplicationInfo(WorldInfo.GRI).TraderDialogManager
`define TimerHelper class'WorldInfo'.static.GetWorldInfo().TimerHelper
/** This is a slick way to to do thing like: TimeSince(LastFoo) < Delta where the macro makes it a lot easier to read what the code is doing **/
`define RealTimeSince(Time) (WorldInfo.RealTimeSeconds - `Time)
/** This is used for classes which are object derived and do not have access to WorldInfo so we need to pass in the Actor to get a worldinfo **/
`define RealTimeSinceEx(Actor,Time) (`Actor.WorldInfo.RealTimeSeconds - `Time)
/** Helper function for the speedier FastTrace_PhysX */
`define FastTracePhysX(traceend,tracestart) class'KFGameEngine'.static.FastTrace_PhysX(`traceend, `tracestart)
/** Zed-time helper, halfway between normal time and full zedtime */
`define IsInZedTime(Actor) (`Actor.WorldInfo.TimeDilation < 1.f)
`define NotInZedTime(Actor) !`IsInZedTime(`Actor)
`define AnalyticsLog( arg ) if(WorldInfo.GRI != none && WorldInfo.GRI.GameClass.static.AllowAnalyticsLogging()) WorldInfo.TWLogEvent `arg
`define BalanceLog(tag,pri,text) if(class'KFGameInfo'.static.AllowBalanceLogging()) WorldInfo.LogGameBalance(`tag$","$`PRI.PlayerName$","$`text)
/** dev-only logs */
`if(`isdefined(ShippingPC))
`define QALog(text)
`else
`define QALog(text,cond) if(`cond) `log(GetFuncName()@`text,, 'QALog')
`endif
`define REMOVEMESOON_ServerTakeoverLog(text) `log("(TW TAKEOVER LOG)"@`text)
`define REMOVEMESOON_ZombieServerLog(text) `log("(TW ZOMBIE SERVER LOG)"@`text)