Show
Ignore:
Timestamp:
11/19/08 13:22:12 (17 years ago)
Author:
yumileroy
Message:

[svn] * Added ACE for Linux and Windows (Thanks Derex for Linux part and partial Windows part)
* Updated to 6721 and 676
* Fixed TrinityScript? logo
* Version updated to 0.2.6721.676

Original author: Neo2003
Date: 2008-10-04 06:17:19-05:00

Location:
trunk/src/bindings/scripts
Files:
40 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/bindings/scripts/ScriptMgr.cpp

    r5 r6  
    11201120void ScriptsInit() 
    11211121{ 
    1122     //Trinity Script startup  
     1122    //Trinity Script startup 
     1123    outstring_log(" _____     _       _ _         ____            _       _"); 
    11231124    outstring_log("|_   _| __(_)_ __ (_) |_ _   _/ ___|  ___ _ __(_)_ __ | |_ "); 
    1124     outstring_log("  | || '__| | '_ \\| | __| | | \\___ \\ / __| \\'__| | \\'_ \\| __|"); 
     1125    outstring_log("  | || '__| | '_ \\| | __| | | \\___ \\ / __| \'__| | \'_ \\| __|"); 
    11251126    outstring_log("  | || |  | | | | | | |_| |_| |___) | (__| |  | | |_) | |_ "); 
    11261127    outstring_log("  |_||_|  |_|_| |_|_|\\__|\\__, |____/ \\___|_|  |_| .__/ \\__|"); 
  • trunk/src/bindings/scripts/VC71/71ScriptDev2.vcproj

    r2 r6  
    2121                                Name="VCCLCompilerTool" 
    2222                                Optimization="0" 
    23                                 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\" 
     23                                AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 
    2424                                PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" 
    2525                                MinimalRebuild="TRUE" 
     
    7474                        <Tool 
    7575                                Name="VCCLCompilerTool" 
    76                                 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\" 
     76                                AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 
    7777                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" 
    7878                                RuntimeLibrary="0" 
  • trunk/src/bindings/scripts/VC80/80ScriptDev2.vcproj

    r2 r6  
    4646                                Name="VCCLCompilerTool" 
    4747                                Optimization="0" 
    48                                 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\" 
     48                                AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 
    4949                                PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" 
    5050                                MinimalRebuild="true" 
     
    132132                                Name="VCCLCompilerTool" 
    133133                                Optimization="0" 
    134                                 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\" 
     134                                AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 
    135135                                PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" 
    136136                                MinimalRebuild="true" 
     
    217217                                Name="VCCLCompilerTool" 
    218218                                AdditionalOptions="/MP" 
    219                                 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\" 
     219                                AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 
    220220                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" 
    221221                                RuntimeLibrary="0" 
     
    304304                                Name="VCCLCompilerTool" 
    305305                                AdditionalOptions="/MP" 
    306                                 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\" 
     306                                AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 
    307307                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" 
    308308                                RuntimeLibrary="0" 
  • trunk/src/bindings/scripts/VC90/90ScriptDev2.vcproj

    r2 r6  
    4747                                Name="VCCLCompilerTool" 
    4848                                Optimization="0" 
    49                                 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\" 
     49                                AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 
    5050                                PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" 
    5151                                MinimalRebuild="true" 
     
    132132                                Name="VCCLCompilerTool" 
    133133                                Optimization="0" 
    134                                 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\" 
     134                                AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 
    135135                                PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" 
    136136                                MinimalRebuild="true" 
     
    216216                                Name="VCCLCompilerTool" 
    217217                                AdditionalOptions="/MP" 
    218                                 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\" 
     218                                AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 
    219219                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" 
    220220                                MinimalRebuild="false" 
     
    303303                                Name="VCCLCompilerTool" 
    304304                                AdditionalOptions="/MP" 
    305                                 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\" 
     305                                AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 
    306306                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" 
    307307                                MinimalRebuild="false" 
  • trunk/src/bindings/scripts/include/sc_creature.cpp

    r2 r6  
    2626    if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    2727    { 
    28         if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     28        if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    2929            return; 
    3030 
     
    576576    if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    577577    { 
    578         if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     578        if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    579579            return; 
    580580 
  • trunk/src/bindings/scripts/include/sc_gossip.h

    r2 r6  
    11/* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> 
    2 * This program is free software licensed under GPL version 2 
    3 * Please see the included DOCS/LICENSE.TXT for more information */ 
     2 * This program is free software licensed under GPL version 2 
     3 * Please see the included DOCS/LICENSE.TXT for more information */ 
    44 
    55#ifndef SC_PLAYER_H 
     
    3232 
    3333#define GOSSIP_TEXT_ALTERACVALLEY       "Alterac Valley" 
    34 #define GOSSIP_TEXT_ARATHIBASIN         "Arathi Basin"  
     34#define GOSSIP_TEXT_ARATHIBASIN         "Arathi Basin" 
    3535#define GOSSIP_TEXT_WARSONGULCH         "Warsong Gulch" 
    3636#define GOSSIP_TEXT_ARENA               "Arena" 
    3737#define GOSSIP_TEXT_EYEOFTHESTORM       "Eye of The Storm" 
    3838 
    39 #define GOSSIP_TEXT_DRUID               "Druid"  
     39#define GOSSIP_TEXT_DRUID               "Druid" 
    4040#define GOSSIP_TEXT_HUNTER              "Hunter" 
    4141#define GOSSIP_TEXT_PRIEST              "Priest" 
     
    132132// e - Text to be displayed in pop up box 
    133133// f - Money value in pop up box 
    134 #define ADD_GOSSIP_ITEM(a,b,c,d)   PlayerTalkClass->GetGossipMenu()->AddMenuItem(a,b,c,d,"",0) 
    135 #define ADD_GOSSIP_ITEM_EXTENDED(a,b,c,d,e,f)   PlayerTalkClass->GetGossipMenu()->AddMenuItem(a,b,c,d,e,f) 
     134#define ADD_GOSSIP_ITEM(a,b,c,d)   PlayerTalkClass->GetGossipMenu().AddMenuItem(a,b,c,d,"",0) 
     135#define ADD_GOSSIP_ITEM_EXTENDED(a,b,c,d,e,f,g)   PlayerTalkClass->GetGossipMenu().AddMenuItem(a,b,c,d,e,f,g) 
    136136 
    137137// This fuction Sends the current menu to show to client, a - NPCTEXTID(uint32) , b - npc guid(uint64) 
  • trunk/src/bindings/scripts/scripts/creature/mob_event_ai.cpp

    r2 r6  
    5353            switch ((*i).Event.event_type) 
    5454            { 
    55             case EVENT_T_SPAWNED: 
    56                 ProcessEvent(*i); 
    57                 break; 
     55                case EVENT_T_SPAWNED: 
     56                    ProcessEvent(*i); 
     57                    break; 
     58                default: 
     59                    break; 
    5860            } 
    5961        } 
     
    391393            } 
    392394            break; 
    393  
    394395        case EVENT_T_FRIENDLY_IS_CC: 
    395396            { 
     
    421422            } 
    422423            break; 
    423  
    424424        case EVENT_T_FRIENDLY_MISSING_BUFF: 
    425425            { 
     
    448448            } 
    449449            break; 
    450  
    451450        case EVENT_T_SUMMONED_UNIT: 
    452451            { 
     
    498497            return param1; 
    499498            break; 
    500  
    501499        case 1: 
    502500            return param2; 
    503501            break; 
    504  
    505502        case 2: 
    506503            return param3; 
     
    548545            DoSay(GetEventAIText(param1), LANG_UNIVERSAL, pActionInvoker ? pActionInvoker : m_creature->getVictim()); 
    549546            break; 
    550  
    551547        case ACTION_T_YELL: 
    552548            DoYell(GetEventAIText(param1), LANG_UNIVERSAL, pActionInvoker ? pActionInvoker : m_creature->getVictim()); 
    553549            break; 
    554  
    555550        case ACTION_T_TEXTEMOTE: 
    556551            DoTextEmote(GetEventAIText(param1), pActionInvoker ? pActionInvoker : m_creature->getVictim()); 
    557552            break; 
    558  
    559553        case ACTION_T_SOUND: 
    560554            DoPlaySoundToSet(m_creature, param1); 
    561555            break; 
    562  
    563556        case ACTION_T_EMOTE: 
    564557            m_creature->HandleEmoteCommand(param1); 
    565558            break; 
    566  
    567559        case ACTION_T_RANDOM_SAY: 
    568560            { 
     
    573565            } 
    574566            break; 
    575  
    576567        case ACTION_T_RANDOM_YELL: 
    577568            { 
     
    582573            } 
    583574            break; 
    584  
    585575        case ACTION_T_RANDOM_TEXTEMOTE: 
    586576            { 
     
    591581            } 
    592582            break; 
    593  
    594583        case ACTION_T_RANDOM_SOUND: 
    595584            { 
     
    600589            } 
    601590            break; 
    602  
    603591        case ACTION_T_RANDOM_EMOTE: 
    604592            { 
     
    609597            } 
    610598            break; 
    611  
    612599        case ACTION_T_CAST: 
    613600            { 
     
    658645            } 
    659646            break; 
    660  
    661647        case ACTION_T_SUMMON: 
    662648            { 
     
    678664            } 
    679665            break; 
    680  
    681666        case ACTION_T_THREAT_SINGLE_PCT: 
    682667            { 
     
    687672            } 
    688673            break; 
    689  
    690674        case ACTION_T_THREAT_ALL_PCT: 
    691675            { 
     
    701685            } 
    702686            break; 
    703  
    704687        case ACTION_T_QUEST_EVENT: 
    705688            { 
     
    710693            } 
    711694            break; 
    712  
    713695        case ACTION_T_CASTCREATUREGO: 
    714696            { 
     
    719701            } 
    720702            break; 
    721  
    722703        case ACTION_T_SET_UNIT_FIELD: 
    723704            { 
     
    728709            } 
    729710            break; 
    730  
    731711        case ACTION_T_SET_UNIT_FLAG: 
    732712            { 
     
    737717            } 
    738718            break; 
    739  
    740719        case ACTION_T_REMOVE_UNIT_FLAG: 
    741720            { 
     
    746725            } 
    747726            break; 
    748  
    749727        case ACTION_T_AUTO_ATTACK: 
    750728            { 
     
    754732            } 
    755733            break; 
    756  
    757734        case ACTION_T_COMBAT_MOVEMENT: 
    758735            { 
     
    791768            } 
    792769            break; 
    793  
    794770        case ACTION_T_EVADE: 
    795771            { 
     
    814790            } 
    815791            break; 
    816  
    817792        case ACTION_T_CASTCREATUREGO_ALL: 
    818793            { 
     
    828803            } 
    829804            break; 
    830  
    831805        case ACTION_T_REMOVEAURASFROMSPELL: 
    832806            { 
     
    837811            } 
    838812            break; 
    839  
    840813        case ACTION_T_RANGED_MOVEMENT: 
    841814            { 
     
    851824            } 
    852825            break; 
    853  
    854826        case ACTION_T_RANDOM_PHASE: 
    855827            { 
     
    859831            } 
    860832            break; 
    861  
    862833        case ACTION_T_RANDOM_PHASE_RANGE: 
    863834            { 
     
    899870            } 
    900871            break; 
    901  
    902872        case ACTION_T_KILLED_MONSTER: 
    903873            { 
     
    908878            } 
    909879            break; 
    910  
    911880        case ACTION_T_SET_INST_DATA: 
    912881            { 
     
    922891            } 
    923892            break; 
    924  
    925893        case ACTION_T_SET_INST_DATA64: 
    926894            { 
     
    946914            } 
    947915            break; 
    948  
    949916        case ACTION_T_UPDATE_TEMPLATE: 
    950917            { 
     
    959926            } 
    960927            break; 
    961  
    962928        case ACTION_T_DIE: 
    963929            { 
     
    971937            } 
    972938            break; 
    973  
    974939        case ACTION_T_ZONE_COMBAT_PULSE: 
    975940            { 
     
    984949            } 
    985950            break; 
    986         }; 
     951        } 
    987952    } 
    988953 
     
    1015980            { 
    1016981                //Reset all out of combat timers 
    1017             case EVENT_T_TIMER_OOC: 
    1018                 { 
    1019                     if ((*i).Event.event_param2 == (*i).Event.event_param1) 
     982                case EVENT_T_TIMER_OOC: 
    1020983                    { 
    1021                         (*i).Time = (*i).Event.event_param1; 
    1022                         (*i).Enabled = true; 
    1023  
    1024                     }else if ((*i).Event.event_param2 > (*i).Event.event_param1) 
    1025                     { 
    1026                         (*i).Time = urand((*i).Event.event_param1, (*i).Event.event_param2); 
    1027                         (*i).Enabled = true; 
    1028                     }else if (EAI_ErrorLevel > 0) 
    1029                         error_db_log("SD2: Creature %u using Event %u (Type = %u) has InitialMax < InitialMin. Event disabled.", m_creature->GetEntry(), (*i).Event.event_id, (*i).Event.event_type); 
    1030  
    1031                 }break; 
     984                        if ((*i).Event.event_param2 == (*i).Event.event_param1) 
     985                        { 
     986                            (*i).Time = (*i).Event.event_param1; 
     987                            (*i).Enabled = true; 
     988                        }else if ((*i).Event.event_param2 > (*i).Event.event_param1) 
     989                        { 
     990                            (*i).Time = urand((*i).Event.event_param1, (*i).Event.event_param2); 
     991                            (*i).Enabled = true; 
     992                        }else if (EAI_ErrorLevel > 0) 
     993                            error_db_log("SD2: Creature %u using Event %u (Type = %u) has InitialMax < InitialMin. Event disabled.", m_creature->GetEntry(), (*i).Event.event_id, (*i).Event.event_type); 
     994                    } 
     995                    break; 
     996                default: 
     997                    //TODO: enable below code line / verify this is correct to enable events previously disabled (ex. aggro yell), instead of enable this in void Aggro() 
     998                    //(*i).Enabled = true; 
     999                    //(*i).Time = 0; 
     1000                    break; 
    10321001            } 
    10331002        } 
     
    10541023            { 
    10551024                //Evade 
    1056             case EVENT_T_EVADE: 
    1057                 ProcessEvent(*i); 
    1058                 break; 
     1025                case EVENT_T_EVADE: 
     1026                    ProcessEvent(*i); 
     1027                    break; 
     1028                default: 
     1029                    break; 
    10591030            } 
    10601031        } 
     
    10721043            { 
    10731044                //Evade 
    1074             case EVENT_T_DEATH: 
    1075                 ProcessEvent(*i, killer); 
    1076                 break; 
     1045                case EVENT_T_DEATH: 
     1046                    ProcessEvent(*i, killer); 
     1047                    break; 
     1048                default: 
     1049                    break; 
    10771050            } 
    10781051        } 
     
    10891062            { 
    10901063                //Kill 
    1091             case EVENT_T_KILL: 
    1092                 ProcessEvent(*i, victim); 
    1093                 break; 
     1064                case EVENT_T_KILL: 
     1065                    ProcessEvent(*i, victim); 
     1066                    break; 
     1067                default: 
     1068                    break; 
    10941069            } 
    10951070        } 
     
    11071082            { 
    11081083                //Summoned 
    1109             case EVENT_T_SUMMONED_UNIT: 
    1110                 ProcessEvent(*i, pUnit); 
    1111                 break; 
     1084                case EVENT_T_SUMMONED_UNIT: 
     1085                    ProcessEvent(*i, pUnit); 
     1086                    break; 
     1087                default: 
     1088                    break; 
    11121089            } 
    11131090        } 
     
    11211098            switch ((*i).Event.event_type) 
    11221099            { 
    1123             case EVENT_T_AGGRO: 
    1124                 ProcessEvent(*i, who); 
    1125                 break; 
    1126  
     1100                case EVENT_T_AGGRO: 
     1101                    (*i).Enabled = true; 
     1102                    ProcessEvent(*i, who); 
     1103                    break; 
    11271104                //Reset all in combat timers 
    1128             case EVENT_T_TIMER: 
    1129  
    1130                 if ((*i).Event.event_param2 == (*i).Event.event_param1) 
    1131                 { 
    1132                     (*i).Time = (*i).Event.event_param1; 
     1105                case EVENT_T_TIMER: 
     1106                    if ((*i).Event.event_param2 == (*i).Event.event_param1) 
     1107                    { 
     1108                        (*i).Time = (*i).Event.event_param1; 
     1109                        (*i).Enabled = true; 
     1110                    }else if ((*i).Event.event_param2 > (*i).Event.event_param1) 
     1111                    { 
     1112                        (*i).Time = urand((*i).Event.event_param1, (*i).Event.event_param2);  
     1113                        (*i).Enabled = true; 
     1114                    }else if (EAI_ErrorLevel > 0) 
     1115                        error_db_log("SD2: Creature %u using Event %u (Type = %u) has InitialMax < InitialMin. Event disabled.", m_creature->GetEntry(), (*i).Event.event_id, (*i).Event.event_type); 
     1116                    break; 
     1117                //All normal events need to be re-enabled and their time set to 0 
     1118                default: 
    11331119                    (*i).Enabled = true; 
    1134  
    1135                 }else if ((*i).Event.event_param2 > (*i).Event.event_param1) 
    1136                 { 
    1137                     (*i).Time = urand((*i).Event.event_param1, (*i).Event.event_param2);  
    1138                     (*i).Enabled = true; 
    1139                 }else if (EAI_ErrorLevel > 0) 
    1140                     error_db_log("SD2: Creature %u using Event %u (Type = %u) has InitialMax < InitialMin. Event disabled.", m_creature->GetEntry(), (*i).Event.event_id, (*i).Event.event_type); 
    1141  
    1142                 break; 
    1143  
    1144                 //All normal events need to be re-enabled and their time set to 0 
    1145             default: 
    1146                 (*i).Enabled = true; 
    1147                 (*i).Time = 0; 
    1148                 break; 
     1120                    (*i).Time = 0; 
     1121                    break; 
    11491122            } 
    11501123        } 
     
    12001173        if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    12011174        { 
     1175            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     1176                return; 
     1177 
    12021178            float attackRadius = m_creature->GetAttackDistance(who); 
    1203             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
     1179            if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    12041180            { 
    12051181                if(who->HasStealthAura()) 
     
    12261202            switch ((*i).Event.event_type) 
    12271203            { 
    1228             //Spell hit 
    1229             case EVENT_T_SPELLHIT: 
    1230                 { 
    1231                     //If spell id matches (or no spell id) & if spell school matches (or no spell school) 
    1232                     if (!(*i).Event.event_param1 || pSpell->Id == (*i).Event.event_param1) 
    1233                         if ((*i).Event.event_param2_s == -1 || pSpell->SchoolMask == (*i).Event.event_param2) 
    1234                             ProcessEvent(*i, pUnit); 
    1235                 } 
    1236                 break; 
     1204                //Spell hit 
     1205                case EVENT_T_SPELLHIT: 
     1206                    { 
     1207                        //If spell id matches (or no spell id) & if spell school matches (or no spell school) 
     1208                        if (!(*i).Event.event_param1 || pSpell->Id == (*i).Event.event_param1) 
     1209                            if ((*i).Event.event_param2_s == -1 || pSpell->SchoolMask == (*i).Event.event_param2) 
     1210                                ProcessEvent(*i, pUnit); 
     1211                    } 
     1212                    break; 
     1213                default: 
     1214                    break; 
    12371215            } 
    12381216        } 
     
    13261304        if ((*i).creature_id == ID) 
    13271305        { 
    1328             //Debug check 
     1306//Debug check 
    13291307#ifndef _DEBUG 
    13301308            if ((*i).event_flags & EFLAG_DEBUG_ONLY) 
    13311309                continue; 
    13321310#endif 
    1333  
    1334             //Heroic Instance Difficulty check 
    1335             if ((*i).event_flags & EFLAG_HEROIC) 
    1336             { 
    1337                 //Creature isn't even in a dungeon 
    1338                 if (!_Creature->GetMap() || !_Creature->GetMap()->IsDungeon()) 
    1339                 { 
    1340                     if (EAI_ErrorLevel > 1) 
    1341                         error_db_log("SD2: Creature %u, Event %u using EFLAG_HEROIC but creature is not inside of an instance. Event skipped.", _Creature->GetEntry(), (*i).event_id); 
    1342                     continue; 
    1343                 } 
    1344  
    1345                 if (!_Creature->GetMap()->IsHeroic()) 
    1346                     continue; 
    1347             } else 
    1348  
    1349                 //Normal Instance Difficulty check 
    1350                 if ((*i).event_flags & EFLAG_NORMAL) 
    1351                 { 
    1352                     //Creature isn't even in a dungeon 
    1353                     if (!_Creature->GetMap() || !_Creature->GetMap()->IsDungeon()) 
     1311            if( _Creature->GetMap()->IsDungeon() ) 
     1312            { 
     1313                if( _Creature->GetMap()->IsHeroic() ) 
     1314                { 
     1315                    if( (*i).event_flags & EFLAG_HEROIC ) 
    13541316                    { 
    1355                         if (EAI_ErrorLevel > 1) 
    1356                             error_db_log("SD2: Creature %u, Event %u using EFLAG_NORMAL but creature is not inside of an instance. Event skipped.", _Creature->GetEntry(), (*i).event_id); 
     1317                        EventList.push_back(EventHolder(*i)); 
    13571318                        continue; 
    1358                     } 
    1359  
    1360                     if (_Creature->GetMap()->IsHeroic()) 
     1319                    }else if( (*i).event_flags & EFLAG_NORMAL ) 
    13611320                        continue; 
    1362                 } else if (_Creature->GetMap() && _Creature->GetMap()->IsDungeon() && EAI_ErrorLevel > 1) 
    1363                         error_db_log("SD2: Creature %u, Event %u. Creature is in instance but neither EFLAG_NORMAL or EFLAG_HEROIC are set.", _Creature->GetEntry(), (*i).event_id); 
    1364  
    1365             //Push back event 
     1321                } 
     1322                else 
     1323                { 
     1324                    if( (*i).event_flags & EFLAG_NORMAL ) 
     1325                    { 
     1326                        EventList.push_back(EventHolder(*i)); 
     1327                        continue; 
     1328                    }else if( (*i).event_flags & EFLAG_HEROIC ) 
     1329                        continue; 
     1330                } 
     1331 
     1332                if (EAI_ErrorLevel > 1) 
     1333                    error_db_log("SD2: Creature %u Event %u. Creature are in instance but neither EFLAG_NORMAL or EFLAG_HEROIC are set. Event Disabled.", _Creature->GetEntry(), (*i).event_id); 
     1334 
     1335                continue; 
     1336            } 
     1337 
    13661338            EventList.push_back(EventHolder(*i)); 
    13671339        } 
  • trunk/src/bindings/scripts/scripts/custom/custom_gossip_codebox.cpp

    r2 r6  
    2828bool GossipHello_custom_gossip_codebox(Player *player, Creature *_Creature) 
    2929{ 
    30     player->PlayerTalkClass->GetGossipMenu()->AddMenuItem(0, "A quiz: what's your name?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1, "", 0, true); 
     30    player->ADD_GOSSIP_ITEM_EXTENDED(0, "A quiz: what's your name?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1, "", 0, true); 
    3131    player->ADD_GOSSIP_ITEM(0, "I'm not interested", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); 
    3232 
  • trunk/src/bindings/scripts/scripts/custom/test.cpp

    r2 r6  
    153153    _Creature->prepareGossipMenu(player,0); 
    154154 
    155     player->PlayerTalkClass->GetGossipMenu()->AddMenuItem(0, "Click to Test Escort(Attack, Defend, Run)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1,"",0); 
    156  
    157     player->PlayerTalkClass->GetGossipMenu()->AddMenuItem(0, "Click to Test Escort(NoAttack, NoDefend, Walk)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2,"",0); 
    158  
    159     player->PlayerTalkClass->GetGossipMenu()->AddMenuItem(0, "Click to Test Escort(NoAttack, Defend, Walk)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3,"",0); 
     155    player->ADD_GOSSIP_ITEM(0, "Click to Test Escort(Attack, Defend, Run)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); 
     156    player->ADD_GOSSIP_ITEM(0, "Click to Test Escort(NoAttack, NoDefend, Walk)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); 
     157    player->ADD_GOSSIP_ITEM(0, "Click to Test Escort(NoAttack, Defend, Walk)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); 
    160158 
    161159    _Creature->sendPreparedGossip( player ); 
  • trunk/src/bindings/scripts/scripts/npc/npc_escortAI.cpp

    r2 r6  
    6363    if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    6464    { 
    65         if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     65        if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    6666            return; 
    6767 
  • trunk/src/bindings/scripts/scripts/npc/npc_professions.cpp

    r2 r6  
    497497        { 
    498498            case 22427:                                     //Zarevhi 
    499                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_TRANSMUTE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player)); 
     499                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_TRANSMUTE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player),false); 
    500500                                                            //unknown textID () 
    501501                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
    502502                break; 
    503503            case 19052:                                     //Lorokeem 
    504                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_ELIXIR, GOSSIP_SENDER_CHECK, action,    BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player)); 
     504                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_ELIXIR, GOSSIP_SENDER_CHECK, action,    BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player),false); 
    505505                                                            //unknown textID () 
    506506                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
    507507                break; 
    508508            case 17909:                                     //Lauranna Thar'well 
    509                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_POTION, GOSSIP_SENDER_CHECK, action,    BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player)); 
     509                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_POTION, GOSSIP_SENDER_CHECK, action,    BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player),false); 
    510510                                                            //unknown textID () 
    511511                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
     
    767767            case 5164:                                      //Grumnus Steelshaper 
    768768            case 11177:                                     //Okothos Ironrager 
    769                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_SMITH_SPEC, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ARMORORWEAPON, DoLowUnlearnCost(player)); 
     769                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_SMITH_SPEC, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ARMORORWEAPON, DoLowUnlearnCost(player),false); 
    770770                                                            //unknown textID (TALK_UNLEARN_AXEORWEAPON) 
    771771                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
     
    773773 
    774774            case 11191: 
    775                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_HAMMER, GOSSIP_SENDER_CHECK, action,    BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player)); 
     775                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_HAMMER, GOSSIP_SENDER_CHECK, action,    BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player),false); 
    776776                                                            //unknown textID (TALK_HAMMER_UNLEARN) 
    777777                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
    778778                break; 
    779779            case 11192: 
    780                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_AXE, GOSSIP_SENDER_CHECK, action,       BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player)); 
     780                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_AXE, GOSSIP_SENDER_CHECK, action,       BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player),false); 
    781781                                                            //unknown textID (TALK_AXE_UNLEARN) 
    782782                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
    783783                break; 
    784784            case 11193: 
    785                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_SWORD, GOSSIP_SENDER_CHECK, action,     BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player)); 
     785                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_SWORD, GOSSIP_SENDER_CHECK, action,     BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player),false); 
    786786                                                            //unknown textID (TALK_SWORD_UNLEARN) 
    787787                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
     
    920920            case 7866:                                      //Peter Galen 
    921921            case 7867:                                      //Thorkaf Dragoneye 
    922                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_DRAGON, GOSSIP_SENDER_CHECK, action,    BOX_UNLEARN_LEATHER_SPEC, DoMedUnlearnCost(player)); 
     922                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_DRAGON, GOSSIP_SENDER_CHECK, action,    BOX_UNLEARN_LEATHER_SPEC, DoMedUnlearnCost(player),false); 
    923923                                                            //unknown textID () 
    924924                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
     
    926926            case 7868:                                      //Sarah Tanner 
    927927            case 7869:                                      //Brumn Winterhoof 
    928                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_ELEMENTAL, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_LEATHER_SPEC, DoMedUnlearnCost(player)); 
     928                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_ELEMENTAL, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_LEATHER_SPEC, DoMedUnlearnCost(player),false); 
    929929                                                            //unknown textID () 
    930930                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
     
    932932            case 7870:                                      //Caryssia Moonhunter 
    933933            case 7871:                                      //Se'Jib 
    934                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_TRIBAL, GOSSIP_SENDER_CHECK, action,    BOX_UNLEARN_LEATHER_SPEC, DoMedUnlearnCost(player)); 
     934                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_TRIBAL, GOSSIP_SENDER_CHECK, action,    BOX_UNLEARN_LEATHER_SPEC, DoMedUnlearnCost(player),false); 
    935935                                                            //unknown textID () 
    936936                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
     
    11231123        { 
    11241124            case 22213:                                     //Gidge Spellweaver 
    1125                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_SPELLFIRE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player)); 
     1125                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_SPELLFIRE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player),false); 
    11261126                                                            //unknown textID () 
    11271127                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
    11281128                break; 
    11291129            case 22208:                                     //Nasmara Moonsong 
    1130                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_MOONCLOTH, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player)); 
     1130                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_MOONCLOTH, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player),false); 
    11311131                                                            //unknown textID () 
    11321132                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
    11331133                break; 
    11341134            case 22212:                                     //Andrion Darkspinner 
    1135                 player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_SHADOWEAVE, GOSSIP_SENDER_CHECK, action,BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player)); 
     1135                player->ADD_GOSSIP_ITEM_EXTENDED( 0, GOSSIP_UNLEARN_SHADOWEAVE, GOSSIP_SENDER_CHECK, action,BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player),false); 
    11361136                                                            //unknown textID () 
    11371137                player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 
  • trunk/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp

    r2 r6  
    194194            } 
    195195 
    196             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     196            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    197197                return; 
    198198 
  • trunk/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp

    r2 r6  
    9696            } 
    9797 
    98             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     98            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    9999                return; 
    100100 
  • trunk/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp

    r2 r6  
    105105            } 
    106106 
    107             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     107            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    108108                return; 
    109109 
  • trunk/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp

    r2 r6  
    115115            } 
    116116 
    117             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     117            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    118118                return; 
    119119 
  • trunk/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp

    r2 r6  
    8585        if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    8686        { 
    87             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     87            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    8888                return; 
    8989 
  • trunk/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp

    r2 r6  
    996996        if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    997997        { 
     998            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     999                return; 
     1000 
    9981001            float attackRadius = m_creature->GetAttackDistance(who); 
    999             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
     1002            if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    10001003            { 
    10011004                if(who->HasStealthAura()) 
  • trunk/src/bindings/scripts/scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp

    r2 r6  
    276276    void MoveInLineOfSight(Unit *who) 
    277277    { 
    278         if (!who || m_creature->getVictim()) 
    279             return; 
    280  
    281278        if (who->GetTypeId() == TYPEID_PLAYER) 
    282279        { 
     
    290287        } 
    291288 
    292         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    293         { 
     289        if (!m_creature->getVictim() && who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
     290        { 
     291            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     292                return; 
     293 
    294294            float attackRadius = m_creature->GetAttackDistance(who); 
    295             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
     295            if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    296296            { 
    297297                if(who->HasStealthAura()) 
  • trunk/src/bindings/scripts/scripts/zone/burning_steppes/burning_steppes.cpp

    r2 r6  
    5151        if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    5252        { 
    53             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     53            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    5454                return; 
    5555 
  • trunk/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp

    r2 r6  
    101101        } 
    102102 
    103         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
     103        if (!m_creature->getVictim() && who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    104104        { 
     105            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     106                return; 
     107 
    105108            float attackRadius = m_creature->GetAttackDistance(who); 
    106             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
     109            if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    107110            { 
    108111                if(who->HasStealthAura()) 
  • trunk/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp

    r2 r6  
    617617    void Aggro(Unit *who) 
    618618    { 
    619     } 
    620  
    621     void MoveInLineOfSight(Unit *who) 
    622     { 
    623         if (!who || m_creature->getVictim()) 
    624             return; 
    625  
    626         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    627         { 
    628             float attackRadius = m_creature->GetAttackDistance(who); 
    629             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    630             { 
    631                 if(who->HasStealthAura()) 
    632                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    633  
    634                 m_creature->AddThreat(who, 0.1f); 
    635             } 
    636         } 
    637619    } 
    638620 
  • trunk/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp

    r2 r6  
    296296    } 
    297297 
    298     void MoveInLineOfSight(Unit *who) 
    299     { 
    300         if (!who || m_creature->getVictim()) 
    301             return; 
    302  
    303         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    304         { 
    305             float attackRadius = m_creature->GetAttackDistance(who); 
    306             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    307             { 
    308                 if(who->HasStealthAura()) 
    309                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    310  
    311                 DoStartAttackAndMovement(who); 
    312  
    313                 if(!InCombat) 
    314                     StartEvent(); 
    315             } 
    316         } 
    317     } 
    318  
    319298    void UpdateAI(const uint32 diff) 
    320299    { 
  • trunk/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp

    r2 r6  
    345345    void MoveInLineOfSight(Unit *who) 
    346346    { 
    347         if (!who || m_creature->getVictim()) 
    348             return; 
    349  
    350         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    351         { 
     347        if (!m_creature->getVictim() && who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
     348        { 
     349            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     350                return; 
     351 
    352352            float attackRadius = m_creature->GetAttackDistance(who); 
    353             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
     353            if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    354354            { 
    355355                if(who->HasStealthAura()) 
     
    460460    void MoveInLineOfSight(Unit *who) 
    461461    { 
    462         if (!who || m_creature->getVictim()) 
    463             return; 
    464  
    465         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    466         { 
     462        if (!m_creature->getVictim() && who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
     463        { 
     464            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     465                return; 
     466 
    467467            float attackRadius = m_creature->GetAttackDistance(who); 
    468             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
     468            if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    469469            { 
    470470                if(who->HasStealthAura()) 
     
    560560    void MoveInLineOfSight(Unit *who) 
    561561    { 
    562         if (!who || m_creature->getVictim()) 
    563             return; 
    564  
    565         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    566         { 
     562        if (!m_creature->getVictim() && who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
     563        { 
     564            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     565                return; 
     566 
    567567            float attackRadius = m_creature->GetAttackDistance(who); 
    568             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
     568            if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    569569            { 
    570570                if(who->HasStealthAura()) 
  • trunk/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp

    r2 r6  
    128128        if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    129129        { 
    130             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     130            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    131131                return; 
    132132 
     
    259259            } 
    260260        }else Shadowbolt_Timer -= diff; 
     261 
     262        DoMeleeAttackIfReady(); 
    261263    } 
    262264}; 
  • trunk/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp

    r2 r6  
    9898        if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    9999        { 
    100             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     100            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    101101                return; 
    102102 
  • trunk/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp

    r2 r6  
    222222            } 
    223223 
    224             if( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE ) 
     224            if(!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE ) 
    225225                return; 
    226226 
  • trunk/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp

    r2 r6  
    194194                AddList.erase((AddList.begin())+(rand()%AddList.size())); 
    195195 
    196             uint8 j = 0; 
     196            uint8 i = 0; 
    197197            for(std::vector<uint32>::iterator itr = AddList.begin(); itr != AddList.end(); ++itr) 
    198198            { 
    199199                uint32 entry = *itr; 
    200200 
    201                 pCreature = m_creature->SummonCreature(entry, Locations[j][0], Locations[j][1], POS_Z, ORIENT, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000); 
     201                pCreature = m_creature->SummonCreature(entry, Locations[i][0], Locations[i][1], POS_Z, ORIENT, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000); 
    202202                if(pCreature) 
    203203                { 
    204                     AddGUID[j] = pCreature->GetGUID(); 
    205                     AddId[j] = entry; 
     204                    AddGUID[i] = pCreature->GetGUID(); 
     205                    AddId[i] = entry; 
    206206                } 
    207                 ++j; 
     207                ++i; 
    208208            } 
    209209 
  • trunk/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp

    r2 r6  
    9797    } 
    9898 
    99     void MoveInLineOfSight(Unit *who) 
    100     { 
    101         if (!who || m_creature->getVictim()) 
    102             return; 
    103  
    104         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    105         { 
    106             float attackRadius = m_creature->GetAttackDistance(who); 
    107             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    108             { 
    109                 if(who->HasStealthAura()) 
    110                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    111  
    112                 DoStartAttackAndMovement(who); 
    113  
    114             } 
    115         } 
    116     } 
    117  
    11899    void UpdateAI(const uint32 diff) 
    119100    { 
  • trunk/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp

    r2 r6  
    139139    } 
    140140 
    141     void MoveInLineOfSight(Unit *who) 
    142     { 
    143         if (!who || m_creature->getVictim()) 
    144             return; 
    145  
    146         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    147         { 
    148             float attackRadius = m_creature->GetAttackDistance(who); 
    149             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    150             { 
    151                 if(who->HasStealthAura()) 
    152                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    153  
    154                 DoStartAttackAndMovement(who); 
    155             } 
    156         } 
    157     } 
    158  
    159141    void UpdateAI(const uint32 diff) 
    160142    { 
  • trunk/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp

    r2 r6  
    100100    void MoveInLineOfSight(Unit *who) 
    101101    { 
    102         if (!who || m_creature->getVictim()) 
    103             return; 
    104  
    105         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    106         { 
     102        if (!m_creature->getVictim() && who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
     103        { 
     104            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     105                return; 
     106 
    107107            float attackRadius = m_creature->GetAttackDistance(who); 
    108             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
     108            if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    109109            { 
    110110                if(who->HasStealthAura()) 
  • trunk/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp

    r2 r6  
    9090    void MoveInLineOfSight(Unit *who) 
    9191    { 
    92         if (!who || m_creature->getVictim()) 
    93             return; 
    94  
    95         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    96         { 
     92        if (!m_creature->getVictim() && who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
     93        { 
     94            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     95                return; 
     96 
    9797            float attackRadius = m_creature->GetAttackDistance(who); 
    98             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE) 
     98            if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    9999            { 
    100100                if(who->HasStealthAura()) 
  • trunk/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp

    r2 r6  
    168168    } 
    169169 
    170     void MoveInLineOfSight(Unit *who) 
    171     { 
    172         if (!who || m_creature->getVictim()) 
    173             return; 
    174  
    175         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    176         { 
    177             float attackRadius = m_creature->GetAttackDistance(who); 
    178             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    179             { 
    180                 if(who->HasStealthAura()) 
    181                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    182  
    183                 DoStartAttackAndMovement(who); 
    184             } 
    185         } 
    186     } 
    187  
    188170    void UpdateAI(const uint32 diff) 
    189171    { 
  • trunk/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp

    r2 r6  
    128128        if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    129129        { 
    130             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     130            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    131131                return; 
    132132 
     
    369369        if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    370370        { 
    371             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     371            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    372372                return; 
    373373            if (who->GetTypeId() != TYPEID_PLAYER) 
  • trunk/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp

    r2 r6  
    120120        if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    121121        { 
    122             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     122            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    123123                return; 
    124124 
  • trunk/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp

    r2 r6  
    478478    } 
    479479 
    480     void MoveInLineOfSight(Unit *who) 
    481     { 
    482         if (!who || m_creature->getVictim()) 
    483             return; 
    484  
    485         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    486         { 
    487             float attackRadius = m_creature->GetAttackDistance(who); 
    488             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    489             { 
    490                 if(who->HasStealthAura()) 
    491                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    492  
    493                 DoStartAttackAndMovement(who); 
    494             } 
    495         } 
    496     } 
    497  
    498480    void UpdateAI(const uint32 diff) 
    499481    { 
  • trunk/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp

    r2 r6  
    205205        if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 
    206206        { 
    207             if (m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     207            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
    208208                return; 
    209209 
     
    499499    void MoveInLineOfSight(Unit *who) 
    500500    { 
    501         if (!who || m_creature->getVictim()) 
    502             return; 
    503  
    504         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    505         { 
     501        if (!m_creature->getVictim() && who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
     502        { 
     503            if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 
     504                return; 
     505 
    506506            float attackRadius = m_creature->GetAttackDistance(who); 
    507             if (Phase >= 4 && m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
     507            if (Phase >= 4 && m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 
    508508            { 
    509509                if(who->HasStealthAura()) 
     
    15121512    } 
    15131513 
    1514     void MoveInLineOfSight(Unit *who) 
    1515     { 
    1516         if (!who || m_creature->getVictim()) 
    1517             return; 
    1518  
    1519         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    1520         { 
    1521             float attackRadius = m_creature->GetAttackDistance(who); 
    1522             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    1523             { 
    1524                 if(who->HasStealthAura()) 
    1525                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    1526  
    1527                 AttackStart(who); 
    1528             } 
    1529         } 
    1530     } 
    1531  
    15321514    void UpdateAI(const uint32 diff) 
    15331515    { 
  • trunk/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp

    r2 r6  
    163163    } 
    164164 
    165     void MoveInLineOfSight(Unit *who) 
    166     { 
    167         if (!who || m_creature->getVictim()) 
    168             return; 
    169  
    170         if (who->isTargetableForAttack() && IsVisible(who) && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    171         { 
    172             float attackRadius = m_creature->GetAttackDistance(who); 
    173             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    174             { 
    175                 if(who->HasStealthAura()) 
    176                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    177                 //Begin melee attack if we are within range 
    178                 DoStartAttackAndMovement(who); 
    179             } 
    180         } 
    181     } 
    182  
    183165    void UpdateAI(const uint32 diff) 
    184166    { 
     
    268250    void Aggro(Unit *who) 
    269251    { 
    270     } 
    271  
    272     void MoveInLineOfSight(Unit *who) 
    273     { 
    274         if (!who || m_creature->getVictim()) 
    275             return; 
    276  
    277         if (who->isTargetableForAttack() && IsVisible(who) && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    278         { 
    279             float attackRadius = m_creature->GetAttackDistance(who); 
    280             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    281             { 
    282                 if(who->HasStealthAura()) 
    283                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    284                 //Begin melee attack if we are within range 
    285                 DoStartAttackAndMovement(who); 
    286             } 
    287         } 
    288252    } 
    289253 
  • trunk/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp

    r2 r6  
    695695    } 
    696696 
    697     void MoveInLineOfSight(Unit *who) 
    698     { 
    699         if (!who || m_creature->getVictim()) 
    700             return; 
    701  
    702         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    703         { 
    704             float attackRadius = m_creature->GetAttackDistance(who); 
    705             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    706             { 
    707                 if(who->HasStealthAura()) 
    708                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    709                 DoStartAttackAndMovement(who); 
    710             } 
    711         } 
    712     } 
    713  
    714697    void UpdateAI(const uint32 diff) 
    715698    { 
  • trunk/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp

    r2 r6  
    183183    } 
    184184 
    185     void MoveInLineOfSight(Unit *who) 
    186     { 
    187         if (!who || m_creature->getVictim()) 
    188             return; 
    189  
    190         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    191         { 
    192             float attackRadius = m_creature->GetAttackDistance(who); 
    193             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    194             { 
    195                 if(who->HasStealthAura()) 
    196                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    197  
    198                 DoStartAttackAndMovement(who); 
    199             } 
    200         } 
    201     } 
    202  
    203185    void UpdateAI (const uint32 diff) 
    204186    { 
     
    241223    } 
    242224 
    243     void MoveInLineOfSight(Unit *who) 
    244     { 
    245         if (!who || m_creature->getVictim()) 
    246             return; 
    247  
    248         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    249         { 
    250             float attackRadius = m_creature->GetAttackDistance(who); 
    251             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    252             { 
    253                 if(who->HasStealthAura()) 
    254                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    255  
    256                 DoStartAttackAndMovement(who); 
    257             } 
    258         } 
    259     } 
    260  
    261225    void UpdateAI (const uint32 diff) 
    262226    { 
  • trunk/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp

    r2 r6  
    209209    } 
    210210 
    211     void MoveInLineOfSight(Unit *who) 
    212     { 
    213         if (!who || m_creature->getVictim()) 
    214             return; 
    215  
    216         if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 
    217         { 
    218             float attackRadius = m_creature->GetAttackDistance(who); 
    219             if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) 
    220             { 
    221                 if(who->HasStealthAura()) 
    222                     who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); 
    223  
    224                 DoStartAttackAndMovement(who); 
    225             } 
    226         } 
    227     } 
    228  
    229211    void UpdateAI (const uint32 diff) 
    230212    {