mirror of
https://gitlab.com/Scribble/gdlenhanced.git
synced 2026-08-17 14:23:04 -04:00
63 lines
1.1 KiB
C++
Executable file
63 lines
1.1 KiB
C++
Executable file
|
|
#include "StdAfx.h"
|
|
#include "WeenieObject.h"
|
|
#include "ManaStone.h"
|
|
#include "Player.h"
|
|
|
|
CManaStoneWeenie::CManaStoneWeenie()
|
|
{
|
|
SetName("ManaStone");
|
|
m_Qualities.m_WeenieType = ManaStone_WeenieType;
|
|
}
|
|
|
|
CManaStoneWeenie::~CManaStoneWeenie()
|
|
{
|
|
}
|
|
|
|
void CManaStoneWeenie::ApplyQualityOverrides()
|
|
{
|
|
}
|
|
|
|
int CManaStoneWeenie::UseWith(CPlayerWeenie *player, CWeenieObject *with)
|
|
{
|
|
CManaStoneUseEvent *useEvent = new CManaStoneUseEvent;
|
|
useEvent->_target_id = with->GetID();
|
|
useEvent->_tool_id = GetID();
|
|
useEvent->_max_use_distance = 1.0; // todo: change to 0?
|
|
player->ExecuteUseEvent(useEvent);
|
|
|
|
return WERROR_NONE;
|
|
}
|
|
|
|
/**
|
|
TODO: move logic from player useex to here
|
|
int CManaStoneWeenie::DoUseWithResponse(CWeenieObject *player, CWeenieObject *with) {
|
|
|
|
}
|
|
**/
|
|
|
|
void CManaStoneUseEvent::OnReadyToUse()
|
|
{
|
|
CWeenieObject *target = GetTarget();
|
|
if (!target && _target_id)
|
|
{
|
|
Cancel(WERROR_OBJECT_GONE);
|
|
return;
|
|
}
|
|
|
|
CWeenieObject *tool = GetTool();
|
|
if (!tool && _tool_id)
|
|
{
|
|
Cancel(WERROR_OBJECT_GONE);
|
|
return;
|
|
}
|
|
|
|
int error = WERROR_NONE;
|
|
|
|
if (target)
|
|
{
|
|
error = tool->DoUseWithResponse(_weenie, target);
|
|
}
|
|
|
|
Done(error);
|
|
}
|