Merge [SD2]
r1100 Added basic AI definitions for boss sartharion (with adds, using a common AI for certain events) and intro calling drakes
r1101 Correcting a few details and simplify call drakes for boss sartharion
Add boss and mini-boss' abilities and add more common events to common drakes AI
r1102 Drop support for Windows VC71 (2003) (ref Mangos rev 7865)
r1103 Added support for quest 6481 (summon npc 11920)
r1104 Restore compile after change in OnCreatureCreate(). Require Mangos 7871+ - skip (we don't merge 7871?)
r1105 Remove code related to taunt immune. creature_template.flags_extra(CREATURE_FLAG_EXTRA_NOT_TAUNTABLE) must be used instead where creature should always be immune.
--HG--
branch : trunk
This commit is contained in:
@@ -2818,18 +2818,6 @@
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Obsidian Sanctum"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\scripts\zone\obsidian_sanctum\def_obsidian_sanctum.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\scripts\zone\obsidian_sanctum\instance_obsidian_sanctum.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Vault of Archavon"
|
||||
>
|
||||
|
||||
@@ -2819,18 +2819,6 @@
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Obsidian Sanctum"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\scripts\zone\obsidian_sanctum\def_obsidian_sanctum.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\scripts\zone\obsidian_sanctum\instance_obsidian_sanctum.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Vault of Archavon"
|
||||
>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/* ScriptData
|
||||
SDName: GO_Scripts
|
||||
SD%Complete: 100
|
||||
SDComment: Quest support: 4285,4287,4288(crystal pylons), 4296, 10990, 10991, 10992, Field_Repair_Bot->Teaches spell 22704. Barov_journal->Teaches spell 26089
|
||||
SDComment: Quest support: 4285,4287,4288(crystal pylons), 4296, 6481, 10990, 10991, 10992, Field_Repair_Bot->Teaches spell 22704. Barov_journal->Teaches spell 26089
|
||||
SDCategory: Game Objects
|
||||
EndScriptData */
|
||||
|
||||
@@ -33,6 +33,7 @@ go_sacred_fire_of_life
|
||||
go_shrine_of_the_birds
|
||||
go_field_repair_bot_74A
|
||||
go_orb_of_command
|
||||
go_resonite_cask
|
||||
go_tablet_of_madness
|
||||
go_tablet_of_the_seven
|
||||
go_tele_to_dalaran_crystal
|
||||
@@ -274,6 +275,23 @@ bool GOHello_go_ethereum_stasis(Player* pPlayer, GameObject* pGo)
|
||||
return false;
|
||||
}
|
||||
|
||||
/*######
|
||||
## go_resonite_cask
|
||||
######*/
|
||||
|
||||
enum
|
||||
{
|
||||
NPC_GOGGEROC = 11920
|
||||
};
|
||||
|
||||
bool GOHello_go_resonite_cask(Player* pPlayer, GameObject* pGO)
|
||||
{
|
||||
if (pGO->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
||||
pGO->SummonCreature(NPC_GOGGEROC, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 300000);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*######
|
||||
## go_sacred_fire_of_life
|
||||
######*/
|
||||
@@ -433,6 +451,11 @@ void AddSC_go_scripts()
|
||||
newscript->pGOHello = &GOHello_go_ethereum_stasis;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "go_resonite_cask";
|
||||
newscript->pGOHello = &GOHello_go_resonite_cask;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "go_sacred_fire_of_life";
|
||||
newscript->pGOHello = &GOHello_go_sacred_fire_of_life;
|
||||
|
||||
@@ -48,9 +48,6 @@ struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI
|
||||
MortalStrike_Timer = 20000;
|
||||
KnockBack_Timer = 30000;
|
||||
LeashCheck_Timer = 2000;
|
||||
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(1, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
|
||||
@@ -79,9 +79,6 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI
|
||||
TailLash_Timer = 10000;
|
||||
ClassCall_Timer = 35000; //35-40 seconds
|
||||
Phase3 = false;
|
||||
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(1, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* Victim)
|
||||
|
||||
@@ -50,9 +50,6 @@ struct TRINITY_DLL_DECL boss_razorgoreAI : public ScriptedAI
|
||||
WarStomp_Timer = 35000;
|
||||
FireballVolley_Timer = 7000;
|
||||
Conflagration_Timer = 12000;
|
||||
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(1, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
|
||||
@@ -72,9 +72,6 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI
|
||||
TailSwipe_Timer = 20000;
|
||||
HasYelled = false;
|
||||
DoingSpeach = false;
|
||||
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(1, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
|
||||
void BeginSpeach(Unit* target)
|
||||
|
||||
@@ -45,7 +45,7 @@ struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI
|
||||
boss_temporusAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
pInstance = c->GetInstanceData();
|
||||
HeroicMode = m_creature->GetMap()->IsHeroic();
|
||||
HeroicMode = c->GetMap()->IsHeroic();
|
||||
}
|
||||
|
||||
ScriptedInstance *pInstance;
|
||||
@@ -58,9 +58,6 @@ struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI
|
||||
|
||||
void Reset()
|
||||
{
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
|
||||
Haste_Timer = 15000+rand()%8000;
|
||||
SpellReflection_Timer = 30000;
|
||||
MortalWound_Timer = 8000;
|
||||
|
||||
@@ -80,9 +80,6 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_GRUULEVENT, NOT_STARTED);
|
||||
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
|
||||
-3
@@ -191,9 +191,6 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI
|
||||
ThunderClap_Timer = 15000;
|
||||
ResetThreat_Timer = 30000;
|
||||
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(1, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(TYPE_OMROGG, NOT_STARTED); //End boss can use this later. O'mrogg must be defeated(DONE) or he will come to aid.
|
||||
}
|
||||
|
||||
@@ -131,8 +131,6 @@ struct TRINITY_DLL_DECL boss_curatorAI : public ScriptedAI
|
||||
{
|
||||
AstralFlare->CastSpell(AstralFlare, SPELL_ASTRAL_FLARE_PASSIVE, false);
|
||||
AstralFlare->AI()->AttackStart(target);
|
||||
AstralFlare->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
AstralFlare->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
|
||||
//Reduce Mana by 10% of max health
|
||||
|
||||
@@ -185,9 +185,6 @@ struct TRINITY_DLL_DECL boss_attumenAI : public ScriptedAI
|
||||
void Reset()
|
||||
{
|
||||
ResetTimer = 2000;
|
||||
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who) {}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -97,9 +97,6 @@ struct TRINITY_DLL_DECL boss_onyxiaAI : public ScriptedAI
|
||||
FireballTimer = 18000;
|
||||
|
||||
InitialSpawn = true;
|
||||
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(1, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
|
||||
@@ -218,8 +218,6 @@ struct TRINITY_DLL_DECL aqsentinelAI : public ScriptedAI
|
||||
}
|
||||
ClearBudyList();
|
||||
gatherOthersWhenAggro = true;
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, false);
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, false);
|
||||
}
|
||||
|
||||
void GainSentinelAbility(uint32 id)
|
||||
@@ -234,12 +232,6 @@ struct TRINITY_DLL_DECL aqsentinelAI : public ScriptedAI
|
||||
}
|
||||
SentinelAbilityAura *a = new SentinelAbilityAura(this, (SpellEntry*)spell, id, eff_mask);
|
||||
m_creature->AddAura(a);
|
||||
|
||||
if (id == SPELL_KNOCK_BUFF)
|
||||
{
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
}
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
|
||||
@@ -71,9 +71,6 @@ struct TRINITY_DLL_DECL boss_marliAI : public ScriptedAI
|
||||
|
||||
Spawned = false;
|
||||
PhaseTwo = false;
|
||||
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(1, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
|
||||
@@ -23,10 +23,6 @@
|
||||
|
||||
#include "Common.h"
|
||||
|
||||
#ifndef HAVE_CONFIG_H
|
||||
#define HAVE_ACE_STACK_TRACE_H 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ACE_STACK_TRACE_H
|
||||
#include "ace/Stack_Trace.h"
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user