54 lines
2.6 KiB
Plaintext
54 lines
2.6 KiB
Plaintext
//=============================================================================
|
|
// MatchStats
|
|
//=============================================================================
|
|
// Contains ID for weapons to be recorded in the AAR (EphemeralMatchStats)
|
|
//=============================================================================
|
|
// Killing Floor 2
|
|
// Copyright (C) 2015 Tripwire Interactive LLC
|
|
// - Zane Gholson
|
|
//=============================================================================
|
|
/**
|
|
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
|
*/
|
|
|
|
// Global gameplay stat defines
|
|
|
|
`if(`isdefined(INCLUDE_MATCH_STATS_EVENT))
|
|
|
|
const MATCH_EVENT_HEADSHOT = 0;
|
|
|
|
const MATCH_EVENT_DOSH_EARNED = 1;
|
|
|
|
const MATCH_EVENT_DAMAGE_DEALT = 2;
|
|
|
|
const MATCH_EVENT_DAMAGE_TAKEN = 3;
|
|
|
|
const MATCH_EVENT_HEAL_GIVEN = 4;
|
|
|
|
const MATCH_EVENT_HEAL_RECEIVED = 5;
|
|
|
|
const MATCH_EVENT_STOMP_GIVEN = 6;
|
|
/** Match has ended */
|
|
|
|
const MATCH_EVENT_MAX_EVENTID = 0x0000FFFF;
|
|
|
|
`endif
|
|
|
|
// Change this or predefine it to your class type
|
|
`if(`notdefined(MatchStatsClass))
|
|
`define MatchStatsClass class'EphemeralMatchStats'
|
|
`endif
|
|
|
|
`define MatchStatId(ID) `MatchStatsClass.const.MATCH_EVENT_`ID
|
|
|
|
`define GetKFPC(C) if(P!=None && P.PlayerControlled()) KFPlayerController(C).MatchStats
|
|
|
|
//Take in playercontroller to access the MatchStats object on it.
|
|
`define RecordBossMurderer(KFPC) if(`KFPC != none && `KFPC.MatchStats != none ){`KFPC.MatchStats.bKilledBoss = true;}
|
|
`define RecordAARIntStat(KFPC,ID,Value) if(`KFPC != none && `KFPC.MatchStats != none ){`KFPC.MatchStats.RecordIntStat(`MatchStatId(`ID),`Value);}
|
|
`define RecordAARZedKill(KFPC,MonsterClass,DT) if(`KFPC != none && `KFPC.MatchStats != none ){`KFPC.MatchStats.RecordZedKill(`MonsterClass,`DT);}
|
|
`define RecordAARPerkXPGain(KFPC,PerkClass,Value,BonusValue) if(`KFPC != none && `KFPC.MatchStats != none && `PerkClass != none){`KFPC.MatchStats.RecordPerkXPGain(`PerkClass,`Value,`BonusValue);}
|
|
`define RecordSecondaryXPGain(KFPC,PerkClass,Value) if(`KFPC != none && `KFPC.MatchStats != none && `PerkClass != none){`KFPC.MatchStats.RecordSecondaryXPGain(`PerkClass,`Value);}
|
|
//Each Damage Type is going to have an ID that we are setting here. We pass this id in to the function RecordWeaponDamage. From there it is resolved
|
|
`define RecordWeaponDamage(InstigatedBy,KFDT,DamageValue,TargetPawn,HitZoneIdx) if(`KFDT != none){`MatchStatsClass.static.RecordWeaponDamage(`InstigatedBy,`KFDT,`KFDT.default.WeaponDef,`DamageValue,`TargetPawn,`HitZoneIdx);}
|
|
`define RecordWeaponHeadShot(PC,DT) if(`PC != none && `DT != none){`MatchStatsClass.static.RecordWeaponHeadShot(`PC,`DT);} |