Skip to content
This repository has been archived by the owner on Mar 30, 2019. It is now read-only.

Commit

Permalink
scriptmerge with mangosr2
Browse files Browse the repository at this point in the history
  • Loading branch information
philipp.dallig committed Jun 16, 2011
1 parent 195b9d5 commit 130550c
Show file tree
Hide file tree
Showing 304 changed files with 10,491 additions and 10,501 deletions.
219 changes: 143 additions & 76 deletions ScriptMgr.cpp

Large diffs are not rendered by default.

11 changes: 7 additions & 4 deletions ScriptMgr.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ class Unit;
class WorldObject;
class Aura;
class Object;
class ObjectGuid;

// *********************************************************
// ************** Some defines used globally ***************
Expand All @@ -30,10 +31,11 @@ class Object;
#define VISIBLE_RANGE (166.0f) // MAX visible range (size of grid)
#define DEFAULT_TEXT "<ScriptDev2 Text Entry Missing!>"

// Some typedefs for storing GUIDs
typedef std::list<uint64> GUIDList;
typedef std::set<uint64> GUIDSet;
typedef std::vector<uint64> GUIDVector;
// Some typedefs for storing Guids
typedef std::list<ObjectGuid> GUIDList;
typedef std::set<ObjectGuid> GUIDSet;
typedef std::vector<ObjectGuid> GUIDVector;
typedef std::map<uint32, ObjectGuid> EntryGuidMap;

