diff options
author | Neo2003 <none@none> | 2008-10-05 11:56:30 -0500 |
---|---|---|
committer | Neo2003 <none@none> | 2008-10-05 11:56:30 -0500 |
commit | 0c3db399c565401dc1f771f14370421c320c555b (patch) | |
tree | 52abe002e5a763627495ac6da3848ce3e49a96ae /src/bindings/scripts/include | |
parent | 1fc73ff41b0b113ee0cbc072f8ed81a2c572924c (diff) |
[svn] * Moved Script grid_searchers to core
* Moved an enum from sc_creature.h to CreatureAI.h
--HG--
branch : trunk
Diffstat (limited to 'src/bindings/scripts/include')
-rw-r--r-- | src/bindings/scripts/include/precompiled.h | 7 | ||||
-rw-r--r-- | src/bindings/scripts/include/sc_creature.cpp | 18 | ||||
-rw-r--r-- | src/bindings/scripts/include/sc_creature.h | 33 | ||||
-rw-r--r-- | src/bindings/scripts/include/sc_grid_searchers.h | 131 |
4 files changed, 15 insertions, 174 deletions
diff --git a/src/bindings/scripts/include/precompiled.h b/src/bindings/scripts/include/precompiled.h index dda4d672f38..275947e0e48 100644 --- a/src/bindings/scripts/include/precompiled.h +++ b/src/bindings/scripts/include/precompiled.h @@ -6,9 +6,14 @@ #define SC_PRECOMPILED_H #include "../ScriptMgr.h" +#include "Cell.h" +#include "CellImpl.h" +#include "GridNotifiers.h" +#include "GridNotifiersImpl.h" +#include "Unit.h" +#include "GameObject.h" #include "sc_creature.h" #include "sc_gossip.h" -#include "sc_grid_searchers.h" #include "sc_instance.h" #ifdef WIN32 diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp index 9910eafc5b2..4c9f7a385a2 100644 --- a/src/bindings/scripts/include/sc_creature.cpp +++ b/src/bindings/scripts/include/sc_creature.cpp @@ -513,14 +513,14 @@ Unit* ScriptedAI::DoSelectLowestHpFriendly(float range, uint32 MinHPDiff) Unit* pUnit = NULL;
- MostHPMissingInRange u_check(m_creature, range, MinHPDiff);
- MaNGOS::UnitLastSearcher<MostHPMissingInRange> searcher(pUnit, u_check);
+ MaNGOS::MostHPMissingInRange u_check(m_creature, range, MinHPDiff);
+ MaNGOS::UnitLastSearcher<MaNGOS::MostHPMissingInRange> searcher(pUnit, u_check);
/*
typedef TYPELIST_4(GameObject, Creature*except pets*, DynamicObject, Corpse*Bones*) AllGridObjectTypes;
This means that if we only search grid then we cannot possibly return pets or players so this is safe
*/
- TypeContainerVisitor<MaNGOS::UnitLastSearcher<MostHPMissingInRange>, GridTypeMapContainer > grid_unit_searcher(searcher);
+ TypeContainerVisitor<MaNGOS::UnitLastSearcher<MaNGOS::MostHPMissingInRange>, GridTypeMapContainer > grid_unit_searcher(searcher);
CellLock<GridReadGuard> cell_lock(cell, p);
cell_lock->Visit(cell_lock, grid_unit_searcher, *(m_creature->GetMap()));
@@ -536,10 +536,10 @@ std::list<Creature*> ScriptedAI::DoFindFriendlyCC(float range) std::list<Creature*> pList;
- FriendlyCCedInRange u_check(m_creature, range);
- MaNGOS::CreatureListSearcher<FriendlyCCedInRange> searcher(pList, u_check);
+ MaNGOS::FriendlyCCedInRange u_check(m_creature, range);
+ MaNGOS::CreatureListSearcher<MaNGOS::FriendlyCCedInRange> searcher(pList, u_check);
- TypeContainerVisitor<MaNGOS::CreatureListSearcher<FriendlyCCedInRange>, GridTypeMapContainer > grid_creature_searcher(searcher);
+ TypeContainerVisitor<MaNGOS::CreatureListSearcher<MaNGOS::FriendlyCCedInRange>, GridTypeMapContainer > grid_creature_searcher(searcher);
CellLock<GridReadGuard> cell_lock(cell, p);
cell_lock->Visit(cell_lock, grid_creature_searcher, *(m_creature->GetMap()));
@@ -556,10 +556,10 @@ std::list<Creature*> ScriptedAI::DoFindFriendlyMissingBuff(float range, uint32 s std::list<Creature*> pList;
- FriendlyMissingBuffInRange u_check(m_creature, range, spellid);
- MaNGOS::CreatureListSearcher<FriendlyMissingBuffInRange> searcher(pList, u_check);
+ MaNGOS::FriendlyMissingBuffInRange u_check(m_creature, range, spellid);
+ MaNGOS::CreatureListSearcher<MaNGOS::FriendlyMissingBuffInRange> searcher(pList, u_check);
- TypeContainerVisitor<MaNGOS::CreatureListSearcher<FriendlyMissingBuffInRange>, GridTypeMapContainer > grid_creature_searcher(searcher);
+ TypeContainerVisitor<MaNGOS::CreatureListSearcher<MaNGOS::FriendlyMissingBuffInRange>, GridTypeMapContainer > grid_creature_searcher(searcher);
CellLock<GridReadGuard> cell_lock(cell, p);
cell_lock->Visit(cell_lock, grid_creature_searcher, *(m_creature->GetMap()));
diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h index 13d57a6e78b..9433a6b7331 100644 --- a/src/bindings/scripts/include/sc_creature.h +++ b/src/bindings/scripts/include/sc_creature.h @@ -8,39 +8,6 @@ #include "CreatureAI.h" #include "Creature.h" -//Spell targets used by SelectSpell -enum SelectTarget -{ - SELECT_TARGET_DONTCARE = 0, //All target types allowed - - SELECT_TARGET_SELF, //Only Self casting - - SELECT_TARGET_SINGLE_ENEMY, //Only Single Enemy - SELECT_TARGET_AOE_ENEMY, //Only AoE Enemy - SELECT_TARGET_ANY_ENEMY, //AoE or Single Enemy - - SELECT_TARGET_SINGLE_FRIEND, //Only Single Friend - SELECT_TARGET_AOE_FRIEND, //Only AoE Friend - SELECT_TARGET_ANY_FRIEND, //AoE or Single Friend -}; - -//Spell Effects used by SelectSpell -enum SelectEffect -{ - SELECT_EFFECT_DONTCARE = 0, //All spell effects allowed - SELECT_EFFECT_DAMAGE, //Spell does damage - SELECT_EFFECT_HEALING, //Spell does healing - SELECT_EFFECT_AURA, //Spell applies an aura -}; - -//Selection method used by SelectTarget -enum SelectAggroTarget -{ - SELECT_TARGET_RANDOM = 0, //Just selects a random target - SELECT_TARGET_TOPAGGRO, //Selects targes from top aggro to bottom - SELECT_TARGET_BOTTOMAGGRO, //Selects targets from bottom aggro to top -}; - struct MANGOS_DLL_DECL ScriptedAI : public CreatureAI { ScriptedAI(Creature* creature) : m_creature(creature), InCombat(false) {} diff --git a/src/bindings/scripts/include/sc_grid_searchers.h b/src/bindings/scripts/include/sc_grid_searchers.h deleted file mode 100644 index 750f1d42fbe..00000000000 --- a/src/bindings/scripts/include/sc_grid_searchers.h +++ /dev/null @@ -1,131 +0,0 @@ -/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> -* This program is free software licensed under GPL version 2 -* Please see the included DOCS/LICENSE.TXT for more information */ - -#ifndef SC_GRIDSEARCH_H -#define SC_GRIDSEARCH_H - -#include "Unit.h" -#include "GameObject.h" - -#include "Cell.h" -#include "CellImpl.h" -#include "GridNotifiers.h" -#include "GridNotifiersImpl.h" - -//Used in: -//sc_creature.cpp - DoSelectLowestHpFriendly() -class MostHPMissingInRange -{ -public: - MostHPMissingInRange(Unit const* obj, float range, uint32 hp) : i_obj(obj), i_range(range), i_hp(hp) {} - bool operator()(Unit* u) - { - if(u->isAlive() && u->isInCombat() && !i_obj->IsHostileTo(u) && i_obj->IsWithinDistInMap(u, i_range) && u->GetMaxHealth() - u->GetHealth() > i_hp) - { - i_hp = u->GetMaxHealth() - u->GetHealth(); - return true; - } - return false; - } -private: - Unit const* i_obj; - float i_range; - uint32 i_hp; -}; - -//Used in: -//sc_creature.cpp - DoFindFriendlyCC() -class FriendlyCCedInRange -{ -public: - FriendlyCCedInRange(Unit const* obj, float range) : i_obj(obj), i_range(range) {} - bool operator()(Unit* u) - { - if(u->isAlive() && u->isInCombat() && !i_obj->IsHostileTo(u) && i_obj->IsWithinDistInMap(u, i_range) && - (u->isFeared() || u->isCharmed() || u->isFrozen() || u->hasUnitState(UNIT_STAT_STUNDED) || u->hasUnitState(UNIT_STAT_STUNDED) || u->hasUnitState(UNIT_STAT_CONFUSED))) - { - return true; - } - return false; - } -private: - Unit const* i_obj; - float i_range; -}; - -//Used in: -//sc_creature.cpp - DoFindFriendlyMissingBuff() -class FriendlyMissingBuffInRange -{ -public: - FriendlyMissingBuffInRange(Unit const* obj, float range, uint32 spellid) : i_obj(obj), i_range(range), i_spell(spellid) {} - bool operator()(Unit* u) - { - if(u->isAlive() && u->isInCombat() && !i_obj->IsHostileTo(u) && i_obj->IsWithinDistInMap(u, i_range) && - !(u->HasAura(i_spell, 0) || u->HasAura(i_spell, 1) || u->HasAura(i_spell, 2))) - { - return true; - } - return false; - } -private: - Unit const* i_obj; - float i_range; - uint32 i_spell; -}; - -//Used in: -//hyjalAI.cpp -class AllFriendlyCreaturesInGrid -{ -public: - AllFriendlyCreaturesInGrid(Unit const* obj) : pUnit(obj) {} - bool operator() (Unit* u) - { - if(u->isAlive() && u->GetVisibility() == VISIBILITY_ON && u->IsFriendlyTo(pUnit)) - return true; - - return false; - } - -private: - Unit const* pUnit; -}; - -//Used in: -//hyjalAI.cpp -class AllGameObjectsWithEntryInGrid -{ -public: - AllGameObjectsWithEntryInGrid(uint32 ent) : entry(ent) {} - bool operator() (GameObject* g) - { - if(g->GetEntry() == entry) - return true; - - return false; - } -private: - uint32 entry; -}; - -class AllCreaturesOfEntryInRange -{ -public: - AllCreaturesOfEntryInRange(Unit const* obj, uint32 ent, float ran) : pUnit(obj), entry(ent), range(ran) {} - bool operator() (Unit* u) - { - if(u->GetEntry() == entry && pUnit->IsWithinDistInMap(u, range)) - return true; - - return false; - } - -private: - Unit const* pUnit; - uint32 entry; - float range; -}; - -#endif |