-
Notifications
You must be signed in to change notification settings - Fork 20
/
Lifestone.cpp
55 lines (42 loc) · 1.23 KB
/
Lifestone.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include "StdAfx.h"
#include "WeenieObject.h"
#include "PhysicsObj.h"
#include "Lifestone.h"
#include "Player.h"
#include "UseManager.h"
CBaseLifestone::CBaseLifestone()
{
m_Qualities.id = 0x1FD;
m_Qualities.m_WeenieType = LifeStone_WeenieType;
SetName("Life Stone");
SetItemType(TYPE_LIFESTONE);
SetIcon(0x06001355);
SetSetupID(0x020002EE);
SetSoundTableID(0x20000014);
SetMotionTableID(0x09000026);
SetInitialPhysicsState(PhysicsState::GRAVITY_PS | PhysicsState::IGNORE_COLLISIONS_PS);
m_Qualities.SetInt(ITEM_USEABLE_INT, USEABLE_REMOTE);
m_Qualities.SetFloat(USE_RADIUS_FLOAT, 3.0f);
m_Qualities.SetInt(SHOWABLE_ON_RADAR_INT, ShowAlways_RadarEnum);
m_Qualities.m_WeenieType = LifeStone_WeenieType;
}
CBaseLifestone::~CBaseLifestone()
{
}
void CBaseLifestone::ApplyQualityOverrides()
{
SetRadarBlipColor(LifeStone_RadarBlipEnum);
}
int CBaseLifestone::Use(CPlayerWeenie *pOther)
{
CGenericUseEvent *useEvent = new CGenericUseEvent;
useEvent->_target_id = GetID();
useEvent->_do_use_animation = Motion_Sanctuary;
pOther->ExecuteUseEvent(useEvent);
return WERROR_NONE;
}
int CBaseLifestone::DoUseResponse(CWeenieObject *player)
{
player->m_Qualities.SetPosition(SANCTUARY_POSITION, player->m_Position);
return WERROR_NONE;
}