aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2009-01-17 13:42:41 -0600
committermegamage <none@none>2009-01-17 13:42:41 -0600
commit2cf1a3be1b310feafc43781ab9178f0c1f35d352 (patch)
tree8c028b01c102bba566ebb32c8014ab19eba8f46a /src
parent8739ded05dbf68486551531024f1ad8ad7b389cf (diff)
parentc5dfe7dac27a0441192af758dc55e6c71c83ccb4 (diff)
*Update to Trinity 878.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt6
-rw-r--r--src/bindings/CMakeLists.txt5
-rw-r--r--src/bindings/interface/CMakeLists.txt19
-rw-r--r--src/bindings/interface/ScriptMgr.cpp3
-rw-r--r--src/bindings/scripts/CMakeLists.txt389
-rw-r--r--src/bindings/scripts/scripts/npc/npcs_special.cpp76
-rw-r--r--src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp48
-rw-r--r--src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp29
-rw-r--r--src/framework/CMakeLists.txt8
-rw-r--r--src/game/CMakeLists.txt266
-rw-r--r--src/game/Chat.cpp3
-rw-r--r--src/game/Chat.h2
-rw-r--r--src/game/Language.h23
-rw-r--r--src/game/Level0.cpp3
-rw-r--r--src/game/Level1.cpp158
-rw-r--r--src/game/TicketMgr.cpp4
-rw-r--r--src/shared/Auth/CMakeLists.txt17
-rw-r--r--src/shared/CMakeLists.txt29
-rw-r--r--src/shared/Config/CMakeLists.txt15
-rw-r--r--src/shared/Database/CMakeLists.txt38
-rw-r--r--src/shared/Makefile.am3
-rw-r--r--src/shared/SystemConfig.h22
-rw-r--r--src/shared/SystemConfig.h.in2
-rw-r--r--src/shared/WheatyExceptionReport.cpp33
-rw-r--r--src/shared/revision.h.in4
-rw-r--r--src/shared/vmap/CMakeLists.txt35
-rw-r--r--src/trinitycore/CMakeLists.txt53
-rw-r--r--src/trinitycore/Main.cpp13
-rw-r--r--src/trinityrealm/CMakeLists.txt45
-rw-r--r--src/trinityrealm/Main.cpp8
30 files changed, 1239 insertions, 120 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 00000000000..8c8b9e0126f
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,6 @@
+add_subdirectory(framework)
+add_subdirectory(shared)
+add_subdirectory(trinityrealm)
+add_subdirectory(game)
+add_subdirectory(bindings)
+add_subdirectory(trinitycore)
diff --git a/src/bindings/CMakeLists.txt b/src/bindings/CMakeLists.txt
new file mode 100644
index 00000000000..6933b29fe2d
--- /dev/null
+++ b/src/bindings/CMakeLists.txt
@@ -0,0 +1,5 @@
+if(DO_SCRIPTS)
+add_subdirectory(scripts)
+else (DO_SCRIPTS)
+add_subdirectory(interface)
+endif(DO_SCRIPTS)
diff --git a/src/bindings/interface/CMakeLists.txt b/src/bindings/interface/CMakeLists.txt
new file mode 100644
index 00000000000..4a8f0872422
--- /dev/null
+++ b/src/bindings/interface/CMakeLists.txt
@@ -0,0 +1,19 @@
+
+########### next target ###############
+
+SET(trinityinterface_LIB_SRCS
+ ScriptMgr.cpp
+ ScriptMgr.h
+ config.h
+ system.cpp
+ Scripts/sc_default.cpp
+ Scripts/sc_defines.cpp
+ Scripts/sc_defines.h
+)
+
+add_library(trinityinterface STATIC ${trinityinterface_LIB_SRCS})
+
+target_link_libraries(trinityinterface)
+
+set_target_properties(trinityinterface PROPERTIES VERSION 4.2.0 SOVERSION 4)
+install(TARGETS trinityinterface DESTINATION lib)
diff --git a/src/bindings/interface/ScriptMgr.cpp b/src/bindings/interface/ScriptMgr.cpp
index 027b5b1fe57..8e6f2e421b6 100644
--- a/src/bindings/interface/ScriptMgr.cpp
+++ b/src/bindings/interface/ScriptMgr.cpp
@@ -276,7 +276,7 @@ InstanceData* CreateInstanceData(Map *map)
return tmpscript->GetInstanceData(map);
}
-*/
+
void ScriptedAI::UpdateAI(const uint32)
{
//Check if we have a current target
@@ -319,3 +319,4 @@ void ScriptedAI::DoGoHome()
if( !m_creature->getVictim() && m_creature->isAlive() )
m_creature->GetMotionMaster()->MoveTargetedHome();
}
+*/
diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt
new file mode 100644
index 00000000000..636530b9527
--- /dev/null
+++ b/src/bindings/scripts/CMakeLists.txt
@@ -0,0 +1,389 @@
+
+########### next target ###############
+
+SET(trinityscript_LIB_SRCS
+ ScriptMgr.cpp
+ ScriptMgr.h
+ include/precompiled.cpp
+ include/precompiled.h
+ include/sc_creature.cpp
+ include/sc_creature.h
+ include/sc_gossip.h
+ include/sc_instance.h
+ scripts/areatrigger/areatrigger_scripts.cpp
+ scripts/boss/boss_emeriss.cpp
+ scripts/boss/boss_lethon.cpp
+ scripts/boss/boss_taerar.cpp
+ scripts/boss/boss_ysondre.cpp
+ scripts/creature/mob_event_ai.cpp
+ scripts/creature/mob_event_ai.h
+ scripts/creature/mob_generic_creature.cpp
+ scripts/creature/simple_ai.cpp
+ scripts/creature/simple_ai.h
+ scripts/custom/custom_example.cpp
+ scripts/custom/custom_gossip_codebox.cpp
+ scripts/custom/test.cpp
+ scripts/go/go_scripts.cpp
+ scripts/guard/guard_ai.cpp
+ scripts/guard/guard_ai.h
+ scripts/guard/guards.cpp
+ scripts/item/item_scripts.cpp
+ scripts/item/item_test.cpp
+ scripts/npc/npc_escortAI.cpp
+ scripts/npc/npc_escortAI.h
+ scripts/npc/npc_innkeeper.cpp
+ scripts/npc/npc_professions.cpp
+ scripts/npc/npcs_special.cpp
+ scripts/zone/arathi_highlands/arathi_highlands.cpp
+ scripts/zone/alterac_mountains/alterac_mountains.cpp
+ scripts/zone/ashenvale_forest/ashenvale.cpp
+ scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp
+ scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
+ scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
+ scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp
+ scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp
+ scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
+ scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h
+ scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h
+ scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp
+ scripts/zone/azshara/azshara.cpp
+ scripts/zone/azshara/boss_azuregos.cpp
+ scripts/zone/azuremyst_isle/azuremyst_isle.cpp
+ scripts/zone/barrens/the_barrens.cpp
+ scripts/zone/black_temple/black_temple.cpp
+ scripts/zone/black_temple/boss_bloodboil.cpp
+ scripts/zone/black_temple/boss_illidan.cpp
+ scripts/zone/black_temple/boss_mother_shahraz.cpp
+ scripts/zone/black_temple/boss_reliquary_of_souls.cpp
+ scripts/zone/black_temple/boss_shade_of_akama.cpp
+ scripts/zone/black_temple/boss_supremus.cpp
+ scripts/zone/black_temple/boss_teron_gorefiend.cpp
+ scripts/zone/black_temple/boss_warlord_najentus.cpp
+ scripts/zone/black_temple/def_black_temple.h
+ scripts/zone/black_temple/illidari_council.cpp
+ scripts/zone/black_temple/instance_black_temple.cpp
+ scripts/zone/blackrock_depths/blackrock_depths.cpp
+ scripts/zone/blackrock_depths/instance_blackrock_depths.cpp
+ scripts/zone/blackrock_depths/def_blackrock_depths.h
+ scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp
+ scripts/zone/blackrock_depths/boss_angerrel.cpp
+ scripts/zone/blackrock_depths/boss_anubshiah.cpp
+ scripts/zone/blackrock_depths/boss_doomrel.cpp
+ scripts/zone/blackrock_depths/boss_doperel.cpp
+ scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp
+ scripts/zone/blackrock_depths/boss_general_angerforge.cpp
+ scripts/zone/blackrock_depths/boss_gloomrel.cpp
+ scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp
+ scripts/zone/blackrock_depths/boss_grizzle.cpp
+ scripts/zone/blackrock_depths/boss_haterel.cpp
+ scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp
+ scripts/zone/blackrock_depths/boss_magmus.cpp
+ scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp
+ scripts/zone/blackrock_depths/boss_seethrel.cpp
+ scripts/zone/blackrock_depths/boss_vilerel.cpp
+ scripts/zone/blackrock_spire/boss_drakkisath.cpp
+ scripts/zone/blackrock_spire/boss_gyth.cpp
+ scripts/zone/blackrock_spire/boss_halycon.cpp
+ scripts/zone/blackrock_spire/boss_highlord_omokk.cpp
+ scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp
+ scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp
+ scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp
+ scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp
+ scripts/zone/blackrock_spire/boss_rend_blackhand.cpp
+ scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp
+ scripts/zone/blackrock_spire/boss_the_beast.cpp
+ scripts/zone/blackrock_spire/boss_warmaster_voone.cpp
+ scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp
+ scripts/zone/blackwing_lair/boss_chromaggus.cpp
+ scripts/zone/blackwing_lair/boss_ebonroc.cpp
+ scripts/zone/blackwing_lair/boss_firemaw.cpp
+ scripts/zone/blackwing_lair/boss_flamegor.cpp
+ scripts/zone/blackwing_lair/boss_nefarian.cpp
+ scripts/zone/blackwing_lair/boss_razorgore.cpp
+ scripts/zone/blackwing_lair/boss_vaelastrasz.cpp
+ scripts/zone/blackwing_lair/boss_victor_nefarius.cpp
+ scripts/zone/blackwing_lair/instance_blackwing_lair.cpp
+ scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp
+ scripts/zone/blasted_lands/blasted_lands.cpp
+ scripts/zone/blasted_lands/boss_kruul.cpp
+ scripts/zone/bloodmyst_isle/bloodmyst_isle.cpp
+ scripts/zone/burning_steppes/burning_steppes.cpp
+ scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h
+ scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp
+ scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp
+ scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp
+ scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp
+ scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp
+ scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp
+ scripts/zone/caverns_of_time/hyjal/def_hyjal.h
+ scripts/zone/caverns_of_time/hyjal/hyjal.cpp
+ scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp
+ scripts/zone/caverns_of_time/hyjal/hyjalAI.h
+ scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h
+ scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h
+ scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h
+ scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp
+ scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp
+ scripts/zone/darkshore/darkshore.cpp
+ scripts/zone/deadmines/def_deadmines.h
+ scripts/zone/deadmines/deadmines.cpp
+ scripts/zone/dun_morogh/dun_morogh.cpp
+ scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp
+ scripts/zone/eastern_plaguelands/eastern_plaguelands.cpp
+ scripts/zone/elwynn_forest/elwynn_forest.cpp
+ scripts/zone/eversong_woods/eversong_woods.cpp
+ scripts/zone/felwood/felwood.cpp
+ scripts/zone/feralas/feralas.cpp
+ scripts/zone/ghostlands/ghostlands.cpp
+ scripts/zone/gruuls_lair/boss_gruul.cpp
+ scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp
+ scripts/zone/gruuls_lair/def_gruuls_lair.h
+ scripts/zone/gruuls_lair/instance_gruuls_lair.cpp
+ scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp
+ scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
+ scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp
+ scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp
+ scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp
+ scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp
+ scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h
+ scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h
+ scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
+ scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp
+ scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp
+ scripts/zone/ironforge/ironforge.cpp
+ scripts/zone/isle_of_queldanas/isle_of_queldanas.cpp
+ scripts/zone/karazhan/boss_curator.cpp
+ scripts/zone/karazhan/boss_maiden_of_virtue.cpp
+ scripts/zone/karazhan/boss_midnight.cpp
+ scripts/zone/karazhan/boss_moroes.cpp
+ scripts/zone/karazhan/boss_netherspite.cpp
+ scripts/zone/karazhan/boss_nightbane.cpp
+ scripts/zone/karazhan/boss_prince_malchezaar.cpp
+ scripts/zone/karazhan/boss_shade_of_aran.cpp
+ scripts/zone/karazhan/boss_terestian_illhoof.cpp
+ scripts/zone/karazhan/bosses_opera.cpp
+ scripts/zone/karazhan/def_karazhan.h
+ scripts/zone/karazhan/instance_karazhan.cpp
+ scripts/zone/karazhan/karazhan.cpp
+ scripts/zone/loch_modan/loch_modan.cpp
+ scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp
+ scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp
+ scripts/zone/magisters_terrace/boss_selin_fireheart.cpp
+ scripts/zone/magisters_terrace/boss_vexallus.cpp
+ scripts/zone/magisters_terrace/def_magisters_terrace.h
+ scripts/zone/magisters_terrace/instance_magisters_terrace.cpp
+ scripts/zone/maraudon/boss_celebras_the_cursed.cpp
+ scripts/zone/maraudon/boss_landslide.cpp
+ scripts/zone/maraudon/boss_noxxion.cpp
+ scripts/zone/maraudon/boss_princess_theradras.cpp
+ scripts/zone/molten_core/boss_baron_geddon.cpp
+ scripts/zone/molten_core/boss_garr.cpp
+ scripts/zone/molten_core/boss_gehennas.cpp
+ scripts/zone/molten_core/boss_golemagg.cpp
+ scripts/zone/molten_core/boss_lucifron.cpp
+ scripts/zone/molten_core/boss_magmadar.cpp
+ scripts/zone/molten_core/boss_majordomo_executus.cpp
+ scripts/zone/molten_core/boss_ragnaros.cpp
+ scripts/zone/molten_core/boss_shazzrah.cpp
+ scripts/zone/molten_core/boss_sulfuron_harbinger.cpp
+ scripts/zone/molten_core/def_molten_core.h
+ scripts/zone/molten_core/instance_molten_core.cpp
+ scripts/zone/molten_core/molten_core.cpp
+ scripts/zone/moonglade/moonglade.cpp
+ scripts/zone/mulgore/mulgore.cpp
+ scripts/zone/nagrand/nagrand.cpp
+ scripts/zone/naxxramas/boss_anubrekhan.cpp
+ scripts/zone/naxxramas/boss_faerlina.cpp
+ scripts/zone/naxxramas/boss_gluth.cpp
+ scripts/zone/naxxramas/boss_gothik.cpp
+ scripts/zone/naxxramas/boss_grobbulus.cpp
+ scripts/zone/naxxramas/boss_heigan.cpp
+ scripts/zone/naxxramas/boss_highlord_mograine.cpp
+ scripts/zone/naxxramas/boss_kelthuzad.cpp
+ scripts/zone/naxxramas/boss_four_horsemen.cpp
+ scripts/zone/naxxramas/boss_loatheb.cpp
+ scripts/zone/naxxramas/boss_maexxna.cpp
+ scripts/zone/naxxramas/boss_noth.cpp
+ scripts/zone/naxxramas/boss_patchwerk.cpp
+ scripts/zone/naxxramas/boss_razuvious.cpp
+ scripts/zone/naxxramas/boss_sapphiron.cpp
+ scripts/zone/naxxramas/boss_thaddius.cpp
+ scripts/zone/naxxramas/instance_naxxramas.cpp
+ scripts/zone/netherstorm/netherstorm.cpp
+ scripts/zone/onyxias_lair/boss_onyxia.cpp
+ scripts/zone/orgrimmar/orgrimmar.cpp
+ scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp
+ scripts/zone/razorfen_kraul/razorfen_kraul.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp
+ scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp
+ scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp
+ scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp
+ scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp
+ scripts/zone/scarlet_monastery/boss_herod.cpp
+ scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp
+ scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp
+ scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp
+ scripts/zone/scarlet_monastery/boss_scorn.cpp
+ scripts/zone/scarlet_monastery/boss_headless_horseman.cpp
+ scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp
+ scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp
+ scripts/zone/scarlet_monastery/def_scarlet_monastery.h
+ scripts/zone/scholomance/boss_darkmaster_gandling.cpp
+ scripts/zone/scholomance/boss_death_knight_darkreaver.cpp
+ scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp
+ scripts/zone/scholomance/boss_illucia_barov.cpp
+ scripts/zone/scholomance/boss_instructor_malicia.cpp
+ scripts/zone/scholomance/boss_jandice_barov.cpp
+ scripts/zone/scholomance/boss_kormok.cpp
+ scripts/zone/scholomance/boss_lord_alexei_barov.cpp
+ scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp
+ scripts/zone/scholomance/boss_ras_frostwhisper.cpp
+ scripts/zone/scholomance/boss_the_ravenian.cpp
+ scripts/zone/scholomance/boss_vectus.cpp
+ scripts/zone/scholomance/def_scholomance.h
+ scripts/zone/scholomance/instance_scholomance.cpp
+ scripts/zone/searing_gorge/searing_gorge.cpp
+ scripts/zone/shadowfang_keep/def_shadowfang_keep.h
+ scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp
+ scripts/zone/shadowfang_keep/shadowfang_keep.cpp
+ scripts/zone/shadowmoon_valley/boss_doomwalker.cpp
+ scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp
+ scripts/zone/shattrath/shattrath_city.cpp
+ scripts/zone/silithus/silithus.cpp
+ scripts/zone/silvermoon/silvermoon_city.cpp
+ scripts/zone/silverpine_forest/silverpine_forest.cpp
+ scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp
+ scripts/zone/stormwind/stormwind_city.cpp
+ scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
+ scripts/zone/stratholme/boss_baron_rivendare.cpp
+ scripts/zone/stratholme/boss_baroness_anastari.cpp
+ scripts/zone/stratholme/boss_cannon_master_willey.cpp
+ scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp
+ scripts/zone/stratholme/boss_magistrate_barthilas.cpp
+ scripts/zone/stratholme/boss_maleki_the_pallid.cpp
+ scripts/zone/stratholme/boss_nerubenkan.cpp
+ scripts/zone/stratholme/boss_order_of_silver_hand.cpp
+ scripts/zone/stratholme/boss_postmaster_malown.cpp
+ scripts/zone/stratholme/boss_ramstein_the_gorger.cpp
+ scripts/zone/stratholme/boss_timmy_the_cruel.cpp
+ scripts/zone/stratholme/def_stratholme.h
+ scripts/zone/stratholme/instance_stratholme.cpp
+ scripts/zone/stratholme/stratholme.cpp
+ scripts/zone/sunwell_plateau/boss_eredar_twins.cpp
+ scripts/zone/sunwell_plateau/boss_felmyst.cpp
+ scripts/zone/sunwell_plateau/boss_brutallus.cpp
+ scripts/zone/sunwell_plateau/boss_kalecgos.cpp
+ scripts/zone/sunwell_plateau/def_sunwell_plateau.h
+ scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp
+ scripts/zone/tanaris/tanaris.cpp
+ scripts/zone/tempest_keep/arcatraz/arcatraz.cpp
+ scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
+ scripts/zone/tempest_keep/arcatraz/def_arcatraz.h
+ scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp
+ scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp
+ scripts/zone/tempest_keep/botanica/boss_laj.cpp
+ scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp
+ scripts/zone/tempest_keep/the_eye/boss_alar.cpp
+ scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp
+ scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp
+ scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp
+ scripts/zone/tempest_keep/the_eye/def_the_eye.h
+ scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp
+ scripts/zone/tempest_keep/the_eye/the_eye.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
+ scripts/zone/tempest_keep/the_mechanar/def_mechanar.h
+ scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp
+ scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h
+ scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp
+ scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp
+ scripts/zone/terokkar_forest/terokkar_forest.cpp
+ scripts/zone/thunder_bluff/thunder_bluff.cpp
+ scripts/zone/tirisfal_glades/tirisfal_glades.cpp
+ scripts/zone/thousand_needles/thousand_needles.cpp
+ scripts/zone/uldaman/boss_archaedas.cpp
+ scripts/zone/uldaman/instance_uldaman.cpp
+ scripts/zone/uldaman/boss_ironaya.cpp
+ scripts/zone/uldaman/uldaman.cpp
+ scripts/zone/undercity/undercity.cpp
+ scripts/zone/wailing_caverns/instance_wailing_caverns.cpp
+ scripts/zone/western_plaguelands/western_plaguelands.cpp
+ scripts/zone/westfall/westfall.cpp
+ scripts/zone/winterspring/winterspring.cpp
+ scripts/zone/zangarmarsh/zangarmarsh.cpp
+ scripts/zone/zulaman/boss_akilzon.cpp
+ scripts/zone/zulaman/boss_halazzi.cpp
+ scripts/zone/zulaman/boss_hexlord.cpp
+ scripts/zone/zulaman/boss_janalai.cpp
+ scripts/zone/zulaman/boss_nalorakk.cpp
+ scripts/zone/zulaman/boss_zuljin.cpp
+ scripts/zone/zulaman/def_zulaman.h
+ scripts/zone/zulaman/instance_zulaman.cpp
+ scripts/zone/zulaman/zulaman.cpp
+ scripts/zone/zulfarrak/zulfarrak.cpp
+ scripts/zone/zulgurub/boss_arlokk.cpp
+ scripts/zone/zulgurub/boss_gahzranka.cpp
+ scripts/zone/zulgurub/boss_grilek.cpp
+ scripts/zone/zulgurub/boss_hakkar.cpp
+ scripts/zone/zulgurub/boss_hazzarah.cpp
+ scripts/zone/zulgurub/boss_jeklik.cpp
+ scripts/zone/zulgurub/boss_jindo.cpp
+ scripts/zone/zulgurub/boss_mandokir.cpp
+ scripts/zone/zulgurub/boss_marli.cpp
+ scripts/zone/zulgurub/boss_renataki.cpp
+ scripts/zone/zulgurub/boss_thekal.cpp
+ scripts/zone/zulgurub/boss_venoxis.cpp
+ scripts/zone/zulgurub/boss_wushoolay.cpp
+ scripts/zone/zulgurub/def_zulgurub.h
+ scripts/zone/zulgurub/instance_zulgurub.cpp
+ system.cpp
+)
+
+add_library(trinityscript STATIC ${trinityscript_LIB_SRCS})
+
+target_link_libraries(trinityscript)
+
+set_target_properties(trinityscript PROPERTIES VERSION 4.2.0 SOVERSION 4)
+install(TARGETS trinityscript DESTINATION lib)
+
diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/npc/npcs_special.cpp
index c438ef2d8af..e67fa031d42 100644
--- a/src/bindings/scripts/scripts/npc/npcs_special.cpp
+++ b/src/bindings/scripts/scripts/npc/npcs_special.cpp
@@ -131,12 +131,79 @@ bool QuestComplete_npc_chicken_cluck(Player *player, Creature *_Creature, const
## npc_dancing_flames
######*/
-bool ReceiveEmote_npc_dancing_flames( Player *player, Creature *_Creature, uint32 emote )
+#define SPELL_BRAZIER 45423
+#define SPELL_SEDUCTION 47057
+#define SPELL_FIERY_AURA 45427
+
+struct TRINITY_DLL_DECL npc_dancing_flamesAI : public ScriptedAI
{
- if( emote == TEXTEMOTE_DANCE )
- _Creature->CastSpell(player,47057,false);
+ npc_dancing_flamesAI(Creature *c) : ScriptedAI(c) {Reset();}
+
+ bool active;
+ uint32 can_iteract;
- return true;
+ void Reset()
+ {
+ active = true;
+ can_iteract = 3500;
+ DoCast(m_creature,SPELL_BRAZIER,true);
+ DoCast(m_creature,SPELL_FIERY_AURA,false);
+ float x, y, z;
+ m_creature->GetPosition(x,y,z);
+ m_creature->Relocate(x,y,z + 0.94f);
+ m_creature->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT | MOVEMENTFLAG_LEVITATING);
+ m_creature->HandleEmoteCommand(EMOTE_ONESHOT_DANCE);
+ WorldPacket data; //send update position to client
+ m_creature->BuildHeartBeatMsg(&data);
+ m_creature->SendMessageToSet(&data,true);
+ }
+
+ void UpdateAI(const uint32 diff)
+ {
+ if (!active)
+ {
+ if(can_iteract <= diff){
+ active = true;
+ can_iteract = 3500;
+ m_creature->HandleEmoteCommand(EMOTE_ONESHOT_DANCE);
+ }else can_iteract -= diff;
+ }
+ }
+
+ void Aggro(Unit* who){}
+};
+
+CreatureAI* GetAI_npc_dancing_flames(Creature *_Creature)
+{
+ return new npc_dancing_flamesAI(_Creature);
+}
+
+bool ReceiveEmote_npc_dancing_flames( Player *player, Creature *flame, uint32 emote )
+{
+ if ( ((npc_dancing_flamesAI*)flame->AI())->active &&
+ flame->IsWithinLOS(player->GetPositionX(),player->GetPositionY(),player->GetPositionZ()) && flame->IsWithinDistInMap(player,30.0f))
+ {
+ flame->SetInFront(player);
+ ((npc_dancing_flamesAI*)flame->AI())->active = false;
+
+ WorldPacket data;
+ flame->BuildHeartBeatMsg(&data);
+ flame->SendMessageToSet(&data,true);
+ switch(emote)
+ {
+ case TEXTEMOTE_KISS: flame->HandleEmoteCommand(EMOTE_ONESHOT_SHY); break;
+ case TEXTEMOTE_WAVE: flame->HandleEmoteCommand(EMOTE_ONESHOT_WAVE); break;
+ case TEXTEMOTE_BOW: flame->HandleEmoteCommand(EMOTE_ONESHOT_BOW); break;
+ case TEXTEMOTE_JOKE: flame->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH); break;
+ case TEXTEMOTE_DANCE:
+ {
+ if (!player->HasAura(SPELL_SEDUCTION,0))
+ flame->CastSpell(player,SPELL_SEDUCTION,true);
+ }
+ break;
+ }
+ }
+ return true;
}
/*######
@@ -940,6 +1007,7 @@ void AddSC_npcs_special()
newscript = new Script;
newscript->Name="npc_dancing_flames";
+ newscript->GetAI = &GetAI_npc_dancing_flames;
newscript->pReceiveEmote = &ReceiveEmote_npc_dancing_flames;
newscript->RegisterSelf();
diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
index afc161afed4..d0273e22d34 100644
--- a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
+++ b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
@@ -23,7 +23,7 @@ EndScriptData */
#include "precompiled.h"
-#define SPELL_INHABITMAGIC 32264
+#define SPELL_INHIBITMAGIC 32264
#define SPELL_ATTRACTMAGIC 32265
#define N_SPELL_CARNIVOROUSBITE 36383
#define H_SPELL_CARNIVOROUSBITE 39382
@@ -44,7 +44,7 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI
Reset();
}
- uint32 Inhabitmagic_Timer;
+ uint32 Inhibitmagic_Timer;
uint32 Attractmagic_Timer;
uint32 Carnivorousbite_Timer;
uint32 FocusFire_Timer;
@@ -53,7 +53,7 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI
void Reset()
{
- Inhabitmagic_Timer = 3000;
+ Inhibitmagic_Timer = 0;
Attractmagic_Timer = 28000;
Carnivorousbite_Timer = 10000;
FocusFire_Timer = 17000;
@@ -79,22 +79,38 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
+ //Inhibitmagic_Timer
+ if (Inhibitmagic_Timer < diff)
+ {
+ float dist;
+ Map *map = m_creature->GetMap();
+ Map::PlayerList const &PlayerList = map->GetPlayers();
+ for(Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
+ if (Player* i_pl = i->getSource())
+ if (i_pl->isAlive() && (dist = i_pl->GetDistance(m_creature)) < 45)
+ {
+ i_pl->RemoveAurasDueToSpell(SPELL_INHIBITMAGIC);
+ m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl);
+ if(dist < 35)
+ m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl);
+ if(dist < 25)
+ m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl);
+ if(dist < 15)
+ m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl);
+ }
+ Inhibitmagic_Timer = 3000+(rand()%1000);
+ }else Inhibitmagic_Timer -= diff;
+
//Return since we have no target
if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
return;
- //Inhabitmagic_Timer
- if (Inhabitmagic_Timer < diff)
- {
- DoCast(m_creature,SPELL_INHABITMAGIC);
- Inhabitmagic_Timer = 2000+(rand()%2000);
- }else Inhabitmagic_Timer -= diff;
-
//Attractmagic_Timer
if (Attractmagic_Timer < diff)
{
DoCast(m_creature,SPELL_ATTRACTMAGIC);
Attractmagic_Timer = 30000;
+ Carnivorousbite_Timer = 1500;
}else Attractmagic_Timer -= diff;
//Carnivorousbite_Timer
@@ -108,20 +124,20 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI
if (FocusFire_Timer < diff)
{
// Summon Focus Fire & Emote
- Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0);
- if (target && target->GetTypeId() == TYPEID_PLAYER)
+ Unit *target = SelectUnit(SELECT_TARGET_RANDOM,1);
+ if (target && target->GetTypeId() == TYPEID_PLAYER && target->isAlive())
{
focusedTarget = target;
m_creature->SummonCreature(ENTRY_FOCUS_FIRE,target->GetPositionX(),target->GetPositionY(),target->GetPositionZ(),0,TEMPSUMMON_TIMED_DESPAWN,5500);
// Emote
- std::string *emote = new std::string("focuses his energy on ");
+ std::string *emote = new std::string("focuses on ");
emote->append(target->GetName());
+ emote->append("!");
DoTextEmote(emote->c_str(),NULL,true);
delete emote;
-
- FocusFire_Timer = 15000+(rand()%5000);
}
+ FocusFire_Timer = 15000+(rand()%5000);
}else FocusFire_Timer -= diff;
DoMeleeAttackIfReady();
@@ -143,7 +159,7 @@ struct TRINITY_DLL_DECL mob_focus_fireAI : public ScriptedAI
bool HeroicMode;
uint32 FieryBlast_Timer;
- bool fiery1, fiery2, fiery3;
+ bool fiery1, fiery2;
void Reset()
{
diff --git a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
index a5d66b02ddc..2631b9ac3ae 100644
--- a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
+++ b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
@@ -72,13 +72,28 @@ struct TRINITY_DLL_DECL mob_yennikuAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
if (bReset)
- if(Reset_Timer < diff)
- {
- EnterEvadeMode();
- bReset = false;
- m_creature->setFaction(28); //troll, bloodscalp
- }
- else Reset_Timer -= diff;
+ {
+ if(Reset_Timer < diff)
+ {
+ EnterEvadeMode();
+ bReset = false;
+ m_creature->setFaction(28); //troll, bloodscalp
+ }
+ else Reset_Timer -= diff;
+
+ if(m_creature->isInCombat() && m_creature->getVictim())
+ {
+ if(m_creature->getVictim()->GetTypeId() == TYPEID_PLAYER)
+ {
+ Unit *victim = m_creature->getVictim();
+ if(((Player*)victim)->GetTeam() == HORDE)
+ {
+ m_creature->CombatStop();
+ m_creature->DeleteThreatList();
+ }
+ }
+ }
+ }
//Return since we have no target
if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
diff --git a/src/framework/CMakeLists.txt b/src/framework/CMakeLists.txt
new file mode 100644
index 00000000000..41ca661de98
--- /dev/null
+++ b/src/framework/CMakeLists.txt
@@ -0,0 +1,8 @@
+SET(trinityframework_STAT_SRCS
+ Policies/ObjectLifeTime.cpp
+ Utilities/EventProcessor.cpp
+)
+include_directories(
+${CMAKE_CURRENT_SRC_DIR}
+)
+add_library(trinityframework STATIC ${trinityframework_STAT_SRCS})
diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt
new file mode 100644
index 00000000000..db1e31f2414
--- /dev/null
+++ b/src/game/CMakeLists.txt
@@ -0,0 +1,266 @@
+
+########### next target ###############
+
+SET(game_STAT_SRCS
+ AccountMgr.cpp
+ AccountMgr.h
+ AddonHandler.cpp
+ AddonHandler.h
+ AggressorAI.cpp
+ AggressorAI.h
+ AnimalRandomMovementGenerator.h
+ ArenaTeam.cpp
+ ArenaTeam.h
+ ArenaTeamHandler.cpp
+ AuctionHouse.cpp
+ AuctionHouseObject.h
+ Bag.cpp
+ Bag.h
+ BattleGround.cpp
+ BattleGroundAA.cpp
+ BattleGroundAB.cpp
+ BattleGroundAV.cpp
+ BattleGroundBE.cpp
+ BattleGroundEY.cpp
+ BattleGroundNA.cpp
+ BattleGroundRL.cpp
+ BattleGroundWS.cpp
+ BattleGround.h
+ BattleGroundAA.h
+ BattleGroundAB.h
+ BattleGroundAV.h
+ BattleGroundBE.h
+ BattleGroundEY.h
+ BattleGroundNA.h
+ BattleGroundRL.h
+ BattleGroundWS.h
+ BattleGroundHandler.cpp
+ BattleGroundMgr.cpp
+ BattleGroundMgr.h
+ Cell.h
+ CellImpl.h
+ Channel.cpp
+ Channel.h
+ ChannelHandler.cpp
+ ChannelMgr.h
+ CharacterHandler.cpp
+ Chat.cpp
+ Chat.h
+ ChatHandler.cpp
+ CombatHandler.cpp
+ ConfusedMovementGenerator.cpp
+ ConfusedMovementGenerator.h
+ Corpse.cpp
+ Corpse.h
+ CreatureAI.cpp
+ CreatureAI.h
+ CreatureAIImpl.h
+ CreatureAIRegistry.cpp
+ CreatureAIRegistry.h
+ CreatureAISelector.cpp
+ CreatureAISelector.h
+ Creature.cpp
+ Creature.h
+ CreatureGroups.cpp
+ CreatureGroups.h
+ debugcmds.cpp
+ DestinationHolder.cpp
+ DestinationHolder.h
+ DestinationHolderImp.h
+ DuelHandler.cpp
+ DynamicObject.cpp
+ DynamicObject.h
+ FleeingMovementGenerator.cpp
+ FleeingMovementGenerator.h
+ Formulas.h
+ GameEvent.cpp
+ GameEvent.h
+ GameObject.cpp
+ GameObject.h
+ GlobalEvents.cpp
+ GlobalEvents.h
+ GossipDef.cpp
+ GossipDef.h
+ GridDefines.h
+ GridNotifiers.cpp
+ GridNotifiers.h
+ GridNotifiersImpl.h
+ GridStates.cpp
+ GridStates.h
+ Group.cpp
+ Group.h
+ GroupHandler.cpp
+ GuardAI.cpp
+ GuardAI.h
+ Guild.cpp
+ Guild.h
+ GuildHandler.cpp
+ HomeMovementGenerator.cpp
+ HomeMovementGenerator.h
+ HostilRefManager.cpp
+ HostilRefManager.h
+ IdleMovementGenerator.cpp
+ IdleMovementGenerator.h
+ InstanceData.cpp
+ InstanceData.h
+ InstanceSaveMgr.cpp
+ InstanceSaveMgr.h
+ Item.cpp
+ Item.h
+ ItemEnchantmentMgr.cpp
+ ItemEnchantmentMgr.h
+ ItemHandler.cpp
+ ItemPrototype.h
+ Language.h
+ Level0.cpp
+ Level1.cpp
+ Level2.cpp
+ Level3.cpp
+ LFGHandler.cpp
+ LootHandler.cpp
+ LootMgr.cpp
+ LootMgr.h
+ Mail.cpp
+ Mail.h
+ Map.cpp
+ Map.h
+ MapInstanced.cpp
+ MapInstanced.h
+ MapManager.cpp
+ MapManager.h
+ MiscHandler.cpp
+ MotionMaster.cpp
+ MotionMaster.h
+ MovementGenerator.cpp
+ MovementGenerator.h
+ MovementGeneratorImpl.h
+ MovementHandler.cpp
+ NPCHandler.cpp
+ NPCHandler.h
+ NullCreatureAI.cpp
+ NullCreatureAI.h
+ ObjectAccessor.cpp
+ ObjectAccessor.h
+ Object.cpp
+ ObjectDefines.h
+ ObjectGridLoader.cpp
+ ObjectGridLoader.h
+ Object.h
+ ObjectMgr.cpp
+ ObjectMgr.h
+ Opcodes.cpp
+ Opcodes.h
+ OutdoorPvP.cpp
+ OutdoorPvP.h
+ OutdoorPvPEP.cpp
+ OutdoorPvPEP.h
+ OutdoorPvPHP.cpp
+ OutdoorPvPHP.h
+ OutdoorPvPMgr.cpp
+ OutdoorPvPMgr.h
+ OutdoorPvPNA.cpp
+ OutdoorPvPNA.h
+ OutdoorPvPObjectiveAI.cpp
+ OutdoorPvPObjectiveAI.h
+ OutdoorPvPSI.cpp
+ OutdoorPvPSI.h
+ OutdoorPvPTF.cpp
+ OutdoorPvPTF.h
+ OutdoorPvPZM.cpp
+ OutdoorPvPZM.h
+ Path.h
+ PetAI.cpp
+ PetAI.h
+ Pet.cpp
+ Pet.h
+ PetHandler.cpp
+ PetitionsHandler.cpp
+ Player.cpp
+ Player.h
+ PlayerDump.cpp
+ PlayerDump.h
+ PointMovementGenerator.cpp
+ PointMovementGenerator.h
+ PossessedAI.cpp
+ PossessedAI.h
+ QueryHandler.cpp
+ QuestDef.cpp
+ QuestDef.h
+ QuestHandler.cpp
+ RandomMovementGenerator.cpp
+ RandomMovementGenerator.h
+ ReactorAI.cpp
+ ReactorAI.h
+ ScriptCalls.cpp
+ ScriptCalls.h
+ SharedDefines.h
+ SkillHandler.cpp
+ SpellAuraDefines.h
+ SpellAuras.cpp
+ SpellAuras.h
+ Spell.cpp
+ SpellEffects.cpp
+ Spell.h
+ SkillDiscovery.cpp
+ SkillDiscovery.h
+ SkillExtraItems.cpp
+ SkillExtraItems.h
+ SpellHandler.cpp
+ SocialMgr.cpp
+ SocialMgr.h
+ SpellMgr.cpp
+ SpellMgr.h
+ StatSystem.cpp
+ TargetedMovementGenerator.cpp
+ TargetedMovementGenerator.h
+ TaxiHandler.cpp
+ TemporarySummon.cpp
+ TemporarySummon.h
+ TicketHandler.cpp
+ TicketMgr.cpp
+ TicketMgr.h
+ tools.cpp
+ Tools.h
+ TotemAI.cpp
+ TotemAI.h
+ Totem.cpp
+ Totem.h
+ TradeHandler.cpp
+ Transports.cpp
+ Transports.h
+ ThreatManager.cpp
+ ThreatManager.h
+ Traveller.h
+ Unit.cpp
+ Unit.h
+ UnitEvents.h
+ UpdateData.cpp
+ UpdateData.h
+ UpdateFields.h
+ UpdateMask.h
+ VoiceChatHandler.cpp
+ WaypointManager.cpp
+ WaypointManager.h
+ WaypointMovementGenerator.cpp
+ WaypointMovementGenerator.h
+ Weather.cpp
+ Weather.h
+ World.cpp
+ World.h
+ WorldLog.cpp
+ WorldLog.h
+ WorldSession.cpp
+ WorldSession.h
+ WorldSocket.cpp
+ WorldSocket.h
+ WorldSocketMgr.cpp
+ WorldSocketMgr.h
+ FollowerReference.cpp
+ FollowerReference.h
+ FollowerRefManager.h
+ GroupReference.cpp
+ GroupReference.h
+ GroupRefManager.h
+)
+
+add_library(game STATIC ${game_STAT_SRCS})
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp
index 300bb3cf3e8..ce089511586 100644
--- a/src/game/Chat.cpp
+++ b/src/game/Chat.cpp
@@ -516,6 +516,7 @@ ChatCommand * ChatHandler::getCommandTable()
{ "viewname", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketGetByNameCommand, "", NULL },
{ "viewid", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketGetByIdCommand, "", NULL },
{ "close", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketCloseByIdCommand, "", NULL },
+ { "closedlist", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketListClosedCommand, "", NULL },
{ "delete", SEC_ADMINISTRATOR, false, &ChatHandler::HandleGMTicketDeleteByIdCommand, "", NULL },
{ "assign", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketAssignToCommand, "", NULL },
{ "unassign", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketUnAssignCommand, "", NULL },
@@ -527,7 +528,7 @@ ChatCommand * ChatHandler::getCommandTable()
{
{ "account", SEC_PLAYER, true, NULL, "", accountCommandTable },
{ "gm", SEC_MODERATOR, true, NULL, "", gmCommandTable },
- { "ticket", SEC_MODERATOR, true, NULL, "", ticketCommandTable },
+ { "ticket", SEC_MODERATOR, false, NULL, "", ticketCommandTable },
{ "npc", SEC_MODERATOR, false, NULL, "", npcCommandTable },
{ "go", SEC_MODERATOR, false, NULL, "", goCommandTable },
{ "learn", SEC_MODERATOR, false, NULL, "", learnCommandTable },
diff --git a/src/game/Chat.h b/src/game/Chat.h
index e83aef41c5b..337d34e3b0c 100644
--- a/src/game/Chat.h
+++ b/src/game/Chat.h
@@ -68,6 +68,7 @@ class ChatHandler
void SendSysMessage( int32 entry);
void PSendSysMessage( const char *format, ...) ATTR_PRINTF(2,3);
void PSendSysMessage( int32 entry, ... );
+ std::string PGetParseString(int32 entry, ...);
int ParseCommands(const char* text);
@@ -415,6 +416,7 @@ class ChatHandler
// GM ticket command handlers
bool HandleGMTicketListCommand(const char* args);
bool HandleGMTicketListOnlineCommand(const char* args);
+ bool HandleGMTicketListClosedCommand(const char* args);
bool HandleGMTicketGetByIdCommand(const char* args);
bool HandleGMTicketGetByNameCommand(const char* args);
bool HandleGMTicketCloseByIdCommand(const char* args);
diff --git a/src/game/Language.h b/src/game/Language.h
index aa2ea06d109..8a356bbc06e 100644
--- a/src/game/Language.h
+++ b/src/game/Language.h
@@ -786,23 +786,32 @@ enum TrinityStrings
LANG_YOU_CHANGE_GENDER = 1120,
LANG_YOUR_GENDER_CHANGED = 1121,
- // Ticket Strings 2000-2020
+ // Ticket Strings 2000-2029
LANG_COMMAND_TICKETNEW = 2000,
- LANG_COMMAND_TICKETUPDATED = 2001,
+ LANG_COMMAND_TICKETUPDATED = 2001,
LANG_COMMAND_TICKETPLAYERABANDON = 2002,
LANG_COMMAND_TICKETCLOSED = 2003,
LANG_COMMAND_TICKETDELETED = 2004,
LANG_COMMAND_TICKETNOTEXIST = 2005,
- LANG_COMMAND_TICKETCLOSEFIRST = 2007,
- LANG_COMMAND_TICKETALREADYASSIGNED = 2008,
- LANG_COMMAND_TICKETRELOAD = 2009,
- LANG_COMMAND_TICKETSHOWLIST = 2010,
- LANG_COMMAND_TICKETSHOWONLINELIST = 2011,
+ LANG_COMMAND_TICKETCLOSEFIRST = 2006,
+ LANG_COMMAND_TICKETALREADYASSIGNED = 2007,
+ LANG_COMMAND_TICKETRELOAD = 2008,
+ LANG_COMMAND_TICKETSHOWLIST = 2009,
+ LANG_COMMAND_TICKETSHOWONLINELIST = 2010,
+ LANG_COMMAND_TICKETSHOWCLOSEDLIST = 2011,
LANG_COMMAND_TICKETASSIGNERROR_A = 2012,
LANG_COMMAND_TICKETASSIGNERROR_B = 2013,
LANG_COMMAND_TICKETNOTASSIGNED = 2014,
LANG_COMMAND_TICKETUNASSIGNSECURITY = 2015,
LANG_COMMAND_TICKETCANNOTCLOSE = 2016,
+ LANG_COMMAND_TICKETLISTGUID = 2017,
+ LANG_COMMAND_TICKETLISTNAME = 2018,
+ LANG_COMMAND_TICKETLISTAGE = 2019,
+ LANG_COMMAND_TICKETLISTASSIGNEDTO = 2020,
+ LANG_COMMAND_TICKETLISTUNASSIGNED = 2021,
+ LANG_COMMAND_TICKETLISTMESSAGE = 2022,
+ LANG_COMMAND_TICKETLISTCOMMENT = 2023,
+ LANG_COMMAND_TICKETLISTADDCOMMENT = 2024,
// Trinity strings 5000-9999
diff --git a/src/game/Level0.cpp b/src/game/Level0.cpp
index 63a015f9802..ff7d58f8da1 100644
--- a/src/game/Level0.cpp
+++ b/src/game/Level0.cpp
@@ -31,6 +31,7 @@
#include "Language.h"
#include "AccountMgr.h"
#include "SystemConfig.h"
+#include "revision.h"
#include "Util.h"
bool ChatHandler::HandleHelpCommand(const char* args)
@@ -95,7 +96,7 @@ bool ChatHandler::HandleServerInfoCommand(const char* /*args*/)
std::string str = secsToTimeString(sWorld.GetUptime());
uint32 updateTime = sWorld.GetUpdateTime();
- PSendSysMessage(_FULLVERSION); //char const* full;
+ PSendSysMessage(_FULLVERSION);
//if(m_session)
// full = _FULLVERSION(REVISION_DATE,REVISION_TIME,"|cffffffff|Hurl:" REVISION_ID "|h" REVISION_ID "|h|r");
//else
diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp
index 5f657344864..06032053490 100644
--- a/src/game/Level1.cpp
+++ b/src/game/Level1.cpp
@@ -270,6 +270,16 @@ bool ChatHandler::HandleGMChatCommand(const char* args)
return false;
}
+std::string ChatHandler::PGetParseString(int32 entry, ...)
+{
+ const char *format = GetTrinityString(entry);
+ va_list ap;
+ char str [1024];
+ va_start(ap, entry);
+ vsnprintf(str,1024,format, ap );
+ va_end(ap);
+ return (std::string)str;
+}
bool ChatHandler::HandleGMTicketListCommand(const char* args)
{
SendSysMessage(LANG_COMMAND_TICKETSHOWLIST);
@@ -277,18 +287,16 @@ bool ChatHandler::HandleGMTicketListCommand(const char* args)
{
if((*itr)->closed != 0)
continue;
-
- std::stringstream message;
- message << "|cff00ff00Ticket|r: |cff00ccff" << (*itr)->guid;
- message << ".|r |cff00ff00created by:|r |cff00ccff" << (*itr)->name;
- message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString(time(NULL) - (*itr)->timestamp, true, false) << " ago.";
- if((*itr)->assignedToGM != 0)
+ std::string gmname;
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str());
+ if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
{
- std::string gmname;
- objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname);
- message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
- }
- SendSysMessage(message.str().c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ SendSysMessage(ss.str().c_str());
}
return true;
}
@@ -302,17 +310,38 @@ bool ChatHandler::HandleGMTicketListOnlineCommand(const char* args)
if((*itr)->closed != 0 || !objmgr.GetPlayer((*itr)->playerGuid))
continue;
- std::stringstream message;
- message << "|cff00ff00Ticket|r: |cff00ccff" << (*itr)->guid;
- message << ".|r |cff00ff00created by:|r |cff00ccff" << (*itr)->name;
- message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL) - (*itr)->timestamp), true, false) << " ago.";
- if((*itr)->assignedToGM != 0 && objmgr.GetPlayer((*itr)->assignedToGM))
+ std::string gmname;
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str());
+ if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
+ {
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ SendSysMessage(ss.str().c_str());
+ }
+ return true;
+}
+
+bool ChatHandler::HandleGMTicketListClosedCommand(const char* args)
+{
+ SendSysMessage(LANG_COMMAND_TICKETSHOWCLOSEDLIST);
+ for(GmTicketList::iterator itr = ticketmgr.GM_TicketList.begin(); itr != ticketmgr.GM_TicketList.end(); ++itr)
+ {
+ if((*itr)->closed == 0)
+ continue;
+
+ std::string gmname;
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str());
+ if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
{
- std::string gmname;
- objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname);
- message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
- }
- SendSysMessage(message.str().c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ SendSysMessage(ss.str().c_str());
}
return true;
}
@@ -330,22 +359,21 @@ bool ChatHandler::HandleGMTicketGetByIdCommand(const char* args)
return true;
}
- std::stringstream message;
- message << "|cff00ff00Ticket|r: |cff00ccff" << ticket->guid;
- message << ".|r |cff00ff00created by:|r |cff00ccff" << ticket->name;
- message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL)-ticket->timestamp), true, false) << " ago.";
- if(ticket->assignedToGM != 0 && objmgr.GetPlayer(ticket->assignedToGM))
+ std::string gmname;
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str());
+ if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname))
{
- std::string gmname;
- objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname);
- message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
- }
- message << "|r\n|cff00ff00Message:|r " << ticket->message;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTMESSAGE, ticket->message.c_str());
if(ticket->comment != "")
{
- message << "|r |cff00ff00Comment:|r |cff00ccff " << ticket->comment;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTCOMMENT, ticket->comment.c_str());
}
- SendSysMessage(message.str().c_str());
+ SendSysMessage(ss.str().c_str());
return true;
}
@@ -361,22 +389,21 @@ bool ChatHandler::HandleGMTicketGetByNameCommand(const char* args)
return true;
}
- std::stringstream message;
- message << "|cff00ff00Ticket|r: |cff00ccff" << ticket->guid;
- message << ".|r |cff00ff00created by:|r |cff00ccff" << ticket->name;
- message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL)-ticket->timestamp), true, false) << " ago.";
- if(ticket->assignedToGM != 0 && objmgr.GetPlayer(ticket->assignedToGM))
+ std::string gmname;
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str());
+ if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname))
{
- std::string gmname;
- objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname);
- message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
- }
- message << "|r\n|cff00ff00Message:|r " << ticket->message;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTMESSAGE, ticket->message.c_str());
if(ticket->comment != "")
{
- message << "|r |cff00ff00Comment:|r |cff00ccff " << ticket->comment;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTCOMMENT, ticket->comment.c_str());
}
- SendSysMessage(message.str().c_str());
+ SendSysMessage(ss.str().c_str());
return true;
}
@@ -397,7 +424,11 @@ bool ChatHandler::HandleGMTicketCloseByIdCommand(const char* args)
PSendSysMessage(LANG_COMMAND_TICKETCANNOTCLOSE, ticket->guid);
return true;
}
- sWorld.SendGMText(LANG_COMMAND_TICKETCLOSED, m_session->GetPlayer()->GetName(), ticket->guid);
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETCLOSED, m_session->GetPlayer()->GetName());
+ SendGlobalGMSysMessage(ss.str().c_str());
ticketmgr.RemoveGMTicket(ticket->guid, m_session->GetPlayer()->GetGUID());
Player *plr = objmgr.GetPlayer(ticket->playerGuid);
@@ -460,10 +491,9 @@ bool ChatHandler::HandleGMTicketAssignToCommand(const char* args)
ticket->assignedToGM = tarGUID;
ticketmgr.UpdateGMTicket(ticket);
std::stringstream ss;
- ss << "|cff00ff00Ticket:|r ";
- ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r";
- ss << "|cff00ff00 assigned to:|r ";
- ss << "|cffff00ff\"" << gmname << "\".";
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
SendGlobalGMSysMessage(ss.str().c_str());
return true;
}
@@ -484,7 +514,7 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args)
}
if(ticket->assignedToGM == 0)
{
- SendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED);
+ PSendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED, ticket->guid);
return true;
}
@@ -498,9 +528,10 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args)
}
std::stringstream ss;
- ss << "|cff00ff00Ticket:|r ";
- ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r";
- ss << "|cff00ff00 unassigned.|r";
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTUNASSIGNED, cplr->GetName());
SendGlobalGMSysMessage(ss.str().c_str());
ticket->assignedToGM = 0;
ticketmgr.UpdateGMTicket(ticket);
@@ -533,13 +564,18 @@ bool ChatHandler::HandleGMTicketCommentCommand(const char* args)
return true;
}
+ std::string gmname;
+ objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname);
ticket->comment = comment;
ticketmgr.UpdateGMTicket(ticket);
std::stringstream ss;
- ss << "|cff00ff00Ticket:|r ";
- ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r";
- ss << "|cff00ff00 added comment:|r ";
- ss << "|cffff00ff\"" << ticket->comment << "\".";
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname))
+ {
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTADDCOMMENT, cplr->GetName(), ticket->comment.c_str());
SendGlobalGMSysMessage(ss.str().c_str());
return true;
}
@@ -563,9 +599,9 @@ bool ChatHandler::HandleGMTicketDeleteByIdCommand(const char* args)
}
std::stringstream ss;
- ss << "|cff00ff00Ticket:|r ";
- ss << "|cffff00ff" << m_session->GetPlayer()->GetName() << "|r";
- ss << "|cff00ff00 deleted.|r";
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETDELETED, m_session->GetPlayer()->GetName());
SendGlobalGMSysMessage(ss.str().c_str());
Player *plr = objmgr.GetPlayer(ticket->playerGuid);
ticketmgr.DeleteGMTicketPermanently(ticket->guid);
diff --git a/src/game/TicketMgr.cpp b/src/game/TicketMgr.cpp
index 1e28c2a2ec1..111e1ed27ad 100644
--- a/src/game/TicketMgr.cpp
+++ b/src/game/TicketMgr.cpp
@@ -111,7 +111,7 @@ void TicketMgr::LoadGMTickets()
InitTicketID();
// Delete all out of object holder
GM_TicketList.clear();
- QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets` WHERE `closed` = '0'" );
+ QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets`" );
GM_Ticket *ticket;
if(!result)
@@ -197,7 +197,7 @@ void TicketMgr::InitTicketID()
QueryResult *result = CharacterDatabase.Query("SELECT MAX(guid) FROM gm_tickets");
if(result)
{
- m_ticketid = result->Fetch()[0].GetUInt64() + 1;
+ m_ticketid = result->Fetch()[0].GetUInt64();
delete result;
}
}
diff --git a/src/shared/Auth/CMakeLists.txt b/src/shared/Auth/CMakeLists.txt
new file mode 100644
index 00000000000..f0714509e1d
--- /dev/null
+++ b/src/shared/Auth/CMakeLists.txt
@@ -0,0 +1,17 @@
+
+########### next target ###############
+
+SET(trinityauth_STAT_SRCS
+ AuthCrypt.cpp
+ AuthCrypt.h
+ BigNumber.cpp
+ BigNumber.h
+ Hmac.cpp
+ Hmac.h
+ Sha1.cpp
+ Sha1.h
+ md5.c
+ md5.h
+)
+
+add_library(trinityauth STATIC ${trinityauth_STAT_SRCS})
diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt
new file mode 100644
index 00000000000..006fa284c5d
--- /dev/null
+++ b/src/shared/CMakeLists.txt
@@ -0,0 +1,29 @@
+
+add_subdirectory(vmap)
+add_subdirectory(Auth)
+add_subdirectory(Config)
+add_subdirectory(Database)
+
+########### next target ###############
+
+SET(shared_STAT_SRCS
+ Base.cpp
+ Base.h
+ ByteBuffer.h
+ Common.cpp
+ Common.h
+ Errors.h
+ Log.cpp
+ Log.h
+ Mthread.cpp
+ Mthread.h
+ ProgressBar.cpp
+ ProgressBar.h
+ Timer.h
+ Util.cpp
+ Util.h
+ WorldPacket.h
+ SystemConfig.h
+)
+
+add_library(shared STATIC ${shared_STAT_SRCS})
diff --git a/src/shared/Config/CMakeLists.txt b/src/shared/Config/CMakeLists.txt
new file mode 100644
index 00000000000..54c3d80b869
--- /dev/null
+++ b/src/shared/Config/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+########### next target ###############
+
+SET(trinityconfig_STAT_SRCS
+ dotconfpp/dotconfpp.cpp
+ dotconfpp/dotconfpp.h
+ dotconfpp/mempool.cpp
+ dotconfpp/mempool.h
+ Config.cpp
+ Config.h
+ ConfigEnv.h
+)
+
+add_library(trinityconfig STATIC ${trinityconfig_STAT_SRCS})
+
diff --git a/src/shared/Database/CMakeLists.txt b/src/shared/Database/CMakeLists.txt
new file mode 100644
index 00000000000..a819a66dec7
--- /dev/null
+++ b/src/shared/Database/CMakeLists.txt
@@ -0,0 +1,38 @@
+SET(trinitydatabase_STAT_SRCS
+ DBCStores.cpp
+ DBCStores.h
+ DBCStructure.h
+ DBCfmt.cpp
+ Database.cpp
+ Database.h
+ DatabaseEnv.h
+ DatabaseImpl.h
+ DatabaseMysql.cpp
+ DatabasePostgre.cpp
+ DatabaseMysql.h
+ DatabasePostgre.h
+ DatabaseSqlite.cpp
+ DatabaseSqlite.h
+#Brian likes men
+ Field.cpp
+ Field.h
+ MySQLDelayThread.h
+ PGSQLDelayThread.h
+ QueryResult.h
+ QueryResultMysql.cpp
+ QueryResultMysql.h
+ QueryResultPostgre.cpp
+ QueryResultPostgre.h
+ QueryResultSqlite.cpp
+ QueryResultSqlite.h
+ SQLStorage.cpp
+ SQLStorage.h
+ SqlDelayThread.cpp
+ SqlDelayThread.h
+ SqlOperations.cpp
+ SqlOperations.h
+ dbcfile.cpp
+ dbcfile.h
+)
+
+add_library(trinitydatabase STATIC ${trinitydatabase_STAT_SRCS})
diff --git a/src/shared/Makefile.am b/src/shared/Makefile.am
index 4862253a8e1..dcb13ab78c0 100644
--- a/src/shared/Makefile.am
+++ b/src/shared/Makefile.am
@@ -50,8 +50,10 @@ libmangosshared_a_SOURCES = \
WorldPacket.h \
revision_nr.h \
revision.h
+$(srcdir)/revision.h
# Get revision (git or svn)
+# Get HG revision
REVISION_FILE = revision.h
BUILT_SOURCES = $(REVISION_FILE)
@@ -61,6 +63,7 @@ FORCE:
$(REVISION_FILE) : $(top_builddir)/src/tools/genrevision/genrevision FORCE
$(top_builddir)/src/tools/genrevision/genrevision $(top_srcdir)
+ cp $(top_builddir)/src/shared/revision.h $(top_srcdir)/src/shared
## Additional files to include when running 'make dist'
# Disabled packet logger
diff --git a/src/shared/SystemConfig.h b/src/shared/SystemConfig.h
index 262aa9e6355..aeb38891c11 100644
--- a/src/shared/SystemConfig.h
+++ b/src/shared/SystemConfig.h
@@ -25,9 +25,27 @@
#define TRINITY_SYSTEMCONFIG_H
#include "Platform/Define.h"
+#include "revision.h" //-----here u are ------ _REVISION is the magic key
-// THIS IS TEMP :)
-#define _FULLVERSION "Trinity"
+
+#define _PACKAGENAME "TrinityCore "
+#define _CODENAME "YUME"
+
+#if TRINITY_ENDIAN == TRINITY_BIGENDIAN
+# define _ENDIAN_STRING "big-endian"
+#else
+# define _ENDIAN_STRING "little-endian"
+#endif
+
+#if PLATFORM == PLATFORM_WINDOWS
+# ifdef _WIN64
+# define _FULLVERSION _PACKAGENAME "Rev: " _REVISION " (Win64," _ENDIAN_STRING ")"
+# else
+# define _FULLVERSION _PACKAGENAME "Rev: " _REVISION " (Win32," _ENDIAN_STRING ")"
+# endif
+#else
+# define _FULLVERSION _PACKAGENAME "Rev: " _REVISION " (Unix," _ENDIAN_STRING ")"
+#endif
#define DEFAULT_PLAYER_LIMIT 100
#define DEFAULT_WORLDSERVER_PORT 8085 //8129
diff --git a/src/shared/SystemConfig.h.in b/src/shared/SystemConfig.h.in
index c8349805401..189a7270e1c 100644
--- a/src/shared/SystemConfig.h.in
+++ b/src/shared/SystemConfig.h.in
@@ -27,6 +27,7 @@
#endif
#include "Platform/Define.h"
+#include "revision.h" //-----here u are ------ _REVISION is the magic key
#ifndef _VERSION
#if PLATFORM == PLATFORM_WINDOWS
@@ -70,7 +71,6 @@
# define _REALMD_CONFIG SYSCONFDIR"realmd.conf"
#endif
-#define _FULLVERSION "Trinity"
#define DEFAULT_PLAYER_LIMIT 100
#define DEFAULT_WORLDSERVER_PORT 8085 //8129
diff --git a/src/shared/WheatyExceptionReport.cpp b/src/shared/WheatyExceptionReport.cpp
index 6a4276cca0f..5aa4a19d583 100644
--- a/src/shared/WheatyExceptionReport.cpp
+++ b/src/shared/WheatyExceptionReport.cpp
@@ -14,6 +14,8 @@
#define _NO_CVCONST_H
#include <dbghelp.h>
#include "WheatyExceptionReport.h"
+#include "SystemConfig.h"
+#include "revision.h"
#define CrashFolder _T("Crashes")
//#pragma comment(linker, "/defaultlib:dbghelp.lib")
@@ -329,22 +331,22 @@ void WheatyExceptionReport::PrintSystemInfo()
//===========================================================================
void WheatyExceptionReport::printTracesForAllThreads()
{
- HANDLE hThreadSnap = INVALID_HANDLE_VALUE;
- THREADENTRY32 te32;
-
+ HANDLE hThreadSnap = INVALID_HANDLE_VALUE;
+ THREADENTRY32 te32;
+
DWORD dwOwnerPID = GetCurrentProcessId();
m_hProcess = GetCurrentProcess();
- // Take a snapshot of all running threads
- hThreadSnap = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0 );
- if( hThreadSnap == INVALID_HANDLE_VALUE )
- return;
-
- // Fill in the size of the structure before using it.
- te32.dwSize = sizeof(THREADENTRY32 );
-
+ // Take a snapshot of all running threads
+ hThreadSnap = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0 );
+ if( hThreadSnap == INVALID_HANDLE_VALUE )
+ return;
+
+ // Fill in the size of the structure before using it.
+ te32.dwSize = sizeof(THREADENTRY32 );
+
// Retrieve information about the first thread,
// and exit if unsuccessful
- if( !Thread32First( hThreadSnap, &te32 ) )
+ if( !Thread32First( hThreadSnap, &te32 ) )
{
CloseHandle( hThreadSnap ); // Must clean up the
// snapshot object!
@@ -354,8 +356,8 @@ void WheatyExceptionReport::printTracesForAllThreads()
// Now walk the thread list of the system,
// and display information about each thread
// associated with the specified process
- do
- {
+ do
+ {
if( te32.th32OwnerProcessID == dwOwnerPID )
{
CONTEXT context;
@@ -367,7 +369,7 @@ void WheatyExceptionReport::printTracesForAllThreads()
}
CloseHandle(threadHandle);
}
- } while( Thread32Next(hThreadSnap, &te32 ) );
+ } while( Thread32Next(hThreadSnap, &te32 ) );
// Don't forget to clean up the snapshot object.
CloseHandle( hThreadSnap );
@@ -385,6 +387,7 @@ PEXCEPTION_POINTERS pExceptionInfo )
GetLocalTime(&systime);
// Start out with a banner
+ _tprintf(_T("Revision: %s\r\n"), _FULLVERSION);
_tprintf(_T("Date %u:%u:%u. Time %u:%u \r\n"), systime.wDay, systime.wMonth, systime.wYear, systime.wHour, systime.wMinute);
PEXCEPTION_RECORD pExceptionRecord = pExceptionInfo->ExceptionRecord;
diff --git a/src/shared/revision.h.in b/src/shared/revision.h.in
new file mode 100644
index 00000000000..a84170529eb
--- /dev/null
+++ b/src/shared/revision.h.in
@@ -0,0 +1,4 @@
+#ifndef __SVN_REVISION_H__
+#define __SVN_REVISION_H__
+ #define _REVISION "794" //change this to your current revision
+#endif // __SVN_REVISION_H__
diff --git a/src/shared/vmap/CMakeLists.txt b/src/shared/vmap/CMakeLists.txt
new file mode 100644
index 00000000000..9ed30c0b44f
--- /dev/null
+++ b/src/shared/vmap/CMakeLists.txt
@@ -0,0 +1,35 @@
+
+########### next target ###############
+
+SET(vmaps_STAT_SRCS
+ AABSPTree.h
+ BaseModel.cpp
+ BaseModel.h
+ CoordModelMapping.cpp
+ CoordModelMapping.h
+ DebugCmdLogger.cpp
+ DebugCmdLogger.h
+ IVMapManager.h
+ ManagedModelContainer.cpp
+ ManagedModelContainer.h
+ ModelContainer.cpp
+ ModelContainer.h
+ NodeValueAccess.h
+ ShortBox.h
+ ShortVector.h
+ SubModel.cpp
+ SubModel.h
+ TileAssembler.cpp
+ TileAssembler.h
+ TreeNode.cpp
+ TreeNode.h
+ VMapDefinitions.h
+ VMapFactory.cpp
+ VMapFactory.h
+ VMapManager.cpp
+ VMapManager.h
+ VMapTools.h
+)
+
+add_library(vmaps STATIC ${vmaps_STAT_SRCS})
+
diff --git a/src/trinitycore/CMakeLists.txt b/src/trinitycore/CMakeLists.txt
new file mode 100644
index 00000000000..72ceca8dd33
--- /dev/null
+++ b/src/trinitycore/CMakeLists.txt
@@ -0,0 +1,53 @@
+
+########### next target ###############
+
+SET(trinity-core_SRCS
+CliRunnable.cpp
+CliRunnable.h
+Main.cpp
+Master.cpp
+Master.h
+RASocket.cpp
+RASocket.h
+WorldRunnable.cpp
+WorldRunnable.h
+)
+
+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")
+ENDIF(DO_MYSQL)
+
+
+
+target_link_libraries(
+trinity-core
+game
+shared
+zlib
+trinityframework
+trinitysockets
+trinitydatabase
+trinityauth
+trinityconfig
+vmaps
+ZThread
+g3dlite
+${SCRIPT_LIB}
+${MYSQL_LIBRARIES}
+${POSTGRE_LIBS}
+${SSLLIB}
+${ACE_LIBRARY}
+${ZLIB}
+)
+
+install(TARGETS trinity-core DESTINATION bin)
+
+
+########### install files ###############
+
+install(FILES trinitycore.conf.dist DESTINATION etc)
+
diff --git a/src/trinitycore/Main.cpp b/src/trinitycore/Main.cpp
index a4bcf717d62..4c85ecd6d68 100644
--- a/src/trinitycore/Main.cpp
+++ b/src/trinitycore/Main.cpp
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (C) 2005-2008 MaNGOS <http://www.mangosproject.org/>
*
* Copyright (C) 2008 Trinity <http://www.trinitycore.org/>
@@ -21,6 +21,8 @@
/// \addtogroup Trinityd Trinity Daemon
/// @{
/// \file
+#include "SystemConfig.h"
+#include "revision.h"
#include "Common.h"
#include "Database/DatabaseEnv.h"
@@ -62,6 +64,7 @@ uint32 realmID; ///< Id of the realm
void usage(const char *prog)
{
sLog.outString("Usage: \n %s [<options>]\n"
+ " --version print version and exist\n\r"
" -c config_file use config_file as configuration file\n\r"
#ifdef WIN32
" Running as service functions:\n\r"
@@ -92,6 +95,12 @@ extern int main(int argc, char **argv)
cfg_file = argv[c];
}
+ if( strcmp(argv[c],"--version") == 0)
+ {
+ printf("%s\n", _FULLVERSION);
+ return 0;
+ }
+
#ifdef WIN32
////////////
//Services//
@@ -138,7 +147,7 @@ extern int main(int argc, char **argv)
return 1;
}
sLog.outString("Using configuration file %s.", cfg_file);
-
+
uint32 confVersion = sConfig.GetIntDefault("ConfVersion", 0);
if (confVersion < _TRINITY_CORE_CONFVER)
{
diff --git a/src/trinityrealm/CMakeLists.txt b/src/trinityrealm/CMakeLists.txt
new file mode 100644
index 00000000000..cddea04ea47
--- /dev/null
+++ b/src/trinityrealm/CMakeLists.txt
@@ -0,0 +1,45 @@
+########### next target ###############
+
+SET(trinity-realm_SRCS
+AuthCodes.h
+AuthSocket.cpp
+AuthSocket.h
+Main.cpp
+RealmList.cpp
+RealmList.h
+)
+
+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")
+ENDIF(DO_MYSQL)
+IF (DO_POSTGRE)
+ SET_TARGET_PROPERTIES(trinity-realmd PROPERTIES LINK_FLAGS ${POSTGRE_LIBS})
+ENDIF(DO_POSTGRE)
+
+
+target_link_libraries(
+trinity-realm
+shared
+trinityframework
+trinitysockets
+trinitydatabase
+trinityauth
+trinityconfig
+ZThread
+zlib
+${SSLLIB}
+${MYSQL_LIBRARIES}
+)
+
+install(TARGETS trinity-realm DESTINATION bin)
+
+
+########### install files ###############
+
+install(FILES trinityrealm.conf.dist DESTINATION etc)
+
diff --git a/src/trinityrealm/Main.cpp b/src/trinityrealm/Main.cpp
index e74cd5144d3..3e2739ec6b5 100644
--- a/src/trinityrealm/Main.cpp
+++ b/src/trinityrealm/Main.cpp
@@ -31,6 +31,7 @@
#include "sockets/ListenSocket.h"
#include "AuthSocket.h"
#include "SystemConfig.h"
+#include "revision.h"
#include "Util.h"
// Format is YYYYMMDDRR where RR is the change in the conf file
@@ -70,6 +71,7 @@ DatabaseType LoginDatabase; ///< Accessor to the
void usage(const char *prog)
{
sLog.outString("Usage: \n %s [<options>]\n"
+ " --version print version and exist\n\r"
" -c config_file use config_file as configuration file\n\r"
#ifdef WIN32
" Running as service functions:\n\r"
@@ -100,6 +102,12 @@ extern int main(int argc, char **argv)
cfg_file = argv[c];
}
+ if( strcmp(argv[c],"--version") == 0)
+ {
+ printf("%s\n", _FULLVERSION);
+ return 0;
+ }
+
#ifdef WIN32
////////////
//Services//