Core/SAI: Implement SMART_ACTION_SET_HOME_POS (101)

No parameters; allowed targets: self and position

Closes #7689
This commit is contained in:
Santiago
2012-09-08 00:55:47 +01:00
committed by Nay
parent d0e1a6d742
commit e3b9b15779
3 changed files with 18 additions and 1 deletions

View File

@@ -1951,6 +1951,21 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
delete targets;
break;
}
case SMART_ACTION_SET_HOME_POS:
{
if (!me)
break;
if (e.GetTargetType() == SMART_TARGET_SELF)
me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
else if (e.GetTargetType() == SMART_TARGET_POSITION)
me->SetHomePosition(e.target.x, e.target.y, e.target.z, e.target.o);
else
sLog->outError(LOG_FILTER_SQL, "SmartScript: Action target for SMART_ACTION_SET_HOME_POS is not using SMART_TARGET_SELF or SMART_TARGET_POSITION, skipping");
delete targets;
break;
}
default:
sLog->outError(LOG_FILTER_SQL, "SmartScript::ProcessAction: Entry %d SourceType %u, Event %u, Unhandled Action type %u", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType());
break;