aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesper Meyer <kaelima@live.se>2011-07-02 07:52:03 +0200
committerJesper Meyer <kaelima@live.se>2011-07-02 07:52:03 +0200
commitb216522b3dbccfdc1d75f9d5900f02f40843d441 (patch)
tree509b1df75eb7f5dbab9c23122ad0c3f6a7950664
parentb7ed8b7c664157541b037756d9ea5b78a818cfd1 (diff)
Core/SAI: Add action SMART_ACTION_JUMP_TO_POS.
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp5
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.cpp1
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.h10
3 files changed, 15 insertions, 1 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index 3b54df584a8..6508b300b0e 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -1776,6 +1776,11 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
delete targets;
break;
}
+ case SMART_ACTION_JUMP_TO_POS:
+ {
+ me->GetMotionMaster()->MoveJump(e.target.x, e.target.y , e.target.z, (float)e.action.jump.speedxy, (float)e.action.jump.speedz);
+ break;
+ }
default:
sLog->outErrorDb("SmartScript::ProcessAction: Unhandled Action type %u", e.GetActionType());
break;
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
index bc5ef54c6c0..b08aee787e8 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
@@ -774,6 +774,7 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder &e)
case SMART_ACTION_SET_DYNAMIC_FLAG:
case SMART_ACTION_ADD_DYNAMIC_FLAG:
case SMART_ACTION_REMOVE_DYNAMIC_FLAG:
+ case SMART_ACTION_JUMP_TO_POS:
break;
default:
sLog->outErrorDb("SmartAIMgr: Not handled action_type(%u), event_type(%u), Entry %d SourceType %u Event %u, skipped.", e.GetActionType(), e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id);
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
index 57467200c36..690d722c048 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
@@ -461,8 +461,9 @@ enum SMART_ACTION
SMART_ACTION_SET_DYNAMIC_FLAG = 94, // Flags
SMART_ACTION_ADD_DYNAMIC_FLAG = 95, // Flags
SMART_ACTION_REMOVE_DYNAMIC_FLAG = 96, // Flags
+ SMART_ACTION_JUMP_TO_POS = 97, // speedXY, speedZ, targetX, targetY, targetZ
- SMART_ACTION_END = 97,
+ SMART_ACTION_END = 98,
};
struct SmartAction
@@ -844,6 +845,13 @@ struct SmartAction
{
uint32 anim;
} sendGoCustomAnim;
+
+ struct
+ {
+ uint32 speedxy;
+ uint32 speedz;
+ } jump;
+
struct
{
uint32 param1;