12#ifndef TT_INCLUDE_PLAYERDATACLASS_H
13#define TT_INCLUDE_PLAYERDATACLASS_H
15#include "ReferencerClass.h"
16#include "engine_vector.h"
17#include "SmartGameObj.h"
18class DamageableGameObj;
25 ReferencerClass Owner;
38 int PowerupsCollected;
39 int VehiclesDestroyed;
44 int BuildingDestroyed;
51 SimpleDynVecClass<int> WeaponsFiredID;
52 SimpleDynVecClass<int> WeaponsFiredCount;
57 virtual void Reset_Player();
58 virtual void Set_Score(
float score);
59 virtual void Increment_Score(
float score);
60 virtual void Set_Money(
float money);
61 virtual void Increment_Money(
float money);
62 virtual bool Purchase_Item(
int money);
63 virtual void Apply_Damage_Points(
float points,DamageableGameObj *damager);
64 virtual void Apply_Death_Points(
float points,DamageableGameObj *damager);
65 void Export_Occasional(BitStreamClass &BitStream);
66 void Import_Occasional(BitStreamClass &BitStream);
68 void Stats_Add_Game_Time(
float time) { GameTime += time; SessionTime += time; }
69 void Stats_Add_Enemy_Killed() {EnemiesKilled++;}
70 void Stats_Add_Ally_Killed() {AlliesKilled++;}
71 void Stats_Add_Shot_Fired() {ShotsFired++;}
72 void Stats_Add_Head_Shot() {HeadShots++;}
73 void Stats_Add_Torso_Shot() {TorsoShots++;}
74 void Stats_Add_Arm_Shot() {ArmShots++;}
75 void Stats_Add_Leg_Shot() {LegShots++;}
76 void Stats_Add_Crotch_Shot() {CrotchShots++;}
77 void Stats_Set_Final_Health(
float health) { FinalHealth = health; }
78 void Stats_Add_Powerup() {PowerupsCollected++;}
79 void Stats_Add_Vehicle_Destroyed() {VehiclesDestroyed++;}
80 void Stats_Add_Vehicle_Time(
float time) { VehicleTime += time; }
81 void Stats_Add_Kill_From_Vehicle() {KillsFromVehicle++;}
82 void Stats_Add_Squish() {Squishes++;}
83 void Stats_Add_Credit_Grant(
float grant) {CreditGrant += grant;}
84 void Stats_Add_Building_Destroyed() {BuildingDestroyed++;}
85 void Stats_Add_Torso_Hit() {TorsoHit++;}
86 void Stats_Add_Head_Hit() {HeadHit++;}
87 void Stats_Add_Arm_Hit() {ArmHit++;}
88 void Stats_Add_Leg_Hit() {LegHit++;}
89 void Stats_Add_Crotch_Hit() {CrotchHit++;}
90 void Stats_Add_Weapon_Fired(
int weapon);
91 SmartGameObj *Get_GameObj() {
return (SmartGameObj *)(ScriptableGameObj *)Owner;}
92 void Set_GameObj(SmartGameObj *obj) {Owner = obj;}
93 float Get_Score()
const {
return Score;}
94 float Get_Money()
const {
return Money;}
95 float Get_Session_Time()
const {
return SessionTime;}
96 float Get_Punish_Timer() {
return PunishTimer;}
97 void Inc_Punish_Timer(
float time) {PunishTimer += time;}