diff options
author | megamage <none@none> | 2009-06-16 00:07:17 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-06-16 00:07:17 -0500 |
commit | 9049233629afdb88dd75f3429112f1bb3f41a2ba (patch) | |
tree | cf83b70596a1c80741e0faecc49299d32207c4f3 | |
parent | 74e4f3f0592ee2800a1bd4f3000b5429d7bb865f (diff) | |
parent | a6d7f0805c5170036403c5902d77cdd0069b5ab3 (diff) |
*Merge.
--HG--
branch : trunk
-rw-r--r-- | sql/updates/TC1_1569_world_scripts.sql | 3 | ||||
-rw-r--r-- | src/bindings/scripts/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/bindings/scripts/VC71/71ScriptDev2.vcproj | 2282 | ||||
-rw-r--r-- | src/bindings/scripts/VC80/80ScriptDev2.vcproj | 8 | ||||
-rw-r--r-- | src/bindings/scripts/VC90/90ScriptDev2.vcproj | 8 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/zone/razorfen_kraul/def_razorfen_kraul.h | 21 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp | 119 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp | 53 | ||||
-rw-r--r-- | src/game/Chat.h | 5 | ||||
-rw-r--r-- | src/game/Level2.cpp | 1 | ||||
-rw-r--r-- | src/trinitycore/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/trinitycore/CliRunnable.cpp | 92 |
12 files changed, 2575 insertions, 20 deletions
diff --git a/sql/updates/TC1_1569_world_scripts.sql b/sql/updates/TC1_1569_world_scripts.sql new file mode 100644 index 00000000000..afe0759e711 --- /dev/null +++ b/sql/updates/TC1_1569_world_scripts.sql @@ -0,0 +1,3 @@ +-- Razorfen Kraul +UPDATE `instance_template` SET `script` = 'instance_razorfen_kraul' WHERE `map` = '47' LIMIT 1; +UPDATE `creature_template` SET `ScriptName` = 'npc_deaths_head_ward_keeper' WHERE `entry` = '4625' LIMIT 1;
\ No newline at end of file diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt index 2dbf2545d3b..85c168992f9 100644 --- a/src/bindings/scripts/CMakeLists.txt +++ b/src/bindings/scripts/CMakeLists.txt @@ -248,6 +248,8 @@ SET(trinityscript_LIB_SRCS scripts/zone/orgrimmar/orgrimmar.cpp scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp scripts/zone/razorfen_downs/razorfen_downs.cpp + scripts/zone/razorfen_kraul/def_razorfen_kraul.h + scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp scripts/zone/razorfen_kraul/razorfen_kraul.cpp scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp diff --git a/src/bindings/scripts/VC71/71ScriptDev2.vcproj b/src/bindings/scripts/VC71/71ScriptDev2.vcproj new file mode 100644 index 00000000000..3fb0cd7ad8f --- /dev/null +++ b/src/bindings/scripts/VC71/71ScriptDev2.vcproj @@ -0,0 +1,2282 @@ +<?xml version="1.0" encoding="windows-1251"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="7,10" + Name="TrinityScript" + ProjectGUID="{4295C8A9-79B7-4354-8064-F05FB9CA0C96}" + RootNamespace="ScriptDev2" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="..\..\..\..\bin\$(PlatformName)_$(ConfigurationName)" + IntermediateDirectory=".\ScriptDev2__$(PlatformName)_$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" + PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_WINDOWS;_USRDLL;SCRIPT" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="precompiled.h" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="trinitycore.lib zthread.lib" + OutputFile="$(OutDir)/TrinityScript.dll" + LinkIncremental="2" + AdditionalLibraryDirectories="..\..\..\..\win\VC71\zthread__$(PlatformName)_$(ConfigurationName);..\..\..\..\win\VC71\trinitycore__$(PlatformName)_$(ConfigurationName)" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(OutDir)/MaNGOSScript.pdb" + SubSystem="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + ImportLibrary="$(OutDir)/TrinityScript.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="..\..\..\..\bin\$(PlatformName)_$(ConfigurationName)" + IntermediateDirectory=".\ScriptDev2__$(PlatformName)_$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\..\..\..\dep\include\;..\..\..\shared\;..\..\..\framework\;..\..\..\game\;..\include\;..\..\..\..\dep\ACE_wrappers" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SCRIPT" + RuntimeLibrary="2" + EnableEnhancedInstructionSet="1" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="precompiled.h" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="trinitycore.lib zthread.lib" + OutputFile="$(OutDir)/TrinityScript.dll" + LinkIncremental="1" + AdditionalLibraryDirectories="..\..\..\..\win\VC71\zthread__$(PlatformName)_$(ConfigurationName);..\..\..\..\win\VC71\trinitycore__$(PlatformName)_$(ConfigurationName)" + GenerateDebugInformation="false" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + ImportLibrary="$(OutDir)/TrinityScript.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Scripts" + > + <Filter + Name="boss" + > + <File + RelativePath="..\scripts\boss\boss_emeriss.cpp" + > + </File> + <File + RelativePath="..\scripts\boss\boss_lethon.cpp" + > + </File> + <File + RelativePath="..\scripts\boss\boss_taerar.cpp" + > + </File> + <File + RelativePath="..\scripts\boss\boss_ysondre.cpp" + > + </File> + </Filter> + <Filter + Name="creature" + > + <File + RelativePath="..\scripts\creature\mob_event_ai.cpp" + > + </File> + <File + RelativePath="..\scripts\creature\mob_event_ai.h" + > + </File> + <File + RelativePath="..\scripts\creature\mob_generic_creature.cpp" + > + </File> + <File + RelativePath="..\scripts\creature\simple_ai.cpp" + > + </File> + <File + RelativePath="..\scripts\creature\simple_ai.h" + > + </File> + </Filter> + <Filter + Name="guard" + > + <File + RelativePath="..\scripts\guard\guard_ai.cpp" + > + </File> + <File + RelativePath="..\scripts\guard\guard_ai.h" + > + </File> + <File + RelativePath="..\scripts\guard\guards.cpp" + > + </File> + </Filter> + <Filter + Name="honor" + > + </Filter> + <Filter + Name="npc" + > + <File + RelativePath="..\scripts\npc\npc_escortAI.cpp" + > + </File> + <File + RelativePath="..\scripts\npc\npc_escortAI.h" + > + </File> + <File + RelativePath="..\scripts\npc\npc_innkeeper.cpp" + > + </File> + <File + RelativePath="..\scripts\npc\npc_professions.cpp" + > + </File> + <File + RelativePath="..\scripts\npc\npcs_special.cpp" + > + </File> + </Filter> + <Filter + Name="servers" + > + </Filter> + <Filter + Name="custom" + > + <File + RelativePath="..\scripts\custom\custom_example.cpp" + > + </File> + <File + RelativePath="..\scripts\custom\custom_gossip_codebox.cpp" + > + </File> + <File + RelativePath="..\scripts\custom\test.cpp" + > + </File> + </Filter> + <Filter + Name="areatrigger" + > + <File + RelativePath="..\scripts\areatrigger\areatrigger_scripts.cpp" + > + </File> + </Filter> + <Filter + Name="go" + > + <File + RelativePath="..\scripts\go\go_scripts.cpp" + > + </File> + </Filter> + <Filter + Name="item" + > + <File + RelativePath="..\scripts\item\item_scripts.cpp" + > + </File> + <File + RelativePath="..\scripts\item\item_test.cpp" + > + </File> + </Filter> + <Filter + Name="zone" + > + <Filter + Name="Alterac Mountains" + > + <File + RelativePath="..\scripts\zone\alterac_mountains\alterac_mountains.cpp" + > + </File> + </Filter> + <Filter + Name="Ashenvale Forest" + > + <File + RelativePath="..\scripts\zone\ashenvale_forest\ashenvale.cpp" + > + </File> + </Filter> + <Filter + Name="Azshara" + > + <File + RelativePath="..\scripts\zone\azshara\azshara.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\azshara\boss_azuregos.cpp" + > + </File> + </Filter> + <Filter + Name="Badlands" + > + </Filter> + <Filter + Name="Barrens" + > + <File + RelativePath="..\scripts\zone\barrens\the_barrens.cpp" + > + </File> + </Filter> + <Filter + Name="Blackfathom Depths" + > + </Filter> + <Filter + Name="Arathi Highlands" + > + <File + RelativePath="..\scripts\zone\arathi_highlands\arathi_highlands.cpp" + > + </File> + </Filter> + <Filter + Name="Deadmines" + > + <File + RelativePath="..\scripts\zone\deadmines\deadmines.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\deadmines\def_deadmines.h" + > + </File> + </Filter> + <Filter + Name="Deadwind Pass" + > + </Filter> + <Filter + Name="Desolace" + > + </Filter> + <Filter + Name="Dire Maul" + > + </Filter> + <Filter + Name="Dun Morogh" + > + <File + RelativePath="..\scripts\zone\dun_morogh\dun_morogh.cpp" + > + </File> + </Filter> + <Filter + Name="Durotar" + > + </Filter> + <Filter + Name="Duskwood" + > + </Filter> + <Filter + Name="Dustwallow Marsh" + > + <File + RelativePath="..\scripts\zone\dustwallow_marsh\dustwallow_marsh.cpp" + > + </File> + </Filter> + <Filter + Name="Blackwing Lair" + > + <File + RelativePath="..\scripts\zone\blackwing_lair\boss_broodlord_lashlayer.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackwing_lair\boss_chromaggus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackwing_lair\boss_ebonroc.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackwing_lair\boss_firemaw.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackwing_lair\boss_flamegor.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackwing_lair\boss_nefarian.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackwing_lair\boss_razorgore.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackwing_lair\boss_vaelastrasz.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackwing_lair\boss_victor_nefarius.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackwing_lair\instance_blackwing_lair.cpp" + > + </File> + </Filter> + <Filter + Name="Bloodmyst Isle" + > + <File + RelativePath="..\scripts\zone\bloodmyst_isle\bloodmyst_isle.cpp" + > + </File> + </Filter> + <Filter + Name="Gruul's Lair" + > + <File + RelativePath="..\scripts\zone\gruuls_lair\boss_gruul.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\gruuls_lair\boss_high_king_maulgar.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\gruuls_lair\def_gruuls_lair.h" + > + </File> + <File + RelativePath="..\scripts\zone\gruuls_lair\instance_gruuls_lair.cpp" + > + </File> + </Filter> + <Filter + Name="Burning Steppes" + > + <File + RelativePath="..\scripts\zone\burning_steppes\burning_steppes.cpp" + > + </File> + </Filter> + <Filter + Name="Darkshore" + > + <File + RelativePath="..\scripts\zone\darkshore\darkshore.cpp" + > + </File> + </Filter> + <Filter + Name="Eastern Plaguelands" + > + <File + RelativePath="..\scripts\zone\eastern_plaguelands\eastern_plaguelands.cpp" + > + </File> + </Filter> + <Filter + Name="Moonglade" + > + <File + RelativePath="..\scripts\zone\moonglade\moonglade.cpp" + > + </File> + </Filter> + <Filter + Name="Razorfen Kraul" + > + <File + RelativePath="..\scripts\zone\razorfen_kraul\razorfen_kraul.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\razorfen_kraul\instance_razorfen_kraul.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\razorfen_kraul\def_razorfen_kraul.h" + > + </File> + </Filter> + <Filter + Name="Redridge Mountains" + > + </Filter> + <Filter + Name="Ruins of Ahn'Qiraj" + > + <File + RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_ayamiss.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_buru.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_kurinnaxx.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_moam.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_ossirian.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_rajaxx.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\ruins_of_ahnqiraj\instance_ruins_of_ahnqiraj.cpp" + > + </File> + </Filter> + <Filter + Name="Swamp of Sorrows" + > + </Filter> + <Filter + Name="Scarlet Monastery" + > + <File + RelativePath="..\scripts\zone\scarlet_monastery\boss_arcanist_doan.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\boss_azshir_the_sleepless.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\boss_bloodmage_thalnos.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\boss_headless_horseman.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\boss_herod.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\boss_high_inquisitor_fairbanks.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\boss_houndmaster_loksey.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\boss_interrogator_vishas.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\boss_mograine_and_whitemane.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\boss_scorn.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\def_scarlet_monastery.h" + > + </File> + <File + RelativePath="..\scripts\zone\scarlet_monastery\instance_scarlet_monastery.cpp" + > + </File> + </Filter> + <Filter + Name="Scholomance" + > + <File + RelativePath="..\scripts\zone\scholomance\boss_darkmaster_gandling.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_death_knight_darkreaver.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_doctor_theolen_krastinov.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_illucia_barov.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_instructor_malicia.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_jandice_barov.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_kormok.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_lord_alexei_barov.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_lorekeeper_polkelt.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_ras_frostwhisper.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_the_ravenian.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\boss_vectus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\def_scholomance.h" + > + </File> + <File + RelativePath="..\scripts\zone\scholomance\instance_scholomance.cpp" + > + </File> + </Filter> + <Filter + Name="Searing Gorge" + > + <File + RelativePath="..\scripts\zone\searing_gorge\searing_gorge.cpp" + > + </File> + </Filter> + <Filter + Name="Elwynn Forest" + > + <File + RelativePath="..\scripts\zone\elwynn_forest\elwynn_forest.cpp" + > + </File> + </Filter> + <Filter + Name="Felwood" + > + <File + RelativePath="..\scripts\zone\felwood\felwood.cpp" + > + </File> + </Filter> + <Filter + Name="Feralas" + > + <File + RelativePath="..\scripts\zone\feralas\feralas.cpp" + > + </File> + </Filter> + <Filter + Name="Gnomeregan" + > + </Filter> + <Filter + Name="Hillsbrad Foothills" + > + </Filter> + <Filter + Name="Hinterlands" + > + </Filter> + <Filter + Name="Maraudon" + > + <File + RelativePath="..\scripts\zone\maraudon\boss_celebras_the_cursed.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\maraudon\boss_landslide.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\maraudon\boss_noxxion.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\maraudon\boss_princess_theradras.cpp" + > + </File> + </Filter> + <Filter + Name="Molten Core" + > + <File + RelativePath="..\scripts\zone\molten_core\boss_baron_geddon.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\boss_garr.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\boss_gehennas.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\boss_golemagg.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\boss_lucifron.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\boss_magmadar.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\boss_majordomo_executus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\boss_ragnaros.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\boss_shazzrah.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\boss_sulfuron_harbinger.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\def_molten_core.h" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\instance_molten_core.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\molten_core\molten_core.cpp" + > + </File> + </Filter> + <Filter + Name="Mulgore" + > + <File + RelativePath="..\scripts\zone\mulgore\mulgore.cpp" + > + </File> + </Filter> + <Filter + Name="Naxxramas" + > + <File + RelativePath="..\scripts\zone\naxxramas\boss_anubrekhan.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_faerlina.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_four_horsemen.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_gluth.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_gothik.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_grobbulus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_heigan.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_highlord_mograine.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_kelthuzad.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_loatheb.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_maexxna.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_noth.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_patchwerk.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_razuvious.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_sapphiron.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\boss_thaddius.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\naxxramas\instance_naxxramas.cpp" + > + </File> + </Filter> + <Filter + Name="Onyxia's Lair" + > + <File + RelativePath="..\scripts\zone\onyxias_lair\boss_onyxia.cpp" + > + </File> + </Filter> + <Filter + Name="Ragefire Chasm" + > + </Filter> + <Filter + Name="Razorfen Downs" + > + <File + RelativePath="..\scripts\zone\razorfen_downs\boss_amnennar_the_coldbringer.cpp" + > + </File> + </Filter> + <Filter + Name="Shadowfang Keep" + > + <File + RelativePath="..\scripts\zone\shadowfang_keep\def_shadowfang_keep.h" + > + </File> + <File + RelativePath="..\scripts\zone\shadowfang_keep\instance_shadowfang_keep.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\shadowfang_keep\shadowfang_keep.cpp" + > + </File> + </Filter> + <Filter + Name="Stonetalon Mountains" + > + <File + RelativePath="..\scripts\zone\stonetalon_mountains\stonetalon_mountains.cpp" + > + </File> + </Filter> + <Filter + Name="Stranglethorn Vale" + > + <File + RelativePath="..\scripts\zone\stranglethorn_vale\stranglethorn_vale.cpp" + > + </File> + </Filter> + <Filter + Name="Stratholme" + > + <File + RelativePath="..\scripts\zone\stratholme\boss_baron_rivendare.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\boss_baroness_anastari.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\boss_cannon_master_willey.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\boss_dathrohan_balnazzar.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\boss_magistrate_barthilas.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\boss_maleki_the_pallid.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\boss_nerubenkan.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\boss_order_of_silver_hand.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\boss_postmaster_malown.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\boss_ramstein_the_gorger.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\boss_timmy_the_cruel.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\def_stratholme.h" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\instance_stratholme.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\stratholme\stratholme.cpp" + > + </File> + </Filter> + <Filter + Name="Sunken Temple" + > + </Filter> + <Filter + Name="Tanaris" + > + <File + RelativePath="..\scripts\zone\tanaris\tanaris.cpp" + > + </File> + </Filter> + <Filter + Name="Teldrassil" + > + </Filter> + <Filter + Name="Temple of Ahn'Qiraj" + > + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_bug_trio.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_cthun.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_fankriss.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_huhuran.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_ouro.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_sartura.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_skeram.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_twinemperors.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_viscidus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\def_temple_of_ahnqiraj.h" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\instance_temple_of_ahnqiraj.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\temple_of_ahnqiraj\mob_anubisath_sentinel.cpp" + > + </File> + </Filter> + <Filter + Name="Thousand Needles" + > + <File + RelativePath="..\scripts\zone\thousand_needles\thousand_needles.cpp" + > + </File> + </Filter> + <Filter + Name="Silithus" + > + <File + RelativePath="..\scripts\zone\silithus\silithus.cpp" + > + </File> + </Filter> + <Filter + Name="Silverpine Forest" + > + <File + RelativePath="..\scripts\zone\silverpine_forest\silverpine_forest.cpp" + > + </File> + </Filter> + <Filter + Name="Stockade" + > + </Filter> + <Filter + Name="Tirisfal Glades" + > + <File + RelativePath="..\scripts\zone\tirisfal_glades\tirisfal_glades.cpp" + > + </File> + </Filter> + <Filter + Name="Wailing Caverns" + > + <File + RelativePath="..\scripts\zone\wailing_caverns\instance_wailing_caverns.cpp" + > + </File> + </Filter> + <Filter + Name="Western Plaguelands" + > + <File + RelativePath="..\scripts\zone\western_plaguelands\western_plaguelands.cpp" + > + </File> + </Filter> + <Filter + Name="Westfall" + > + <File + RelativePath="..\scripts\zone\westfall\westfall.cpp" + > + </File> + </Filter> + <Filter + Name="Wetlands" + > + </Filter> + <Filter + Name="Winterspring" + > + <File + RelativePath="..\scripts\zone\winterspring\winterspring.cpp" + > + </File> + </Filter> + <Filter + Name="Zul'Farrak" + > + <File + RelativePath="..\scripts\zone\zulfarrak\zulfarrak.cpp" + > + </File> + </Filter> + <Filter + Name="Zul'Gurub" + > + <File + RelativePath="..\scripts\zone\zulgurub\boss_arlokk.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_gahzranka.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_grilek.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_hakkar.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_hazzarah.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_jeklik.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_jindo.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_mandokir.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_marli.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_renataki.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_thekal.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_venoxis.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\boss_wushoolay.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\def_zulgurub.h" + > + </File> + <File + RelativePath="..\scripts\zone\zulgurub\instance_zulgurub.cpp" + > + </File> + </Filter> + <Filter + Name="Uldaman" + > + <File + RelativePath="..\scripts\zone\uldaman\boss_archaedas.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\uldaman\boss_ironaya.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\uldaman\instance_uldaman.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\uldaman\uldaman.cpp" + > + </File> + </Filter> + <Filter + Name="Un'Goro Crater" + > + <File + RelativePath="..\scripts\zone\ungoro_crater\ungoro_crater.cpp" + > + </File> + </Filter> + <Filter + Name="Aunchindoun" + > + <Filter + Name="Auchenai Crypts" + > + <File + RelativePath="..\scripts\zone\aunchindoun\auchenai_crypts\boss_exarch_maladaar.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\aunchindoun\auchenai_crypts\boss_shirrak_the_dead_watcher.cpp" + > + </File> + </Filter> + <Filter + Name="Mana Tombs" + > + <File + RelativePath="..\scripts\zone\aunchindoun\mana_tombs\boss_nexusprince_shaffar.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\aunchindoun\mana_tombs\boss_pandemonius.cpp" + > + </File> + </Filter> + <Filter + Name="Sethekk Halls" + > + <File + RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\boss_darkweaver_syth.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\boss_tailonking_ikiss.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\def_sethekk_halls.h" + > + </File> + <File + RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\instance_sethekk_halls.cpp" + > + </File> + </Filter> + <Filter + Name="Shadow Labyrinth" + > + <File + RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_ambassador_hellmaw.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_blackheart_the_inciter.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_grandmaster_vorpil.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_murmur.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\def_shadow_labyrinth.h" + > + </File> + <File + RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\instance_shadow_labyrinth.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Azuremyst Isle" + > + <File + RelativePath="..\scripts\zone\azuremyst_isle\azuremyst_isle.cpp" + > + </File> + </Filter> + <Filter + Name="Black Temple" + > + <File + RelativePath="..\scripts\zone\black_temple\black_temple.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\boss_bloodboil.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\boss_illidan.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\boss_mother_shahraz.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\boss_reliquary_of_souls.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\boss_shade_of_akama.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\boss_supremus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\boss_teron_gorefiend.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\boss_warlord_najentus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\def_black_temple.h" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\illidari_council.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\black_temple\instance_black_temple.cpp" + > + </File> + </Filter> + <Filter + Name="Eversong Woods" + > + <File + RelativePath="..\scripts\zone\eversong_woods\eversong_woods.cpp" + > + </File> + </Filter> + <Filter + Name="Ghostlands" + > + <File + RelativePath="..\scripts\zone\ghostlands\ghostlands.cpp" + > + </File> + </Filter> + <Filter + Name="Blade's Edge Mountains" + > + <File + RelativePath="..\scripts\zone\blades_edge_mountains\blades_edge_mountains.cpp" + > + </File> + </Filter> + <Filter + Name="Blasted Lands" + > + <File + RelativePath="..\scripts\zone\blasted_lands\blasted_lands.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blasted_lands\boss_kruul.cpp" + > + </File> + </Filter> + <Filter + Name="Hellfire Citadel" + > + <Filter + Name="Blood Furnace" + > + <File + RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\boss_broggok.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\boss_kelidan_the_breaker.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\boss_the_maker.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\def_blood_furnace.h" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\instance_blood_furnace.cpp" + > + </File> + </Filter> + <Filter + Name="Magtheridon's lair" + > + <File + RelativePath="..\scripts\zone\hellfire_citadel\magtheridons_lair\boss_magtheridon.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\magtheridons_lair\def_magtheridons_lair.h" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\magtheridons_lair\instance_magtheridons_lair.cpp" + > + </File> + </Filter> + <Filter + Name="Hellfire Ramparts" + > + <File + RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\boss_omor_the_unscarred.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\boss_watchkeeper_gargolmar.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\boss_vazruden_the_herald.cpp" + > + </File> + </Filter> + <Filter + Name="Shattered Halls" + > + <File + RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\boss_nethekurse.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\boss_warbringer_omrogg.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\boss_warchief_kargath_bladefist.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\def_shattered_halls.h" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\instance_shattered_halls.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Hellfire Peninsula" + > + <File + RelativePath="..\scripts\zone\hellfire_peninsula\boss_doomlord_kazzak.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\hellfire_peninsula\hellfire_peninsula.cpp" + > + </File> + </Filter> + <Filter + Name="Karazhan" + > + <File + RelativePath="..\scripts\zone\karazhan\boss_curator.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\boss_maiden_of_virtue.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\boss_midnight.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\boss_moroes.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\boss_netherspite.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\boss_nightbane.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\boss_prince_malchezaar.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\boss_shade_of_aran.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\boss_terestian_illhoof.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\bosses_opera.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\def_karazhan.h" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\instance_karazhan.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\karazhan\karazhan.cpp" + > + </File> + </Filter> + <Filter + Name="Nagrand" + > + <File + RelativePath="..\scripts\zone\nagrand\nagrand.cpp" + > + </File> + </Filter> + <Filter + Name="Netherstorm" + > + <File + RelativePath="..\scripts\zone\netherstorm\netherstorm.cpp" + > + </File> + </Filter> + <Filter + Name="Shadowmoon Valley" + > + <File + RelativePath="..\scripts\zone\shadowmoon_valley\boss_doomwalker.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\shadowmoon_valley\shadowmoon_valley.cpp" + > + </File> + </Filter> + <Filter + Name="Tempest Keep" + > + <Filter + Name="Arcatraz" + > + <File + RelativePath="..\scripts\zone\tempest_keep\arcatraz\arcatraz.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\arcatraz\boss_harbinger_skyriss.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\arcatraz\def_arcatraz.h" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\arcatraz\instance_arcatraz.cpp" + > + </File> + </Filter> + <Filter + Name="Botanica" + > + <File + RelativePath="..\scripts\zone\tempest_keep\botanica\boss_high_botanist_freywinn.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\botanica\boss_laj.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\botanica\boss_warp_splinter.cpp" + > + </File> + </Filter> + <Filter + Name="The Eye" + > + <File + RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_alar.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_astromancer.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_kaelthas.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_void_reaver.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_eye\def_the_eye.h" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_eye\instance_the_eye.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_eye\the_eye.cpp" + > + </File> + </Filter> + <Filter + Name="The Mechanar" + > + <File + RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_gatewatcher_gyrokill.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_gatewatcher_ironhand.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_nethermancer_sepethrea.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_pathaleon_the_calculator.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_mechanar\def_mechanar.h" + > + </File> + <File + RelativePath="..\scripts\zone\tempest_keep\the_mechanar\instance_mechanar.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Terokkar Forest" + > + <File + RelativePath="..\scripts\zone\terokkar_forest\terokkar_forest.cpp" + > + </File> + </Filter> + <Filter + Name="Zangarmarsh" + > + <File + RelativePath="..\scripts\zone\zangarmarsh\zangarmarsh.cpp" + > + </File> + </Filter> + <Filter + Name="Blackrock Spire" + > + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_drakkisath.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_gyth.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_halycon.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_highlord_omokk.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_mother_smolderweb.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_overlord_wyrmthalak.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_pyroguard_emberseer.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_quartermaster_zigris.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_rend_blackhand.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_shadow_hunter_voshgajin.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_the_beast.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_spire\boss_warmaster_voone.cpp" + > + </File> + </Filter> + <Filter + Name="Stormwind City" + > + <File + RelativePath="..\scripts\zone\stormwind\stormwind_city.cpp" + > + </File> + </Filter> + <Filter + Name="Coilfang Resevoir" + > + <Filter + Name="Serpent Shrine Cavern" + > + <File + RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_fathomlord_karathress.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_hydross_the_unstable.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_lady_vashj.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_leotheras_the_blind.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_lurker_below.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_morogrim_tidewalker.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\def_serpent_shrine.h" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\instance_serpent_shrine.cpp" + > + </File> + </Filter> + <Filter + Name="Slave Pens" + > + </Filter> + <Filter + Name="Steam Vault" + > + <File + RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\boss_hydromancer_thespia.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\boss_mekgineer_steamrigger.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\boss_warlord_kalithresh.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\def_steam_vault.h" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\instance_steam_vault.cpp" + > + </File> + </Filter> + <Filter + Name="Underbog" + > + <File + RelativePath="..\scripts\zone\coilfang_resevoir\underbog\boss_hungarfen.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\coilfang_resevoir\underbog\boss_the_black_stalker.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Caverns of Time" + > + <Filter + Name="The Dark Portal" + > + <File + RelativePath="..\scripts\zone\caverns_of_time\dark_portal\boss_aeonus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\dark_portal\boss_chrono_lord_deja.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\dark_portal\boss_temporus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\dark_portal\dark_portal.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\dark_portal\def_dark_portal.h" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\dark_portal\instance_dark_portal.cpp" + > + </File> + </Filter> + <Filter + Name="Battle for Mt. Hyjal" + > + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_anetheron.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_archimonde.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_azgalor.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_kazrogal.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_rage_winterchill.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\def_hyjal.h" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjal.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjal_trash.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjal_trash.h" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjalAI.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjalAI.h" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\hyjal\instance_hyjal.cpp" + > + </File> + </Filter> + + <Filter + Name="Old Hillsbrad" + > + <File + RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\boss_captain_skarloc.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\boss_epoch_hunter.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\boss_leutenant_drake.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\def_old_hillsbrad.h" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\instance_old_hillsbrad.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\old_hillsbrad.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Silvermoon City" + > + <File + RelativePath="..\scripts\zone\silvermoon\silvermoon_city.cpp" + > + </File> + </Filter> + <Filter + Name="Darnassus" + > + </Filter> + <Filter + Name="Exodar" + > + </Filter> + <Filter + Name="Iron Forge" + > + <File + RelativePath="..\scripts\zone\ironforge\ironforge.cpp" + > + </File> + </Filter> + <Filter + Name="Orgrimmar" + > + <File + RelativePath="..\scripts\zone\orgrimmar\orgrimmar.cpp" + > + </File> + </Filter> + <Filter + Name="Shattrath City" + > + <File + RelativePath="..\scripts\zone\shattrath\shattrath_city.cpp" + > + </File> + </Filter> + <Filter + Name="Thunder Bluff" + > + <File + RelativePath="..\scripts\zone\thunder_bluff\thunder_bluff.cpp" + > + </File> + </Filter> + <Filter + Name="Undercity" + > + <File + RelativePath="..\scripts\zone\undercity\undercity.cpp" + > + </File> + </Filter> + <Filter + Name="Zul'Aman" + > + <File + RelativePath="..\scripts\zone\zulaman\boss_akilzon.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulaman\boss_halazzi.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulaman\boss_hexlord.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulaman\boss_janalai.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulaman\boss_nalorakk.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulaman\boss_zuljin.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulaman\def_zulaman.h" + > + </File> + <File + RelativePath="..\scripts\zone\zulaman\instance_zulaman.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\zulaman\zulaman.cpp" + > + </File> + </Filter> + <Filter + Name="Isle of Quel'Danas" + > + <File + RelativePath="..\scripts\zone\isle_of_queldanas\isle_of_queldanas.cpp" + > + </File> + </Filter> + <Filter + Name="Magister's Terrace" + > + <File + RelativePath="..\scripts\zone\magisters_terrace\boss_felblood_kaelthas.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\magisters_terrace\boss_priestess_delrissa.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\magisters_terrace\boss_selin_fireheart.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\magisters_terrace\boss_vexallus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\magisters_terrace\def_magisters_terrace.h" + > + </File> + <File + RelativePath="..\scripts\zone\magisters_terrace\instance_magisters_terrace.cpp" + > + </File> + </Filter> + <Filter + Name="Sunwell Plateau" + > + <File + RelativePath="..\scripts\zone\sunwell_plateau\boss_brutallus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\sunwell_plateau\boss_eredar_twins.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\sunwell_plateau\boss_felmyst.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\sunwell_plateau\boss_kalecgos.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\sunwell_plateau\boss_muru.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\sunwell_plateau\boss_kiljaeden.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\sunwell_plateau\sunwell_plateau.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\sunwell_plateau\def_sunwell_plateau.h" + > + </File> + <File + RelativePath="..\scripts\zone\sunwell_plateau\instance_sunwell_plateau.cpp" + > + </File> + </Filter> + <Filter + Name="Blackrock Depths" + > + <File + RelativePath="..\scripts\zone\blackrock_depths\blackrock_depths.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\def_blackrock_depths.h" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\instance_blackrock_depths.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\boss_ambassador_flamelash.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\boss_anubshiah.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\boss_emperor_dagran_thaurissan.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\boss_general_angerforge.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\boss_gorosh_the_dervish.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\boss_grizzle.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\boss_high_interrogator_gerstahn.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\boss_magmus.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\boss_moira_bronzebeard.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\blackrock_depths\boss_tomb_of_seven.cpp" + > + </File> + </Filter> + <Filter + Name="Loch Modan" + > + <File + RelativePath="..\scripts\zone\loch_modan\loch_modan.cpp" + > + </File> + </Filter> + </Filter> + </Filter> + <Filter + Name="Include" + > + <File + RelativePath="..\include\precompiled.cpp" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\include\precompiled.h" + > + </File> + <File + RelativePath="..\include\sc_creature.cpp" + > + </File> + <File + RelativePath="..\include\sc_creature.h" + > + </File> + <File + RelativePath="..\include\sc_gossip.h" + > + </File> + <File + RelativePath="..\include\sc_instance.h" + > + </File> + <File + RelativePath="..\include\sc_item.h" + > + </File> + </Filter> + <File + RelativePath="..\config.h" + > + </File> + <File + RelativePath="..\ScriptMgr.cpp" + > + </File> + <File + RelativePath="..\ScriptMgr.h" + > + </File> + <File + RelativePath="..\svn_revision.h" + > + </File> + <File + RelativePath="..\system.cpp" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/bindings/scripts/VC80/80ScriptDev2.vcproj b/src/bindings/scripts/VC80/80ScriptDev2.vcproj index 5885b5de607..acbd41aa29b 100644 --- a/src/bindings/scripts/VC80/80ScriptDev2.vcproj +++ b/src/bindings/scripts/VC80/80ScriptDev2.vcproj @@ -834,6 +834,14 @@ RelativePath="..\scripts\zone\razorfen_kraul\razorfen_kraul.cpp" > </File> + <File + RelativePath="..\scripts\zone\razorfen_kraul\instance_razorfen_kraul.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\razorfen_kraul\def_razorfen_kraul.h" + > + </File> </Filter> <Filter Name="Ruins of Ahn'Qiraj" diff --git a/src/bindings/scripts/VC90/90ScriptDev2.vcproj b/src/bindings/scripts/VC90/90ScriptDev2.vcproj index 97d0da3ceea..cbd7434e568 100644 --- a/src/bindings/scripts/VC90/90ScriptDev2.vcproj +++ b/src/bindings/scripts/VC90/90ScriptDev2.vcproj @@ -833,6 +833,14 @@ RelativePath="..\scripts\zone\razorfen_kraul\razorfen_kraul.cpp" > </File> + <File + RelativePath="..\scripts\zone\razorfen_kraul\instance_razorfen_kraul.cpp" + > + </File> + <File + RelativePath="..\scripts\zone\razorfen_kraul\def_razorfen_kraul.h" + > + </File> </Filter> <Filter Name="Ruins of Ahn'Qiraj" diff --git a/src/bindings/scripts/scripts/zone/razorfen_kraul/def_razorfen_kraul.h b/src/bindings/scripts/scripts/zone/razorfen_kraul/def_razorfen_kraul.h new file mode 100644 index 00000000000..96917fcd4bf --- /dev/null +++ b/src/bindings/scripts/scripts/zone/razorfen_kraul/def_razorfen_kraul.h @@ -0,0 +1,21 @@ +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef DEF_RAZORFEN_KRAUL_H +#define DEF_RAZORFEN_KRAUL_H + +#define TYPE_WARD_KEEPERS 1 +#endif
\ No newline at end of file diff --git a/src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp b/src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp new file mode 100644 index 00000000000..93e8ce711bf --- /dev/null +++ b/src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp @@ -0,0 +1,119 @@ +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* ScriptData +SDName: Instance_Razorfen_Kraul +SD%Complete: +SDComment: +SDCategory: Razorfen Kraul +EndScriptData */ + +#include "precompiled.h" +#include "def_razorfen_kraul.h" + + +#define WARD_KEEPERS_NR 2 + +struct TRINITY_DLL_DECL instance_razorfen_kraul : public ScriptedInstance +{ + instance_razorfen_kraul(Map *map) : ScriptedInstance(map) {Initialize();}; + + uint64 DoorWardGUID; + uint32 WardCheck_Timer; + int WardKeeperAlive; + + void Initialize() + { + WardKeeperAlive = 1; + WardCheck_Timer = 4000; + DoorWardGUID = 0; + } + + Player* GetPlayerInMap() + { + Map::PlayerList const& players = instance->GetPlayers(); + + if (!players.isEmpty()) + { + for(Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) + { + if (Player* plr = itr->getSource()) + return plr; + } + } + debug_log("TSCR: Instance Razorfen Kraul: GetPlayerInMap, but PlayerList is empty!"); + return NULL; + } + + void OnGameObjectCreate(GameObject *go, bool apply) + { + switch(go->GetEntry()) + { + case 21099: DoorWardGUID = go->GetGUID(); break; + } + } + + void HandleGameObject(uint64 guid, uint32 state) + { + Player *player = GetPlayerInMap(); + + if (!player || !guid) + { + debug_log("SD2: Instance Razorfen Kraul: HandleGameObject fail"); + return; + } + + if (GameObject *go = GameObject::GetGameObject(*player,guid)) + go->SetGoState(GOState(state)); + } + + void Update(uint32 diff) + { + if (WardCheck_Timer < diff) + { + HandleGameObject(DoorWardGUID, WardKeeperAlive); + WardKeeperAlive = 0; + WardCheck_Timer = 4000; + }else + WardCheck_Timer -= diff; + } + + void SetData(uint32 type, uint32 data) + { + switch(type) + { + case TYPE_WARD_KEEPERS: + if (data == NOT_STARTED) + WardKeeperAlive = 1; + break; + } + } + +}; + +InstanceData* GetInstanceData_instance_razorfen_kraul(Map* map) +{ + return new instance_razorfen_kraul(map); +} + +void AddSC_instance_razorfen_kraul() +{ + Script *newscript; + newscript = new Script; + newscript->Name = "instance_razorfen_kraul"; + newscript->GetInstanceData = &GetInstanceData_instance_razorfen_kraul; + newscript->RegisterSelf(); +}
\ No newline at end of file diff --git a/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp b/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp index 8680218e992..fdebf81afff 100644 --- a/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp +++ b/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp @@ -27,6 +27,7 @@ EndContentData */ #include "precompiled.h" #include "../../npc/npc_escortAI.h" +#include "def_razorfen_kraul.h" #define SAY_READY -1047000 #define SAY_POINT -10470001 @@ -42,10 +43,11 @@ EndContentData */ #define QUEST_WILLIX_THE_IMPORTER 1144 #define ENTRY_BOAR 4514 +#define SPELL_QUILLBOAR_CHANNELING 7083 struct TRINITY_DLL_DECL npc_willixAI : public npc_escortAI { -npc_willixAI(Creature *c) : npc_escortAI(c) {} + npc_willixAI(Creature *c) : npc_escortAI(c) {} void WaypointReached(uint32 i) { @@ -137,6 +139,50 @@ bool QuestAccept_npc_willix(Player* player, Creature* creature, Quest const* que return true; } +struct TRINITY_DLL_DECL npc_deaths_head_ward_keeperAI : public ScriptedAI +{ + npc_deaths_head_ward_keeperAI(Creature *c) : ScriptedAI(c) + { + pInstance = ((ScriptedInstance*)c->GetInstanceData()); + Reset(); + } + + ScriptedInstance *pInstance; + uint32 QuillboarChanneling_Timer; + + void Reset() + { + QuillboarChanneling_Timer = 1500; + } + + void Aggro(Unit *who) + { + } + + void UpdateAI(const uint32 diff) + { + if (!m_creature->isAlive()) + return; + + if (pInstance) + pInstance->SetData(TYPE_WARD_KEEPERS, NOT_STARTED); + + if (QuillboarChanneling_Timer < diff) + { + if( m_creature->IsNonMeleeSpellCasted(false) ) + m_creature->InterruptNonMeleeSpells(true); + DoCast(m_creature, SPELL_QUILLBOAR_CHANNELING); + QuillboarChanneling_Timer = 1100; + }else QuillboarChanneling_Timer -= diff; + + } +}; + +CreatureAI* GetAI_npc_deaths_head_ward_keeper(Creature *_Creature) +{ + return new npc_deaths_head_ward_keeperAI(_Creature); +} + CreatureAI* GetAI_npc_willix(Creature *_Creature) { npc_willixAI* thisAI = new npc_willixAI(_Creature); @@ -201,5 +247,10 @@ void AddSC_razorfen_kraul() newscript->GetAI = &GetAI_npc_willix; newscript->pQuestAccept = &QuestAccept_npc_willix; newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "npc_deaths_head_ward_keeper"; + newscript->GetAI = &GetAI_npc_deaths_head_ward_keeper; + newscript->RegisterSelf(); } diff --git a/src/game/Chat.h b/src/game/Chat.h index 6fbc9b30d34..f5d889479c2 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -73,6 +73,7 @@ class ChatHandler int ParseCommands(const char* text); + static ChatCommand* getCommandTable(); protected: explicit ChatHandler() : m_session(NULL) {} // for CLI subclass @@ -91,13 +92,11 @@ class ChatHandler void SendGlobalSysMessage(const char *str); void SendGlobalGMSysMessage(const char *str); - bool SetDataForCommandInTable(ChatCommand *table, const char* text, uint32 security, std::string const& help, std::string const& fullcommand ); + static bool SetDataForCommandInTable(ChatCommand *table, const char* text, uint32 security, std::string const& help, std::string const& fullcommand ); bool ExecuteCommandInTable(ChatCommand *table, const char* text, const std::string& fullcommand); bool ShowHelpForCommand(ChatCommand *table, const char* cmd); bool ShowHelpForSubCommands(ChatCommand *table, char const* cmd, char const* subcmd); - ChatCommand* getCommandTable(); - bool HandleAccountCommand(const char* args); bool HandleAccountCreateCommand(const char* args); bool HandleAccountDeleteCommand(const char* args); diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp index c76c6e78102..63d8943469d 100644 --- a/src/game/Level2.cpp +++ b/src/game/Level2.cpp @@ -3506,7 +3506,6 @@ bool ChatHandler::HandleCharacterRenameCommand(const char* args) PSendSysMessage(LANG_RENAME_PLAYER, GetNameLink(target).c_str()); target->SetAtLoginFlag(AT_LOGIN_RENAME); - CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '1' WHERE guid = '%u'", target->GetGUIDLow()); } else { diff --git a/src/trinitycore/CMakeLists.txt b/src/trinitycore/CMakeLists.txt index 7cd012d9f45..f6b2b3a75b0 100644 --- a/src/trinitycore/CMakeLists.txt +++ b/src/trinitycore/CMakeLists.txt @@ -44,6 +44,7 @@ trinityconfig vmaps ZThread g3dlite +readline ${SCRIPT_LIB} ${MYSQL_LIBRARIES} ${POSTGRE_LIBS} diff --git a/src/trinitycore/CliRunnable.cpp b/src/trinitycore/CliRunnable.cpp index 1da2a30b4f7..0752842bc3d 100644 --- a/src/trinitycore/CliRunnable.cpp +++ b/src/trinitycore/CliRunnable.cpp @@ -38,6 +38,56 @@ #include "ScriptCalls.h" #include "Util.h" +#if PLATFORM != WINDOWS +#include <readline/readline.h> +#include <readline/history.h> + +char * command_finder(const char* text, int state) +{ + static int idx,len; + const char* ret; + ChatCommand *cmd = ChatHandler::getCommandTable(); + + if(!state) + { + idx = 0; + len = strlen(text); + } + + while(ret = cmd[idx].Name) + { + if(!cmd[idx].AllowConsole) + { + idx++; + continue; + } + + idx++; + //printf("Checking %s \n", cmd[idx].Name); + if (strncmp(ret, text, len) == 0) + return strdup(ret); + if(cmd[idx].Name == NULL) + break; + } + + return ((char*)NULL); + +} + +char ** cli_completion(const char * text, int start, int end) +{ + char ** matches; + matches = (char**)NULL; + + if(start == 0) + matches = rl_completion_matches((char*)text,&command_finder); + else + rl_bind_key('\t',rl_abort); + return (matches); +} + +#endif + void utf8print(const char* str) { #if PLATFORM == PLATFORM_WINDOWS @@ -325,10 +375,12 @@ void CliRunnable::run() WorldDatabase.ThreadStart(); // let thread do safe mySQL requests char commandbuf[256]; - + bool canflush = true; ///- Display the list of available CLI functions then beep sLog.outString(""); - + #if PLATFORM != WINDOWS + rl_attempted_completion_function = cli_completion; + #endif if(sConfig.GetBoolDefault("BeepAtStart", true)) printf("\a"); // \a = Alert @@ -340,15 +392,16 @@ void CliRunnable::run() while (!World::IsStopped()) { fflush(stdout); - #ifdef linux - while (!kb_hit_return() && !World::IsStopped()) - // With this, we limit CLI to 10commands/second - usleep(100); - if (World::IsStopped()) - break; - #endif - char *command_str = fgets(commandbuf,sizeof(commandbuf),stdin); - if (command_str != NULL) + + char *command_str ; // = fgets(commandbuf,sizeof(commandbuf),stdin); + + #if PLATFORM == WINDOWS + command_str = fgets(commandbuf,sizeof(commandbuf),stdin); + #else + command_str = readline("TC>"); + rl_bind_key('\t',rl_complete); + #endif + if (command_str != NULL) { for(int x=0;command_str[x];x++) if(command_str[x]=='\r'||command_str[x]=='\n') @@ -360,23 +413,32 @@ void CliRunnable::run() if(!*command_str) { - printf("TC>"); + #if PLATFORM == WINDOWS + printf("TC>"); + #endif continue; } std::string command; if(!consoleToUtf8(command_str,command)) // convert from console encoding to utf8 { - printf("TC>"); + #if PLATFORM == WINDOWS + printf("TC>"); + #endif continue; } - + fflush(stdout); + #if PLATFORM != WINDOWS sWorld.QueueCliCommand(&utf8print,command.c_str()); - } + add_history(command.c_str()); + #endif + + } else if (feof(stdin)) { World::StopNow(SHUTDOWN_EXIT_CODE); } + } ///- End the database thread |