Merge branch 'master' into Playerbot
This commit is contained in:
@@ -61,7 +61,9 @@ body:
|
||||
attributes:
|
||||
label: AC rev. hash/commit
|
||||
description: |
|
||||
Copy the result of the `.server debug` command (if you need to run it from the client get a prat addon)
|
||||
Paste the entire output result of the `.server debug` command. (If you need to run it from the client get a prat addon)
|
||||
placeholder: |
|
||||
Paste the entire output result of the `.server debug` command. (If you need to run it from the client get a prat addon)
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
|
||||
@@ -16,6 +16,11 @@ inputs:
|
||||
description: Flag to install modules or not
|
||||
required: true
|
||||
type: boolean
|
||||
tools:
|
||||
default: none
|
||||
description: Flag to enable tools build
|
||||
required: false
|
||||
type: string
|
||||
pch:
|
||||
default: false
|
||||
description: Flag to enable or disable PCH
|
||||
@@ -94,7 +99,7 @@ runs:
|
||||
cmake "$GITHUB_WORKSPACE" \
|
||||
-DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/env/dist" \
|
||||
-DAPPS_BUILD="all" \
|
||||
-DTOOLS_BUILD="all" \
|
||||
-DTOOLS_BUILD=${{ inputs.tools }} \
|
||||
-DSCRIPTS="static" \
|
||||
-DMODULES="static" \
|
||||
-DWITH_WARNINGS="ON" \
|
||||
@@ -144,10 +149,6 @@ runs:
|
||||
shell: bash
|
||||
run: sudo systemctl start mysql.service
|
||||
|
||||
- name: run dbimport
|
||||
shell: bash
|
||||
run: env/dist/bin/dbimport
|
||||
|
||||
- name: Dry run authserver
|
||||
shell: bash
|
||||
run: timeout 5m env/dist/bin/authserver --dry-run
|
||||
|
||||
@@ -12,15 +12,15 @@ concurrency:
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
fail-fast: true
|
||||
matrix:
|
||||
# the result of the matrix will be the combination of all attributes, so we get os*compiler builds
|
||||
os: [ubuntu-24.04]
|
||||
compiler: [clang]
|
||||
include:
|
||||
- os: ubuntu-24.04
|
||||
compiler:
|
||||
CC: clang-18
|
||||
CXX: clang++-18
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.os }}-${{ matrix.compiler }}
|
||||
env:
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
name: ${{ matrix.os }}-${{ matrix.compiler.CC }}
|
||||
if: |
|
||||
github.repository == 'liyunfan1223/azerothcore-wotlk' && !github.event.pull_request.draft
|
||||
&& (
|
||||
@@ -29,23 +29,9 @@ jobs:
|
||||
)
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: cache-tools
|
||||
- uses: ./.github/actions/linux-build
|
||||
with:
|
||||
path: var/ccache
|
||||
key: ${{ env.cache-name }}-${{ matrix.os }}-${{ matrix.compiler }}-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-${{ matrix.os }}-${{ matrix.compiler }}-${{ github.ref }}-
|
||||
${{ env.cache-name }}-${{ matrix.os }}-${{ matrix.compiler }}-
|
||||
${{ env.cache-name }}-${{ matrix.os }}-
|
||||
- name: Configure OS
|
||||
run: source ./acore.sh install-deps
|
||||
env:
|
||||
CONTINUOUS_INTEGRATION: true
|
||||
- name: Create conf/config.sh
|
||||
run: source ./apps/ci/ci-conf-tools.sh
|
||||
- name: Build
|
||||
run: source ./apps/ci/ci-compile.sh
|
||||
|
||||
CC: ${{ matrix.compiler.CC }}
|
||||
CXX: ${{ matrix.compiler.CXX }}
|
||||
tools: all
|
||||
pch: false
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
-- DB update 2024_07_18_00 -> 2024_07_19_00
|
||||
--
|
||||
UPDATE `creature_template_addon` SET `bytes2` = 1, `auras` = '18950' WHERE (`entry` = 22878);
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 22878);
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||
(22878, 0, 0, 0, 0, 0, 100, 0, 7000, 11000, 9000, 13000, 0, 0, 11, 40100, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Aqueous Lord - In Combat - Cast \'Crashing Wave\''),
|
||||
(22878, 0, 1, 0, 0, 0, 100, 0, 9000, 15000, 6000, 12000, 0, 0, 11, 40099, 0, 0, 0, 0, 0, 5, 100, 1, 0, 0, 0, 0, 0, 0, 'Aqueous Lord - In Combat - Cast \'Vile Slime\''),
|
||||
(22878, 0, 2, 3, 0, 0, 100, 0, 14000, 18000, 30000, 40000, 0, 0, 11, 40101, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Aqueous Lord - In Combat - Cast \'Serverside - Summon Aqueous Spawn\''),
|
||||
(22878, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 12, 22883, 4, 30000, 0, 0, 0, 202, 10, 1, 1, 0, 0, 0, 0, 0, 'Aqueous Lord - In Combat - Summon Creature \'Aqueous Spawn\'');
|
||||
|
||||
UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask`|2048, `mechanic_immune_mask` = `mechanic_immune_mask`&~8, `flags_extra` = `flags_extra`|256 WHERE (`entry` = 22960);
|
||||
|
||||
DELETE FROM `creature_text` WHERE (`CreatureID` = 23028);
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||
(23028, 0, 0, 'I\'ve seen female Gnomes hit harder than you!', 14, 0, 100, 0, 0, 0, 21354, 0, 'Bonechewer Taskmaster'),
|
||||
(23028, 0, 1, 'If you don\'t start throwing some real punches, you\'ll be cleaning the drake stalls for a year!', 14, 0, 100, 0, 0, 0, 21356, 0, 'Bonechewer Taskmaster'),
|
||||
(23028, 0, 2, 'Stop your slacking and fight like a true fel orc!', 14, 0, 100, 0, 0, 0, 21353, 0, 'Bonechewer Taskmaster'),
|
||||
(23028, 0, 3, 'You call that an offense? I\'ve seen more offensive tallstriders!', 14, 0, 100, 0, 0, 0, 21355, 0, 'Bonechewer Taskmaster'),
|
||||
(23028, 1, 0, '%s becomes increasingly enraged as he sees his allies fall in battle!', 16, 0, 100, 0, 0, 0, 21352, 0, 'Bonechewer Taskmaster');
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 23028);
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||
(23028, 0, 0, 1, 0, 0, 100, 0, 5000, 15000, 14000, 14000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonechewer Taskmaster - In Combat - Talk'),
|
||||
(23028, 0, 1, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 67, 1, 3000, 3000, 0, 0, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonechewer Taskmaster - In Combat - Create Timed Event'),
|
||||
(23028, 0, 2, 0, 59, 0, 100, 0, 1, 0, 0, 0, 0, 0, 11, 40851, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonechewer Taskmaster - On Timed Event - Cast Disgruntled'),
|
||||
(23028, 0, 3, 0, 38, 0, 100, 0, 1, 1, 0, 0, 0, 0, 11, 40845, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonechewer Taskmaster - On Data Set 1 1 - Cast \'Fury\''),
|
||||
(23028, 0, 4, 0, 38, 0, 100, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonechewer Taskmaster - On Data Set 1 1 - Say Line 1 (No Repeat)');
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 22963);
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||
(22963, 0, 0, 0, 0, 0, 100, 1, 5000, 15000, 0, 0, 0, 0, 11, 40844, 0, 0, 0, 0, 0, 5, 30, 0, 0, 0, 0, 0, 0, 0, 'Bonechewer Worker - In Combat - Cast \'Throw Pick\' (No Repeat)'),
|
||||
(22963, 0, 1, 0, 8, 0, 100, 0, 40851, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonechewer Worker - On Spellhit \'Disgruntled\' - Say Line 0'),
|
||||
(22963, 0, 2, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 23028, 40, 0, 0, 0, 0, 0, 0, 'Bonechewer Worker - On Just Died - Set Data 1 1');
|
||||
|
||||
UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask`|1|2|4|16|64|256|512|1024|2048|4096|8192|131072|4194304|8388608|33554432 WHERE (`entry` = 22954);
|
||||
@@ -0,0 +1,15 @@
|
||||
-- DB update 2024_07_19_00 -> 2024_07_19_01
|
||||
--
|
||||
DELETE FROM `creature_template_spell` WHERE (`CreatureID` = 23109);
|
||||
INSERT INTO `creature_template_spell` (`CreatureID`, `Index`, `Spell`, `VerifiedBuild`) VALUES
|
||||
(23109, 0, 40325, 0),
|
||||
(23109, 2, 40157, 0),
|
||||
(23109, 3, 40175, 0),
|
||||
(23109, 4, 40314, 0),
|
||||
(23109, 6, 40322, 0);
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = '', `ScriptName` = 'npc_vengeful_spirit' WHERE (`entry` = 23109);
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id` = 41999 AND `ScriptName` = 'spell_teron_gorefiend_shadow_of_death_remove';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(41999, 'spell_teron_gorefiend_shadow_of_death_remove');
|
||||
@@ -0,0 +1,3 @@
|
||||
-- DB update 2024_07_19_01 -> 2024_07_19_02
|
||||
--
|
||||
UPDATE `item_template` SET `HolidayId` = 409 WHERE `entry` = 46861;
|
||||
@@ -0,0 +1,25 @@
|
||||
-- DB update 2024_07_19_02 -> 2024_07_19_03
|
||||
--
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 15 AND `SourceGroup` = 10996 AND `SourceEntry` = 6 AND `ConditionTypeOrReference` IN (2,8);
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50375, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Courage\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50376, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Vengeance\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50377, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Destruction\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50378, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Wisdom\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50384, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Greater Destruction\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50386, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Greater Wisdom\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50387, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Greater Vengeance\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50388, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Greater Courage\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50397, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Unmatched Destruction\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50398, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Endless Destruction\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50399, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Unmatched Wisdom\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50400, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Endless Wisdom\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50401, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Unmatched Vengeance\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50402, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Endless Vengeance\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50403, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Unmatched Courage\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 50404, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Endless Courage\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 52569, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Might\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 52570, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Greater Might\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 52571, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Unmatched Might\' AND'),
|
||||
(15, 10996, 6, 0, 1, 2, 0, 52572, 1, 1, 1, 0, 0, '', 'Show Gossip Option 6 if player does not have item \'Ashen Band of Endless Might\' AND'),
|
||||
(15, 10996, 6, 0, 1, 8, 0, 24815, 0, 0, 0, 0, 0, '', 'Show Gossip Option 6 if Quest \'Choose your path\' is rewarded');
|
||||
@@ -0,0 +1,6 @@
|
||||
-- DB update 2024_07_19_03 -> 2024_07_21_00
|
||||
--
|
||||
DELETE FROM `spell_custom_attr` WHERE `spell_id` IN (25646, 13444);
|
||||
INSERT INTO `spell_custom_attr` (`spell_id`, `attributes`) VALUES
|
||||
(25646, 4194304),
|
||||
(13444, 4194304);
|
||||
@@ -144,29 +144,17 @@ namespace
|
||||
|
||||
// read line error
|
||||
if (!in.good() && !in.eof())
|
||||
{
|
||||
throw ConfigException(Acore::StringFormatFmt("> Config::LoadFile: Failure to read line number {} in file '{}'", lineNumber, file));
|
||||
}
|
||||
|
||||
// remove whitespace in line
|
||||
line = Acore::String::Trim(line, in.getloc());
|
||||
|
||||
if (line.empty())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// comments
|
||||
// comments and headers
|
||||
if (line[0] == '#' || line[0] == '[')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
size_t found = line.find_first_of('#');
|
||||
if (found != std::string::npos)
|
||||
{
|
||||
line = line.substr(0, found);
|
||||
}
|
||||
|
||||
auto const equal_pos = line.find('=');
|
||||
|
||||
@@ -183,9 +171,7 @@ namespace
|
||||
|
||||
// Skip if 2+ same options in one config file
|
||||
if (IsDuplicateOption(entry))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add to temp container
|
||||
fileConfigs.emplace(entry, value);
|
||||
@@ -663,30 +649,6 @@ bool ConfigMgr::LoadModulesConfigs(bool isReload /*= false*/, bool isNeedPrintIn
|
||||
return true;
|
||||
}
|
||||
|
||||
/// @deprecated DO NOT USE - use GetOption<std::string> instead.
|
||||
std::string ConfigMgr::GetStringDefault(std::string const& name, const std::string& def, bool showLogs /*= true*/)
|
||||
{
|
||||
return GetOption<std::string>(name, def, showLogs);
|
||||
}
|
||||
|
||||
/// @deprecated DO NOT USE - use GetOption<bool> instead.
|
||||
bool ConfigMgr::GetBoolDefault(std::string const& name, bool def, bool showLogs /*= true*/)
|
||||
{
|
||||
return GetOption<bool>(name, def, showLogs);
|
||||
}
|
||||
|
||||
/// @deprecated DO NOT USE - use GetOption<int32> instead.
|
||||
int ConfigMgr::GetIntDefault(std::string const& name, int def, bool showLogs /*= true*/)
|
||||
{
|
||||
return GetOption<int32>(name, def, showLogs);
|
||||
}
|
||||
|
||||
/// @deprecated DO NOT USE - use GetOption<float> instead.
|
||||
float ConfigMgr::GetFloatDefault(std::string const& name, float def, bool showLogs /*= true*/)
|
||||
{
|
||||
return GetOption<float>(name, def, showLogs);
|
||||
}
|
||||
|
||||
#define TEMPLATE_CONFIG_OPTION(__typename) \
|
||||
template __typename ConfigMgr::GetOption<__typename>(std::string const& name, __typename const& def, bool showLogs /*= true*/) const;
|
||||
|
||||
|
||||
@@ -50,26 +50,6 @@ public:
|
||||
template<class T>
|
||||
T GetOption(std::string const& name, T const& def, bool showLogs = true) const;
|
||||
|
||||
/*
|
||||
* Deprecated geters. This geters will be deleted
|
||||
*/
|
||||
|
||||
[[deprecated("Use GetOption<std::string> instead")]]
|
||||
std::string GetStringDefault(std::string const& name, const std::string& def, bool showLogs = true);
|
||||
|
||||
[[deprecated("Use GetOption<bool> instead")]]
|
||||
bool GetBoolDefault(std::string const& name, bool def, bool showLogs = true);
|
||||
|
||||
[[deprecated("Use GetOption<int32> instead")]]
|
||||
int GetIntDefault(std::string const& name, int def, bool showLogs = true);
|
||||
|
||||
[[deprecated("Use GetOption<float> instead")]]
|
||||
float GetFloatDefault(std::string const& name, float def, bool showLogs = true);
|
||||
|
||||
/*
|
||||
* End deprecated geters
|
||||
*/
|
||||
|
||||
bool isDryRun() { return dryRun; }
|
||||
void setDryRun(bool mode) { dryRun = mode; }
|
||||
|
||||
|
||||
@@ -697,6 +697,26 @@ Logger.spells.scripts=2,Console Errors
|
||||
#Logger.bg.battleground=4,Console Server
|
||||
#Logger.bg.reportpvpafk=4,Console Server
|
||||
#Logger.calendar=4,Console Server
|
||||
#Logger.chat.say=4,Console Chat
|
||||
#Logger.chat.emote=4,Console Chat
|
||||
#Logger.chat.yell=4,Console Chat
|
||||
#Logger.chat.whisper=4,Console Chat
|
||||
#Logger.chat.party=4,Console Chat
|
||||
#Logger.chat.raid=4,Console Chat
|
||||
#Logger.chat.bg=4,Console Chat
|
||||
#Logger.chat.guild=4,Console Chat
|
||||
#Logger.chat.guild.officer=4,Console Chat
|
||||
#Logger.chat.channel=4,Console Chat
|
||||
#Logger.chat.addon.msg=4,Console Chat
|
||||
#Logger.chat.addon.emote=4,Console Chat
|
||||
#Logger.chat.addon.yell=4,Console Chat
|
||||
#Logger.chat.addon.whisper=4,Console Chat
|
||||
#Logger.chat.addon.party=4,Console Chat
|
||||
#Logger.chat.addon.raid=4,Console Chat
|
||||
#Logger.chat.addon.bg=4,Console Chat
|
||||
#Logger.chat.addon.guild=4,Console Chat
|
||||
#Logger.chat.addon.guild.officer=4,Console Chat
|
||||
#Logger.chat.addon.channel=4,Console Chat
|
||||
#Logger.chat.log=4,Console Server
|
||||
#Logger.chat.log.addon=4,Console Server
|
||||
#Logger.chat.system=4,Console Server
|
||||
@@ -4393,6 +4413,13 @@ DailyRBGArenaPoints.MinLevel = 71
|
||||
|
||||
MunchingBlizzlike.Enabled = 1
|
||||
|
||||
#
|
||||
# Daze.Enabled
|
||||
# Description: Enable or disable the chance for mob melee attacks to daze the victim.
|
||||
# Default: 1 - (Blizzlike)
|
||||
|
||||
Daze.Enabled = 1
|
||||
|
||||
#
|
||||
###################################################################################################
|
||||
|
||||
|
||||
@@ -248,19 +248,6 @@ namespace Acore::ChatCommands
|
||||
ChatCommandBuilder(char const* name, std::vector<ChatCommandBuilder> const& subCommands)
|
||||
: _name{ ASSERT_NOTNULL(name) }, _data{ std::in_place_type<SubCommandEntry>, subCommands } { }
|
||||
|
||||
[[deprecated("char const* parameters to command handlers are deprecated; convert this to a typed argument handler instead")]]
|
||||
ChatCommandBuilder(char const* name, bool(&handler)(ChatHandler*, char const*), uint32 securityLevel, Acore::ChatCommands::Console allowConsole)
|
||||
: ChatCommandBuilder(name, handler, AcoreStrings(), securityLevel, allowConsole) { }
|
||||
|
||||
template <typename TypedHandler>
|
||||
[[deprecated("you are using the old-style command format; convert this to the new format ({ name, handler (not a pointer!), permission, Console::(Yes/No) })")]]
|
||||
ChatCommandBuilder(char const* name, uint32 securityLevel, bool console, TypedHandler* handler, char const*)
|
||||
: ChatCommandBuilder(name, *handler, AcoreStrings(), securityLevel, static_cast<Acore::ChatCommands::Console>(console)) { }
|
||||
|
||||
[[deprecated("you are using the old-style command format; convert this to the new format ({ name, subCommands })")]]
|
||||
ChatCommandBuilder(char const* name, uint32, bool, std::nullptr_t, char const*, std::vector <ChatCommandBuilder> const& sub)
|
||||
: ChatCommandBuilder(name, sub) { }
|
||||
|
||||
private:
|
||||
std::string_view _name;
|
||||
std::variant<InvokerEntry, SubCommandEntry> _data;
|
||||
|
||||
@@ -451,7 +451,7 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, ObjectGuid npcGU
|
||||
|
||||
uint32 moneyRew = 0;
|
||||
Player* player = _session->GetPlayer();
|
||||
if (player && (player->getLevel() >= sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL) || sScriptMgr->ShouldBeRewardedWithMoneyInsteadOfExp(player)))
|
||||
if (player && (player->GetLevel() >= sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL) || sScriptMgr->ShouldBeRewardedWithMoneyInsteadOfExp(player)))
|
||||
{
|
||||
moneyRew = quest->GetRewMoneyMaxLevel();
|
||||
}
|
||||
|
||||
@@ -1915,6 +1915,8 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
|
||||
if (Probability > 40.0f)
|
||||
Probability = 40.0f;
|
||||
|
||||
// Daze application
|
||||
if (sWorld->getBoolConfig(CONFIG_ENABLE_DAZE))
|
||||
if (roll_chance_f(std::max(0.0f, Probability)))
|
||||
CastSpell(victim, 1604, true);
|
||||
}
|
||||
@@ -3054,9 +3056,8 @@ void Unit::SendMeleeAttackStop(Unit* victim)
|
||||
|
||||
if (victim)
|
||||
{
|
||||
uint8 nowDead = victim->isDead();
|
||||
data << victim->GetPackGUID();
|
||||
data << nowDead;
|
||||
data << (uint32)victim->isDead();
|
||||
}
|
||||
SendMessageToSet(&data, true);
|
||||
LOG_DEBUG("entities.unit", "WORLD: Sent SMSG_ATTACKSTOP");
|
||||
|
||||
@@ -1506,9 +1506,7 @@ public:
|
||||
[[nodiscard]] bool IsTotem() const { return m_unitTypeMask & UNIT_MASK_TOTEM; }
|
||||
[[nodiscard]] bool IsVehicle() const { return m_unitTypeMask & UNIT_MASK_VEHICLE; }
|
||||
|
||||
/// @deprecated Use GetLevel() instead!
|
||||
[[nodiscard]] uint8 getLevel() const { return uint8(GetUInt32Value(UNIT_FIELD_LEVEL)); }
|
||||
[[nodiscard]] uint8 GetLevel() const { return getLevel(); }
|
||||
[[nodiscard]] uint8 GetLevel() const { return uint8(GetUInt32Value(UNIT_FIELD_LEVEL)); }
|
||||
uint8 getLevelForTarget(WorldObject const* /*target*/) const override { return GetLevel(); }
|
||||
void SetLevel(uint8 lvl, bool showLevelChange = true);
|
||||
[[nodiscard]] uint8 getRace(bool original = false) const;
|
||||
|
||||
@@ -89,9 +89,8 @@ void WorldSession::SendAttackStop(Unit const* enemy)
|
||||
|
||||
if (enemy)
|
||||
{
|
||||
uint8 nowDead = enemy->isDead();
|
||||
data << enemy->GetPackGUID(); // must be packed guid
|
||||
data << nowDead;
|
||||
data << (uint32)enemy->isDead();
|
||||
}
|
||||
SendPacket(&data);
|
||||
}
|
||||
|
||||
@@ -186,6 +186,7 @@ enum WorldBoolConfigs
|
||||
CONFIG_STRICT_NAMES_PROFANITY,
|
||||
CONFIG_ALLOWS_RANK_MOD_FOR_PET_HEALTH,
|
||||
CONFIG_MUNCHING_BLIZZLIKE,
|
||||
CONFIG_ENABLE_DAZE,
|
||||
BOOL_CONFIG_VALUE_COUNT
|
||||
};
|
||||
|
||||
@@ -567,7 +568,6 @@ public:
|
||||
virtual void LoadConfigSettings(bool reload = false) = 0;
|
||||
virtual void SendWorldText(uint32 string_id, ...) = 0;
|
||||
virtual void SendWorldTextOptional(uint32 string_id, uint32 flag, ...) = 0;
|
||||
virtual void SendGlobalText(const char* text, WorldSession* self) = 0;
|
||||
virtual void SendGMText(uint32 string_id, ...) = 0;
|
||||
virtual void SendGlobalMessage(WorldPacket const* packet, WorldSession* self = nullptr, TeamId teamId = TEAM_NEUTRAL) = 0;
|
||||
virtual void SendGlobalGMMessage(WorldPacket const* packet, WorldSession* self = nullptr, TeamId teamId = TEAM_NEUTRAL) = 0;
|
||||
|
||||
@@ -1285,6 +1285,8 @@ void World::LoadConfigSettings(bool reload)
|
||||
|
||||
_bool_configs[CONFIG_MUNCHING_BLIZZLIKE] = sConfigMgr->GetOption<bool>("MunchingBlizzlike.Enabled", true);
|
||||
|
||||
_bool_configs[CONFIG_ENABLE_DAZE] = sConfigMgr->GetOption<bool>("Daze.Enabled", true);
|
||||
|
||||
_int_configs[CONFIG_DAILY_RBG_MIN_LEVEL_AP_REWARD] = sConfigMgr->GetOption<uint32>("DailyRBGArenaPoints.MinLevel", 71);
|
||||
|
||||
_int_configs[CONFIG_AUCTION_HOUSE_SEARCH_TIMEOUT] = sConfigMgr->GetOption<uint32>("AuctionHouse.SearchTimeout", 1000);
|
||||
@@ -2653,24 +2655,6 @@ void World::SendGMText(uint32 string_id, ...)
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
/// @deprecated only for debug purpose. Send a System Message to all players (except self if mentioned)
|
||||
void World::SendGlobalText(const char* text, WorldSession* self)
|
||||
{
|
||||
WorldPacket data;
|
||||
|
||||
// need copy to prevent corruption by strtok call in LineFromMessage original string
|
||||
char* buf = strdup(text);
|
||||
char* pos = buf;
|
||||
|
||||
while (char* line = ChatHandler::LineFromMessage(pos))
|
||||
{
|
||||
ChatHandler::BuildChatPacket(data, CHAT_MSG_SYSTEM, LANG_UNIVERSAL, nullptr, nullptr, line);
|
||||
SendGlobalMessage(&data, self);
|
||||
}
|
||||
|
||||
free(buf);
|
||||
}
|
||||
|
||||
/// Send a packet to all players (or players selected team) in the zone (except self if mentioned)
|
||||
bool World::SendZoneMessage(uint32 zone, WorldPacket const* packet, WorldSession* self, TeamId teamId)
|
||||
{
|
||||
|
||||
@@ -239,7 +239,6 @@ public:
|
||||
void LoadConfigSettings(bool reload = false) override;
|
||||
|
||||
void SendWorldText(uint32 string_id, ...) override;
|
||||
void SendGlobalText(const char* text, WorldSession* self) override;
|
||||
void SendGMText(uint32 string_id, ...) override;
|
||||
void SendGlobalMessage(WorldPacket const* packet, WorldSession* self = nullptr, TeamId teamId = TEAM_NEUTRAL) override;
|
||||
void SendGlobalGMMessage(WorldPacket const* packet, WorldSession* self = nullptr, TeamId teamId = TEAM_NEUTRAL) override;
|
||||
|
||||
@@ -52,46 +52,46 @@ public:
|
||||
{
|
||||
static ChatCommandTable accountSetCommandTable =
|
||||
{
|
||||
{ "addon", SEC_GAMEMASTER, true, &HandleAccountSetAddonCommand, "" },
|
||||
{ "gmlevel", SEC_CONSOLE, true, &HandleAccountSetGmLevelCommand, "" },
|
||||
{ "password", SEC_CONSOLE, true, &HandleAccountSetPasswordCommand, "" },
|
||||
{ "2fa", SEC_PLAYER, true, &HandleAccountSet2FACommand, "" }
|
||||
{ "addon", HandleAccountSetAddonCommand, SEC_GAMEMASTER, Console::Yes },
|
||||
{ "gmlevel", HandleAccountSetGmLevelCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "password", HandleAccountSetPasswordCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "2fa", HandleAccountSet2FACommand, SEC_PLAYER, Console::Yes }
|
||||
};
|
||||
|
||||
static ChatCommandTable accountLockCommandTable
|
||||
{
|
||||
{ "country", SEC_PLAYER, true, &HandleAccountLockCountryCommand, "" },
|
||||
{ "ip", SEC_PLAYER, true, &HandleAccountLockIpCommand, "" }
|
||||
{ "country", HandleAccountLockCountryCommand, SEC_PLAYER, Console::Yes },
|
||||
{ "ip", HandleAccountLockIpCommand, SEC_PLAYER, Console::Yes }
|
||||
};
|
||||
|
||||
static ChatCommandTable account2faCommandTable
|
||||
{
|
||||
{ "setup", SEC_PLAYER, false, &HandleAccount2FASetupCommand, "" },
|
||||
{ "remove", SEC_PLAYER, false, &HandleAccount2FARemoveCommand, "" },
|
||||
{ "setup", HandleAccount2FASetupCommand, SEC_PLAYER, Console::No },
|
||||
{ "remove", HandleAccount2FARemoveCommand, SEC_PLAYER, Console::No }
|
||||
};
|
||||
|
||||
static ChatCommandTable accountRemoveCommandTable
|
||||
{
|
||||
{ "country", SEC_ADMINISTRATOR, true, &HandleAccountRemoveLockCountryCommand, "" }
|
||||
{ "country", HandleAccountRemoveLockCountryCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
};
|
||||
|
||||
static ChatCommandTable accountCommandTable =
|
||||
{
|
||||
{ "2fa", SEC_PLAYER, true, nullptr, "", account2faCommandTable },
|
||||
{ "addon", SEC_MODERATOR, false, &HandleAccountAddonCommand, "" },
|
||||
{ "create", SEC_CONSOLE, true, &HandleAccountCreateCommand, "" },
|
||||
{ "delete", SEC_CONSOLE, true, &HandleAccountDeleteCommand, "" },
|
||||
{ "onlinelist", SEC_CONSOLE, true, &HandleAccountOnlineListCommand, "" },
|
||||
{ "lock", SEC_PLAYER, false, nullptr, "", accountLockCommandTable },
|
||||
{ "set", SEC_ADMINISTRATOR, true, nullptr, "", accountSetCommandTable },
|
||||
{ "password", SEC_PLAYER, false, &HandleAccountPasswordCommand, "" },
|
||||
{ "remove", SEC_ADMINISTRATOR, true, nullptr, "", accountRemoveCommandTable },
|
||||
{ "", SEC_PLAYER, false, &HandleAccountCommand, "" }
|
||||
{ "2fa", account2faCommandTable },
|
||||
{ "addon", HandleAccountAddonCommand, SEC_MODERATOR, Console::No },
|
||||
{ "create", HandleAccountCreateCommand, SEC_CONSOLE, Console::Yes },
|
||||
{ "delete", HandleAccountDeleteCommand, SEC_CONSOLE, Console::Yes },
|
||||
{ "onlinelist", HandleAccountOnlineListCommand, SEC_CONSOLE, Console::Yes },
|
||||
{ "lock", accountLockCommandTable },
|
||||
{ "set", accountSetCommandTable },
|
||||
{ "password", HandleAccountPasswordCommand, SEC_PLAYER, Console::No },
|
||||
{ "remove", accountRemoveCommandTable },
|
||||
{ "", HandleAccountCommand, SEC_PLAYER, Console::No }
|
||||
};
|
||||
|
||||
static ChatCommandTable commandTable =
|
||||
{
|
||||
{ "account", SEC_PLAYER, true, nullptr, "", accountCommandTable }
|
||||
{ "account", accountCommandTable }
|
||||
};
|
||||
|
||||
return commandTable;
|
||||
|
||||
@@ -56,40 +56,40 @@ public:
|
||||
{
|
||||
static ChatCommandTable unbanCommandTable =
|
||||
{
|
||||
{ "account", SEC_ADMINISTRATOR, true, &HandleUnBanAccountCommand, "" },
|
||||
{ "character", SEC_ADMINISTRATOR, true, &HandleUnBanCharacterCommand, "" },
|
||||
{ "playeraccount", SEC_ADMINISTRATOR, true, &HandleUnBanAccountByCharCommand, "" },
|
||||
{ "ip", SEC_ADMINISTRATOR, true, &HandleUnBanIPCommand, "" }
|
||||
{ "account", HandleUnBanAccountCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "character", HandleUnBanCharacterCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "playeraccount", HandleUnBanAccountByCharCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "ip", HandleUnBanIPCommand, SEC_ADMINISTRATOR, Console::Yes }
|
||||
};
|
||||
|
||||
static ChatCommandTable banlistCommandTable =
|
||||
{
|
||||
{ "account", SEC_GAMEMASTER, true, &HandleBanListAccountCommand, "" },
|
||||
{ "character", SEC_GAMEMASTER, true, &HandleBanListCharacterCommand, "" },
|
||||
{ "ip", SEC_GAMEMASTER, true, &HandleBanListIPCommand, "" }
|
||||
{ "account", HandleBanListAccountCommand, SEC_GAMEMASTER, Console::Yes },
|
||||
{ "character", HandleBanListCharacterCommand, SEC_GAMEMASTER, Console::Yes },
|
||||
{ "ip", HandleBanListIPCommand, SEC_GAMEMASTER, Console::Yes }
|
||||
};
|
||||
|
||||
static ChatCommandTable baninfoCommandTable =
|
||||
{
|
||||
{ "account", SEC_GAMEMASTER, true, &HandleBanInfoAccountCommand, "" },
|
||||
{ "character", SEC_GAMEMASTER, true, &HandleBanInfoCharacterCommand, "" },
|
||||
{ "ip", SEC_GAMEMASTER, true, &HandleBanInfoIPCommand, "" }
|
||||
{ "account", HandleBanInfoAccountCommand, SEC_GAMEMASTER, Console::Yes },
|
||||
{ "character", HandleBanInfoCharacterCommand, SEC_GAMEMASTER, Console::Yes },
|
||||
{ "ip", HandleBanInfoIPCommand, SEC_GAMEMASTER, Console::Yes }
|
||||
};
|
||||
|
||||
static ChatCommandTable banCommandTable =
|
||||
{
|
||||
{ "account", SEC_GAMEMASTER, true, &HandleBanAccountCommand, "" },
|
||||
{ "character", SEC_GAMEMASTER, true, &HandleBanCharacterCommand, "" },
|
||||
{ "playeraccount", SEC_GAMEMASTER, true, &HandleBanAccountByCharCommand, "" },
|
||||
{ "ip", SEC_GAMEMASTER, true, &HandleBanIPCommand, "" }
|
||||
{ "account", HandleBanAccountCommand, SEC_GAMEMASTER, Console::Yes },
|
||||
{ "character", HandleBanCharacterCommand, SEC_GAMEMASTER, Console::Yes },
|
||||
{ "playeraccount",HandleBanAccountByCharCommand, SEC_GAMEMASTER, Console::Yes },
|
||||
{ "ip", HandleBanIPCommand, SEC_GAMEMASTER, Console::Yes }
|
||||
};
|
||||
|
||||
static ChatCommandTable commandTable =
|
||||
{
|
||||
{ "ban", SEC_GAMEMASTER, true, nullptr, "", banCommandTable },
|
||||
{ "baninfo", SEC_GAMEMASTER, true, nullptr, "", baninfoCommandTable },
|
||||
{ "banlist", SEC_GAMEMASTER, true, nullptr, "", banlistCommandTable },
|
||||
{ "unban", SEC_ADMINISTRATOR, true, nullptr, "", unbanCommandTable }
|
||||
{ "ban", banCommandTable },
|
||||
{ "baninfo", baninfoCommandTable },
|
||||
{ "banlist", banlistCommandTable },
|
||||
{ "unban", unbanCommandTable }
|
||||
};
|
||||
|
||||
return commandTable;
|
||||
|
||||
@@ -800,7 +800,7 @@ public:
|
||||
{
|
||||
LOG_INFO("server.loading", "Reloading `reputation_reward_rate` Table!" );
|
||||
sObjectMgr->LoadReputationRewardRate();
|
||||
handler->SendGlobalSysMessage("DB table `reputation_reward_rate` reloaded.");
|
||||
handler->SendGlobalGMSysMessage("DB table `reputation_reward_rate` reloaded.");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -808,7 +808,7 @@ public:
|
||||
{
|
||||
LOG_INFO("server.loading", "Reloading `reputation_spillover_template` Table!" );
|
||||
sObjectMgr->LoadReputationSpilloverTemplate();
|
||||
handler->SendGlobalSysMessage("DB table `reputation_spillover_template` reloaded.");
|
||||
handler->SendGlobalGMSysMessage("DB table `reputation_spillover_template` reloaded.");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -42,17 +42,17 @@ public:
|
||||
{
|
||||
static ChatCommandTable wpCommandTable =
|
||||
{
|
||||
{ "add", SEC_ADMINISTRATOR, false, &HandleWpAddCommand, "" },
|
||||
{ "event", SEC_ADMINISTRATOR, false, &HandleWpEventCommand, "" },
|
||||
{ "load", SEC_ADMINISTRATOR, false, &HandleWpLoadCommand, "" },
|
||||
{ "modify", SEC_ADMINISTRATOR, false, &HandleWpModifyCommand, "" },
|
||||
{ "unload", SEC_ADMINISTRATOR, false, &HandleWpUnLoadCommand, "" },
|
||||
{ "reload", SEC_ADMINISTRATOR, false, &HandleWpReloadCommand, "" },
|
||||
{ "show", SEC_ADMINISTRATOR, false, &HandleWpShowCommand, "" }
|
||||
{ "add", HandleWpAddCommand, SEC_ADMINISTRATOR, Console::No },
|
||||
{ "event", HandleWpEventCommand, SEC_ADMINISTRATOR, Console::No },
|
||||
{ "load", HandleWpLoadCommand, SEC_ADMINISTRATOR, Console::No },
|
||||
{ "modify", HandleWpModifyCommand, SEC_ADMINISTRATOR, Console::No },
|
||||
{ "unload", HandleWpUnLoadCommand, SEC_ADMINISTRATOR, Console::No },
|
||||
{ "reload", HandleWpReloadCommand, SEC_ADMINISTRATOR, Console::No },
|
||||
{ "show", HandleWpShowCommand, SEC_ADMINISTRATOR, Console::No }
|
||||
};
|
||||
static ChatCommandTable commandTable =
|
||||
{
|
||||
{ "wp", SEC_ADMINISTRATOR, false, nullptr, "", wpCommandTable }
|
||||
{ "wp", wpCommandTable }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
@@ -178,6 +178,7 @@ struct go_firework_show : public GameObjectAI
|
||||
// trigger despawn animation for firework explosion
|
||||
if (go)
|
||||
{
|
||||
go->setActive(true);
|
||||
go->DespawnOrUnsummon();
|
||||
go->AddObjectToRemoveList();
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include "Player.h"
|
||||
#include "PlayerScript.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "Spell.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "OutdoorPvPEP.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "GameGraveyard.h"
|
||||
#include "GameObject.h"
|
||||
#include "Language.h"
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "OutdoorPvPGH.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "GameEventMgr.h"
|
||||
#include "MapMgr.h"
|
||||
#include "OutdoorPvPMgr.h"
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "shadow_labyrinth.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "InstanceScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "shadow_labyrinth.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
DoorData const doorData[] =
|
||||
{
|
||||
|
||||
@@ -18,10 +18,8 @@
|
||||
#ifndef DEF_SHADOW_LABYRINTH_H
|
||||
#define DEF_SHADOW_LABYRINTH_H
|
||||
|
||||
#include "CreatureAI.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "GridNotifiers.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define ShadowLabyrinthScriptName "instance_shadow_labyrinth"
|
||||
|
||||
|
||||
@@ -19,12 +19,6 @@
|
||||
#define BLACK_TEMPLE_H_
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "GridNotifiers.h"
|
||||
#include "PassiveAI.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define DataHeader "BT"
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "black_temple.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
||||
@@ -20,6 +20,10 @@
|
||||
#include "ScriptedEscortAI.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "black_temple.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "black_temple.h"
|
||||
#include "GridNotifiers.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
#include "Spell.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "black_temple.h"
|
||||
#include "Player.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
||||
@@ -19,6 +19,11 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "black_temple.h"
|
||||
#include "PassiveAI.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
@@ -81,7 +86,8 @@ enum Misc
|
||||
ACTION_AKAMA_START_OUTRO = 1,
|
||||
|
||||
FACTION_DEFAULT = 1820,
|
||||
FACTION_ENGAGE = 1868
|
||||
FACTION_ENGAGE = 1868,
|
||||
FACTION_DEFENDER = 1847
|
||||
};
|
||||
|
||||
Position AkamaEngage = { 517.4877f, 400.79926f, 112.77704f };
|
||||
@@ -364,11 +370,14 @@ struct npc_creature_generator_akama : public ScriptedAI
|
||||
summon->GetMotionMaster()->MovePoint(POINT_ENGAGE, x, y, z);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
summon->SetInCombatWithZone();
|
||||
case NPC_ASHTONGUE_DEFENDER:
|
||||
summon->SetFaction(FACTION_DEFENDER);
|
||||
if (Creature* akama = instance->GetCreature(DATA_AKAMA_SHADE))
|
||||
summon->AI()->AttackStart(akama);
|
||||
break;
|
||||
default:
|
||||
summon->SetInCombatWithZone();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,11 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "black_temple.h"
|
||||
#include "PassiveAI.h"
|
||||
#include "Player.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
@@ -77,7 +82,7 @@ struct boss_teron_gorefiend : public BossAI
|
||||
void Reset() override
|
||||
{
|
||||
BossAI::Reset();
|
||||
me->CastSpell(me, SPELL_SHADOW_OF_DEATH_REMOVE, true);
|
||||
DoCastSelf(SPELL_SHADOW_OF_DEATH_REMOVE, true);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
@@ -155,7 +160,7 @@ struct boss_teron_gorefiend : public BossAI
|
||||
{
|
||||
BossAI::JustDied(killer);
|
||||
Talk(SAY_DEATH);
|
||||
me->CastSpell(me, SPELL_SHADOW_OF_DEATH_REMOVE, true);
|
||||
DoCastSelf(SPELL_SHADOW_OF_DEATH_REMOVE, true);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -172,6 +177,17 @@ struct boss_teron_gorefiend : public BossAI
|
||||
bool _intro;
|
||||
};
|
||||
|
||||
struct npc_vengeful_spirit : public NullCreatureAI
|
||||
{
|
||||
npc_vengeful_spirit(Creature* creature) : NullCreatureAI(creature) { }
|
||||
|
||||
void OnCharmed(bool apply)
|
||||
{
|
||||
if (!apply)
|
||||
me->DespawnOnEvade();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_teron_gorefiend_shadow_of_death : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_teron_gorefiend_shadow_of_death);
|
||||
@@ -276,12 +292,44 @@ class spell_teron_gorefiend_shadowy_construct : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
class spell_teron_gorefiend_shadow_of_death_remove : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_teron_gorefiend_shadow_of_death_remove);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_SHADOW_OF_DEATH,
|
||||
SPELL_POSSESS_SPIRIT_IMMUNE,
|
||||
SPELL_SPIRITUAL_VENGEANCE
|
||||
});
|
||||
}
|
||||
|
||||
void HandleOnHit()
|
||||
{
|
||||
if (Unit* target = GetHitUnit())
|
||||
{
|
||||
target->RemoveAurasDueToSpell(SPELL_POSSESS_SPIRIT_IMMUNE);
|
||||
target->RemoveAurasDueToSpell(SPELL_SPIRITUAL_VENGEANCE);
|
||||
target->RemoveAurasDueToSpell(SPELL_SHADOW_OF_DEATH);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnHit += SpellHitFn(spell_teron_gorefiend_shadow_of_death_remove::HandleOnHit);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_teron_gorefiend()
|
||||
{
|
||||
RegisterBlackTempleCreatureAI(boss_teron_gorefiend);
|
||||
RegisterBlackTempleCreatureAI(npc_vengeful_spirit);
|
||||
RegisterSpellScript(spell_teron_gorefiend_shadow_of_death);
|
||||
RegisterSpellScript(spell_teron_gorefiend_spirit_lance);
|
||||
RegisterSpellScript(spell_teron_gorefiend_spiritual_vengeance);
|
||||
RegisterSpellScript(spell_teron_gorefiend_shadowy_construct);
|
||||
RegisterSpellScript(spell_teron_gorefiend_shadow_of_death_remove);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "black_temple.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Yells
|
||||
{
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "black_temple.h"
|
||||
#include "Player.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
#include "InstanceScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "black_temple.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
DoorData const doorData[] =
|
||||
{
|
||||
@@ -104,7 +107,6 @@ public:
|
||||
{
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_VENGEFUL_SPIRIT:
|
||||
case NPC_SHADOWY_CONSTRUCT:
|
||||
if (Creature* teron = GetCreature(DATA_TERON_GOREFIEND))
|
||||
teron->AI()->JustSummoned(creature);
|
||||
|
||||
+2
@@ -20,6 +20,8 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "TaskScheduler.h"
|
||||
#include "serpent_shrine.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Talk
|
||||
{
|
||||
|
||||
+1
@@ -19,6 +19,7 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "serpent_shrine.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Talk
|
||||
{
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "WorldSession.h"
|
||||
#include "serpent_shrine.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
||||
+3
@@ -17,11 +17,14 @@
|
||||
|
||||
#include "CreatureGroups.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "GridNotifiers.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "TaskScheduler.h"
|
||||
#include "serpent_shrine.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Talk
|
||||
{
|
||||
|
||||
@@ -17,9 +17,12 @@
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "GameObjectScript.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "serpent_shrine.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
|
||||
+1
@@ -19,6 +19,7 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "serpent_shrine.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Yells
|
||||
{
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "serpent_shrine.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
DoorData const doorData[] =
|
||||
{
|
||||
|
||||
@@ -18,12 +18,7 @@
|
||||
#ifndef DEF_SERPENT_SHRINE_H
|
||||
#define DEF_SERPENT_SHRINE_H
|
||||
|
||||
#include "CreatureAI.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "GridNotifiers.h"
|
||||
#include "Player.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define DataHeader "SS"
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
#include "Map.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "PassiveAI.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#define DEF_STEAM_VAULT_H
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "PassiveAI.h"
|
||||
|
||||
#define DataHeaders "SV"
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "gruuls_lair.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
|
||||
enum Yells
|
||||
{
|
||||
|
||||
@@ -18,9 +18,7 @@
|
||||
#ifndef GRUULS_LAIR_H_
|
||||
#define GRUULS_LAIR_H_
|
||||
|
||||
#include "CreatureAI.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
|
||||
#define DataHeader "GL"
|
||||
|
||||
|
||||
+1
@@ -20,6 +20,7 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "TaskScheduler.h"
|
||||
#include "hellfire_ramparts.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
||||
+1
@@ -19,6 +19,7 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "hellfire_ramparts.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#define DEF_RAMPARTS_H
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define DataHeader "HR"
|
||||
#define HellfireRampartsScriptName "instance_hellfire_ramparts"
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "TaskScheduler.h"
|
||||
#include "magtheridons_lair.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Yells
|
||||
{
|
||||
|
||||
@@ -19,8 +19,6 @@
|
||||
#define DEF_MAGTHERIDONS_LAIR_H
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define DataHeader "ML"
|
||||
|
||||
#define MagtheridonsLairScriptName "instance_magtheridons_lair"
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "shattered_halls.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Texts
|
||||
{
|
||||
|
||||
@@ -19,8 +19,6 @@
|
||||
#define DEF_SHATTERED_H
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "PassiveAI.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define ShatteredHallsLairScriptName "instance_shattered_halls"
|
||||
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
#include "the_eye.h"
|
||||
#include <cmath>
|
||||
|
||||
#include "Player.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_BERSERK = 45078,
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "the_eye.h"
|
||||
|
||||
|
||||
@@ -16,8 +16,9 @@
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "Opcodes.h"
|
||||
#include "GridNotifiers.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "the_eye.h"
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "the_eye.h"
|
||||
|
||||
|
||||
@@ -19,10 +19,6 @@
|
||||
#define DEF_THE_EYE_H
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "GridNotifiers.h"
|
||||
#include "Player.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define DataHeader "TE"
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "mechanar.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
||||
@@ -18,11 +18,7 @@
|
||||
#ifndef DEF_MECHANAR_H
|
||||
#define DEF_MECHANAR_H
|
||||
|
||||
#include "CreatureAI.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "Player.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define DataHeader "MR"
|
||||
|
||||
|
||||
@@ -17,7 +17,9 @@
|
||||
|
||||
#include "arcatraz.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
|
||||
enum MillhouseSays
|
||||
|
||||
@@ -18,10 +18,7 @@
|
||||
#ifndef ARCATRAZ_H
|
||||
#define ARCATRAZ_H
|
||||
|
||||
#include "CreatureAI.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "Player.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define DataHeader "AZ"
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "GameTime.h"
|
||||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "the_botanica.h"
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#define DEF_THE_BOTANICA_H
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define TheBotanicaScriptName "instance_the_botanica"
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedEscortAI.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellInfo.h"
|
||||
/* ScriptData
|
||||
SDName: Nagrand
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "PassiveAI.h"
|
||||
#include "PetAI.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "TotemAI.h"
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include "MapMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "Vehicle.h"
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
#include "SpellMgr.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "Unit.h"
|
||||
/*
|
||||
* Scripts for spells with SPELLFAMILY_SHAMAN and SPELLFAMILY_GENERIC spells used by shaman players.
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
#include "BattlegroundWS.h"
|
||||
#include "Creature.h"
|
||||
#include "Player.h"
|
||||
#include "Vehicle.h"
|
||||
|
||||
class achievement_resilient_victory : public AchievementCriteriaScript
|
||||
{
|
||||
|
||||
@@ -16,11 +16,9 @@
|
||||
*/
|
||||
|
||||
#include "AreaTriggerScript.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "GameTime.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellMgr.h"
|
||||
/* ScriptData
|
||||
SDName: Areatrigger_Scripts
|
||||
SD%Complete: 100
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
#include "Channel.h"
|
||||
#include "CreatureScript.h"
|
||||
#include "Group.h"
|
||||
#include "Guild.h"
|
||||
#include "Log.h"
|
||||
@@ -64,10 +63,15 @@ public:
|
||||
player->GetName(), chatType, lang, msg);
|
||||
}
|
||||
|
||||
void OnChat(Player* player, uint32 /*type*/, uint32 /*lang*/, std::string& msg, Player* receiver) override
|
||||
void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Player* receiver) override
|
||||
{
|
||||
LOG_INFO("chat.whisper", "Player {} tells {}: {}",
|
||||
player->GetName(), receiver ? receiver->GetName() : "<unknown>", msg);
|
||||
//! NOTE:
|
||||
//! LANG_ADDON can only be sent by client in "PARTY", "RAID", "GUILD", "BATTLEGROUND", "WHISPER"
|
||||
std::string logType = (lang != LANG_ADDON) ? "chat." : "chat.addon.";
|
||||
std::string msgType = "whisper";
|
||||
|
||||
LOG_INFO(logType + msgType, "Player {} {} {}: {}",
|
||||
player->GetName(), msgType, receiver ? receiver->GetName() : "<unknown>", msg);
|
||||
}
|
||||
|
||||
void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Group* group) override
|
||||
|
||||
@@ -32,7 +32,6 @@ EndContentData */
|
||||
#include "GuardAI.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellInfo.h"
|
||||
|
||||
enum GuardShattrath
|
||||
{
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#ifndef NPC_STAVE_OF_ANCIENTS_H
|
||||
#define NPC_STAVE_OF_ANCIENTS_H
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "ScriptedCreature.h"
|
||||
|
||||
enum Common
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "Player.h"
|
||||
#include "PlayerScript.h"
|
||||
|
||||
|
||||
@@ -74,7 +74,6 @@ public:
|
||||
MOCK_METHOD(void, LoadConfigSettings, (bool reload), ());
|
||||
void SendWorldText(uint32 string_id, ...) override {}
|
||||
void SendWorldTextOptional(uint32 string_id, uint32 flag, ...) override {}
|
||||
MOCK_METHOD(void, SendGlobalText, (const char* text, WorldSession* self), ());
|
||||
void SendGMText(uint32 string_id, ...) override {}
|
||||
MOCK_METHOD(void, SendGlobalMessage, (WorldPacket const* packet, WorldSession* self, TeamId teamId), ());
|
||||
MOCK_METHOD(void, SendGlobalGMMessage, (WorldPacket const* packet, WorldSession* self, TeamId teamId), ());
|
||||
|
||||
Reference in New Issue
Block a user