Changeset 6 for trunk/src/bindings/scripts
- Timestamp:
- 11/19/08 13:22:12 (17 years ago)
- Location:
- trunk/src/bindings/scripts
- Files:
-
- 40 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bindings/scripts/ScriptMgr.cpp
r5 r6 1120 1120 void ScriptsInit() 1121 1121 { 1122 //Trinity Script startup 1122 //Trinity Script startup 1123 outstring_log(" _____ _ _ _ ____ _ _"); 1123 1124 outstring_log("|_ _| __(_)_ __ (_) |_ _ _/ ___| ___ _ __(_)_ __ | |_ "); 1124 outstring_log(" | || '__| | '_ \\| | __| | | \\___ \\ / __| \ \'__| | \\'_ \\| __|");1125 outstring_log(" | || '__| | '_ \\| | __| | | \\___ \\ / __| \'__| | \'_ \\| __|"); 1125 1126 outstring_log(" | || | | | | | | | |_| |_| |___) | (__| | | | |_) | |_ "); 1126 1127 outstring_log(" |_||_| |_|_| |_|_|\\__|\\__, |____/ \\___|_| |_| .__/ \\__|"); -
trunk/src/bindings/scripts/VC71/71ScriptDev2.vcproj
r2 r6 21 21 Name="VCCLCompilerTool" 22 22 Optimization="0" 23 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\ "23 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 24 24 PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" 25 25 MinimalRebuild="TRUE" … … 74 74 <Tool 75 75 Name="VCCLCompilerTool" 76 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\ "76 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 77 77 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" 78 78 RuntimeLibrary="0" -
trunk/src/bindings/scripts/VC80/80ScriptDev2.vcproj
r2 r6 46 46 Name="VCCLCompilerTool" 47 47 Optimization="0" 48 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\ "48 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 49 49 PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" 50 50 MinimalRebuild="true" … … 132 132 Name="VCCLCompilerTool" 133 133 Optimization="0" 134 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\ "134 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 135 135 PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" 136 136 MinimalRebuild="true" … … 217 217 Name="VCCLCompilerTool" 218 218 AdditionalOptions="/MP" 219 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\ "219 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 220 220 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" 221 221 RuntimeLibrary="0" … … 304 304 Name="VCCLCompilerTool" 305 305 AdditionalOptions="/MP" 306 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\ "306 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 307 307 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" 308 308 RuntimeLibrary="0" -
trunk/src/bindings/scripts/VC90/90ScriptDev2.vcproj
r2 r6 47 47 Name="VCCLCompilerTool" 48 48 Optimization="0" 49 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\ "49 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 50 50 PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" 51 51 MinimalRebuild="true" … … 132 132 Name="VCCLCompilerTool" 133 133 Optimization="0" 134 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\ "134 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 135 135 PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" 136 136 MinimalRebuild="true" … … 216 216 Name="VCCLCompilerTool" 217 217 AdditionalOptions="/MP" 218 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\ "218 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 219 219 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" 220 220 MinimalRebuild="false" … … 303 303 Name="VCCLCompilerTool" 304 304 AdditionalOptions="/MP" 305 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\ "305 AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" 306 306 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" 307 307 MinimalRebuild="false" -
trunk/src/bindings/scripts/include/sc_creature.cpp
r2 r6 26 26 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 27 27 { 28 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)28 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 29 29 return; 30 30 … … 576 576 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 577 577 { 578 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)578 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 579 579 return; 580 580 -
trunk/src/bindings/scripts/include/sc_gossip.h
r2 r6 1 1 /* Copyright (C) 2006 - 2008 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> 2 * This program is free software licensed under GPL version 23 * 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 */ 4 4 5 5 #ifndef SC_PLAYER_H … … 32 32 33 33 #define GOSSIP_TEXT_ALTERACVALLEY "Alterac Valley" 34 #define GOSSIP_TEXT_ARATHIBASIN "Arathi Basin" 34 #define GOSSIP_TEXT_ARATHIBASIN "Arathi Basin" 35 35 #define GOSSIP_TEXT_WARSONGULCH "Warsong Gulch" 36 36 #define GOSSIP_TEXT_ARENA "Arena" 37 37 #define GOSSIP_TEXT_EYEOFTHESTORM "Eye of The Storm" 38 38 39 #define GOSSIP_TEXT_DRUID "Druid" 39 #define GOSSIP_TEXT_DRUID "Druid" 40 40 #define GOSSIP_TEXT_HUNTER "Hunter" 41 41 #define GOSSIP_TEXT_PRIEST "Priest" … … 132 132 // e - Text to be displayed in pop up box 133 133 // 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) 136 136 137 137 // 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 53 53 switch ((*i).Event.event_type) 54 54 { 55 case EVENT_T_SPAWNED: 56 ProcessEvent(*i); 57 break; 55 case EVENT_T_SPAWNED: 56 ProcessEvent(*i); 57 break; 58 default: 59 break; 58 60 } 59 61 } … … 391 393 } 392 394 break; 393 394 395 case EVENT_T_FRIENDLY_IS_CC: 395 396 { … … 421 422 } 422 423 break; 423 424 424 case EVENT_T_FRIENDLY_MISSING_BUFF: 425 425 { … … 448 448 } 449 449 break; 450 451 450 case EVENT_T_SUMMONED_UNIT: 452 451 { … … 498 497 return param1; 499 498 break; 500 501 499 case 1: 502 500 return param2; 503 501 break; 504 505 502 case 2: 506 503 return param3; … … 548 545 DoSay(GetEventAIText(param1), LANG_UNIVERSAL, pActionInvoker ? pActionInvoker : m_creature->getVictim()); 549 546 break; 550 551 547 case ACTION_T_YELL: 552 548 DoYell(GetEventAIText(param1), LANG_UNIVERSAL, pActionInvoker ? pActionInvoker : m_creature->getVictim()); 553 549 break; 554 555 550 case ACTION_T_TEXTEMOTE: 556 551 DoTextEmote(GetEventAIText(param1), pActionInvoker ? pActionInvoker : m_creature->getVictim()); 557 552 break; 558 559 553 case ACTION_T_SOUND: 560 554 DoPlaySoundToSet(m_creature, param1); 561 555 break; 562 563 556 case ACTION_T_EMOTE: 564 557 m_creature->HandleEmoteCommand(param1); 565 558 break; 566 567 559 case ACTION_T_RANDOM_SAY: 568 560 { … … 573 565 } 574 566 break; 575 576 567 case ACTION_T_RANDOM_YELL: 577 568 { … … 582 573 } 583 574 break; 584 585 575 case ACTION_T_RANDOM_TEXTEMOTE: 586 576 { … … 591 581 } 592 582 break; 593 594 583 case ACTION_T_RANDOM_SOUND: 595 584 { … … 600 589 } 601 590 break; 602 603 591 case ACTION_T_RANDOM_EMOTE: 604 592 { … … 609 597 } 610 598 break; 611 612 599 case ACTION_T_CAST: 613 600 { … … 658 645 } 659 646 break; 660 661 647 case ACTION_T_SUMMON: 662 648 { … … 678 664 } 679 665 break; 680 681 666 case ACTION_T_THREAT_SINGLE_PCT: 682 667 { … … 687 672 } 688 673 break; 689 690 674 case ACTION_T_THREAT_ALL_PCT: 691 675 { … … 701 685 } 702 686 break; 703 704 687 case ACTION_T_QUEST_EVENT: 705 688 { … … 710 693 } 711 694 break; 712 713 695 case ACTION_T_CASTCREATUREGO: 714 696 { … … 719 701 } 720 702 break; 721 722 703 case ACTION_T_SET_UNIT_FIELD: 723 704 { … … 728 709 } 729 710 break; 730 731 711 case ACTION_T_SET_UNIT_FLAG: 732 712 { … … 737 717 } 738 718 break; 739 740 719 case ACTION_T_REMOVE_UNIT_FLAG: 741 720 { … … 746 725 } 747 726 break; 748 749 727 case ACTION_T_AUTO_ATTACK: 750 728 { … … 754 732 } 755 733 break; 756 757 734 case ACTION_T_COMBAT_MOVEMENT: 758 735 { … … 791 768 } 792 769 break; 793 794 770 case ACTION_T_EVADE: 795 771 { … … 814 790 } 815 791 break; 816 817 792 case ACTION_T_CASTCREATUREGO_ALL: 818 793 { … … 828 803 } 829 804 break; 830 831 805 case ACTION_T_REMOVEAURASFROMSPELL: 832 806 { … … 837 811 } 838 812 break; 839 840 813 case ACTION_T_RANGED_MOVEMENT: 841 814 { … … 851 824 } 852 825 break; 853 854 826 case ACTION_T_RANDOM_PHASE: 855 827 { … … 859 831 } 860 832 break; 861 862 833 case ACTION_T_RANDOM_PHASE_RANGE: 863 834 { … … 899 870 } 900 871 break; 901 902 872 case ACTION_T_KILLED_MONSTER: 903 873 { … … 908 878 } 909 879 break; 910 911 880 case ACTION_T_SET_INST_DATA: 912 881 { … … 922 891 } 923 892 break; 924 925 893 case ACTION_T_SET_INST_DATA64: 926 894 { … … 946 914 } 947 915 break; 948 949 916 case ACTION_T_UPDATE_TEMPLATE: 950 917 { … … 959 926 } 960 927 break; 961 962 928 case ACTION_T_DIE: 963 929 { … … 971 937 } 972 938 break; 973 974 939 case ACTION_T_ZONE_COMBAT_PULSE: 975 940 { … … 984 949 } 985 950 break; 986 } ;951 } 987 952 } 988 953 … … 1015 980 { 1016 981 //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: 1020 983 { 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; 1032 1001 } 1033 1002 } … … 1054 1023 { 1055 1024 //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; 1059 1030 } 1060 1031 } … … 1072 1043 { 1073 1044 //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; 1077 1050 } 1078 1051 } … … 1089 1062 { 1090 1063 //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; 1094 1069 } 1095 1070 } … … 1107 1082 { 1108 1083 //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; 1112 1089 } 1113 1090 } … … 1121 1098 switch ((*i).Event.event_type) 1122 1099 { 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; 1127 1104 //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: 1133 1119 (*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; 1149 1122 } 1150 1123 } … … 1200 1173 if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 1201 1174 { 1175 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 1176 return; 1177 1202 1178 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)) 1204 1180 { 1205 1181 if(who->HasStealthAura()) … … 1226 1202 switch ((*i).Event.event_type) 1227 1203 { 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; 1237 1215 } 1238 1216 } … … 1326 1304 if ((*i).creature_id == ID) 1327 1305 { 1328 1306 //Debug check 1329 1307 #ifndef _DEBUG 1330 1308 if ((*i).event_flags & EFLAG_DEBUG_ONLY) 1331 1309 continue; 1332 1310 #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 ) 1354 1316 { 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)); 1357 1318 continue; 1358 } 1359 1360 if (_Creature->GetMap()->IsHeroic()) 1319 }else if( (*i).event_flags & EFLAG_NORMAL ) 1361 1320 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 1366 1338 EventList.push_back(EventHolder(*i)); 1367 1339 } -
trunk/src/bindings/scripts/scripts/custom/custom_gossip_codebox.cpp
r2 r6 28 28 bool GossipHello_custom_gossip_codebox(Player *player, Creature *_Creature) 29 29 { 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); 31 31 player->ADD_GOSSIP_ITEM(0, "I'm not interested", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); 32 32 -
trunk/src/bindings/scripts/scripts/custom/test.cpp
r2 r6 153 153 _Creature->prepareGossipMenu(player,0); 154 154 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); 160 158 161 159 _Creature->sendPreparedGossip( player ); -
trunk/src/bindings/scripts/scripts/npc/npc_escortAI.cpp
r2 r6 63 63 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 64 64 { 65 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)65 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 66 66 return; 67 67 -
trunk/src/bindings/scripts/scripts/npc/npc_professions.cpp
r2 r6 497 497 { 498 498 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); 500 500 //unknown textID () 501 501 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 502 502 break; 503 503 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); 505 505 //unknown textID () 506 506 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 507 507 break; 508 508 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); 510 510 //unknown textID () 511 511 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); … … 767 767 case 5164: //Grumnus Steelshaper 768 768 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); 770 770 //unknown textID (TALK_UNLEARN_AXEORWEAPON) 771 771 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); … … 773 773 774 774 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); 776 776 //unknown textID (TALK_HAMMER_UNLEARN) 777 777 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 778 778 break; 779 779 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); 781 781 //unknown textID (TALK_AXE_UNLEARN) 782 782 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 783 783 break; 784 784 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); 786 786 //unknown textID (TALK_SWORD_UNLEARN) 787 787 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); … … 920 920 case 7866: //Peter Galen 921 921 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); 923 923 //unknown textID () 924 924 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); … … 926 926 case 7868: //Sarah Tanner 927 927 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); 929 929 //unknown textID () 930 930 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); … … 932 932 case 7870: //Caryssia Moonhunter 933 933 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); 935 935 //unknown textID () 936 936 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); … … 1123 1123 { 1124 1124 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); 1126 1126 //unknown textID () 1127 1127 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 1128 1128 break; 1129 1129 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); 1131 1131 //unknown textID () 1132 1132 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); 1133 1133 break; 1134 1134 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); 1136 1136 //unknown textID () 1137 1137 player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp
r2 r6 194 194 } 195 195 196 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)196 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 197 197 return; 198 198 -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
r2 r6 96 96 } 97 97 98 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)98 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 99 99 return; 100 100 -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
r2 r6 105 105 } 106 106 107 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)107 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 108 108 return; 109 109 -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
r2 r6 115 115 } 116 116 117 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)117 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 118 118 return; 119 119 -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp
r2 r6 85 85 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 86 86 { 87 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)87 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 88 88 return; 89 89 -
trunk/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp
r2 r6 996 996 if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) 997 997 { 998 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 999 return; 1000 998 1001 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)) 1000 1003 { 1001 1004 if(who->HasStealthAura()) -
trunk/src/bindings/scripts/scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp
r2 r6 276 276 void MoveInLineOfSight(Unit *who) 277 277 { 278 if (!who || m_creature->getVictim())279 return;280 281 278 if (who->GetTypeId() == TYPEID_PLAYER) 282 279 { … … 290 287 } 291 288 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 294 294 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)) 296 296 { 297 297 if(who->HasStealthAura()) -
trunk/src/bindings/scripts/scripts/zone/burning_steppes/burning_steppes.cpp
r2 r6 51 51 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 52 52 { 53 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)53 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 54 54 return; 55 55 -
trunk/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp
r2 r6 101 101 } 102 102 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)) 104 104 { 105 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 106 return; 107 105 108 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)) 107 110 { 108 111 if(who->HasStealthAura()) -
trunk/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
r2 r6 617 617 void Aggro(Unit *who) 618 618 { 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 }637 619 } 638 620 -
trunk/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
r2 r6 296 296 } 297 297 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 319 298 void UpdateAI(const uint32 diff) 320 299 { -
trunk/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp
r2 r6 345 345 void MoveInLineOfSight(Unit *who) 346 346 { 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 352 352 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)) 354 354 { 355 355 if(who->HasStealthAura()) … … 460 460 void MoveInLineOfSight(Unit *who) 461 461 { 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 467 467 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)) 469 469 { 470 470 if(who->HasStealthAura()) … … 560 560 void MoveInLineOfSight(Unit *who) 561 561 { 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 567 567 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)) 569 569 { 570 570 if(who->HasStealthAura()) -
trunk/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp
r2 r6 128 128 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 129 129 { 130 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)130 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 131 131 return; 132 132 … … 259 259 } 260 260 }else Shadowbolt_Timer -= diff; 261 262 DoMeleeAttackIfReady(); 261 263 } 262 264 }; -
trunk/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp
r2 r6 98 98 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 99 99 { 100 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)100 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 101 101 return; 102 102 -
trunk/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
r2 r6 222 222 } 223 223 224 if( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE )224 if(!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE ) 225 225 return; 226 226 -
trunk/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp
r2 r6 194 194 AddList.erase((AddList.begin())+(rand()%AddList.size())); 195 195 196 uint8 j= 0;196 uint8 i = 0; 197 197 for(std::vector<uint32>::iterator itr = AddList.begin(); itr != AddList.end(); ++itr) 198 198 { 199 199 uint32 entry = *itr; 200 200 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); 202 202 if(pCreature) 203 203 { 204 AddGUID[ j] = pCreature->GetGUID();205 AddId[ j] = entry;204 AddGUID[i] = pCreature->GetGUID(); 205 AddId[i] = entry; 206 206 } 207 ++ j;207 ++i; 208 208 } 209 209 -
trunk/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp
r2 r6 97 97 } 98 98 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 118 99 void UpdateAI(const uint32 diff) 119 100 { -
trunk/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp
r2 r6 139 139 } 140 140 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 159 141 void UpdateAI(const uint32 diff) 160 142 { -
trunk/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp
r2 r6 100 100 void MoveInLineOfSight(Unit *who) 101 101 { 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 107 107 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)) 109 109 { 110 110 if(who->HasStealthAura()) -
trunk/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp
r2 r6 90 90 void MoveInLineOfSight(Unit *who) 91 91 { 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 97 97 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)) 99 99 { 100 100 if(who->HasStealthAura()) -
trunk/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp
r2 r6 168 168 } 169 169 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 188 170 void UpdateAI(const uint32 diff) 189 171 { -
trunk/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp
r2 r6 128 128 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 129 129 { 130 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)130 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 131 131 return; 132 132 … … 369 369 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 370 370 { 371 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)371 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 372 372 return; 373 373 if (who->GetTypeId() != TYPEID_PLAYER) -
trunk/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
r2 r6 120 120 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 121 121 { 122 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)122 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 123 123 return; 124 124 -
trunk/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp
r2 r6 478 478 } 479 479 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 498 480 void UpdateAI(const uint32 diff) 499 481 { -
trunk/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp
r2 r6 205 205 if( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature) ) 206 206 { 207 if ( m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)207 if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) 208 208 return; 209 209 … … 499 499 void MoveInLineOfSight(Unit *who) 500 500 { 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 506 506 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)) 508 508 { 509 509 if(who->HasStealthAura()) … … 1512 1512 } 1513 1513 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 1532 1514 void UpdateAI(const uint32 diff) 1533 1515 { -
trunk/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp
r2 r6 163 163 } 164 164 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 range178 DoStartAttackAndMovement(who);179 }180 }181 }182 183 165 void UpdateAI(const uint32 diff) 184 166 { … … 268 250 void Aggro(Unit *who) 269 251 { 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 range285 DoStartAttackAndMovement(who);286 }287 }288 252 } 289 253 -
trunk/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp
r2 r6 695 695 } 696 696 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 714 697 void UpdateAI(const uint32 diff) 715 698 { -
trunk/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp
r2 r6 183 183 } 184 184 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 203 185 void UpdateAI (const uint32 diff) 204 186 { … … 241 223 } 242 224 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 261 225 void UpdateAI (const uint32 diff) 262 226 { -
trunk/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp
r2 r6 209 209 } 210 210 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 229 211 void UpdateAI (const uint32 diff) 230 212 {