From 6f7c53b7f5b082dcd0422ff66659c4ddadcd3253 Mon Sep 17 00:00:00 2001 From: raczman Date: Fri, 20 Feb 2009 18:22:39 -0600 Subject: fix cmake/ACE for freeBSD and Mac OSX --HG-- branch : trunk --- src/bindings/scripts/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/bindings/scripts') diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt index d908064ca9b..39d7a556fa7 100644 --- a/src/bindings/scripts/CMakeLists.txt +++ b/src/bindings/scripts/CMakeLists.txt @@ -383,6 +383,10 @@ add_library(trinityscript SHARED ${trinityscript_LIB_SRCS}) add_definitions(-D_TRINITY_SCRIPT_CONFIG='"${CONF_DIR}/trinitycore.conf"') +IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + SET_TARGET_PROPERTIES(trinityscript PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress") +ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + target_link_libraries(trinityscript) set_target_properties(trinityscript PROPERTIES VERSION 4.2.0 SOVERSION 4) -- cgit v1.2.3 From f538c2253d2ccb928e5f67d9226341b3e263a108 Mon Sep 17 00:00:00 2001 From: Blaymoira Date: Sat, 21 Feb 2009 10:16:05 +0100 Subject: *Added Wrath of the Astromancer for Solarian - by streetrat --HG-- branch : trunk --- .../scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/bindings/scripts') diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp index fa177b7b240..896ccc3a3bf 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp @@ -41,6 +41,7 @@ EndScriptData */ #define SPELL_FEAR 29321 #define SPELL_VOID_BOLT 39329 #define SPELL_SPOTLIGHT 25824 +#define SPELL_WRATH_OF_THE_ASTROMANCER 42783 #define CENTER_X 432.909f #define CENTER_Y -373.424f @@ -95,6 +96,7 @@ struct TRINITY_DLL_DECL boss_high_astromancer_solarianAI : public ScriptedAI uint32 MarkOfTheSolarian_Timer; uint32 Jump_Timer; uint32 defaultarmor; + uint32 Wrath_Timer; float defaultsize; float Portals[3][3]; @@ -117,6 +119,7 @@ struct TRINITY_DLL_DECL boss_high_astromancer_solarianAI : public ScriptedAI AppearDelay = false; MarkOfTheSolarian_Timer=45000; Jump_Timer=8000; + Wrath_Timer = 20000+rand()%5000;//twice in phase one Phase = 1; if(pInstance) @@ -224,6 +227,13 @@ struct TRINITY_DLL_DECL boss_high_astromancer_solarianAI : public ScriptedAI BlindingLight_Timer = 45000; }else BlindingLight_Timer -= diff; + if( Wrath_Timer < diff) + { + m_creature->InterruptNonMeleeSpells(false); + DoCast(SelectUnit(SELECT_TARGET_RANDOM,1,100,true), SPELL_WRATH_OF_THE_ASTROMANCER, true); + Wrath_Timer = 20000+rand()%5000; + }else Wrath_Timer -= diff; + if (ArcaneMissiles_Timer < diff) { if(BlindingLight) -- cgit v1.2.3 From 34ade920cfaffe6a2ac9d8a255334449053e8bf5 Mon Sep 17 00:00:00 2001 From: Blaymoira Date: Sat, 21 Feb 2009 10:57:39 +0100 Subject: *Small fix in Nethermancer Sepethrea script - by Anubisss --HG-- branch : trunk --- .../the_mechanar/boss_nethermancer_sepethrea.cpp | 50 +++++++++++----------- .../zone/tempest_keep/the_mechanar/def_mechanar.h | 3 +- .../the_mechanar/instance_mechanar.cpp | 22 +++++----- 3 files changed, 38 insertions(+), 37 deletions(-) (limited to 'src/bindings/scripts') diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp index 85cb419c4db..93b653a344c 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp @@ -33,6 +33,7 @@ EndScriptData */ #define SAY_DEATH -1554019 #define SPELL_SUMMON_RAGIN_FLAMES 35275 +#define H_SPELL_SUMMON_RAGIN_FLAMES 39084 #define SPELL_FROST_ATTACK 35263 #define SPELL_ARCANE_BLAST 35314 @@ -66,18 +67,18 @@ boss_nethermancer_sepethreaAI(Creature *c) : ScriptedAI(c) dragons_breath_Timer = 18000 + rand()%4000; knockback_Timer = 22000 + rand()%6000; solarburn_Timer = 30000; + + if(pInstance) + pInstance->SetData(DATA_NETHERMANCER_EVENT, NOT_STARTED); } void Aggro(Unit *who) { - DoScriptText(SAY_AGGRO, m_creature); + if(pInstance) + pInstance->SetData(DATA_NETHERMANCER_EVENT, IN_PROGRESS); - //Summon two guards, three in heroic - uint8 am = (HeroicMode ? 1 : 2); - for(int i = 0; i < am; i++) - { - DoCast(who,SPELL_SUMMON_RAGIN_FLAMES); - } + DoScriptText(SAY_AGGRO, m_creature); + DoCast(who, HeroicMode ? H_SPELL_SUMMON_RAGIN_FLAMES : SPELL_SUMMON_RAGIN_FLAMES); DoScriptText(SAY_SUMMON, m_creature); } @@ -93,8 +94,9 @@ boss_nethermancer_sepethreaAI(Creature *c) : ScriptedAI(c) void JustDied(Unit* Killer) { DoScriptText(SAY_DEATH, m_creature); + if(pInstance) - pInstance->SetData(DATA_SEPETHREA_DEATH, 0); + pInstance->SetData(DATA_NETHERMANCER_EVENT, DONE); } void UpdateAI(const uint32 diff) @@ -190,6 +192,7 @@ struct TRINITY_DLL_DECL mob_ragin_flamesAI : public ScriptedAI onlyonce = false; m_creature->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true); m_creature->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, true); + m_creature->SetSpeed(MOVE_RUN, HeroicMode ? 0.7f : 0.5f); } void Aggro(Unit* who) @@ -201,6 +204,21 @@ struct TRINITY_DLL_DECL mob_ragin_flamesAI : public ScriptedAI if (!UpdateVictim()) return; + //Check_Timer + if(Check_Timer < diff) + { + if(pInstance) + { + if(pInstance->GetData(DATA_NETHERMANCER_EVENT) != IN_PROGRESS) + { + //remove + m_creature->setDeathState(JUST_DIED); + m_creature->RemoveCorpse(); + } + } + Check_Timer = 1000; + }else Check_Timer -= diff; + if (!onlyonce) { if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) @@ -221,22 +239,6 @@ struct TRINITY_DLL_DECL mob_ragin_flamesAI : public ScriptedAI flame_timer = 500; }else flame_timer -=diff; - //Check_Timer - if(Check_Timer < diff) - { - if(pInstance) - { - if(pInstance->GetData(DATA_SEPETHREAISDEAD)) - { - //remove - m_creature->setDeathState(JUST_DIED); - m_creature->RemoveCorpse(); - } - } - - Check_Timer = 1000; - }else Check_Timer -= diff; - DoMeleeAttackIfReady(); } diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/def_mechanar.h b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/def_mechanar.h index 8a054604b9d..d1b53eebf53 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/def_mechanar.h +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/def_mechanar.h @@ -1,7 +1,6 @@ #ifndef DEF_MECHANAR_H #define DEF_MECHANAR_H -#define DATA_SEPETHREA_DEATH 1 -#define DATA_SEPETHREAISDEAD 2 +#define DATA_NETHERMANCER_EVENT 1 #endif diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp index e87ef22d774..d2c62b89234 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp @@ -24,12 +24,14 @@ EndScriptData */ #include "precompiled.h" #include "def_mechanar.h" +#define ENCOUNTERS 1 + struct TRINITY_DLL_DECL instance_mechanar : public ScriptedInstance { instance_mechanar(Map *map) : ScriptedInstance(map) {Initialize();}; - bool IsBossDied[1]; + uint32 Encounters[ENCOUNTERS]; void OnCreatureCreate (Creature *creature, uint32 creature_entry) { @@ -37,12 +39,15 @@ struct TRINITY_DLL_DECL instance_mechanar : public ScriptedInstance void Initialize() { - IsBossDied[0] = false; + for(uint8 i = 0; i < ENCOUNTERS; ++i) + Encounters[i] = NOT_STARTED; } bool IsEncounterInProgress() const { - //not active + for(uint8 i = 0; i < ENCOUNTERS; ++i) + if(Encounters[i]) return true; + return false; } @@ -50,13 +55,10 @@ struct TRINITY_DLL_DECL instance_mechanar : public ScriptedInstance { switch(type) { - case DATA_SEPETHREAISDEAD: - if(IsBossDied[0]) - return 1; - break; + case DATA_NETHERMANCER_EVENT: return Encounters[0]; } - return 0; + return false; } uint64 GetData64 (uint32 identifier) @@ -68,9 +70,7 @@ struct TRINITY_DLL_DECL instance_mechanar : public ScriptedInstance { switch(type) { - case DATA_SEPETHREA_DEATH: - IsBossDied[0] = true; - break; + case DATA_NETHERMANCER_EVENT: Encounters[0] = data; break; } } }; -- cgit v1.2.3