/* Escort Factions
* TODO: find better namings and definitions.
Expand Down Expand Up @@ -112,6 +114,7 @@ struct Script

// Generic scripting text function
void DoScriptText(int32 iTextEntry, WorldObject* pSource, Unit* pTarget = NULL);
void DoOrSimulateScriptTextForMap(int32 iTextEntry, uint32 uiCreatureEntry, Map* pMap, Creature* pCreatureSource = NULL, Unit* pTarget = NULL);

//DB query
QueryResult* strSD2Pquery(char*);
Expand Down
7 changes: 4 additions & 3 deletions VC100/100ScriptDev2.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@
<ClCompile Include="..\scripts\kalimdor\razorfen_downs\boss_amnennar_the_coldbringer.cpp" />
<ClCompile Include="..\scripts\kalimdor\razorfen_downs\razorfen_downs.cpp" />
<ClCompile Include="..\scripts\kalimdor\razorfen_kraul\instance_razorfen_kraul.cpp" />
<ClCompile Include="..\scripts\kalimdor\razorfen_kraul\razorfen_kraul.cpp" />
<ClCompile Include="..\scripts\kalimdor\razorfen_kraul\razorfen_kraul.cpp" />
<ClCompile Include="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_ayamiss.cpp" />
<ClCompile Include="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_buru.cpp" />
<ClCompile Include="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_kurinnaxx.cpp" />
Expand Down Expand Up @@ -707,7 +707,7 @@
<ClCompile Include="..\scripts\outland\tempest_keep\botanica\boss_high_botanist_freywinn.cpp" />
<ClCompile Include="..\scripts\outland\tempest_keep\botanica\boss_laj.cpp" />
<ClCompile Include="..\scripts\outland\tempest_keep\botanica\boss_warp_splinter.cpp" />
<ClCompile Include="..\scripts\outland\tempest_keep\the_eye\boss_alar.cpp" />
<ClCompile Include="..\scripts\outland\tempest_keep\the_eye\boss_alar.cpp" />
<ClCompile Include="..\scripts\outland\tempest_keep\the_eye\boss_astromancer.cpp" />
<ClCompile Include="..\scripts\outland\tempest_keep\the_eye\boss_kaelthas.cpp" />
<ClCompile Include="..\scripts\outland\tempest_keep\the_eye\boss_void_reaver.cpp" />
Expand All @@ -720,13 +720,14 @@
<ClCompile Include="..\scripts\outland\terokkar_forest.cpp" />
<ClCompile Include="..\scripts\outland\zangarmarsh.cpp" />
<ClCompile Include="..\scripts\world\areatrigger_scripts.cpp" />
<ClCompile Include="..\scripts\world\bosses_emerald_dragons.cpp" />
<ClCompile Include="..\scripts\world\bosses_emerald_dragons.cpp" />
<ClCompile Include="..\scripts\world\go_scripts.cpp" />
<ClCompile Include="..\scripts\world\guards.cpp" />
<ClCompile Include="..\scripts\world\item_scripts.cpp" />
<ClCompile Include="..\scripts\world\mob_generic_creature.cpp" />
<ClCompile Include="..\scripts\world\npcs_special.cpp" />
<ClCompile Include="..\scripts\world\npc_professions.cpp" />
<ClCompile Include="..\scripts\world\pet_scripts.cpp" />
<ClCompile Include="..\scripts\world\spell_scripts.cpp" />
<ClCompile Include="..\include\precompiled.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
Expand Down
73 changes: 16 additions & 57 deletions VC100/100ScriptDev2.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -298,9 +298,6 @@
<Filter Include="scripts\northrend\ruby_sanctum">
<UniqueIdentifier>{e35abead-2389-4eb9-88bd-70e6fe5636b5}</UniqueIdentifier>
</Filter>
<Filter Include="scripts\outdoor_pvp">
<UniqueIdentifier>{569ce85f-1d25-427e-bf22-a4590ecf37ee}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\base\BSW_ai.cpp">
Expand Down Expand Up @@ -996,7 +993,7 @@
<ClCompile Include="..\scripts\kalimdor\razorfen_kraul\instance_razorfen_kraul.cpp">
<Filter>scripts\kalimdor\razorfen_kraul</Filter>
</ClCompile>
<ClCompile Include="..\scripts\kalimdor\razorfen_kraul\razorfen_kraul.cpp">
<ClCompile Include="..\scripts\kalimdor\razorfen_kraul\razorfen_kraul.cpp">
<Filter>scripts\kalimdor\razorfen_kraul</Filter>
</ClCompile>
<ClCompile Include="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_ayamiss.cpp">
Expand Down Expand Up @@ -1767,7 +1764,7 @@
<ClCompile Include="..\scripts\outland\tempest_keep\botanica\boss_warp_splinter.cpp">
<Filter>scripts\outland\tempest_keep\botanica</Filter>
</ClCompile>
<ClCompile Include="..\scripts\outland\tempest_keep\the_eye\boss_alar.cpp">
<ClCompile Include="..\scripts\outland\tempest_keep\the_eye\boss_alar.cpp">
<Filter>scripts\outland\tempest_keep\the_eye</Filter>
</ClCompile>
<ClCompile Include="..\scripts\outland\tempest_keep\the_eye\boss_astromancer.cpp">
Expand Down Expand Up @@ -1806,7 +1803,7 @@
<ClCompile Include="..\scripts\world\areatrigger_scripts.cpp">
<Filter>scripts\world</Filter>
</ClCompile>
<ClCompile Include="..\scripts\world\bosses_emerald_dragons.cpp">
<ClCompile Include="..\scripts\world\bosses_emerald_dragons.cpp">
<Filter>scripts\world</Filter>
</ClCompile>
<ClCompile Include="..\scripts\world\go_scripts.cpp">
Expand Down Expand Up @@ -1839,37 +1836,13 @@
<ClCompile Include="..\system\system.cpp">
<Filter>system</Filter>
</ClCompile>
<ClCompile Include="..\scripts\outdoor_pvp\eastern_kingdoms\outdoor_pvp_eastern_plaguelands.cpp" />
<ClCompile Include="..\scripts\outdoor_pvp\kalimdor\outdoor_pvp_silithus.cpp" />
<ClCompile Include="..\scripts\outdoor_pvp\outdoor_pvp_eastern_kingdoms.cpp" />
<ClCompile Include="..\scripts\outdoor_pvp\outdoor_pvp_kalimdor.cpp" />
<ClCompile Include="..\scripts\outdoor_pvp\outdoor_pvp_northrend.cpp" />
<ClCompile Include="..\scripts\outdoor_pvp\outdoor_pvp_outland.cpp" />
<ClCompile Include="..\ScriptMgr.cpp" />
<ClCompile Include="..\scripts\outdoor_pvp\outdoor_pvp_eastern_kingdoms.cpp">
<Filter>scripts\outdoor_pvp</Filter>
</ClCompile>
<ClCompile Include="..\scripts\outdoor_pvp\eastern_kingdoms\outdoor_pvp_eastern_plaguelands.cpp">
<Filter>scripts\outdoor_pvp</Filter>
</ClCompile>
<ClCompile Include="..\scripts\outdoor_pvp\outdoor_pvp_kalimdor.cpp">
<Filter>scripts\outdoor_pvp</Filter>
</ClCompile>
<ClCompile Include="..\scripts\outdoor_pvp\outdoor_pvp_northrend.cpp">
<Filter>scripts\outdoor_pvp</Filter>
</ClCompile>
<ClCompile Include="..\scripts\outdoor_pvp\outdoor_pvp_outland.cpp">
<Filter>scripts\outdoor_pvp</Filter>
</ClCompile>
<ClCompile Include="..\scripts\outdoor_pvp\kalimdor\outdoor_pvp_silithus.cpp">
<Filter>scripts\outdoor_pvp</Filter>
</ClCompile>
<ClCompile Include="..\scripts\custom\custom_cybernetic.cpp">
<Filter>scripts\custom</Filter>
</ClCompile>
<ClCompile Include="..\scripts\northrend\ulduar\ulduar\boss_leviathan.cpp">
<Filter>scripts\northrend\ulduar\ulduar</Filter>
</ClCompile>
<ClCompile Include="..\scripts\northrend\ulduar\ulduar\boss_iron_council.cpp">
<Filter>scripts\northrend\ulduar\ulduar</Filter>
</ClCompile>
<ClCompile Include="..\scripts\northrend\ulduar\ulduar\boss_vezax.cpp">
<Filter>scripts\northrend\ulduar\ulduar</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\base\BSW_ai.h">
Expand Down Expand Up @@ -2116,30 +2089,16 @@
<Filter>system</Filter>
</ClInclude>
<ClInclude Include="..\config.h" />
<ClInclude Include="..\scripts\outdoor_pvp\eastern_kingdoms\outdoor_pvp_eastern_plaguelands.h" />
<ClInclude Include="..\scripts\outdoor_pvp\kalimdor\outdoor_pvp_silithus.h" />
<ClInclude Include="..\scripts\outdoor_pvp\outdoor_pvp_eastern_kingdoms.h" />
<ClInclude Include="..\scripts\outdoor_pvp\outdoor_pvp_kalimdor.h" />
<ClInclude Include="..\scripts\outdoor_pvp\outdoor_pvp_northrend.h" />
<ClInclude Include="..\scripts\outdoor_pvp\outdoor_pvp_outland.h" />
<ClInclude Include="..\scripts\outdoor_pvp\outdoor_pvp_zone_selector.h" />
<ClInclude Include="..\sd2_revision_nr.h" />
<ClInclude Include="..\sd2_revision_sql.h" />
<ClInclude Include="..\ScriptMgr.h" />
<ClInclude Include="..\scripts\outdoor_pvp\outdoor_pvp_zone_selector.h">
<Filter>scripts\outdoor_pvp</Filter>
</ClInclude>
<ClInclude Include="..\scripts\outdoor_pvp\outdoor_pvp_eastern_kingdoms.h">
<Filter>scripts\outdoor_pvp</Filter>
</ClInclude>
<ClInclude Include="..\scripts\outdoor_pvp\eastern_kingdoms\outdoor_pvp_eastern_plaguelands.h">
<Filter>scripts\outdoor_pvp</Filter>
</ClInclude>
<ClInclude Include="..\scripts\outdoor_pvp\outdoor_pvp_kalimdor.h">
<Filter>scripts\outdoor_pvp</Filter>
</ClInclude>
<ClInclude Include="..\scripts\outdoor_pvp\outdoor_pvp_northrend.h">
<Filter>scripts\outdoor_pvp</Filter>
</ClInclude>
<ClInclude Include="..\scripts\outdoor_pvp\outdoor_pvp_outland.h">
<Filter>scripts\outdoor_pvp</Filter>
</ClInclude>
<ClInclude Include="..\scripts\outdoor_pvp\kalimdor\outdoor_pvp_silithus.h">
<Filter>scripts\outdoor_pvp</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\revision.h" />
Expand Down
4 changes: 4 additions & 0 deletions VC90/90ScriptDev2.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -3063,6 +3063,10 @@
RelativePath="..\scripts\world\npcs_special.cpp"
>
</File>
<File
RelativePath="..\scripts\world\pet_scripts.cpp"
>
</File>
<File
RelativePath="..\scripts\world\spell_scripts.cpp"
>
Expand Down
8 changes: 4 additions & 4 deletions base/BSW_ai.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ void BSWScriptedAI::_fillEmptyDataField()
{
if (m_BSWRecords[i].m_uiSpellEntry[j] == 0)
{
SpellEntry const* spell = GetSpellEntryByDifficulty(m_BSWRecords[i].m_uiSpellEntry[0],(Difficulty)j);
SpellEntry const* spell = GetSpellEntryByDifficulty(m_BSWRecords[i].m_uiSpellEntry[0],(Difficulty)j,true);
if (spell)
m_BSWRecords[i].m_uiSpellEntry[j] = spell->Id;
else m_BSWRecords[i].m_uiSpellEntry[j] = m_BSWRecords[i].m_uiSpellEntry[j-1];
Expand Down Expand Up @@ -620,7 +620,7 @@ bool BSWScriptedAI::_doRemove(uint32 SpellID, Unit* pTarget, uint8 index)
}
else if (_auraCount(SpellID,pTarget,(SpellEffectIndex)index) > 1)
{
if (SpellAuraHolder* holder = pTarget->GetSpellAuraHolder(SpellID, pTarget->GetGUID()))
if (SpellAuraHolder* holder = pTarget->GetSpellAuraHolder(SpellID, pTarget->GetObjectGuid()))
{
if (holder->ModStackAmount(-1))
{
Expand Down Expand Up @@ -733,7 +733,7 @@ bool BSWScriptedAI::_doAura(uint32 SpellID, Unit* pTarget, SpellEffectIndex inde

bool addedToExisting = true;

SpellAuraHolder* holder = pTarget->GetSpellAuraHolder(SpellID, pTarget->GetGUID());
SpellAuraHolder* holder = pTarget->GetSpellAuraHolder(SpellID, pTarget->GetObjectGuid());

Aura* aura = NULL;

Expand Down Expand Up @@ -775,7 +775,7 @@ bool BSWScriptedAI::_doAura(uint32 SpellID, Unit* pTarget, SpellEffectIndex inde
return false;
};

CanCastResult BSWScriptedAI::_DoCastSpellIfCan(Unit* pTarget, uint32 uiSpell, uint32 uiCastFlags, uint64 uiOriginalCasterGUID)
CanCastResult BSWScriptedAI::_DoCastSpellIfCan(Unit* pTarget, uint32 uiSpell, uint32 uiCastFlags, ObjectGuid uiOriginalCasterGUID)
{
if (!pTarget || !pTarget->IsInWorld() || !pTarget->IsInMap(m_creature)|| !pTarget->isAlive()) return CAST_FAIL_OTHER;

Expand Down
2 changes: 1 addition & 1 deletion base/BSW_ai.h
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ struct MANGOS_DLL_DECL BSWScriptedAI : public ScriptedAI

bool _QuerySpellPeriod(uint8 m_uiSpellIdx, uint32 diff, bool ignorecast = false);

CanCastResult _DoCastSpellIfCan(Unit* pTarget, uint32 uiSpell, uint32 uiCastFlags = 0, uint64 uiOriginalCasterGUID = 0);
CanCastResult _DoCastSpellIfCan(Unit* pTarget, uint32 uiSpell, uint32 uiCastFlags = 0, ObjectGuid uiOriginalCasterGUID = ObjectGuid());

bool _doRemove(uint8 m_uiSpellIdx, Unit* pTarget = NULL, uint8 index = EFFECT_INDEX_ALL);

Expand Down
76 changes: 22 additions & 54 deletions base/BSW_instance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ BSWScriptedInstance::BSWScriptedInstance(Map* pMap) : ScriptedInstance(pMap)
m_auiCreatureID = 0;
m_auiEventLock = false;
m_pMap = pMap;
m_objectGuidMap.clear();
};

BSWScriptedInstance::~BSWScriptedInstance()
Expand All @@ -37,56 +36,54 @@ void BSWScriptedInstance::DoCompleteAchievement(uint32 uiAchievmentId)
debug_log("BSW: DoCompleteAchievement attempt set data, but no players in map.");
}

void BSWScriptedInstance::DoOpenDoor(uint64 guid)
void BSWScriptedInstance::DoOpenDoor(ObjectGuid guid)
{
if (!guid)
if (guid.IsEmpty())
return;

GameObject* pGo = instance->GetGameObject(guid);

if (pGo)
pGo->SetGoState(GO_STATE_ACTIVE);
else
debug_log("BSW: DoOpenDoor attempt set data to object %u, but no this object", guid);
debug_log("BSW: DoOpenDoor attempt set data to object %u, but no this object", guid.GetCounter());
}

void BSWScriptedInstance::DoCloseDoor(uint64 guid)
void BSWScriptedInstance::DoCloseDoor(ObjectGuid guid)
{
if (!guid)
if (guid.IsEmpty())
return;

GameObject* pGo = instance->GetGameObject(guid);

if (pGo)
pGo->SetGoState(GO_STATE_READY);
else
debug_log("BSW: DoCloseDoor attempt set data to object %u, but no this object", guid);
debug_log("BSW: DoCloseDoor attempt set data to object %u, but no this object", guid.GetCounter());
}

void BSWScriptedInstance::DoOpenDoor(ObjectGuid guid)
void BSWScriptedInstance::DoOpenDoor(uint32 entry)
{
if (guid.IsEmpty())
return;

GameObject* pGo = instance->GetGameObject(guid);

if (pGo)
pGo->SetGoState(GO_STATE_ACTIVE);
EntryGuidMap::iterator find = m_mGoEntryGuidStore.find(entry);
if (find != m_mGoEntryGuidStore.end())
{
ObjectGuid guid = find->second;
DoOpenDoor(guid);
}
else
debug_log("BSW: DoOpenDoor attempt set data to object %u, but no this object", guid);
debug_log("BSW: Script call DoOpenDoor (by Entry), but no gameobject of entry %u was created yet, or it was not stored by script for map %u.", entry, instance->GetId());
}

void BSWScriptedInstance::DoCloseDoor(ObjectGuid guid)
void BSWScriptedInstance::DoCloseDoor(uint32 entry)
{
if (guid.IsEmpty())
return;

GameObject* pGo = instance->GetGameObject(guid);

if (pGo)
pGo->SetGoState(GO_STATE_READY);
EntryGuidMap::iterator find = m_mGoEntryGuidStore.find(entry);
if (find != m_mGoEntryGuidStore.end())
{
ObjectGuid guid = find->second;
DoCloseDoor(guid);
}
else
debug_log("BSW: DoCloseDoor attempt set data to object %u, but no this object", guid);
debug_log("BSW: Script call DoCloseDoor (by Entry), but no gameobject of entry %u was created yet, or it was not stored by script for map %u.", entry, instance->GetId());
}

uint32 BSWScriptedInstance::GetEvent(uint32 creatureID)
Expand Down Expand Up @@ -129,35 +126,6 @@ bool BSWScriptedInstance::GetEventTimer(uint32 creatureID, const uint32 diff)
}
}

void BSWScriptedInstance::SetObject(Object* object)
{
if (!object)
return;

m_objectGuidMap.insert(std::make_pair(object->GetEntry(), object->GetObjectGuid()));

}

ObjectGuid const& BSWScriptedInstance::GetInstanceObjectGuid(uint32 entry)
{
std::map<uint32, ObjectGuid>::const_iterator itr = m_objectGuidMap.find(entry);

if (itr != m_objectGuidMap.end())
return itr->second;
else
return ObjectGuid();

}

uint64 BSWScriptedInstance::GetInstanceObjectGUID(uint32 entry)
{
ObjectGuid guid = GetInstanceObjectGuid(entry);
if (guid.IsEmpty())
return 0;
else
return guid.GetRawValue();
}

void BSWScriptedInstance::SetCriteriaState(uint32 criteria_id, bool state, Player* player)
{
if (!criteria_id)
Expand Down
12 changes: 3 additions & 9 deletions base/BSW_instance.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,11 @@ class MANGOS_DLL_DECL BSWScriptedInstance : public ScriptedInstance

//sends completed achievments to all players in instance
void DoCompleteAchievement(uint32 uiAchievmentId);
void DoOpenDoor(uint64 guid);
void DoCloseDoor(uint64 guid);
void DoOpenDoor(ObjectGuid guid);
void DoCloseDoor(ObjectGuid guid);

uint64 GetInstanceObjectGUID(uint32 entry);
ObjectGuid const& GetInstanceObjectGuid(uint32 entry);
void SetObject(Object* object);
void SetInstanceObject(GameObject* go) { if (go) SetObject((Object*)go); };
void SetInstanceUnit(Unit* unit) { if (unit) SetObject((Object*)unit); };
void SetInstanceCreature(Creature* creature) { if (creature) SetObject((Object*)creature); };
void DoOpenDoor(uint32 entry);
void DoCloseDoor(uint32 entry);

void SetCriteriaState(uint32 criteria_id, bool state = true, Player* player = NULL);
bool GetCriteriaState(uint32 criteria_id, Player const* player = NULL);
Expand All @@ -41,7 +35,7 @@ class MANGOS_DLL_DECL BSWScriptedInstance : public ScriptedInstance
uint32 m_auiEventTimer;
bool m_auiEventLock;
Map* m_pMap;
std::map<uint32, ObjectGuid> m_objectGuidMap;

std::map<uint32, bool> m_groupCriteriaMap;
std::multimap<uint32, ObjectGuid> m_personalCriteriaMap;

Expand Down
Loading

0 comments on commit 130550c

Please sign in to comment.