aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/CMakeLists.txt4
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp50
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/def_mechanar.h3
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp22
-rw-r--r--src/framework/Platform/Define.h9
-rw-r--r--src/game/Unit.cpp3
-rw-r--r--src/trinitycore/CMakeLists.txt11
-rw-r--r--src/trinityrealm/CMakeLists.txt14
9 files changed, 73 insertions, 44 deletions
diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt
index c75547ef069..80f21126ba3 100644
--- a/src/bindings/scripts/CMakeLists.txt
+++ b/src/bindings/scripts/CMakeLists.txt
@@ -385,6 +385,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)
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 b1255220bd0..32432da45fc 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
@@ -119,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;
Wrath_Timer = 20000+rand()%5000;//twice in phase one
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 66542333e5a..da576d9ebbc 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 45a6d8fb641..d5506fbf44e 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;
}
}
};
diff --git a/src/framework/Platform/Define.h b/src/framework/Platform/Define.h
index e4d45f6b456..7a7bdcab419 100644
--- a/src/framework/Platform/Define.h
+++ b/src/framework/Platform/Define.h
@@ -60,8 +60,13 @@
# else
# define TRINITY_IMPORT __attribute__ ((cdecl))
# endif //__APPLE_CC__ && BIG_ENDIAN
-# define TRINITY_SCRIPT_EXT ".so"
-# define TRINITY_SCRIPT_NAME "libtrinityscript"
+# if defined(__APPLE_CC__)
+# define TRINITY_SCRIPT_EXT ".dylib"
+# define TRINITY_SCRIPT_NAME "../lib/libtrinityscript"
+# else
+# define TRINITY_SCRIPT_EXT ".so"
+# define TRINITY_SCRIPT_NAME "libtrinityscript"
+# endif //__APPLE_CC__
# define TRINITY_PATH_MAX PATH_MAX
#endif //PLATFORM
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 5214aa81d40..3db5e89e04e 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -4959,6 +4959,9 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
// Get Scryers reputation rank
if (((Player *)this)->GetReputationRank(934) == REP_EXALTED)
{
+ if(this->IsFriendlyTo(target))
+ return false;
+
triggered_spell_id = 45429;
break;
}
diff --git a/src/trinitycore/CMakeLists.txt b/src/trinitycore/CMakeLists.txt
index 72ceca8dd33..2c7c4544577 100644
--- a/src/trinitycore/CMakeLists.txt
+++ b/src/trinitycore/CMakeLists.txt
@@ -13,15 +13,23 @@ WorldRunnable.cpp
WorldRunnable.h
)
+SET(trinity-core_LINK_FLAGS "")
+
add_executable(trinity-core ${trinity-core_SRCS})
add_definitions(
-D_TRINITY_CORE_CONFIG='"${CONF_DIR}/trinitycore.conf"'
)
IF (DO_MYSQL)
- SET_TARGET_PROPERTIES(trinity-core PROPERTIES LINK_FLAGS "-pthread")
+ SET(trinity-core_LINK_FLAGS "-pthread ${trinity-core_LINK_FLAGS}")
ENDIF(DO_MYSQL)
+IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ SET(trinity-core_LINK_FLAGS "-framework Carbon ${trinity-core_LINK_FLAGS}")
+ SET(SCRIPT_LIB "")
+ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
+
+SET_TARGET_PROPERTIES(trinity-core PROPERTIES LINK_FLAGS "${trinity-core_LINK_FLAGS}")
target_link_libraries(
trinity-core
@@ -42,6 +50,7 @@ ${POSTGRE_LIBS}
${SSLLIB}
${ACE_LIBRARY}
${ZLIB}
+${OSX_LIBS}
)
install(TARGETS trinity-core DESTINATION bin)
diff --git a/src/trinityrealm/CMakeLists.txt b/src/trinityrealm/CMakeLists.txt
index cddea04ea47..f883259bbf5 100644
--- a/src/trinityrealm/CMakeLists.txt
+++ b/src/trinityrealm/CMakeLists.txt
@@ -9,18 +9,24 @@ RealmList.cpp
RealmList.h
)
+SET(trinity-realm_LINK_FLAGS "")
+
add_executable(trinity-realm ${trinity-realm_SRCS})
add_definitions(
-D_TRINITY_REALM_CONFIG='"${CONF_DIR}/trinityrealm.conf"'
)
IF (DO_MYSQL)
- #SET_TARGET_PROPERTIES(mangos-realmd PROPERTIES LINK_FLAGS ${MYSQL_LIBS})
- SET_TARGET_PROPERTIES(trinity-realm PROPERTIES LINK_FLAGS "-pthread")
+ SET(trinity-realm_LINK_FLAGS "-pthread ${trinity-realm_LINK_FLAGS}")
ENDIF(DO_MYSQL)
IF (DO_POSTGRE)
- SET_TARGET_PROPERTIES(trinity-realmd PROPERTIES LINK_FLAGS ${POSTGRE_LIBS})
+ SET(trinity-realm_LINK_FLAGS "${POSTGRE_LIBS} ${trinity-realm_LINK_FLAGS}")
ENDIF(DO_POSTGRE)
+IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ SET(trinity-realm_LINK_FLAGS "-framework Carbon ${trinity-realm_LINK_FLAGS}")
+ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
+
+SET_TARGET_PROPERTIES(trinity-realm PROPERTIES LINK_FLAGS "${trinity-realm_LINK_FLAGS}")
target_link_libraries(
trinity-realm
@@ -34,11 +40,11 @@ ZThread
zlib
${SSLLIB}
${MYSQL_LIBRARIES}
+${OSX_LIBS}
)
install(TARGETS trinity-realm DESTINATION bin)
-
########### install files ###############
install(FILES trinityrealm.conf.dist DESTINATION etc)