2019-05-30 15:24:47 -04:00
|
|
|
#pragma once
|
2019-10-06 17:39:25 -04:00
|
|
|
#include "ModelIndices.h"
|
2019-07-04 16:31:21 -04:00
|
|
|
|
2019-07-09 12:50:35 -04:00
|
|
|
class CVehicle;
|
|
|
|
class CPed;
|
2020-03-28 10:47:52 -04:00
|
|
|
enum eWeaponType;
|
2019-07-09 12:50:35 -04:00
|
|
|
|
2019-10-06 17:39:25 -04:00
|
|
|
enum
|
2019-07-04 16:31:21 -04:00
|
|
|
{
|
2019-07-07 03:13:04 -04:00
|
|
|
KILLFRENZY_NONE,
|
2019-07-04 16:31:21 -04:00
|
|
|
KILLFRENZY_ONGOING,
|
|
|
|
KILLFRENZY_PASSED,
|
|
|
|
KILLFRENZY_FAILED,
|
|
|
|
};
|
2019-05-30 15:24:47 -04:00
|
|
|
|
|
|
|
class CDarkel
|
|
|
|
{
|
2019-06-14 19:34:19 -04:00
|
|
|
private:
|
2019-07-04 16:31:21 -04:00
|
|
|
static int32 &TimeLimit;
|
|
|
|
static int32 &PreviousTime;
|
|
|
|
static int32 &TimeOfFrenzyStart;
|
|
|
|
static int32 &WeaponType;
|
|
|
|
static int32 &AmmoInterruptedWeapon;
|
|
|
|
static int32 &KillsNeeded;
|
|
|
|
static int8 &InterruptedWeapon;
|
|
|
|
static int8 &bStandardSoundAndMessages;
|
|
|
|
static int8 &bNeedHeadShot;
|
|
|
|
static int8 &bProperKillFrenzy;
|
2019-10-06 17:39:25 -04:00
|
|
|
static uint16 &Status;
|
|
|
|
static uint16 (&RegisteredKills)[NUM_DEFAULT_MODELS];
|
2019-07-04 16:31:21 -04:00
|
|
|
static int32 &ModelToKill;
|
|
|
|
static int32 &ModelToKill2;
|
|
|
|
static int32 &ModelToKill3;
|
|
|
|
static int32 &ModelToKill4;
|
|
|
|
static wchar *pStartMessage;
|
2019-06-14 19:34:19 -04:00
|
|
|
|
2019-05-30 15:24:47 -04:00
|
|
|
public:
|
2019-10-05 09:44:03 -04:00
|
|
|
static uint8 CalcFade(uint32 time, uint32 min, uint32 max);
|
2019-05-30 15:24:47 -04:00
|
|
|
static void DrawMessages(void);
|
2019-06-14 19:34:19 -04:00
|
|
|
static bool FrenzyOnGoing();
|
2019-07-04 16:31:21 -04:00
|
|
|
static void Init();
|
2019-10-05 09:44:03 -04:00
|
|
|
static uint16 QueryModelsKilledByPlayer(int32 modelId);
|
|
|
|
static uint16 ReadStatus();
|
2019-07-09 12:50:35 -04:00
|
|
|
static void RegisterCarBlownUpByPlayer(CVehicle *vehicle);
|
|
|
|
static void RegisterKillByPlayer(CPed *victim, eWeaponType weapontype, bool headshot = false);
|
2019-07-17 22:26:46 -04:00
|
|
|
static void RegisterKillNotByPlayer(CPed* victim, eWeaponType weapontype);
|
2019-07-04 16:31:21 -04:00
|
|
|
static void ResetModelsKilledByPlayer();
|
|
|
|
static void ResetOnPlayerDeath();
|
2019-10-05 09:44:03 -04:00
|
|
|
static void StartFrenzy(eWeaponType weaponType, int32 time, uint16 kill, int32 modelId0, wchar *text, int32 modelId2, int32 modelId3, int32 modelId4, bool standardSound, bool needHeadShot);
|
2019-07-04 16:31:21 -04:00
|
|
|
static void Update();
|
|
|
|
|
2019-05-30 15:24:47 -04:00
|
|
|
};
|