2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
16 #endif // !__OSYSTYPE_H
27 typedef enum eTechSkills
;
28 typedef enum eWeaponSkills
;
29 typedef enum ePlayerEquip
;
32 typedef struct sStatsDesc
37 typedef struct sTraitsDesc
42 typedef struct sWeaponSkills
47 typedef struct sTechSkills
52 typedef struct sLogData
57 static void LGAPI
ListenFunc(sPropertyListenMsg
* msg
, PropListenerData data
);
59 F_DECLARE_INTERFACE(IDPCPlayer
);
62 #define INTERFACE IDPCPlayer
64 DECLARE_INTERFACE_(IDPCPlayer
,IUnknown
)
66 DECLARE_UNKNOWN_PURE();
68 // returns the current cost to bump up a stat to the next level
69 STDMETHOD_(int,StatCost
)(int which
) PURE
;
70 STDMETHOD_(int,WeaponSkillCost
)(int which
) PURE
;
71 STDMETHOD_(int,TechSkillCost
)(int which
) PURE
;
74 STDMETHOD_(BOOL
,CheckStats
)(sStatsDesc
*a
, sStatsDesc
*b
, BOOL spew
) PURE
;
75 STDMETHOD_(BOOL
,CheckWeaponSkills
)(sWeaponSkills
*a
, sWeaponSkills
*b
, BOOL spew
) PURE
;
77 STDMETHOD_(BOOL
,Equip
)(ObjID player
, ePlayerEquip slot
, ObjID o
, BOOL spew
) PURE
;
78 STDMETHOD(SetEquip
)(ObjID player
, ePlayerEquip slot
, ObjID o
) PURE
;
79 STDMETHOD_(ObjID
,GetEquip
)(ObjID player
, ePlayerEquip slot
) PURE
;
80 STDMETHOD(ClearEquip
)(void) PURE
;
81 STDMETHOD(AlternateWeapons
)(ObjID player
) PURE
;
82 STDMETHOD_(void,SetWeaponModel
)(ObjID o
, BOOL sfx
= TRUE
) PURE
;
83 STDMETHOD_(void,NowNextWeapon
)(BOOL WaitAFrame
) PURE
;
85 STDMETHOD_(BOOL
,CheckRequirements
)(ObjID o
, BOOL spew
) PURE
;
87 STDMETHOD_(ObjID
,GetCurrentGun
)(void) PURE
;
89 STDMETHOD_(void,Frame
)(void) PURE
;
91 STDMETHOD(UseInternalModel
)(void) PURE
;
92 STDMETHOD(UseExternalModel
)(void) PURE
;
93 STDMETHOD_(char *,GetExternalModel
)(void) PURE
;
95 STDMETHOD(RecalcData
)(ObjID obj
) PURE
;
98 STDMETHOD_(int,GetStat
)(eStats which
) PURE
;
99 STDMETHOD_(int,GetTechSkill
)(eTechSkills which
) PURE
;
100 STDMETHOD_(int,GetWeaponSkill
)(eWeaponSkills which
) PURE
;
101 STDMETHOD_(BOOL
,GetWeaponSkills
)(ObjID obj
, sWeaponSkills
*wpn
) PURE
;
102 STDMETHOD_(BOOL
,HasTrait
)(ObjID obj
, eTrait which
) PURE
;
103 STDMETHOD_(BOOL
,HasTraitMulti
)(eTrait which
) PURE
;
105 STDMETHOD(AddStats
)(sStatsDesc
*p1
, sStatsDesc
*p2
) PURE
;
106 STDMETHOD_(BOOL
,GetStats
)(ObjID obj
, sStatsDesc
*stats
) PURE
;
108 STDMETHOD_(int,GetPool
)(ObjID obj
) PURE
;
109 STDMETHOD(AddPool
)(ObjID obj
, int quantity
) PURE
;
110 STDMETHOD(SetPool
)(ObjID obj
, int value
) PURE
;
113 STDMETHOD_(float, GetStimMultiplier
)(ObjID gunID
) PURE
;
118 void DPCPlayerCreate();
119 EXTERN
void DPCSwapGuns(void);
121 #define MAX_STAT_VAL 8
122 #define MAX_SKILL_VAL 6