aboutsummaryrefslogtreecommitdiff
path: root/src/bindings/scripts/include
diff options
context:
space:
mode:
authorMachiavelli <none@none>2009-04-19 21:16:11 +0200
committerMachiavelli <none@none>2009-04-19 21:16:11 +0200
commitb92eac3b273420598f96b6bf8f3da83cf6ccffe6 (patch)
tree0ccfa6dbc4180172a1a30ab78cc2e5dd578e9e7a /src/bindings/scripts/include
parent2e7d8d35fe2d9d5237d44d017b455adc629db660 (diff)
Merge SD2 up to r967
--HG-- branch : trunk
Diffstat (limited to 'src/bindings/scripts/include')
-rw-r--r--src/bindings/scripts/include/sc_creature.cpp25
-rw-r--r--src/bindings/scripts/include/sc_creature.h4
2 files changed, 29 insertions, 0 deletions
diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp
index fcd44d94842..d52e018275e 100644
--- a/src/bindings/scripts/include/sc_creature.cpp
+++ b/src/bindings/scripts/include/sc_creature.cpp
@@ -747,6 +747,31 @@ std::list<Creature*> ScriptedAI::DoFindFriendlyMissingBuff(float range, uint32 s
return pList;
}
+void ScriptedAI::SetEquipmentSlots(bool bLoadDefault, int32 uiMainHand, int32 uiOffHand, int32 uiRanged)
+{
+ if (bLoadDefault)
+ {
+ if (CreatureInfo const* pInfo = GetCreatureTemplateStore(m_creature->GetEntry()))
+ m_creature->LoadEquipment(pInfo->equipmentId,true);
+
+ return;
+ }
+
+ if (uiMainHand >= 0)
+ m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(uiMainHand));
+
+ if (uiOffHand >= 0)
+ m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, uint32(uiOffHand));
+
+ if (uiRanged >= 0)
+ m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, uint32(uiRanged));
+}
+
+void ScriptedAI::SetSheathState(SheathState newState)
+{
+ m_creature->SetByteValue(UNIT_FIELD_BYTES_2, 0, newState);
+}
+
/*void Scripted_NoMovementAI::MoveInLineOfSight(Unit *who)
{
if( !m_creature->getVictim() && m_creature->canAttack(who) && ( m_creature->IsHostileTo( who )) && who->isInAccessiblePlaceFor(m_creature) )
diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h
index 03194e9a3a9..47850b0d417 100644
--- a/src/bindings/scripts/include/sc_creature.h
+++ b/src/bindings/scripts/include/sc_creature.h
@@ -184,6 +184,10 @@ struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI
//Checks if you can cast the specified spell
bool CanCast(Unit* Target, SpellEntry const *Spell, bool Triggered = false);
+
+ void SetEquipmentSlots(bool bLoadDefault, int32 uiMainHand = EQUIP_NO_CHANGE, int32 uiOffHand = EQUIP_NO_CHANGE, int32 uiRanged = EQUIP_NO_CHANGE);
+
+ void SetSheathState(SheathState newState);
};
struct TRINITY_DLL_DECL Scripted_NoMovementAI : public ScriptedAI