//============================================================================= // KFPawnVoiceGroupEventData //============================================================================= // Class that contains information about how/when dialog can be used //============================================================================= // Killing Floor 2 // Copyright (C) 2015 Tripwire Interactive LLC // - Jeff Robinson //============================================================================= class KFPawnVoiceGroupEventData extends Object; `include(KFGame/KFGameDialog.uci) enum ECooldownCategory { ECC_Act, ECC_KillEnemy, ECC_DamEnemy, ECC_DamFriendly, ECC_SpotEnemy, ECC_Situ, ECC_Resp, ECC_TTime, ECC_HighZ }; struct DialogEventInfo { var int EventID; /** event priority (0 is lowest), higher priority events will interrupt lower priority events */ var byte Priority; /** Likelihood of being picked among events of the same priority */ var byte Weight; /** Likelihood of being played once picked */ var float Chance; /** how long before this event can be triggered again */ var float CoolDownTime; /** radius within which cooldowntime is enforced */ var float CoolDownRadius; /** delay before playing (can be used for responses to other dialog events) */ var float Delay; /** maximum distance for activation */ var float Radius; /** maximum FOV for activation */ var float FOV; /** whether this event can be played when the player is the only one alive or in the game */ var bool bCanPlayAlone; /** this event won't play if any event within CooldownRadius with the same CoolDownCategory is cooling-down */ var int CoolDownCategory; /** this event won't be replicated to all clients */ var bool bOnlyPlayLocally; /** this event will be sent to a client but won't be played if the client has the "Minimize Battle Chatter" checkbox checked */ var byte bCanBeMinimized; /** Whether this event can interrupt other events of the same priority */ var bool bCanInterruptEqualPriority; StructDefaultProperties { EventID=-1 Priority=0 Weight=1 Chance=0.5 CoolDownTime=3.0 CoolDownRadius=1000.0 Delay=0.0 Radius=1000 FOV=`FOV45 bCanPlayAlone=true CoolDownCategory=255 bOnlyPlayLocally=false bCanBeMinimized=1 bCanInterruptEqualPriority=false } }; /** Array of info for each piece of dialog */ var array< DialogEventInfo > Events;