diff options
author | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-08-09 20:02:21 +0200 |
---|---|---|
committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-08-09 20:02:21 +0200 |
commit | 99aa4649d2f293672256c78b96eeff5be8e3a16c (patch) | |
tree | 822dc07f26dc020a947463df47d18baa2be5a2e5 /src/server/game | |
parent | 80d7c093ebdf17b24390426c7b09c0b8a732949e (diff) | |
parent | 8aff3945f275b2285413ffadef616da1eb513faa (diff) |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/scripts/CMakeLists.txt
Diffstat (limited to 'src/server/game')
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScript.cpp | 10 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScriptMgr.cpp | 5 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScriptMgr.h | 11 | ||||
-rw-r--r-- | src/server/game/Grids/Notifiers/GridNotifiers.h | 3 | ||||
-rw-r--r-- | src/server/game/Scripting/ScriptLoader.cpp | 19 | ||||
-rw-r--r-- | src/server/game/Scripting/ScriptLoader.h | 1 |
6 files changed, 36 insertions, 13 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 1a445435d4e..261c4166a15 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -250,9 +250,9 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u { if (IsUnit(*itr)) { - (*itr)->SendPlaySound(e.action.sound.sound, e.action.sound.range > 0 ? true : false); + (*itr)->SendPlaySound(e.action.sound.sound, e.action.sound.onlySelf > 0 ? true : false); TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SOUND: target: %s (GuidLow: %u), sound: %u, onlyself: %u", - (*itr)->GetName().c_str(), (*itr)->GetGUIDLow(), e.action.sound.sound, e.action.sound.range); + (*itr)->GetName().c_str(), (*itr)->GetGUIDLow(), e.action.sound.sound, e.action.sound.onlySelf); } } @@ -1131,13 +1131,13 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u case SMART_ACTION_SET_VISIBILITY: { if (me) - me->SetVisible(e.action.visibility.state ? true : false); + me->SetVisible(e.action.visibility.state); break; } case SMART_ACTION_SET_ACTIVE: { - if (GetBaseObject()) - GetBaseObject()->setActive(true); + if (WorldObject* baseObj = GetBaseObject()) + baseObj->setActive(e.action.active.state); break; } case SMART_ACTION_ATTACK_START: diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index fe78c4fce06..f26d3bb328a 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -621,11 +621,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e) case SMART_ACTION_SOUND: if (!IsSoundValid(e, e.action.sound.sound)) return false; - if (e.action.sound.range > TEXT_RANGE_WORLD) - { - TC_LOG_ERROR(LOG_FILTER_SQL, "SmartAIMgr: Entry %d SourceType %u Event %u Action %u uses invalid Text Range %u, skipped.", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType(), e.action.sound.range); - return false; - } break; case SMART_ACTION_SET_EMOTE_STATE: case SMART_ACTION_PLAY_EMOTE: diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index ede8101b522..cf208aa91df 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -386,7 +386,7 @@ enum SMART_ACTION SMART_ACTION_TALK = 1, // groupID from creature_text, duration to wait before TEXT_OVER event is triggered SMART_ACTION_SET_FACTION = 2, // FactionId (or 0 for default) SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL = 3, // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to demorph) - SMART_ACTION_SOUND = 4, // SoundId, TextRange + SMART_ACTION_SOUND = 4, // SoundId, onlySelf SMART_ACTION_PLAY_EMOTE = 5, // EmoteId SMART_ACTION_FAIL_QUEST = 6, // QuestID SMART_ACTION_ADD_QUEST = 7, // QuestID @@ -430,7 +430,7 @@ enum SMART_ACTION SMART_ACTION_SET_DATA = 45, // Field, Data (only creature @todo) SMART_ACTION_MOVE_FORWARD = 46, // distance SMART_ACTION_SET_VISIBILITY = 47, // on/off - SMART_ACTION_SET_ACTIVE = 48, // No Params + SMART_ACTION_SET_ACTIVE = 48, // on/off SMART_ACTION_ATTACK_START = 49, // SMART_ACTION_SUMMON_GO = 50, // GameObjectID, DespawnTime in ms, SMART_ACTION_KILL_UNIT = 51, // @@ -520,7 +520,7 @@ struct SmartAction struct { uint32 sound; - uint32 range; + uint32 onlySelf; } sound; struct @@ -728,6 +728,11 @@ struct SmartAction } summonGO; struct + { + uint32 state; + } active; + + struct { uint32 id; } taxi; diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h index 209d2527e0d..10ccd6a77f3 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.h +++ b/src/server/game/Grids/Notifiers/GridNotifiers.h @@ -907,6 +907,9 @@ namespace Trinity AnyGroupedUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range, bool raid) : _source(obj), _refUnit(funit), _range(range), _raid(raid) {} bool operator()(Unit* u) { + if (G3D::fuzzyEq(_range, 0)) + return false; + if (_raid) { if (!_refUnit->IsInRaidWith(u)) diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp index 6d12a073824..d55ada7d090 100644 --- a/src/server/game/Scripting/ScriptLoader.cpp +++ b/src/server/game/Scripting/ScriptLoader.cpp @@ -623,6 +623,13 @@ void AddSC_kezan(); // Events void AddSC_event_childrens_week(); +// Pets +void AddSC_deathknight_pet_scripts(); +void AddSC_hunter_pet_scripts(); +void AddSC_mage_pet_scripts(); +void AddSC_priest_pet_scripts(); +void AddSC_shaman_pet_scripts(); + // battlegrounds // outdoor pvp @@ -651,6 +658,7 @@ void AddScripts() AddNorthrendScripts(); AddMaelstromScripts(); AddEventScripts(); + AddPetScripts(); AddBattlegroundScripts(); AddOutdoorPvPScripts(); AddCustomScripts(); @@ -1299,6 +1307,17 @@ void AddEventScripts() #endif } +void AddPetScripts() +{ +#ifdef SCRIPTS + AddSC_deathknight_pet_scripts(); + AddSC_hunter_pet_scripts(); + AddSC_mage_pet_scripts(); + AddSC_priest_pet_scripts(); + AddSC_shaman_pet_scripts(); +#endif +} + void AddOutdoorPvPScripts() { #ifdef SCRIPTS diff --git a/src/server/game/Scripting/ScriptLoader.h b/src/server/game/Scripting/ScriptLoader.h index 5e1b829798e..7edba0445c4 100644 --- a/src/server/game/Scripting/ScriptLoader.h +++ b/src/server/game/Scripting/ScriptLoader.h @@ -29,6 +29,7 @@ void AddOutlandScripts(); void AddNorthrendScripts(); void AddMaelstromScripts(); void AddEventScripts(); +void AddPetScripts(); void AddBattlegroundScripts(); void AddOutdoorPvPScripts(); void AddCustomScripts(); |