Merge branch 'master' into Playerbot
This commit is contained in:
+7
-5
@@ -7,11 +7,13 @@
|
||||
|
||||
## Build Status
|
||||
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions/workflows/core-build-nopch.yml)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions?query=workflow%3Acore-modules-build+branch%3Amaster+event%3Apush)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions?query=workflow%3Awindows-build+branch%3Amaster+event%3Apush)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions?query=workflow%3Amacos-build+branch%3Amaster+event%3Apush)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions?query=workflow%3Adocker-build+branch%3Amaster+event%3Apush)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions/workflows/core-build-nopch.yml?query=branch%3Amaster)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions/workflows/core-build-pch.yml?query=branch%3Amaster)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions/workflows/core_modules_build.yml?query=branch%3Amaster)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions/workflows/windows_build.yml?query=branch%3Amaster)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions/workflows/macos_build.yml?query=branch%3Amaster)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions/workflows/docker_build.yml?query=branch%3Amaster)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions/workflows/tools_build.yml?query=branch%3Amaster)
|
||||
|
||||
## Introduction
|
||||
|
||||
|
||||
+42
-59
@@ -1,77 +1,60 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
source "$CURRENT_PATH/../bash_shared/includes.sh"
|
||||
|
||||
UPDATES_PATH="$AC_PATH_ROOT/data/sql/updates/"
|
||||
UPDATES_PATH="$AC_PATH_ROOT/data/sql/updates"
|
||||
|
||||
COMMIT_HASH=
|
||||
|
||||
function import() {
|
||||
db=$1
|
||||
folder="db_"$db
|
||||
pendingPath="$AC_PATH_ROOT/data/sql/updates/pending_$folder"
|
||||
updPath="$UPDATES_PATH/$folder"
|
||||
archivedPath="$AC_PATH_ROOT/data/sql/archive/$folder/6.x"
|
||||
|
||||
latestUpd=$(ls -1 $updPath/ | tail -n 1)
|
||||
|
||||
if [ -z $latestUpd ]; then
|
||||
latestUpd=$(ls -1 $archivedPath/ | tail -n 1)
|
||||
echo "> Last update file for db $db is missing! Using archived file" $latestUpd
|
||||
# get_next_index "data/sql/updates/db_world/2024_10_14_22.sql"
|
||||
# => 23
|
||||
# get_next_index ""
|
||||
# => 00
|
||||
function get_next_index() {
|
||||
if [[ -n "$1" ]]; then
|
||||
PREV_COUNT="$(basename "$1" | cut -f4 -d_ | cut -f1 -d\.)"
|
||||
printf '%02d' "$((PREV_COUNT + 1))"
|
||||
else
|
||||
echo "00"
|
||||
fi
|
||||
}
|
||||
|
||||
dateToday=$(date +%Y_%m_%d)
|
||||
counter=0
|
||||
# lists all SQL files in the appropriate data/sql/updates/db_$1, and then moves them to a standard format, ordered by date and how many imports have happened that day. The name should be in this format:
|
||||
#
|
||||
# /path/to/data/sql/updates/db_NAME/YYYY_MM_DD_INDEX.sql
|
||||
#
|
||||
# Where INDEX is a number with a minimum with a minimum width (0-padded) of 2
|
||||
#
|
||||
# for example, "data/sql/updates/db_world/2024_10_01_03.sql" translates to "the third update in the world database from October 01, 2024"
|
||||
|
||||
dateLast=$latestUpd
|
||||
tmp=${dateLast#*_*_*_}
|
||||
oldCnt=${tmp%.sql}
|
||||
oldDate=${dateLast%_$tmp}
|
||||
TODAY="$(date +%Y_%m_%d)"
|
||||
function import() {
|
||||
PENDING_PATH="$AC_PATH_ROOT/data/sql/updates/pending_db_$1"
|
||||
UPDATES_DIR="$UPDATES_PATH/db_$1"
|
||||
|
||||
if [ "$oldDate" = "$dateToday" ]; then
|
||||
((counter=10#$oldCnt+1)) # 10 # is needed to explictly add to a base 10 number
|
||||
fi;
|
||||
# Get the most recent SQL file applied to this database. Used for the header comment
|
||||
LATEST_UPDATE="$(find "$UPDATES_DIR" -iname "*.sql" | sort -h | tail -n 1)"
|
||||
# Get latest SQL file applied to this database, today. This could be empty.
|
||||
LATEST_UPDATE_TODAY="$(find "$UPDATES_DIR" -iname "$TODAY*.sql" | sort -h | tail -n 1)"
|
||||
|
||||
for entry in "$pendingPath"/*.sql
|
||||
for entry in "$PENDING_PATH"/*.sql
|
||||
do
|
||||
if [[ -e $entry ]]; then
|
||||
oldVer=$oldDate"_"$oldCnt
|
||||
if [[ -f "$entry" ]]; then
|
||||
INDEX="$(get_next_index "$LATEST_UPDATE_TODAY")"
|
||||
OUTPUT_FILE="${UPDATES_DIR}/${TODAY}_${INDEX}.sql"
|
||||
|
||||
cnt=$(printf -v counter "%02d" $counter ; echo $counter)
|
||||
|
||||
newVer=$dateToday"_"$cnt
|
||||
|
||||
newFile="$updPath/"$dateToday"_"$cnt".sql"
|
||||
|
||||
oldFile=$(basename "$entry")
|
||||
prefix=${oldFile%_*.sql}
|
||||
suffix=${oldFile#rev_}
|
||||
rev=${suffix%.sql}
|
||||
|
||||
isRev=0
|
||||
if [[ $prefix = "rev" && $rev =~ ^-?[0-9]+$ ]]; then
|
||||
isRev=1
|
||||
fi
|
||||
|
||||
echo "-- DB update $oldVer -> $newVer" > "$newFile";
|
||||
|
||||
cat $entry >> "$newFile";
|
||||
|
||||
currentHash="$(git log --diff-filter=A "$entry" | grep "^commit " | sed -e 's/commit //')"
|
||||
|
||||
if [[ "$COMMIT_HASH" != *"$currentHash"* ]]
|
||||
then
|
||||
COMMIT_HASH="$COMMIT_HASH $currentHash"
|
||||
fi
|
||||
|
||||
rm $entry;
|
||||
|
||||
oldDate=$dateToday
|
||||
oldCnt=$cnt
|
||||
|
||||
((counter+=1))
|
||||
# ensure a note is added as a header comment
|
||||
echo "-- DB update $(basename "$LATEST_UPDATE" .sql) -> $(basename "$OUTPUT_FILE" .sql)" > "$OUTPUT_FILE"
|
||||
# fill in the SQL contents under that
|
||||
cat "$entry" >> "$OUTPUT_FILE"
|
||||
# remove the unneeded file
|
||||
rm -f "$entry"
|
||||
# set the newest file to the file we just moved
|
||||
LATEST_UPDATE_TODAY="$OUTPUT_FILE"
|
||||
LATEST_UPDATE="$OUTPUT_FILE"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
-- DB update 2024_10_09_00 -> 2024_10_10_00
|
||||
DELETE FROM `creature_template_model` WHERE `CreatureID` = 23369;
|
||||
INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
|
||||
(23369, 0, 1126, 1, 0, 51831),
|
||||
(23369, 1, 16946, 1, 1, 51831);
|
||||
@@ -0,0 +1,48 @@
|
||||
-- DB update 2024_10_10_00 -> 2024_10_11_00
|
||||
--
|
||||
DROP TABLE IF EXISTS `vehicle_seat_addon`;
|
||||
CREATE TABLE `vehicle_seat_addon` (
|
||||
`SeatEntry` INT(4) UNSIGNED NOT NULL COMMENT 'VehicleSeatEntry.dbc identifier',
|
||||
`SeatOrientation` FLOAT(6) DEFAULT 0 COMMENT 'Seat Orientation override value',
|
||||
`ExitParamX` FLOAT(10) DEFAULT 0,
|
||||
`ExitParamY` FLOAT(10) DEFAULT 0,
|
||||
`ExitParamZ` FLOAT(10) DEFAULT 0,
|
||||
`ExitParamO` FLOAT(10) DEFAULT 0,
|
||||
`ExitParamValue` TINYINT(1) DEFAULT 0,
|
||||
PRIMARY KEY (`SeatEntry`)
|
||||
);
|
||||
|
||||
DELETE FROM `vehicle_seat_addon` WHERE `SeatEntry` IN (2726, 2727, 2728, 2729, 2730, 1472, 1473, 1474, 1475, 1476, 2764, 2765, 2767, 2768, 6446, 6447, 7326, 7327, 7328, 7329, 861, 862, 1682, 2097, 2172, 2178, 2179, 2180, 3690, 3691, 3692, 3129, 2772, 2771);
|
||||
INSERT INTO `vehicle_seat_addon` (`SeatEntry`, `SeatOrientation`, `ExitParamX`, `ExitParamY`, `ExitParamZ`, `ExitParamO`, `ExitParamValue`) VALUES
|
||||
(2764, 0.0, -2.0, 2.0, 0.0, 0.0, 1), -- 312 Traveler's Tundra Mammoth
|
||||
(2765, 0.0, -2.0, -2.0, 0.0, 0.0, 1), -- 312
|
||||
(2767, 0.0, -2.0, 2.0, 0.0, 0.0, 1), -- 313 Traveler's Tundra Mammoth
|
||||
(2768, 0.0, -2.0, -2.0, 0.0, 0.0, 1),-- 313
|
||||
(6446, 0.0, -1.0, 4.0, 3.0, 0.0, 1), -- 548 Stormwind Love Boat
|
||||
(6447, 0.0, 1.0, 4.0, 3.0, 0.0, 1), -- 548
|
||||
(7326, 0.0, -1.0, 4.0, 3.0, 0.0, 1), -- 615 Darnassus Love Boat
|
||||
(7327, 0.0, 1.0, 4.0, 3.0, 0.0, 1), -- 615
|
||||
(7328, 0.0, -1.0, 4.0, 3.0, 0.0, 1), -- 616 Undercity Love Boat
|
||||
(7329, 0.0, 1.0, 4.0, 3.0, 0.0, 1), -- 616
|
||||
(861, 0.0, -2.0, 2.0, 0.0, 0.0, 1), -- 51 Ducal's Horse
|
||||
(862, 0.0, -2.0, 3.0, 0.0, 0.0, 1), -- 51
|
||||
-- cmangos exclusive
|
||||
(1682, 0.0, 6708.17, 5130.74, -19.388, 4.83608, 2), -- 118 Zeptek the Destroyer
|
||||
(2097, 0.0, 12.0, 0.0, 4.0, 0.0, 1), -- 191 Gal'darah
|
||||
(2172, 0.0, 40.0, 0.0, 0.0, 0.0, 1), -- 205 Gymer
|
||||
(2178, 0.0, -3.3, 5.0, 0.0, 3.1326, 1), -- 209 Drakkari Rhino
|
||||
(2179, 0.0, -5.9, -4.9, 0.0, 3.1326, 1), -- 209
|
||||
(2180, 0.0, -7.9, 0.02, 0.0, 3.1326, 1), -- 209
|
||||
-- acore exclusive
|
||||
(3690, 0.0, 1776.0, -24.0, 448.75, 0.0, 2), -- 380 Kologarn right arm
|
||||
(3691, 0.0, 1776.0, -24.0, 448.75, 0.0, 2), -- 380
|
||||
(3692, 0.0, 1776.0, -24.0, 448.75, 0.0, 2), -- 380
|
||||
(3129, 0.0, 0.0, -2.0, 0.0, 0.0, 1), -- 349 AT Mounts, dismount to the right
|
||||
(2772, 0.0, -2.0, 2.0, 0.0, 0.0, 1), -- 315 Grand Ice Mammoth, Grand Black War Mammoth
|
||||
(2771, 0.0, -2.0, -2.0, 0.0, 0.0, 1), -- 315
|
||||
-- Helmsman's coords are different on acore
|
||||
(1472, 0.0, 2802.18, 7054.91, -0.6, 4.67, 2), -- 91 The Helmsman's Ship
|
||||
(1473, 0.0, 2802.18, 7054.91, -0.6, 4.67, 2), -- 91
|
||||
(1474, 0.0, 2802.18, 7054.91, -0.6, 4.67, 2), -- 91
|
||||
(1475, 0.0, 2802.18, 7054.91, -0.6, 4.67, 2), -- 91
|
||||
(1476, 0.0, 2802.18, 7054.91, -0.6, 4.67, 2);
|
||||
@@ -0,0 +1,3 @@
|
||||
-- DB update 2024_10_11_00 -> 2024_10_11_01
|
||||
--
|
||||
UPDATE `smart_scripts` SET `target_type`=12, `target_param1`=1 WHERE `entryorguid`=1436800 AND `source_type`=9 AND `id` IN (2, 4);
|
||||
@@ -0,0 +1,86 @@
|
||||
-- DB update 2024_10_11_01 -> 2024_10_11_02
|
||||
-- Update creature 'Monstrous Kaliri Egg Trigger' with sniffed values
|
||||
-- updated spawns
|
||||
DELETE FROM `creature` WHERE (`id1` IN (22991))
|
||||
AND (`guid` IN (12767, 132937, 132938, 132939, 21055, 51854, 55414, 59471, 63504, 63518, 63519, 63520, 63521, 63522, 66971, 67863, 68450, 68451, 68452, 68453, 68454, 68455, 68501, 68502, 68503, 68504, 68505, 68506, 68507, 68508, 68509, 68510, 68511, 68512, 68513, 68514, 68515, 68516, 68517, 68518, 68519, 68520, 68521, 68522, 68539, 68540, 68541, 68542, 68554, 68555, 68556, 68557, 68572, 68573, 68574, 68575, 68576, 68728, 68737, 68837, 68932, 68933, 68934, 68935));
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
|
||||
(12767, 22991, 530, 1, 1, 0, -3857.694091796875, 3426.247314453125, 363.733001708984375, 6.195918560028076171, 120, 0, 0, 0, 0, 0, "", 48632, 1, NULL),
|
||||
(132937, 22991, 530, 1, 1, 0, -3800.80126953125, 3789.62060546875, 314.00048828125, 6.091198921203613281, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(132938, 22991, 530, 1, 1, 0, -3799.0244140625, 3788.060791015625, 314.157958984375, 3.193952560424804687, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(132939, 22991, 530, 1, 1, 0, -3798.912353515625, 3790.612548828125, 313.851715087890625, 3.630284786224365234, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(21055, 22991, 530, 1, 1, 0, -3845.15576171875, 3332.204833984375, 338.589630126953125, 2.914699792861938476, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(51854, 22991, 530, 1, 1, 0, -3965.16357421875, 3232.70068359375, 347.552154541015625, 6.161012172698974609, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(55414, 22991, 530, 1, 1, 0, -3955.860595703125, 3222.162353515625, 347.5025634765625, 0.244346097111701965, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(59471, 22991, 530, 1, 1, 0, -3953.295654296875, 3227.942626953125, 347.56353759765625, 6.038839340209960937, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(63504, 22991, 530, 1, 1, 0, -4044.66064453125, 3287.294189453125, 348.3623046875, 0.349065840244293212, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(63518, 22991, 530, 1, 1, 0, -4041.39453125, 3271.002685546875, 346.641632080078125, 4.188790321350097656, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(63519, 22991, 530, 1, 1, 0, -4049.30810546875, 3285.90087890625, 348.33465576171875, 1.431169986724853515, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(63520, 22991, 530, 1, 1, 0, -4076.98828125, 3415.220458984375, 334.008453369140625, 3.944444179534912109, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(63521, 22991, 530, 1, 1, 0, -4076.791748046875, 3412.9072265625, 334.61688232421875, 5.201081275939941406, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(63522, 22991, 530, 1, 1, 0, -4077.916748046875, 3412.569091796875, 334.76837158203125, 5.550147056579589843, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(66971, 22991, 530, 1, 1, 0, -4107.9287109375, 3121.496826171875, 357.427215576171875, 1.01229095458984375, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(67863, 22991, 530, 1, 1, 0, -4108.30712890625, 3123.6572265625, 357.632537841796875, 5.602506637573242187, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68450, 22991, 530, 1, 1, 0, -4110.18603515625, 3122.642822265625, 358.08258056640625, 6.248278617858886718, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68451, 22991, 530, 1, 1, 0, -3996.8876953125, 3142.12158203125, 372.728851318359375, 3.054326057434082031, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68452, 22991, 530, 1, 1, 0, -4109.0615234375, 3019.10498046875, 352.239715576171875, 0.261799395084381103, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68453, 22991, 530, 1, 1, 0, -4018.354248046875, 3076.700439453125, 375.290008544921875, 5.550147056579589843, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68454, 22991, 530, 1, 1, 0, -4184.98388671875, 3044.709228515625, 352.39404296875, 1.815142393112182617, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68455, 22991, 530, 1, 1, 0, -4187.515625, 3040.38671875, 352.0712890625, 6.2657318115234375, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68501, 22991, 530, 1, 1, 0, -4189.6689453125, 3039.9013671875, 352.247161865234375, 5.497786998748779296, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68502, 22991, 530, 1, 1, 0, -4192.6064453125, 3045.103271484375, 352.095703125, 3.141592741012573242, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68503, 22991, 530, 1, 1, 0, -4192.015625, 3046.909423828125, 352.297119140625, 2.460914134979248046, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68504, 22991, 530, 1, 1, 0, -4186.47119140625, 3047.19189453125, 352.315643310546875, 2.600540637969970703, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68505, 22991, 530, 1, 1, 0, -3915.66748046875, 2983.3974609375, 396.95733642578125, 4.363323211669921875, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68506, 22991, 530, 1, 1, 0, -3883.212646484375, 3004.10546875, 399.737762451171875, 4.642575740814208984, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68507, 22991, 530, 1, 1, 0, -3883.263427734375, 3001.55419921875, 399.43084716796875, 3.892084121704101562, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68508, 22991, 530, 1, 1, 0, -3884.28564453125, 3003.296630859375, 400.062744140625, 4.398229598999023437, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68509, 22991, 530, 1, 1, 0, -3903.024658203125, 3095.84716796875, 383.782958984375, 3.996803998947143554, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68510, 22991, 530, 1, 1, 0, -3898.453125, 3093.0634765625, 383.6673583984375, 2.530727386474609375, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68511, 22991, 530, 1, 1, 0, -3900.75341796875, 3100.7548828125, 383.795074462890625, 5.846852779388427734, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68512, 22991, 530, 1, 1, 0, -4107.8134765625, 3023.421875, 352.142364501953125, 1.064650893211364746, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68513, 22991, 530, 1, 1, 0, -4113.5771484375, 3022.400146484375, 352.157379150390625, 5.637413501739501953, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68514, 22991, 530, 1, 1, 0, -3893.091552734375, 3677.1728515625, 374.516082763671875, 5.044001579284667968, 120, 0, 0, 0, 0, 0, "", 49936, 1, NULL),
|
||||
(68515, 22991, 530, 1, 1, 0, -3892.46533203125, 3673.997314453125, 374.4775390625, 4.136430263519287109, 120, 0, 0, 0, 0, 0, "", 49936, 1, NULL),
|
||||
(68516, 22991, 530, 1, 1, 0, -4198.52783203125, 3168.909423828125, 355.8470458984375, 5.899212837219238281, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68517, 22991, 530, 1, 1, 0, -4197.01318359375, 3170.04296875, 356.116851806640625, 5.131268024444580078, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68518, 22991, 530, 1, 1, 0, -4196.54345703125, 3167.68701171875, 356.34814453125, 5.742133140563964843, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68519, 22991, 530, 1, 1, 0, -4020.065673828125, 3077.837890625, 374.39129638671875, 1.535889744758605957, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68520, 22991, 530, 1, 1, 0, -4019.323486328125, 3079.74267578125, 375.108642578125, 5.026548385620117187, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(68521, 22991, 530, 1, 1, 0, -3917.205322265625, 2981.6201171875, 396.483428955078125, 0.733038306236267089, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68522, 22991, 530, 1, 1, 0, -3918.451416015625, 2982.4384765625, 397.2398681640625, 4.555309295654296875, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68539, 22991, 530, 1, 1, 0, -3839.34716796875, 3344.850830078125, 337.83392333984375, 2.757620096206665039, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68540, 22991, 530, 1, 1, 0, -3835.296875, 3344.7734375, 338.154937744140625, 5.515240192413330078, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68541, 22991, 530, 1, 1, 0, -3846.4345703125, 3430.294189453125, 363.728759765625, 0.48869219422340393, 120, 0, 0, 0, 0, 0, "", 48632, 1, NULL),
|
||||
(68542, 22991, 530, 1, 1, 0, -3864.132080078125, 3439.06298828125, 363.67913818359375, 6.230825424194335937, 120, 0, 0, 0, 0, 0, "", 48632, 1, NULL),
|
||||
(68554, 22991, 530, 1, 1, 0, -3863.23876953125, 3440.424560546875, 363.655487060546875, 0.349065840244293212, 120, 0, 0, 0, 0, 0, "", 48632, 1, NULL),
|
||||
(68555, 22991, 530, 1, 1, 0, -3846.345458984375, 3439.34326171875, 363.62847900390625, 6.161012172698974609, 120, 0, 0, 0, 0, 0, "", 48632, 1, NULL),
|
||||
(68556, 22991, 530, 1, 1, 0, -3847.319091796875, 3441.39208984375, 363.648040771484375, 0.453785598278045654, 120, 0, 0, 0, 0, 0, "", 48632, 1, NULL),
|
||||
(68557, 22991, 530, 1, 1, 0, -3686.20751953125, 3301.002685546875, 320.51287841796875, 0.837758064270019531, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68572, 22991, 530, 1, 1, 0, -3687.771728515625, 3299.846923828125, 320.30743408203125, 2.757620096206665039, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68573, 22991, 530, 1, 1, 0, -3692.64111328125, 3302.067626953125, 320.395904541015625, 6.056292533874511718, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68574, 22991, 530, 1, 1, 0, -3661.9111328125, 3379.150390625, 320.37713623046875, 0.890117883682250976, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68575, 22991, 530, 1, 1, 0, -3660.646240234375, 3381.8974609375, 320.18194580078125, 1.186823844909667968, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68576, 22991, 530, 1, 1, 0, -3665.4814453125, 3380.114501953125, 320.36468505859375, 5.811946392059326171, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68728, 22991, 530, 1, 1, 0, -3685.069580078125, 3305.966064453125, 320.19818115234375, 3.40339207649230957, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68737, 22991, 530, 1, 1, 0, -3688.302978515625, 3308.930908203125, 320.337493896484375, 1.65806281566619873, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68837, 22991, 530, 1, 1, 0, -3690.650634765625, 3306.765869140625, 320.429901123046875, 3.490658521652221679, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68932, 22991, 530, 1, 1, 0, -3879.369384765625, 3665.221923828125, 374.39324951171875, 3.979350566864013671, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68933, 22991, 530, 1, 1, 0, -3990.417236328125, 3139.132080078125, 372.87841796875, 3.665191411972045898, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68934, 22991, 530, 1, 1, 0, -3991.58544921875, 3134.32568359375, 372.70263671875, 6.2657318115234375, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(68935, 22991, 530, 1, 1, 0, -3884.892333984375, 3684.9765625, 374.491546630859375, 3.752457857131958007, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL);
|
||||
|
||||
-- new spawns
|
||||
DELETE FROM `creature` WHERE (`id1` IN (22991))
|
||||
AND (`guid` BETWEEN 12720 AND 12730);
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
|
||||
(12720, 22991, 530, 1, 1, 0, -3639.384521484375, 3754.923583984375, 310.362457275390625, 3.106686115264892578, 120, 0, 0, 0, 0, 0, "", 48632, 1, NULL),
|
||||
(12721, 22991, 530, 1, 1, 0, -3643.5390625, 3760.85595703125, 310.3238525390625, 4.764749050140380859, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(12722, 22991, 530, 1, 1, 0, -3645.2470703125, 3757.53857421875, 310.43548583984375, 5.759586334228515625, 120, 0, 0, 0, 0, 0, "", 48632, 1, NULL),
|
||||
(12723, 22991, 530, 1, 1, 0, -3712.20263671875, 3792.4306640625, 310.27117919921875, 0.366519153118133544, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(12724, 22991, 530, 1, 1, 0, -3713.665771484375, 3797.59423828125, 310.0748291015625, 4.101523876190185546, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(12725, 22991, 530, 1, 1, 0, -3717.185791015625, 3796.4189453125, 310.219635009765625, 4.485496044158935546, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(12726, 22991, 530, 1, 1, 0, -3869.424072265625, 3778.604736328125, 348.780792236328125, 0.541052043437957763, 120, 0, 0, 0, 0, 0, "", 49936, 1, NULL),
|
||||
(12727, 22991, 530, 1, 1, 0, -3872.444580078125, 3675.3837890625, 374.499786376953125, 3.996803998947143554, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(12728, 22991, 530, 1, 1, 0, -3874.33935546875, 3779.94970703125, 348.308990478515625, 2.30383467674255371, 120, 0, 0, 0, 0, 0, "", 49936, 1, NULL),
|
||||
(12729, 22991, 530, 1, 1, 0, -3877.2578125, 3667.89111328125, 374.45245361328125, 2.984513044357299804, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL),
|
||||
(12730, 22991, 530, 1, 1, 0, -3877.272705078125, 3766.555908203125, 348.47967529296875, 2.164208173751831054, 120, 0, 0, 0, 0, 0, "", 45854, 1, NULL);
|
||||
@@ -0,0 +1,3 @@
|
||||
-- DB update 2024_10_11_02 -> 2024_10_11_03
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id` = 40354;
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (40354, 'spell_najentus_remove_spines');
|
||||
@@ -0,0 +1,5 @@
|
||||
-- DB update 2024_10_11_03 -> 2024_10_11_04
|
||||
DELETE FROM `creature_template_model` WHERE `CreatureID` = 22871;
|
||||
INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
|
||||
(22871, 0, 21254, 1, 0, 51831),
|
||||
(22871, 1, 21262, 1, 1, 51831);
|
||||
@@ -0,0 +1,22 @@
|
||||
-- DB update 2024_10_11_04 -> 2024_10_12_00
|
||||
UPDATE `creature_template` SET `unit_flags` = 33587202 WHERE (`entry` = 28782);
|
||||
|
||||
|
||||
DELETE FROM `creature_text` WHERE (`CreatureID` = 28782) AND (`GroupID` = 0) AND (`ID` IN (0));
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`)
|
||||
VALUES(28782, 0, 0, '%s rears up, beckoning you to ride it.', 16, 0, 100.0, 0, 0, 0, 29069, 0, 'Archerus Deathcharger');
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 28768;
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 28768) AND (`source_type` = 0) AND (`id` IN (6, 8, 9, 10, 11));
|
||||
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
|
||||
(28768, 0, 6, 8, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 19, 28782, 5, 0, 0, 0, 0, 0, 0, 'Dark Rider of Acherus - On Death - Enter Evade Mode'),
|
||||
(28768, 0, 8, 9, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 0, 19, 28782, 5, 0, 0, 0, 0, 0, 0, 'Dark Rider of Acherus - On Death - Root In Place'),
|
||||
(28768, 0, 9, 10, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 28782, 5, 0, 0, 0, 0, 0, 0, 'Dark Rider of Acherus - On Death - Emote Message'),
|
||||
(28768, 0, 10, 11, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 19, 33554432, 0, 0, 0, 0, 0, 19, 28782, 5, 0, 0, 0, 0, 0, 0, 'Dark Rider of Acherus - On Death - Remove Not Selectable Unit Flag'),
|
||||
(28768, 0, 11, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 142, 100, 0, 0, 0, 0, 0, 19, 28782, 5, 0, 0, 0, 0, 0, 0, 'Dark Rider of Acherus - On Death - Ensure Health Is Full When Revealed To Player');
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 28782;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 28782) AND (`source_type` = 0) AND (`id` IN (1));
|
||||
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
|
||||
(28782, 0, 0, 0, 27, 0, 100, 512, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Archerus DeathCharger - On Mount - Remove Root Effect');
|
||||
@@ -0,0 +1,28 @@
|
||||
-- DB update 2024_10_12_00 -> 2024_10_12_01
|
||||
DELETE FROM `creature_text`
|
||||
WHERE (`CreatureID`, `GroupID`, `ID`) IN ((28936, 1, 0), (28936, 1, 1), (28936, 1, 2), (28936, 1, 3), (28936, 1, 4), (28936, 1, 5), (28936, 2, 0), (28936, 3, 0), (28936, 4, 0), (28936, 5, 0), (28936, 6, 0), (28936, 7, 0), (28936, 8, 0), (28936, 8, 1), (28936, 8, 2), (28936, 8, 3), (28936, 8, 4), (28936, 8, 5), (28936, 8, 6));
|
||||
INSERT INTO `creature_text`
|
||||
(`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`)
|
||||
VALUES(28936, 1, 0, 'You''ll be hanging in the gallows shortly, Scourge fiend!', 12, 0, 100.0, 0, 0, 0, 29160, 0, 'crusader SAY_CURSADER1'),
|
||||
(28936, 1, 1, 'You''ll have to kill me, monster. I will tell you NOTHING!', 12, 0, 100.0, 0, 0, 0, 29142, 0, 'crusader SAY_CURSADER2'),
|
||||
(28936, 1, 2, 'You hit like a girl. Honestly. Is that the best you can do?', 12, 0, 100.0, 0, 0, 0, 29146, 0, 'crusader SAY_CURSADER3'),
|
||||
(28936, 1, 3, 'ARGH! You burned my last good tabard!', 12, 0, 100.0, 0, 0, 0, 29162, 0, 'crusader SAY_CURSADER4'),
|
||||
(28936, 1, 4, 'Argh... The pain... The pain is almost as unbearable as the lashings I received in grammar school when I was but a child.', 12, 0, 100.0, 0, 0, 0, 29143, 0, 'crusader SAY_CURSADER5'),
|
||||
(28936, 1, 5, 'I used to work for Grand Inquisitor Isillien! Your idea of pain is a normal mid-afternoon for me!', 12, 0, 100.0, 0, 0, 0, 29161, 0, 'crusader SAY_CURSADER6'),
|
||||
(28936, 2, 0, 'I''ll tell you everything! STOP! PLEASE!', 12, 0, 100.0, 0, 0, 0, 29149, 0, 'break crusader SAY_PERSUADED1'),
|
||||
(28936, 3, 0, 'We... We have only been told that the "Crimson Dawn" is an awakening. You... You see, the Light speaks to the High General. It is the Light...', 12, 0, 100.0, 0, 0, 0, 29150, 0, 'break crusader SAY_PERSUADED2'),
|
||||
(28936, 4, 0, 'The Light that guides us. This movement was set in motion before you came... We... We do as we are told. It is what must be done.', 12, 0, 100.0, 0, 0, 0, 29151, 0, 'break crusader SAY_PERSUADED3'),
|
||||
(28936, 5, 0, 'I know very litte else... The High General chooses who may go and who must stay behind. There''s nothing else... You must believe me!', 12, 0, 100.0, 0, 0, 0, 29152, 0, 'break crusader SAY_PERSUADED4'),
|
||||
(28936, 6, 0, 'LIES! The pain you are about to endure will be talked about for years to come!', 12, 0, 100.0, 0, 0, 0, 29163, 0, 'break crusader SAY_PERSUADED5'),
|
||||
(28936, 7, 0, 'NO! PLEASE! There is one more thing that I forgot to mention... A courier comes soon... From Hearthglen. It...', 12, 0, 100.0, 0, 0, 0, 29153, 0, 'break crusader SAY_PERSUADED6'),
|
||||
(28936, 8, 0, 'I''ll tear the secrets from your soul! Tell me about the "Crimson Dawn" and your life may be spared!', 12, 0, 100.0, 0, 0, 0, 29138, 0, 'player SAY_PERSUADE1'),
|
||||
(28936, 8, 1, 'Tell me what you know about "Crimson Dawn" or the beatings will continue!', 12, 0, 100.0, 0, 0, 0, 29134, 0, 'player SAY_PERSUADE2'),
|
||||
(28936, 8, 2, 'I''m through being courteous with your kind, human! What is the "Crimson Dawn?"', 12, 0, 100.0, 0, 0, 0, 29135, 0, 'player SAY_PERSUADE3'),
|
||||
(28936, 8, 3, 'Is your life worth so little? Just tell me what I need to know about "Crimson Dawn" and I''ll end your suffering quickly.', 12, 0, 100.0, 0, 0, 0, 29139, 0, 'player SAY_PERSUADE4'),
|
||||
(28936, 8, 4, 'I can keep this up for a very long time, Scarlet dog! Tell me about the "Crimson Dawn!"', 12, 0, 100.0, 0, 0, 0, 29137, 0, 'player SAY_PERSUADE'),
|
||||
(28936, 8, 5, 'What is the "Crimson Dawn?"', 12, 0, 100.0, 0, 0, 0, 29133, 0, 'player SAY_PERSUADE6'),
|
||||
(28936, 8, 6, '"Crimson Dawn!" What is it! Speak!', 12, 0, 100.0, 0, 0, 0, 29136, 0, 'player SAY_PERSUADE7');
|
||||
|
||||
UPDATE `creature_template` SET `ScriptName` = 'npc_crusade_persuaded' WHERE (`entry` = 28940);
|
||||
|
||||
UPDATE `item_template` SET `spellppmRate_1` = 8 WHERE (`entry` = 39371);
|
||||
@@ -0,0 +1,9 @@
|
||||
-- DB update 2024_10_12_01 -> 2024_10_13_00
|
||||
--
|
||||
DELETE FROM `game_event_creature_quest` WHERE `quest` IN (13931, 13932);
|
||||
DELETE FROM `creature_queststarter` WHERE `quest`=13932 AND `id`=24468;
|
||||
DELETE FROM `creature_queststarter` WHERE `quest`=13931 AND `id`=24510;
|
||||
INSERT INTO `creature_queststarter` (`id`, `quest`) VALUES
|
||||
(24468, 13932),
|
||||
(24510, 13931);
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
-- DB update 2024_10_13_00 -> 2024_10_13_01
|
||||
--
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName`= '' WHERE `entry` = 24247;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24247) AND (`source_type` = 0) AND (`id` IN (0, 1));
|
||||
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
|
||||
(24247, 0, 0, 0, 0, 0, 100, 0, 10000, 10000, 12000, 12000, 0, 0, 11, 43592, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Koragg - In Combat - Cast \'Mighty Blow\''),
|
||||
(24247, 0, 1, 0, 0, 0, 100, 0, 15000, 15000, 12000, 12000, 0, 0, 11, 43593, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Koragg - In Combat - Cast \'Cold Stare\'');
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName`= '' WHERE `entry` = 24246;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24246) AND (`source_type` = 0) AND (`id` IN (0));
|
||||
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
|
||||
(24246, 0, 0, 0, 0, 0, 100, 0, 8000, 8000, 12000, 12000, 0, 0, 11, 43590, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Darkheart - In Combat - Cast \'Psychic Wail\'');
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName`= '' WHERE `entry` = 24244;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24244) AND (`source_type` = 0) AND (`id` IN (0));
|
||||
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
|
||||
(24244, 0, 0, 0, 0, 0, 100, 0, 2000, 2000, 1000, 1000, 0, 0, 11, 43584, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Gazakroth - In Combat - Cast \'Firebolt\'');
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName`= '' WHERE `entry` = 24245;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24245) AND (`source_type` = 0) AND (`id` IN (0));
|
||||
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
|
||||
(24245, 0, 0, 0, 0, 0, 100, 0, 15000, 15000, 12000, 12000, 0, 0, 11, 43586, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Fenstalker - In Combat - Cast \'Volatile Infection\'');
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName`= '' WHERE `entry` = 24242;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24242) AND (`source_type` = 0) AND (`id` IN (0));
|
||||
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
|
||||
(24242, 0, 0, 0, 0, 0, 100, 0, 5000, 5000, 2500, 2500, 0, 0, 11, 43579, 64, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Slither - In Combat - Cast \'Venom Spit\'');
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName`= '' WHERE `entry` = 24243;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24243) AND (`source_type` = 0) AND (`id` IN (0, 1));
|
||||
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
|
||||
(24243, 0, 0, 0, 0, 0, 100, 0, 13000, 13000, 12000, 12000, 0, 0, 11, 43583, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Lord Raadan - In Combat - Cast \'Thunderclap\''),
|
||||
(24243, 0, 1, 0, 0, 0, 100, 0, 8000, 8000, 12000, 12000, 0, 0, 11, 43582, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Lord Raadan - In Combat - Cast \'Flame Breath\'');
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName`= '' WHERE `entry` = 24241;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24241) AND (`source_type` = 0) AND (`id` IN (0, 1));
|
||||
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
|
||||
(24241, 0, 0, 0, 16, 0, 100, 0, 43578, 100, 12000, 15000, 1, 0, 11, 43578, 32, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Thurg - On Friendly Unit Missing Buff \'Bloodlust\' - Cast \'Bloodlust\''),
|
||||
(24241, 0, 1, 0, 14, 0, 100, 0, 10000, 10000, 12000, 12000, 0, 0, 11, 15496, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Thurg - In Combat - Cast \'Cleave\'');
|
||||
@@ -0,0 +1,146 @@
|
||||
-- DB update 2024_10_13_01 -> 2024_10_13_02
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`& ~1 WHERE (id1 = 28660) AND (guid IN (129474, 129475, 129476, 129477, 129478, 129479));
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (id1 = 28660) AND (guid IN (129474, 129475, 129476, 129477, 129478, 129479));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`& ~1 WHERE (`id1` = 28560) AND (`guid` IN (128800, 128801, 128802));
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28560) AND (`guid` IN (128800, 128801, 128802));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`& ~1 WHERE (`id1` = 28559) AND (`guid` IN (128797, 128798, 128799));
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28559) AND (`guid` IN (128797, 128798, 128799));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`& ~1 WHERE (`id1` = 28662) AND (`guid` IN (129483, 129484, 129485, 129486, 129487, 129488, 129489, 129490, 129491));
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28662) AND (`guid` IN (129483, 129484, 129485, 129486, 129487, 129488, 129489, 129490, 129491));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`& ~1 WHERE (`id1` = 28548) AND (`guid` IN (128752));
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28548) AND (`guid` IN (128752));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`& ~1 WHERE (`id1` = 28558) AND (`guid` IN (128796));
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28558) AND (`guid` IN (128796));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`& ~1 WHERE (`id1` = 28529) AND (`guid` IN (128627, 128628, 128629, 128630, 128631, 128632, 128633, 128634, 128635, 128636, 128637, 128638, 128639, 128640, 128642, 128643, 128644, 128645, 128646, 128647, 128648, 128649, 128650, 128651, 128652, 128653, 128654, 128655, 128656, 128657, 128658, 128659, 128660, 128661, 128662, 128663, 128664, 128665, 128666, 128667, 128668, 128669, 128670, 128671, 128672, 128673, 128674, 128675, 128676, 128677, 128678, 128679, 128680, 128681, 128682, 128683, 128684, 128685, 128686, 128687, 128688, 128689, 128690, 128691, 128692, 128693, 128694, 128695, 128696, 128698, 128699, 128700, 128701, 128702, 128703, 128704, 128705, 128706, 128707, 128708, 128709, 128710, 128711, 128712, 128713, 128714, 128715, 128716, 128717, 128718, 128719, 128720, 128721, 128722, 128723, 128724, 128725, 128726, 128727, 128728, 128729, 128730, 128731, 128732, 128733, 128734));
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28529) AND (`guid` IN (128627, 128628, 128629, 128630, 128631, 128632, 128633, 128634, 128635, 128636, 128637, 128638, 128639, 128640, 128642, 128643, 128644, 128645, 128646, 128647, 128648, 128649, 128650, 128651, 128652, 128653, 128654, 128655, 128656, 128657, 128658, 128659, 128660, 128661, 128662, 128663, 128664, 128665, 128666, 128667, 128668, 128669, 128670, 128671, 128672, 128673, 128674, 128675, 128676, 128677, 128678, 128679, 128680, 128681, 128682, 128683, 128684, 128685, 128686, 128687, 128688, 128689, 128690, 128691, 128692, 128693, 128694, 128695, 128696, 128698, 128699, 128700, 128701, 128702, 128703, 128704, 128705, 128706, 128707, 128708, 128709, 128710, 128711, 128712, 128713, 128714, 128715, 128716, 128717, 128718, 128719, 128720, 128721, 128722, 128723, 128724, 128725, 128726, 128727, 128728, 128729, 128730, 128731, 128732, 128733, 128734));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`& ~1 WHERE (`id1` = 28530) AND (`guid` IN (128735, 128736, 128737));
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28530) AND (`guid` IN (128735, 128736, 128737));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`& ~1 WHERE (`id1` = 28594) AND (`guid` IN (129165, 129168, 129169, 129170, 129171));
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28594) AND (`guid` IN (129165, 129168, 129169, 129170, 129171));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28683) AND (`guid` IN (128455));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28605) AND (`guid` IN (129202, 129203, 129204, 129205, 129206, 129207, 129208, 129210, 129211, 129212, 129213, 129214, 129215, 129216, 129217));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28606) AND (`guid` IN (129220, 129221, 129222, 129223, 129224, 129225, 129226, 129227, 129228, 129229, 129230, 129231, 129232, 129233, 129234, 129235, 129236, 129237));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28607) AND (`guid` IN (129238, 129239, 129240, 129241, 129242, 129243, 129244, 129245, 129246, 129247, 129248, 129249, 129250, 129251, 129252));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28766) AND (`guid` IN (128583, 128584, 128585, 128586, 128587, 128588, 128589));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 29501) AND (`guid` IN (128509, 128510));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask`|2 WHERE (`id1` = 28614) AND (`guid` IN (129308, 129309));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 25462) AND (`guid` IN (128738));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28487) AND (`guid` IN (128515, 128516));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29488) AND (`guid` IN (128500, 128501));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28510) AND (`guid` IN (128582));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 27928) AND (`guid` IN (128460));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28486) AND (`guid` IN (128514));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28447) AND (`guid` IN (128481));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28448) AND (`guid` IN (128482));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28449) AND (`guid` IN (128483));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28444) AND (`guid` IN (128470));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28445) AND (`guid` IN (128475));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28356) AND (`guid` IN (129306));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28474) AND (`guid` IN (128507));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28488) AND (`guid` IN (128522, 128523, 128525, 128526));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28472) AND (`guid` IN (128506));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28471) AND (`guid` IN (128505));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28489) AND (`guid` IN (128527, 128528, 128529, 128530, 128531, 128532, 128533, 128534));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28490) AND (`guid` IN (128535, 128536, 128537, 128538, 128539, 128540, 128541, 128542, 128543));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28491) AND (`guid` IN (128545, 128546, 128547, 128548, 128549, 128550, 128551, 128552, 128553));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29203) AND (`guid` IN (128456));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29207) AND (`guid` IN (128458));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29208) AND (`guid` IN (128459));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29205) AND (`guid` IN (128457));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29212) AND (`guid` IN (128465));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28506) AND (`guid` IN (128580));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28500) AND (`guid` IN (128577));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28505) AND (`guid` IN (128579));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28357) AND (`guid` IN (129307));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28383) AND (`guid` IN (129388, 129389, 129390, 129391));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191609) AND (`guid` IN (65961, 65962));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191612) AND (`guid` IN (65963, 65964));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191613) AND (`guid` IN (65965, 65966));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191577) AND (`guid` IN (65915));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191580) AND (`guid` IN (65916));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191581) AND (`guid` IN (65920));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191582) AND (`guid` IN (65921));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191583) AND (`guid` IN (65923));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191584) AND (`guid` IN (65925));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191585) AND (`guid` IN (65926));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191586) AND (`guid` IN (65927));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191587) AND (`guid` IN (65928));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191588) AND (`guid` IN (65929));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191589) AND (`guid` IN (65930));
|
||||
|
||||
UPDATE gameobject SET `phaseMask`=`phaseMask` |2 WHERE (`id` = 191590) AND (`guid` IN (65931));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29519) AND (`guid` IN (128557, 128558, 128559));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29520) AND (`guid` IN (128561, 128563));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29565) AND (`guid` IN (128740));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29566) AND (`guid` IN (128742, 128743, 128744));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29567) AND (`guid` IN (128747, 128748, 128749));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 29521) AND (`guid` IN (128565, 128566, 128567, 128568, 128569, 128570, 128571, 128572, 128573, 128574, 128575, 128576));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28385) AND (`guid` IN (129392, 129393, 129395));
|
||||
|
||||
UPDATE creature SET `phaseMask`=`phaseMask` |2 WHERE (`id1` = 28386) AND (`guid` IN (129401, 129402, 129404));
|
||||
@@ -0,0 +1,21 @@
|
||||
-- DB update 2024_10_13_02 -> 2024_10_13_03
|
||||
-- Update creature 'Venture Co. Gemologist' with sniffed values
|
||||
-- updated spawns
|
||||
DELETE FROM `creature` WHERE (`id1` IN (17279))
|
||||
AND (`guid` IN (62061, 62062, 62063));
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
|
||||
(62061, 17279, 530, 1, 1, 1, -4627.05712890625, -12929.3251953125, 7.633514404296875, 5.131268024444580078, 300, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(62062, 17279, 530, 1, 1, 1, -4599.86083984375, -12879.29296875, 6.824597358703613281, 3.420845270156860351, 300, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(62063, 17279, 530, 1, 1, 1, -4583.64501953125, -12864.466796875, 6.161464691162109375, 4.310963153839111328, 300, 0, 0, 0, 0, 0, "", 45942, 1, NULL);
|
||||
|
||||
-- new spawns
|
||||
DELETE FROM `creature` WHERE (`id1` IN (17279))
|
||||
AND (`guid` IN (1559, 1560));
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
|
||||
(1559, 17279, 530, 1, 1, 1, -4587.087890625, -12868.81640625, 5.791094303131103515, 0.767944872379302978, 300, 0, 0, 0, 0, 0, "", 45942, 1, NULL),
|
||||
(1560, 17279, 530, 1, 1, 1, -4641.50244140625, -12940.6015625, 8.814029693603515625, 0.855211317539215087, 300, 0, 0, 0, 0, 0, "", 45435, 1, NULL);
|
||||
|
||||
-- disable emote for one of the new spawns
|
||||
DELETE FROM `creature_addon` WHERE (`guid` IN (1560));
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(1560, 0, 0, 0, 1, 0, 0, NULL);
|
||||
@@ -0,0 +1,28 @@
|
||||
-- DB update 2024_10_13_03 -> 2024_10_13_04
|
||||
|
||||
DELETE FROM `creature_text`
|
||||
WHERE `CreatureID` = 36856
|
||||
AND `GroupID` IN (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
|
||||
|
||||
INSERT INTO `creature_text`(`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
|
||||
(36856,0,0,'You\'re in luck. I\'ve got just what you need in the load I\'m about to wash.',12,0,100,0,0,0,36761,0,'Shandy Glossgleam'),
|
||||
(36856,1,0,'Well done!',12,0,16,4,0,0,3287,0,'Shandy say 2'),
|
||||
(36856,1,1,'Aquanos can hardly keep up!',12,0,14,4,0,0,37988,0,'Shandy say 2'),
|
||||
(36856,1,2,'Nice. I don\'t want to know what that stain was.',12,0,14,4,0,0,37987,0,'Shandy say 2'),
|
||||
(36856,1,3,'I should keep you around.',12,0,14,0,0,0,37989,0,'Shandy Glossgleam'),
|
||||
(36856,1,4,'That\'s how it\'s done!',12,0,14,0,0,0,37986,0,'Shandy Glossgleam'),
|
||||
(36856,1,5,'Clean and tidy!',12,0,14,0,0,0,37985,0,'Shandy Glossgleam'),
|
||||
(36856,1,6,'Nice. I don\'t want to know what that stain was.',12,0,14,0,0,0,37987,0,'Shandy Glossgleam'),
|
||||
(36856,1,7,'Aquanos can hardly keep up!',12,0,14,0,0,0,37988,0,'Shandy Glossgleam'),
|
||||
(36856,2,0,'See the piles of laundry and the bucket of water? I\'ll call out what I need next, and you put it in the tub. Ready?',12,0,100,0,0,0,36762,0,'Shandy Glossgleam'),
|
||||
(36856,3,0,'The tub needs more water!',12,0,100,25,0,0,36790,0,'Shandy Glossgleam'),
|
||||
(36856,4,0,'Quick, add some shirts to the laundry!',12,0,100,0,0,0,36788,0,'Shandy Glossgleam'),
|
||||
(36856,5,0,'Toss some pants in to the tub!',12,0,100,25,0,0,36787,0,'Shandy Glossgleam'),
|
||||
(36856,6,0,'Add the unmentionables... uh, I mean, the \'delicates\'!',12,0,100,25,0,0,36789,0,'Shandy Glossgleam'),
|
||||
(36856,7,0,'Aquanos, stop sending the clothes so high! You didn\'t have to see the look on Aethas Sunreaver\'s face when he found his pants in the fountain!',12,0,100,0,0,0,36817,0,'Shandy Glossgleam'),
|
||||
(36856,8,0,'See how easy that was with everyone working together? Just take what you need from the clean laundry here, but don\'t forget to return it when you\'re finished.',12,0,100,0,0,0,36791,0,'Shandy Glossgleam'),
|
||||
(36856,9,0,'Oh, no! That wasn\'t right. Now I\'ll have to go get more detergent so we can start over!',12,0,100,0,0,0,36763,0,'Shandy Glossgleam');
|
||||
|
||||
UPDATE `gossip_menu_option`
|
||||
SET `BoxBroadcastTextID` = 0
|
||||
WHERE `menuid` = 10854 AND `OptionBroadcastTextID` IN (37552, 36760);
|
||||
@@ -0,0 +1,3 @@
|
||||
-- DB update 2024_10_13_04 -> 2024_10_14_00
|
||||
--
|
||||
UPDATE `creature_template` SET `flags_extra` = `flags_extra` |2097152 WHERE `entry` IN (22949, 22950, 22951, 22952);
|
||||
@@ -0,0 +1,8 @@
|
||||
-- DB update 2024_10_14_00 -> 2024_10_14_01
|
||||
--
|
||||
DELETE FROM `gameobject` WHERE `guid` IN (99829, 99830, 99831);
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`)
|
||||
VALUES
|
||||
(99829, 188019, 571, 0, 0, 1, 1, 3391, 5137, 13, 1.8, 0, 0, 0, 0, 25, 0, 1, "", 0, NULL),
|
||||
(99830, 188019, 571, 0, 0, 1, 1, 3739, 5047, -0.77, 2.18, 0, 0, 0, 0, 25, 0, 1, "", 0, NULL),
|
||||
(99831, 188019, 571, 0, 0, 1, 1, 3517, 5016, -1, 2.25, 0, 0, 0, 0, 25, 0, 1, "", 0, NULL);
|
||||
@@ -0,0 +1,11 @@
|
||||
-- DB update 2024_10_14_01 -> 2024_10_14_02
|
||||
-- Update creature 'Raging Soul' with sniffed values
|
||||
|
||||
-- new spawns
|
||||
DELETE FROM `creature` WHERE (`id1` IN (18506))
|
||||
AND (`guid` IN (12707, 12708, 12709, 12710));
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
|
||||
(12707, 18506, 558, 3, 1, 0, 48.44750595092773437, -170.952972412109375, 15.11065673828125, 6.016101837158203125, 7200, 0, 0, 0, 0, 0, "", 46368, 1, NULL),
|
||||
(12708, 18506, 558, 3, 1, 0, 60.22912216186523437, -165.152603149414062, 15.32995414733886718, 3.326717376708984375, 7200, 0, 0, 0, 0, 0, "", 46368, 1, NULL),
|
||||
(12709, 18506, 558, 3, 1, 0, 67.13529205322265625, -160.446762084960937, 15.37751579284667968, 0.466603010892868041, 7200, 0, 0, 0, 0, 0, "", 52237, 1, NULL),
|
||||
(12710, 18506, 558, 3, 1, 0, 69.42613983154296875, -157.7301025390625, 15.39217567443847656, 3.025804519653320312, 7200, 10, 1, 0, 0, 0, "", 52237, 1, NULL);
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_02 -> 2024_10_14_03
|
||||
@@ -0,0 +1,22 @@
|
||||
-- DB update 2024_10_14_03 -> 2024_10_14_04
|
||||
-- Update gameobject 'Draenethyst Mine Crystal' with sniffed values
|
||||
-- updated spawns
|
||||
DELETE FROM `gameobject` WHERE (`id` IN (184689))
|
||||
AND (`guid` IN (25510, 25511, 25512, 25513));
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
|
||||
(25510, 184689, 530, 0, 0, 1, 1, 1388.2451171875, 6547.3505859375, 11.69665908813476562, 5.93412017822265625, 0, 0, -0.17364788055419921, 0.984807789325714111, 181, 255, 1, "", 45704, NULL),
|
||||
(25511, 184689, 530, 0, 0, 1, 1, 1361.4273681640625, 6612.55615234375, -12.2869329452514648, 1.32644820213317871, 0, 0, 0.615660667419433593, 0.788011372089385986, 181, 255, 1, "", 45942, NULL),
|
||||
(25512, 184689, 530, 0, 0, 1, 1, 1343.68603515625, 6540.97900390625, 6.092723846435546875, 2.44346022605895996, 0, 0, 0.939692497253417968, 0.34202045202255249, 181, 255, 1, "", 45942, NULL),
|
||||
(25513, 184689, 530, 0, 0, 1, 1, 1351.0885009765625, 6585.18603515625, -7.47749614715576171, 4.241150379180908203, 0, 0, -0.85264015197753906, 0.522498607635498046, 181, 255, 1, "", 45942, NULL);
|
||||
|
||||
-- new spawns
|
||||
DELETE FROM `gameobject` WHERE (`id` IN (184689))
|
||||
AND (`guid` IN (286, 287, 288, 289, 290, 291, 292));
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
|
||||
(286, 184689, 530, 0, 0, 1, 1, 1303.167236328125, 6605.68017578125, -7.54029703140258789, 1.710421562194824218, 0, 0, 0.754709243774414062, 0.656059443950653076, 181, 255, 1, "", 45942, NULL),
|
||||
(287, 184689, 530, 0, 0, 1, 1, 1310.228271484375, 6705.1630859375, -18.4085350036621093, 6.265733242034912109, 0, 0, -0.00872611999511718, 0.999961912631988525, 181, 255, 1, "", 45942, NULL),
|
||||
(288, 184689, 530, 0, 0, 1, 1, 1319.365478515625, 6628.2421875, -8.98430633544921875, 3.769911527633666992, 0, 0, -0.95105648040771484, 0.309017121791839599, 181, 255, 1, "", 45942, NULL),
|
||||
(289, 184689, 530, 0, 0, 1, 1, 1319.4683837890625, 6672.37890625, -19.1232185363769531, 4.799657344818115234, 0, 0, -0.67558956146240234, 0.737277925014495849, 181, 255, 1, "", 45942, NULL),
|
||||
(290, 184689, 530, 0, 0, 1, 1, 1368.6573486328125, 6687.1484375, -21.0584907531738281, 5.340708732604980468, 0, 0, -0.45398998260498046, 0.891006767749786376, 181, 255, 1, "", 45942, NULL),
|
||||
(291, 184689, 530, 0, 0, 1, 1, 1392.392333984375, 6637.54931640625, -15.6357831954956054, 1.553341388702392578, 0, 0, 0.700908660888671875, 0.713251054286956787, 181, 255, 1, "", 45942, NULL),
|
||||
(292, 184689, 530, 0, 0, 1, 1, 1395.9932861328125, 6693.228515625, -18.150156021118164, 0.122172988951206207, 0, 0, 0.061048507690429687, 0.998134791851043701, 181, 255, 1, "", 45942, NULL);
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_04 -> 2024_10_14_05
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_05 -> 2024_10_14_06
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_06 -> 2024_10_14_07
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_07 -> 2024_10_14_08
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_08 -> 2024_10_14_09
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_09 -> 2024_10_14_10
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_10 -> 2024_10_14_11
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_11 -> 2024_10_14_12
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_12 -> 2024_10_14_13
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_13 -> 2024_10_14_14
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_14 -> 2024_10_14_15
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_15 -> 2024_10_14_16
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_16 -> 2024_10_14_17
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_17 -> 2024_10_14_18
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_18 -> 2024_10_14_19
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_19 -> 2024_10_14_20
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_20 -> 2024_10_14_21
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_21 -> 2024_10_14_22
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_22 -> 2024_10_14_23
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_23 -> 2024_10_14_24
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_24 -> 2024_10_14_25
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_25 -> 2024_10_14_26
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_26 -> 2024_10_14_27
|
||||
@@ -0,0 +1 @@
|
||||
-- DB update 2024_10_14_27 -> 2024_10_14_28
|
||||
@@ -0,0 +1,23 @@
|
||||
-- DB update 2024_10_14_28 -> 2024_10_14_29
|
||||
--
|
||||
DELETE FROM `waypoint_data` WHERE `id` = 12845500;
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
|
||||
(12845500, 1, 2214.827, -5863.48, 101.417465, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 2, 2227.322, -5851.402, 101.436295, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 3, 2225.669, -5834.608, 101.33587, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 4, 2215.862, -5817.638, 101.59648, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 5, 2202.8013, -5819.025, 101.31645, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 6, 2177.9443, -5827.26, 101.35007, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 7, 2178.7808, -5839.8413, 101.35327, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 8, 2188.918, -5859.777, 101.32753, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 9, 2209.019, -5849.5127, 101.38912, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 10, 2239.316, -5853.1245, 101.253586, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 11, 2246.9602, -5834.0312, 101.29634, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 12, 2220.9856, -5817.607, 101.5587, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 13, 2208.4644, -5800.1553, 101.36618, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 14, 2176.558, -5812.266, 101.339, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 15, 2189.4963, -5833.0923, 101.458275, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 16, 2190.612, -5838.978, 101.348434, NULL, 0, 0, 0, 100, 0),
|
||||
(12845500, 17, 2197.681, -5858.3774, 101.3591, NULL, 0, 0, 0, 100, 0);
|
||||
UPDATE `creature` SET `position_x` = 2182.4385, `position_y` = -5821.7393, `position_z` = 101.48733, `orientation` = 5.26792764663696289, `VerifiedBuild` = 56713, `CreateObject` = 1 WHERE `guid` = 128455 AND `id1` = 28683;
|
||||
UPDATE `creature_template` SET `MovementType`= 2, `movementId`= 12845500 WHERE `entry` = 28683;
|
||||
@@ -0,0 +1,8 @@
|
||||
-- DB update 2024_10_14_29 -> 2024_10_15_30
|
||||
|
||||
UPDATE `creature_template` SET `MovementType`= 0, `movementId`= 0 WHERE (`entry` = 28683);
|
||||
UPDATE `creature` SET `MovementType`= 2 WHERE `guid` = 128455 AND `id1` = 28683;
|
||||
|
||||
DELETE FROM `creature_addon` WHERE (`guid` IN (128455));
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(128455, 12845500, 2409, 0, 1, 0, 0, NULL);
|
||||
@@ -0,0 +1,92 @@
|
||||
-- DB update 2024_10_15_30 -> 2024_10_15_31
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` = 12916500;
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
|
||||
(12916500, 1, 1477.94, -5793.97, 131.225, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 2, 1446.45, -5754.95, 131.211, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 3, 1425.85, -5745.6, 131.211, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 4, 1417.13, -5750.33, 131.232, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 5, 1411.11, -5759.36, 131.448, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 6, 1405.98, -5776.95, 131.33, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 7, 1399.51, -5791.66, 131.216, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 8, 1397.36, -5804.95, 131.243, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 9, 1403.88, -5815.38, 131.213, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 10, 1409.91, -5822.05, 131.211, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 11, 1417.92, -5831.07, 131.2, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 12, 1440.18, -5855.69, 131.21, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 13, 1457.1, -5856.7, 131.215, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 14, 1481.76, -5856.09, 131.223, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 15, 1494.29, -5855.59, 131.214, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 16, 1491.22, -5835.8, 131.211, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 17, 1488.49, -5813.67, 131.211, NULL, 0, 0, 0, 100, 0);
|
||||
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` = 12916800;
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
|
||||
(12916800, 1, 1406.73, -5811.67, 131.209, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 2, 1401.88, -5802.59, 131.219, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 3, 1418.88, -5757.21, 131.243, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 4, 1424.36, -5752.7, 131.211, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 5, 1438.09, -5755.48, 131.211, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 6, 1456.97, -5776.86, 131.216, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 7, 1478.54, -5802.62, 131.211, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 8, 1485.12, -5821.35, 131.214, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 9, 1488.73, -5846.62, 131.214, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 10, 1487.73, -5851.07, 131.214, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 11, 1460.82, -5851.64, 131.226, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 12, 1444.73, -5851.89, 131.223, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 13, 1433.97, -5842.2, 131.213, NULL, 0, 0, 0, 100, 0);
|
||||
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` = 12917000;
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
|
||||
(12917000, 1, 1377.73, -5695.92, 137.968, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 2, 1385.88, -5701.9, 137.997, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 3, 1387.87, -5703.37, 137.173, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 4, 1389.8, -5704.65, 136.087, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 5, 1397.4, -5711.28, 135.041, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 6, 1406.94, -5723.55, 132.408, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 7, 1412.76, -5732.12, 131.701, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 8, 1418.01, -5739.84, 131.22, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 9, 1422.96, -5747.23, 131.208, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 10, 1416.89, -5737.62, 131.321, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 11, 1410.12, -5727, 131.99, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 12, 1403.86, -5716.92, 133.217, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 13, 1396.99, -5710.09, 135.191, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 14, 1389.82, -5704.98, 136.077, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 15, 1385.97, -5702.27, 138.001, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 16, 1376.98, -5695.79, 137.968, NULL, 0, 0, 0, 100, 0),
|
||||
(12917000, 17, 1367.02, -5688.62, 137.968, NULL, 0, 0, 0, 100, 0);
|
||||
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` = 12917100;
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
|
||||
(12917100, 1, 1397.56, -5710.58, 135.075, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 2, 1406.09, -5721.5, 132.634, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 3, 1415.09, -5735.3, 131.516, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 4, 1421.83, -5746.68, 131.207, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 5, 1414.7, -5734.86, 131.553, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 6, 1406.42, -5721.23, 132.611, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 7, 1397.92, -5711.19, 134.959, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 8, 1390.23, -5705.32, 136.028, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 9, 1386.07, -5702.3, 138.003, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 10, 1375.49, -5694.62, 137.967, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 11, 1367.02, -5688.56, 137.967, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 12, 1377.48, -5695.92, 137.967, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 13, 1385.91, -5701.93, 137.997, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 14, 1389.99, -5705.07, 136.058, NULL, 0, 0, 0, 100, 0);
|
||||
|
||||
UPDATE `creature` SET `position_x` = 1389.9873, `position_y` = -5705.0527, `position_z` = 136.05995 WHERE `guid` = 129171 AND `id1` = 28594;
|
||||
|
||||
UPDATE `creature` SET `MovementType`= 2 WHERE `guid` = 129165 AND `id1` = 28594;
|
||||
UPDATE `creature` SET `MovementType`= 2 WHERE `guid` = 129168 AND `id1` = 28594;
|
||||
UPDATE `creature` SET `MovementType`= 2 WHERE `guid` = 129170 AND `id1` = 28594;
|
||||
UPDATE `creature` SET `MovementType`= 2 WHERE `guid` = 129171 AND `id1` = 28594;
|
||||
|
||||
|
||||
DELETE FROM `creature_addon` WHERE (`guid` IN (129165, 129168, 129170, 129171));
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(129165, 12916500, 0, 0, 0, 0, 0, NULL),
|
||||
(129168, 12916800, 0, 0, 0, 0, 0, NULL),
|
||||
(129170, 12917000, 0, 0, 0, 0, 0, NULL),
|
||||
(129171, 12917100, 0, 0, 0, 0, 0, NULL);
|
||||
@@ -0,0 +1,92 @@
|
||||
-- DB update 2024_10_15_31 -> 2024_10_15_32
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.7143, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 2110;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 19871;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.9920628411429268972857, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 22515;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.9920628411429268972857, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23472;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 1.7143, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24850;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.8, `speed_run` = 2.8571, `BaseAttackTime` = 1000, `RangeAttackTime` = 1000 WHERE `entry` = 24882;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 2.8571, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24895;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24928;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 2.8571, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25038;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 1.7143, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25165;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 1.7143, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25166;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.9920628411429268972857, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25357;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.9920628411429268972857, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25358;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25363;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25367;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25368;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25369;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25370;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25371;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25372;
|
||||
UPDATE `creature_template` SET `speed_walk` = 0.888887977600097656, `speed_run` = 2.8571, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25373;
|
||||
UPDATE `creature_template` SET `speed_walk` = 0.888887977600097656, `speed_run` = 2.7143, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25483;
|
||||
UPDATE `creature_template` SET `speed_walk` = 3.2, `speed_run` = 2.7143, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25484;
|
||||
UPDATE `creature_template` SET `speed_walk` = 0.888887977600097656, `speed_run` = 2.8571, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25486;
|
||||
UPDATE `creature_template` SET `speed_walk` = 0.888887977600097656, `speed_run` = 2.7143, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25506;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 1.4286, `BaseAttackTime` = 1500, `RangeAttackTime` = 1500 WHERE `entry` = 25507;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25508;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.7143, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25509;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25591;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25592;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25593;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25595;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25597;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25599;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25608;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25632;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25638;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25639;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25644;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25661;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25741;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25770;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25795;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25796;
|
||||
UPDATE `creature_template` SET `speed_walk` = 0.888887977600097656, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25837;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25848;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25851;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1.6, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25867;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25953;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1, `CombatReach` = 1 WHERE `DisplayID` = 1141;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.5, `CombatReach` = 1 WHERE `DisplayID` = 11686;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.049999952316284179, `CombatReach` = 12 WHERE `DisplayID` = 14173;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.5, `CombatReach` = 1 WHERE `DisplayID` = 16925;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.125, `CombatReach` = 0.25 WHERE `DisplayID` = 17188;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1, `CombatReach` = 10 WHERE `DisplayID` = 17205;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.5, `CombatReach` = 3 WHERE `DisplayID` = 18139;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.225000008940696716, `CombatReach` = 1.125 WHERE `DisplayID` = 19663;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.75, `CombatReach` = 1.5 WHERE `DisplayID` = 20577;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 3, `CombatReach` = 3.60000014305114746 WHERE `DisplayID` = 20919;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.60000002384185791, `CombatReach` = 2 WHERE `DisplayID` = 21455;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 6, `CombatReach` = 18 WHERE `DisplayID` = 22711;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.75, `CombatReach` = 2.5 WHERE `DisplayID` = 22811;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.75, `CombatReach` = 17.5 WHERE `DisplayID` = 22965;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.517049968242645263, `CombatReach` = 2.02500009536743164 WHERE `DisplayID` = 23158;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.517049968242645263, `CombatReach` = 2.02500009536743164 WHERE `DisplayID` = 23159;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.889300048351287841, `CombatReach` = 2.5 WHERE `DisplayID` = 23177;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.007500052452087402, `CombatReach` = 3.25 WHERE `DisplayID` = 23240;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 3.75, `CombatReach` = 2.75 WHERE `DisplayID` = 23266;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.91666799783706665, `CombatReach` = 3 WHERE `DisplayID` = 23267;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.875, `CombatReach` = 1.75 WHERE `DisplayID` = 23269;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.497899949550628662, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 23293;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.20000004768371582, `CombatReach` = 1.80000007152557373 WHERE `DisplayID` = 23295;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.20000004768371582, `CombatReach` = 1.80000007152557373 WHERE `DisplayID` = 23297;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.889300048351287841, `CombatReach` = 2.5 WHERE `DisplayID` = 23334;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.75, `CombatReach` = 10.5 WHERE `DisplayID` = 23345;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.5, `CombatReach` = 3 WHERE `DisplayID` = 23377;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.610000014305114746, `CombatReach` = 6 WHERE `DisplayID` = 23404;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.75, `CombatReach` = 3.75 WHERE `DisplayID` = 23473;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.60000002384185791, `CombatReach` = 3 WHERE `DisplayID` = 23474;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.60000002384185791, `CombatReach` = 3 WHERE `DisplayID` = 23476;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.60000002384185791, `CombatReach` = 3 WHERE `DisplayID` = 23477;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.60000002384185791, `CombatReach` = 3 WHERE `DisplayID` = 23478;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.754675984382629394, `CombatReach` = 3 WHERE `DisplayID` = 23479;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.299999952316284179, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 23525;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.517049968242645263, `CombatReach` = 2.02500009536743164 WHERE `DisplayID` = 23526;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.517049968242645263, `CombatReach` = 2.02500009536743164 WHERE `DisplayID` = 23531;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.517049968242645263, `CombatReach` = 2.02500009536743164 WHERE `DisplayID` = 23533;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.517049968242645263, `CombatReach` = 2.02500009536743164 WHERE `DisplayID` = 23538;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.517049968242645263, `CombatReach` = 2.02500009536743164 WHERE `DisplayID` = 23539;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.382999986410140991, `CombatReach` = 1.5 WHERE `DisplayID` = 23590;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.800000011920928955, `CombatReach` = 1.60000002384185791 WHERE `DisplayID` = 23830;
|
||||
@@ -0,0 +1,8 @@
|
||||
-- DB update 2024_10_15_32 -> 2024_10_16_00
|
||||
-- Update creature 'Oomailiq' with sniffed values
|
||||
|
||||
-- new spawns
|
||||
DELETE FROM `creature` WHERE (`id1` IN (31806))
|
||||
AND (`guid` IN (308));
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
|
||||
(308, 31806, 621, 1, 1, 0, -19.990936279296875, 0.077455997467041015, 17.6105804443359375, 3.071779489517211914, 120, 0, 0, 0, 0, 0, "", 45942, 1, NULL);
|
||||
@@ -0,0 +1,67 @@
|
||||
-- DB update 2024_10_16_00 -> 2024_10_16_01
|
||||
|
||||
UPDATE `creature` SET `position_x` = 1415.4373, `position_y` = -5752.8945, `position_z` = 131.30084, `orientation` = 3.839396476745605468, `wander_distance` = 0, `MovementType` = 2, `CreateObject` = 1, `VerifiedBuild` = 56713 WHERE `id1` = 28594 AND `guid` = 129165;
|
||||
UPDATE `creature` SET `position_x` = 1418.6387, `position_y` = -5758.492, `position_z` = 131.24905, `orientation` = 1.177735805511474609, `wander_distance` = 0, `MovementType` = 2, `CreateObject` = 1, `VerifiedBuild` = 56713 WHERE `id1` = 28594 AND `guid` = 129168;
|
||||
UPDATE `creature` SET `position_x` = 1360.4492, `position_y` = -5683.808, `position_z` = 138.74478, `orientation` = 5.676506996154785156, `CreateObject` = 1, `VerifiedBuild` = 56713 WHERE `id1` = 28594 AND `guid` = 129169;
|
||||
UPDATE `creature` SET `position_x` = 1406.4192, `position_y` = -5723.9375, `position_z` = 132.38057, `orientation` = 5.36331796646118164, `wander_distance` = 0, `MovementType` = 0, `CreateObject` = 1, `VerifiedBuild` = 56713 WHERE `id1` = 28594 AND `guid` = 129170;
|
||||
UPDATE `creature` SET `position_x` = 1412.2305, `position_y` = -5731.557, `position_z` = 131.75316, `orientation` = 5.366878509521484375, `wander_distance` = 0, `MovementType` = 2, `CreateObject` = 1, `VerifiedBuild` = 56713 WHERE `id1` = 28594 AND `guid` = 129171;
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` = 12916500;
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
|
||||
(12916500, 1, 1410.3698, -5762.8335, 131.43745, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 2, 1407.5739, -5774.8276, 131.33566, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 3, 1400.0348, -5789.2324, 131.22272, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 4, 1397.7992, -5801.5757, 131.2285, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 5, 1402.9713, -5814.936, 131.2145, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 6, 1419.8129, -5832.764, 131.1969, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 7, 1433.2709, -5847.9785, 131.21193, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 8, 1441.0192, -5854.522, 131.21257, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 9, 1453.899, -5856.497, 131.2154, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 10, 1480.6685, -5854.989, 131.22208, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 11, 1492.9026, -5854.279, 131.21404, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 12, 1492.9155, -5843.5674, 131.21198, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 13, 1488.3405, -5813.3306, 131.21085, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 14, 1478.0803, -5793.954, 131.22769, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 15, 1465.781, -5777.6206, 131.27104, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 16, 1445.4419, -5754.9077, 131.21011, NULL, 0, 0, 0, 100, 0),
|
||||
(12916500, 17, 1424.6149, -5745.1987, 131.20967, NULL, 0, 0, 0, 100, 0);
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` = 12916800;
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
|
||||
(12916800, 1, 1423.784, -5753.6196, 131.21034, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 2, 1438.4303, -5755.653, 131.21004, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 3, 1453.449, -5772.697, 131.21564, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 4, 1472.0319, -5793.676, 131.21124, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 5, 1480.9645, -5806.4946, 131.21095, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 6, 1487.4835, -5827.0117, 131.21222, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 7, 1487.8892, -5848.086, 131.2139, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 8, 1484.236, -5850.959, 131.21649, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 9, 1461.8696, -5851.4355, 131.23096, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 10, 1441.8431, -5850.792, 131.2129, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 11, 1423.0482, -5831.1094, 131.20496, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 12, 1406.6604, -5813.7505, 131.21092, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 13, 1400.523, -5801.3213, 131.21956, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 14, 1404.7975, -5791.418, 131.21114, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 15, 1413.1937, -5771.624, 131.27168, NULL, 0, 0, 0, 100, 0),
|
||||
(12916800, 16, 1418.6387, -5758.492, 131.24905, NULL, 0, 0, 0, 100, 0);
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` = 12917100;
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
|
||||
(12917100, 1, 1422.7795, -5747.4033, 131.20946, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 2, 1412.2305, -5731.557, 131.75316, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 3, 1394.4702, -5708.2007, 135.60547, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 4, 1385.6752, -5701.634, 138.07877, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 5, 1369.9221, -5690.5527, 138.07875, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 6, 1385.6752, -5701.634, 138.07877, NULL, 0, 0, 0, 100, 0),
|
||||
(12917100, 7, 1394.4702, -5708.2007, 135.60547, NULL, 0, 0, 0, 100, 0);
|
||||
|
||||
DELETE FROM `creature_formations` WHERE `leaderGUID` = 129171 AND `memberGUID` = 129170;
|
||||
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
|
||||
(129171, 129171, 0, 0, 0, 0, 0),
|
||||
(129171, 129170, 10, 180, 512, 0, 0);
|
||||
|
||||
DELETE FROM `creature_addon` WHERE `guid` IN (129165, 129168, 129171);
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(129165, 12916500, 0, 0, 0, 0, 0, NULL),
|
||||
(129168, 12916800, 0, 0, 0, 0, 0, NULL),
|
||||
(129171, 12917100, 0, 0, 0, 0, 0, NULL);
|
||||
@@ -0,0 +1,86 @@
|
||||
-- DB update 2024_10_16_01 -> 2024_10_16_02
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.8571, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 1412;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.8571, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 14881;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 21252;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.9920628411429268972857, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 22515;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.9920628411429268972857, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 22517;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23542;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1.6, `speed_run` = 2.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23574;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 2.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23576;
|
||||
UPDATE `creature_template` SET `speed_walk` = 4, `speed_run` = 2.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23577;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 2.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23578;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23580;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23581;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23582;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23584;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 1600, `RangeAttackTime` = 1600 WHERE `entry` = 23586;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 2, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23596;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 2, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23597;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23746;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23774;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23790;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23807;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23813;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23814;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23817;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23834;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 2.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23863;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23889;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 23897;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 2, `BaseAttackTime` = 1800, `RangeAttackTime` = 1800 WHERE `entry` = 24043;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24047;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 2, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24059;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 2, `BaseAttackTime` = 1600, `RangeAttackTime` = 1600 WHERE `entry` = 24064;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 2, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24065;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 2, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24138;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24175;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24179;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24180;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24217;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 2.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24239;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24312;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24325;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24363;
|
||||
UPDATE `creature_template` SET `speed_walk` = 0.6666679859161376952, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24374;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24396;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 2, `BaseAttackTime` = 1800, `RangeAttackTime` = 1800 WHERE `entry` = 24530;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24549;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25173;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.299999952316284179, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 134;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.250100016593933105, `CombatReach` = 2.25 WHERE `DisplayID` = 834;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.200000002980232238, `CombatReach` = 1 WHERE `DisplayID` = 901;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.3890000581741333, `CombatReach` = 2.5 WHERE `DisplayID` = 1038;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.75, `CombatReach` = 2.5 WHERE `DisplayID` = 10056;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.5, `CombatReach` = 1 WHERE `DisplayID` = 11686;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.187000006437301635, `CombatReach` = 0.150000005960464477 WHERE `DisplayID` = 14952;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.5, `CombatReach` = 1 WHERE `DisplayID` = 16925;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.125, `CombatReach` = 0.25 WHERE `DisplayID` = 17188;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.255000025033950805, `CombatReach` = 1.27500009536743164 WHERE `DisplayID` = 17547;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.620000004768371582, `CombatReach` = 0 WHERE `DisplayID` = 19705;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.400000005960464477, `CombatReach` = 0.800000011920928955 WHERE `DisplayID` = 19595;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.900000035762786865, `CombatReach` = 3 WHERE `DisplayID` = 21630;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.900000035762786865, `CombatReach` = 3 WHERE `DisplayID` = 21631;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.900000035762786865, `CombatReach` = 3 WHERE `DisplayID` = 21632;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.900000035762786865, `CombatReach` = 3 WHERE `DisplayID` = 21633;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.305999994277954101, `CombatReach` = 1.5 WHERE `DisplayID` = 21767;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.305999994277954101, `CombatReach` = 1.5 WHERE `DisplayID` = 21893;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.565999984741210937, `CombatReach` = 3.60000014305114746 WHERE `DisplayID` = 21899;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.434027493000030517, `CombatReach` = 1.875 WHERE `DisplayID` = 22161;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.434027493000030517, `CombatReach` = 1.875 WHERE `DisplayID` = 22262;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.45138859748840332, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 22263;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.45138859748840332, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 22272;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.45138859748840332, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 22273;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.434027493000030517, `CombatReach` = 1.875 WHERE `DisplayID` = 22276;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.45138859748840332, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 22278;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.434027493000030517, `CombatReach` = 1.875 WHERE `DisplayID` = 22301;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.434027493000030517, `CombatReach` = 1.875 WHERE `DisplayID` = 22304;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.434027493000030517, `CombatReach` = 1.875 WHERE `DisplayID` = 22308;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.45138859748840332, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 22310;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.45138859748840332, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 22313;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.347222000360488891, `CombatReach` = 1.5 WHERE `DisplayID` = 22324;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.972221612930297851, `CombatReach` = 4.199999809265136718 WHERE `DisplayID` = 22332;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 3, `CombatReach` = 3 WHERE `DisplayID` = 22353;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.5, `CombatReach` = 0 WHERE `DisplayID` = 22467;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.874500036239624023, `CombatReach` = 1.65000009536743164 WHERE `DisplayID` = 22517;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.590277433395385742, `CombatReach` = 2.550000190734863281 WHERE `DisplayID` = 22538;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.382499992847442626, `CombatReach` = 1.875 WHERE `DisplayID` = 22983;
|
||||
@@ -0,0 +1,60 @@
|
||||
-- DB update 2024_10_16_02 -> 2024_10_16_03
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.8571, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 1412;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.9920628411429268972857, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 22515;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24560;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1.2, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24664;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24683;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24684;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24685;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24686;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24687;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24688;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24689;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24690;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24696;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24697;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24698;
|
||||
UPDATE `creature_template` SET `speed_walk` = 0.888887977600097656, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24723;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24744;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 0.8571, `BaseAttackTime` = 1200, `RangeAttackTime` = 1200 WHERE `entry` = 24761;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24777;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24808;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 24822;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25954;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1.6, `speed_run` = 1.7143, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25955;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25956;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25957;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25958;
|
||||
UPDATE `creature_template` SET `speed_walk` = 2.4, `speed_run` = 1.4286, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25959;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 25960;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1.1429, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 26057;
|
||||
UPDATE `creature_template` SET `speed_walk` = 1.6, `speed_run` = 1.7143, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000 WHERE `entry` = 26579;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.299999952316284179, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 134;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.523899972438812255, `CombatReach` = 1.949999928474426269 WHERE `DisplayID` = 10927;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.5, `CombatReach` = 1 WHERE `DisplayID` = 11686;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.049999952316284179, `CombatReach` = 12 WHERE `DisplayID` = 14173;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.800000011920928955, `CombatReach` = 1.60000002384185791 WHERE `DisplayID` = 16217;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.5, `CombatReach` = 1 WHERE `DisplayID` = 16925;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1, `CombatReach` = 10 WHERE `DisplayID` = 17205;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.763890027999877929, `CombatReach` = 2.5 WHERE `DisplayID` = 19294;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1, `CombatReach` = 2 WHERE `DisplayID` = 19611;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.375, `CombatReach` = 1.25 WHERE `DisplayID` = 20419;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 3, `CombatReach` = 3.60000014305114746 WHERE `DisplayID` = 20919;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.459600001573562622, `CombatReach` = 1.80000007152557373 WHERE `DisplayID` = 22580;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.459600001573562622, `CombatReach` = 1.80000007152557373 WHERE `DisplayID` = 22583;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.459600001573562622, `CombatReach` = 1.80000007152557373 WHERE `DisplayID` = 22584;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.459600001573562622, `CombatReach` = 1.80000007152557373 WHERE `DisplayID` = 22585;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.459600001573562622, `CombatReach` = 1.80000007152557373 WHERE `DisplayID` = 22586;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.20000004768371582, `CombatReach` = 1.20000004768371582 WHERE `DisplayID` = 22590;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.270000010728836059, `CombatReach` = 0.899999976158142089 WHERE `DisplayID` = 22596;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.566007018089294433, `CombatReach` = 2.25 WHERE `DisplayID` = 22642;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.5, `CombatReach` = 3 WHERE `DisplayID` = 22646;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 1.549999952316284179, `CombatReach` = 5 WHERE `DisplayID` = 22731;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.930000007152557373, `CombatReach` = 3 WHERE `DisplayID` = 22733;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.550000011920928955, `CombatReach` = 1.65000009536743164 WHERE `DisplayID` = 22843;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.550000011920928955, `CombatReach` = 1.65000009536743164 WHERE `DisplayID` = 22844;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.550000011920928955, `CombatReach` = 1.65000009536743164 WHERE `DisplayID` = 22845;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.779999971389770507, `CombatReach` = 2 WHERE `DisplayID` = 22906;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.610000014305114746, `CombatReach` = 6 WHERE `DisplayID` = 23404;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 3.75, `CombatReach` = 2.75 WHERE `DisplayID` = 23266;
|
||||
UPDATE `creature_model_info` SET `BoundingRadius` = 0.416000008583068847, `CombatReach` = 3 WHERE `DisplayID` = 23503;
|
||||
@@ -0,0 +1,75 @@
|
||||
-- DB update 2024_10_16_03 -> 2024_10_17_00
|
||||
|
||||
DELETE FROM `creature_formations` WHERE `leaderGUID` = 128736;
|
||||
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
|
||||
(128736, 128736, 0, 0, 515, 0, 0),
|
||||
(128736, 128705, 4, 90, 515, 0, 0),
|
||||
(128736, 128706, 4, 180, 515, 0, 0),
|
||||
(128736, 128707, 4, 270, 515, 0, 0),
|
||||
(128736, 128708, 4, 112.5, 515, 0, 0),
|
||||
(128736, 128709, 4, 135, 515, 0, 0),
|
||||
(128736, 128710, 4, 157.5, 515, 0, 0),
|
||||
(128736, 128711, 4, 202.5, 515, 0, 0),
|
||||
(128736, 128712, 4, 225, 515, 0, 0),
|
||||
(128736, 128713, 4, 247.5, 515, 0, 0);
|
||||
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` IN (12873500, 12873600, 12873700);
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
|
||||
(12873500, 1, 1773.9238, -5832.1016, 116.31873, NULL, 0, 0, 0, 100, 0),
|
||||
(12873500, 2, 1756.1492, -5834.704, 116.430405, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 1, 1544.7605, -5794.4155, 121.35939, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 2, 1522.0105, -5794.6655, 130.10939, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 3, 1483.8894, -5808.3174, 131.46725, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 4, 1490.5504, -5842.88, 131.21179, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 5, 1498.3062, -5872.787, 131.46884, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 6, 1526.3062, -5889.537, 130.46884, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 7, 1565.4106, -5898.202, 123.41411, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 8, 1597.665, -5910.0913, 117.03056, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 9, 1640.1057, -5913.2236, 116.76511, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 10, 1650.8269, -5909.0635, 116.513336, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 11, 1651.6499, -5906.6963, 116.3445, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 12, 1694.4623, -5881.8564, 116.388885, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 13, 1759.6191, -5917.8066, 116.370026, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 14, 1802.8691, -5932.0566, 115.870026, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 15, 1830.799, -5924.8765, 110.66665, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 16, 1854.385, -5917.6543, 105.36636, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 17, 1879.385, -5910.9043, 104.36636, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 18, 1892.6726, -5878.4365, 102.14807, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 19, 1895.06, -5870.6045, 101.355835, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 20, 1869.4382, -5830.621, 101.2023, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 21, 1859.1882, -5824.871, 100.4523, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 22, 1827.7502, -5818.669, 102.35595, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 23, 1803.9004, -5818.6045, 108.628815, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 24, 1780.1504, -5819.3545, 114.878815, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 25, 1765.6228, -5819.961, 116.274826, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 26, 1731.1609, -5821.838, 116.368195, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 27, 1722.1609, -5811.088, 116.868195, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 28, 1716.4109, -5804.338, 116.618195, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 29, 1700.1221, -5785.6084, 114.60457, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 30, 1671.1221, -5779.1084, 116.10457, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 31, 1602.1147, -5781.56, 116.68636, NULL, 0, 0, 0, 100, 0),
|
||||
(12873600, 32, 1576.719, -5785.6636, 119.117615, NULL, 0, 0, 0, 100, 0),
|
||||
(12873700, 1, 1783.6888, -5806.3467, 114.37271, NULL, 0, 0, 0, 100, 0),
|
||||
(12873700, 2, 1765.1584, -5808.4717, 116.48846, NULL, 0, 0, 0, 100, 0);
|
||||
|
||||
|
||||
UPDATE `creature` SET `MovementType`= 2 WHERE `guid` = 128736 AND `id1` = 28530;
|
||||
UPDATE `creature` SET `MovementType`= 0, `wander_distance` = 0 WHERE `guid` = 128705 AND `id1` = 28529;
|
||||
UPDATE `creature` SET `MovementType`= 0, `wander_distance` = 0 WHERE `guid` = 128706 AND `id1` = 28529;
|
||||
UPDATE `creature` SET `MovementType`= 0, `wander_distance` = 0 WHERE `guid` = 128707 AND `id1` = 28529;
|
||||
UPDATE `creature` SET `MovementType`= 0, `wander_distance` = 0 WHERE `guid` = 128708 AND `id1` = 28529;
|
||||
UPDATE `creature` SET `MovementType`= 0, `wander_distance` = 0 WHERE `guid` = 128709 AND `id1` = 28529;
|
||||
UPDATE `creature` SET `MovementType`= 0, `wander_distance` = 0 WHERE `guid` = 128710 AND `id1` = 28529;
|
||||
UPDATE `creature` SET `MovementType`= 0, `wander_distance` = 0 WHERE `guid` = 128711 AND `id1` = 28529;
|
||||
UPDATE `creature` SET `MovementType`= 0, `wander_distance` = 0 WHERE `guid` = 128712 AND `id1` = 28529;
|
||||
UPDATE `creature` SET `MovementType`= 0, `wander_distance` = 0 WHERE `guid` = 128713 AND `id1` = 28529;
|
||||
UPDATE `creature` SET `MovementType`= 2, `position_x`= 1756.1492, `position_y`= -5834.704, `position_z`= 116.430405 WHERE `guid` = 128735 AND `id1` = 28530;
|
||||
UPDATE `creature` SET `MovementType`= 2, `position_x`= 1765.1584, `position_y`= -5808.4717, `position_z`= 116.48846 WHERE `guid` = 128737 AND `id1` = 28530;
|
||||
|
||||
|
||||
DELETE FROM `creature_addon` WHERE (`guid` IN (128735, 128736, 128737));
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(128735, 12873500, 2404, 0, 0, 0, 0, NULL),
|
||||
(128736, 12873600, 2404, 0, 0, 0, 0, NULL),
|
||||
(128737, 12873700, 2404, 0, 0, 0, 0, NULL);
|
||||
@@ -0,0 +1,35 @@
|
||||
-- DB update 2024_10_17_00 -> 2024_10_19_00
|
||||
-- Update gameobject 'Burning Blade Pyre' with sniffed values
|
||||
-- updated spawns
|
||||
DELETE FROM `gameobject` WHERE (`id` IN (182261, 182262, 182264, 182263))
|
||||
AND (`guid` IN (22716, 22717, 22719, 268913));
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
|
||||
(22716, 182261, 530, 0, 0, 1, 1, -2532.9775390625, 6307.27001953125, 14.02033710479736328, 2.95832991600036621, 0, 0, 0.995804786682128906, 0.091503240168094635, 181, 255, 1, "", 45704, NULL),
|
||||
(22717, 182262, 530, 0, 0, 1, 1, -2475.288330078125, 6106.3974609375, 91.98321533203125, 1.980946660041809082, 0, 0, 0.836285591125488281, 0.5482940673828125, 181, 255, 1, "", 45704, NULL),
|
||||
(22719, 182264, 530, 0, 0, 1, 1, -2533.192626953125, 6168.60791015625, 59.93909454345703125, 2.818698406219482421, 0, 0, 0.986995697021484375, 0.160746723413467407, 181, 255, 1, "", 45704, NULL),
|
||||
(268913, 182263, 530, 0, 0, 1, 1, -2532.986083984375, 6306.90087890625, 14.0279855728149414, 2.818698406219482421, 0, 0, 0.986995697021484375, 0.160746723413467407, 181, 255, 1, "", 45704, NULL);
|
||||
|
||||
-- remove duplicate spawns
|
||||
DELETE FROM `gameobject` WHERE (`id` IN (182263))
|
||||
AND (`guid` IN (268914, 268915));
|
||||
DELETE FROM `gameobject_addon` WHERE (`guid` IN (268914, 268915));
|
||||
DELETE FROM `game_event_gameobject` WHERE (`eventEntry` = 0) AND (`guid` IN (268914, 268915));
|
||||
|
||||
-- Update creature 'Burning Blade Pyre' with sniffed values
|
||||
-- updated spawns
|
||||
DELETE FROM `creature` WHERE (`id1` IN (18305, 18306, 18307, 18308))
|
||||
AND (`guid` IN (65640, 65641, 65642, 65643));
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
|
||||
(65640, 18305, 530, 1, 1, 0, -2533.66455078125, 6306.66748046875, 18.541839599609375, 0.977384388446807861, 300, 0, 0, 0, 0, 0, "", 45704, 1, NULL),
|
||||
(65641, 18306, 530, 1, 1, 0, -2533.37890625, 6168.4443359375, 60.02236557006835937, 2.076941728591918945, 300, 0, 0, 0, 0, 0, "", 45704, 1, NULL),
|
||||
(65642, 18307, 530, 1, 1, 0, -2475.478759765625, 6106.6171875, 92.0659027099609375, 0.750491559505462646, 300, 0, 0, 0, 0, 0, "", 45704, 1, NULL),
|
||||
(65643, 18308, 530, 1, 1, 0, -2331.2587890625, 6179.38916015625, 51.05326080322265625, 3.96189737319946289, 300, 0, 0, 0, 0, 0, "", 45704, 1, NULL);
|
||||
|
||||
-- add 184642 gameobjects for Spell Focus 1393
|
||||
DELETE FROM `gameobject` WHERE (`id` IN (184642))
|
||||
AND (`guid` IN (87, 88));
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
|
||||
-- same spawn position as guid 22717
|
||||
(87, 184642, 530, 0, 0, 1, 1, -2475.288330078125, 6106.3974609375, 91.98321533203125, 1.980946660041809082, 0, 0, 0.836285591125488281, 0.5482940673828125, 181, 255, 1, "", 0, NULL),
|
||||
-- same spawn position as guid 22719
|
||||
(88, 184642, 530, 0, 0, 1, 1, -2533.192626953125, 6168.60791015625, 59.93909454345703125, 2.818698406219482421, 0, 0, 0.986995697021484375, 0.160746723413467407, 181, 255, 1, "", 0, NULL);
|
||||
@@ -0,0 +1,95 @@
|
||||
-- DB update 2024_10_19_00 -> 2024_10_20_00
|
||||
-- Update gameobject 'G_Witch*' with sniffed values
|
||||
-- updated spawns
|
||||
DELETE FROM `gameobject` WHERE (`id` IN (180429, 180428, 180408))
|
||||
AND (`guid` IN (77347, 77354, 77604, 77615, 77619, 77660, 77700, 77839, 78008, 78009, 78011, 78022));
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
|
||||
(77347, 180429, 571, 0, 0, 1, 1, 5890.736328125, 547.4892578125, 649.31097412109375, 3.159062385559082031, 0, 0, -0.99996185302734375, 0.008734640665352344, 120, 255, 1, "", 46158, NULL),
|
||||
(77354, 180429, 571, 0, 0, 1, 1, 5900.8876953125, 555.5230712890625, 649.302978515625, 3.94444584846496582, 0, 0, -0.92050457000732421, 0.3907318115234375, 120, 255, 1, "", 46158, NULL),
|
||||
(77604, 180429, 571, 0, 0, 1, 1, 5820.36279296875, 685.091064453125, 651.8358154296875, 4.031712055206298828, 0, 0, -0.90258502960205078, 0.430511653423309326, 120, 255, 1, "", 46158, NULL),
|
||||
(77615, 180428, 571, 0, 0, 1, 1, 5770.15380859375, 735.52691650390625, 641.4876708984375, 2.583080768585205078, 0, 0, 0.961260795593261718, 0.275640487670898437, 120, 255, 1, "", 46158, NULL),
|
||||
(77619, 180408, 571, 0, 0, 1, 1, 5771.54541015625, 737.50347900390625, 643.094482421875, 1.274088263511657714, 0, 0, 0.594821929931640625, 0.80385744571685791, 120, 255, 1, "", 46158, NULL),
|
||||
(77660, 180429, 571, 0, 0, 1, 1, 5951.9052734375, 675.3125, 656.62823486328125, 5.89921426773071289, 0, 0, -0.19080829620361328, 0.981627285480499267, 120, 255, 1, "", 46158, NULL),
|
||||
(77700, 180408, 530, 0, 0, 1, 1, -1827.2923583984375, 5290.85546875, -12.4281368255615234, 2.548179388046264648, 0, 0, 0.956304550170898437, 0.292372345924377441, 120, 255, 1, "", 45942, NULL),
|
||||
(77839, 180429, 530, 0, 0, 1, 1, -1707.31689453125, 5645.84912109375, 130.3365325927734375, 5.305802345275878906, 0, 0, -0.46947097778320312, 0.882947921752929687, 120, 255, 1, "", 45942, NULL),
|
||||
(78008, 180429, 530, 0, 0, 1, 1, -1897.1927490234375, 5764.77197265625, 132.3860626220703125, 0.872663915157318115, 0, 0, 0.422617912292480468, 0.906307935714721679, 120, 255, 1, "", 45942, NULL),
|
||||
(78009, 180429, 530, 0, 0, 1, 1, -1754.1265869140625, 5644.798828125, 130.0098724365234375, 1.064649581909179687, 0, 0, 0.507537841796875, 0.861629426479339599, 120, 255, 1, "", 45942, NULL),
|
||||
(78011, 180429, 530, 0, 0, 1, 1, -1759.2471923828125, 5830.71533203125, 151.030029296875, 2.513273954391479492, 0, 0, 0.951056480407714843, 0.309017121791839599, 120, 255, 1, "", 45942, NULL),
|
||||
(78022, 180429, 530, 0, 0, 1, 1, -1647.701416015625, 5660.49951171875, 134.030609130859375, 0.471238493919372558, 0, 0, 0.233445167541503906, 0.972369968891143798, 120, 255, 1, "", 45942, NULL);
|
||||
|
||||
-- new spawns
|
||||
DELETE FROM `gameobject` WHERE (`id` IN (180408, 180409, 180428, 180429))
|
||||
AND (`guid` BETWEEN 2255 AND 2321);
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
|
||||
(2255, 180408, 0, 0, 0, 1, 1, -8304.3251953125, 1362.921630859375, 8.523809432983398437, 2.216565132141113281, 0, 0, 0.894933700561523437, 0.44619917869567871, 120, 255, 1, "", 51943, NULL),
|
||||
(2256, 180408, 0, 0, 0, 1, 1, -8349.453125, 1107.082763671875, 58.55839157104492187, 0.925023794174194335, 0, 0, 0.446197509765625, 0.894934535026550292, 120, 255, 1, "", 51943, NULL),
|
||||
(2257, 180408, 0, 0, 0, 1, 1, -8368.4677734375, 1299.6090087890625, 8.521785736083984375, 4.747295856475830078, 0, 0, -0.69465827941894531, 0.719339847564697265, 120, 255, 1, "", 51943, NULL),
|
||||
(2258, 180408, 0, 0, 0, 1, 1, -8395.583984375, 1302.3131103515625, 8.515392303466796875, 1.692969322204589843, 0, 0, 0.748955726623535156, 0.662620067596435546, 120, 255, 1, "", 51943, NULL),
|
||||
(2259, 180408, 0, 0, 0, 1, 1, -8410.7236328125, 1039.740478515625, 80.86557769775390625, 3.822272777557373046, 0, 0, -0.94264125823974609, 0.333807557821273803, 120, 255, 1, "", 51943, NULL),
|
||||
(2260, 180408, 0, 0, 0, 1, 1, -8421.5380859375, 1119.6893310546875, 25.32225608825683593, 3.106652259826660156, 0, 0, 0.999847412109375, 0.017469281330704689, 120, 255, 1, "", 51943, NULL),
|
||||
(2261, 180408, 0, 0, 0, 1, 1, -8461.0078125, 1298.739990234375, 8.524527549743652343, 5.253442287445068359, 0, 0, -0.49242305755615234, 0.870355963706970214, 120, 255, 1, "", 51943, NULL),
|
||||
(2262, 180408, 0, 0, 0, 1, 1, -8509.837890625, 1039.12109375, 79.19519805908203125, 3.054326534271240234, 0, 0, 0.999048233032226562, 0.043619260191917419, 120, 255, 1, "", 51943, NULL),
|
||||
(2263, 180408, 0, 0, 0, 1, 1, 1643.61767578125, 223.363037109375, -38.3810615539550781, 3.735006093978881835, 0, 0, -0.95630455017089843, 0.292372345924377441, 120, 255, 1, "", 45942, NULL),
|
||||
(2264, 180408, 530, 0, 0, 1, 1, -2559.494140625, 4419.9501953125, 42.29123687744140625, 6.108653545379638671, 0, 0, -0.08715534210205078, 0.996194720268249511, 120, 255, 1, "", 45942, NULL),
|
||||
(2265, 180408, 530, 0, 0, 1, 1, -2565.350341796875, 4418.80224609375, 42.29236984252929687, 6.108653545379638671, 0, 0, -0.08715534210205078, 0.996194720268249511, 120, 255, 1, "", 45942, NULL),
|
||||
(2266, 180408, 530, 0, 0, 1, 1, -2571.732666015625, 4418.60693359375, 41.83348846435546875, 6.003933906555175781, 0, 0, -0.13917255401611328, 0.990268170833587646, 120, 255, 1, "", 45942, NULL),
|
||||
(2267, 180408, 530, 0, 0, 1, 1, -2573.02392578125, 4423.5087890625, 42.16131210327148437, 4.380776405334472656, 0, 0, -0.81411552429199218, 0.580702960491180419, 120, 255, 1, "", 45942, NULL),
|
||||
(2268, 180408, 530, 0, 0, 1, 1, -2903.03466796875, 3972.208740234375, 9.813815116882324218, 2.967041015625, 0, 0, 0.996193885803222656, 0.087165042757987976, 120, 255, 1, "", 45942, NULL),
|
||||
(2269, 180408, 530, 0, 0, 1, 1, -2904.217041015625, 3987.651611328125, 10.21193885803222656, 5.881760597229003906, 0, 0, -0.19936752319335937, 0.979924798011779785, 120, 255, 1, "", 45942, NULL),
|
||||
(2270, 180408, 530, 0, 0, 1, 1, -2988.06689453125, 3993.822998046875, 4.166106224060058593, 2.583080768585205078, 0, 0, 0.961260795593261718, 0.275640487670898437, 120, 255, 1, "", 45942, NULL),
|
||||
(2271, 180408, 530, 0, 0, 1, 1, -3021.18310546875, 2550.076904296875, 85.5597076416015625, 2.094393253326416015, 0, 0, 0.866024971008300781, 0.50000077486038208, 120, 255, 1, "", 45942, NULL),
|
||||
(2272, 180408, 530, 0, 0, 1, 1, -3024.235595703125, 2555.88427734375, 86.31472015380859375, 2.338739633560180664, 0, 0, 0.920504570007324218, 0.3907318115234375, 120, 255, 1, "", 45942, NULL),
|
||||
(2273, 180408, 530, 0, 0, 1, 1, -3950.779052734375, 2104.76171875, 102.7866134643554687, 2.583080768585205078, 0, 0, 0.961260795593261718, 0.275640487670898437, 120, 255, 1, "", 51943, NULL),
|
||||
(2274, 180408, 530, 0, 0, 1, 1, 2425.00146484375, 5960.23095703125, 154.0964202880859375, 5.497788906097412109, 0, 0, -0.38268280029296875, 0.923879802227020263, 120, 255, 1, "", 45942, NULL),
|
||||
(2275, 180408, 571, 0, 0, 1, 1, 2923.913330078125, 6238.71728515625, 208.8952484130859375, 3.508116960525512695, 0, 0, -0.98325443267822265, 0.182238012552261352, 120, 255, 1, "", 46158, NULL),
|
||||
(2276, 180408, 571, 0, 0, 1, 1, 2925.91748046875, 6235.0947265625, 216.3796234130859375, 3.94444584846496582, 0, 0, -0.92050457000732421, 0.3907318115234375, 120, 255, 1, "", 46158, NULL),
|
||||
(2277, 180408, 571, 0, 0, 1, 1, 2927.372314453125, 6251.384765625, 216.4442291259765625, 5.515241622924804687, 0, 0, -0.37460613250732421, 0.927184045314788818, 120, 255, 1, "", 46158, NULL),
|
||||
(2278, 180408, 571, 0, 0, 1, 1, 3256.490478515625, -2269.6533203125, 114.1506118774414062, 2.844882726669311523, 0, 0, 0.989015579223632812, 0.147811368107795715, 120, 255, 1, "", 46158, NULL),
|
||||
(2279, 180408, 571, 0, 0, 1, 1, 3517.159912109375, 2000.1688232421875, 64.8623504638671875, 2.44346022605895996, 0, 0, 0.939692497253417968, 0.34202045202255249, 120, 255, 1, "", 46158, NULL),
|
||||
(2280, 180408, 571, 0, 0, 1, 1, 3839.223876953125, -4546.8037109375, 217.410003662109375, 2.356194972991943359, 0, 0, 0.923879623413085937, 0.382683247327804565, 120, 255, 1, "", 46158, NULL),
|
||||
(2281, 180408, 571, 0, 0, 1, 1, 3874.0791015625, -4498.49267578125, 223.858062744140625, 5.270895957946777343, 0, 0, -0.48480892181396484, 0.87462007999420166, 120, 255, 1, "", 46158, NULL),
|
||||
(2282, 180408, 571, 0, 0, 1, 1, 3874.124267578125, -4526.17724609375, 220.103179931640625, 3.054326534271240234, 0, 0, 0.999048233032226562, 0.043619260191917419, 120, 255, 1, "", 46158, NULL),
|
||||
(2283, 180408, 571, 0, 0, 1, 1, 4119.86279296875, 5304.66162109375, 33.65726470947265625, 3.961898565292358398, 0, 0, -0.91705989837646484, 0.398749500513076782, 120, 255, 1, "", 46158, NULL),
|
||||
(2284, 180408, 571, 0, 0, 1, 1, 4136.22900390625, 5321.447265625, 33.53544998168945312, 3.682650327682495117, 0, 0, -0.96362972259521484, 0.26724100112915039, 120, 255, 1, "", 46158, NULL),
|
||||
(2285, 180408, 571, 0, 0, 1, 1, 4146.88916015625, 5330.11279296875, 33.63814544677734375, 3.90954136848449707, 0, 0, -0.92718315124511718, 0.37460830807685852, 120, 255, 1, "", 46158, NULL),
|
||||
(2286, 180408, 571, 0, 0, 1, 1, 4154.6103515625, 5340.5390625, 33.98043441772460937, 3.926995515823364257, 0, 0, -0.92387866973876953, 0.38268551230430603, 120, 255, 1, "", 46158, NULL),
|
||||
(2287, 180408, 571, 0, 0, 1, 1, 4248.60400390625, 5256.0009765625, 76.13831329345703125, 4.031712055206298828, 0, 0, -0.90258502960205078, 0.430511653423309326, 120, 255, 1, "", 51739, NULL),
|
||||
(2288, 180408, 571, 0, 0, 1, 1, 5547.18212890625, 5734.34423828125, -70.3775253295898437, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 46158, NULL),
|
||||
(2289, 180408, 571, 0, 0, 1, 1, 5570.32275390625, 5767.2021484375, -65.552093505859375, 1.466075778007507324, 0, 0, 0.669130325317382812, 0.74314504861831665, 120, 255, 1, "", 46158, NULL),
|
||||
(2290, 180408, 571, 0, 0, 1, 1, 5590.96728515625, 5749.4775390625, -66.4042587280273437, 4.904376029968261718, 0, 0, -0.636077880859375, 0.771624863147735595, 120, 255, 1, "", 46158, NULL),
|
||||
(2291, 180408, 571, 0, 0, 1, 1, 5764.4189453125, -3572.029296875, 400.467742919921875, 2.967041015625, 0, 0, 0.996193885803222656, 0.087165042757987976, 120, 255, 1, "", 46158, NULL),
|
||||
(2292, 180408, 571, 0, 0, 1, 1, 5796.509765625, -3596.129150390625, 396.39996337890625, 4.537858963012695312, 0, 0, -0.76604366302490234, 0.642788589000701904, 120, 255, 1, "", 46158, NULL),
|
||||
(2293, 180408, 571, 0, 0, 1, 1, 8478.7763671875, -335.013275146484375, 907.49053955078125, 4.502951622009277343, 0, 0, -0.7771453857421875, 0.629321098327636718, 120, 255, 1, "", 46158, NULL),
|
||||
(2294, 180409, 0, 0, 0, 1, 1, 1640.760009765625, 223.3173065185546875, -43.1032600402832031, 6.161012649536132812, 0, 0, -0.06104850769042968, 0.998134791851043701, 120, 255, 1, "", 45942, NULL),
|
||||
(2295, 180409, 530, 0, 0, 1, 1, -2559.0126953125, 4425.88037109375, 39.49637985229492187, 5.550147056579589843, 0, 0, -0.358367919921875, 0.933580458164215087, 120, 255, 1, "", 45942, NULL),
|
||||
(2296, 180409, 530, 0, 0, 1, 1, -2561.61181640625, 4430.6484375, 38.817901611328125, 5.480334281921386718, 0, 0, -0.39073085784912109, 0.920504987239837646, 120, 255, 1, "", 45942, NULL),
|
||||
(2297, 180409, 530, 0, 0, 1, 1, -3007.308837890625, 2547.42919921875, 78.31081390380859375, 0.820303261280059814, 0, 0, 0.398748397827148437, 0.917060375213623046, 120, 255, 1, "", 45942, NULL),
|
||||
(2298, 180409, 530, 0, 0, 1, 1, -3015.0859375, 2544.400634765625, 79.00568389892578125, 0.506144583225250244, 0, 0, 0.250379562377929687, 0.968147754669189453, 120, 255, 1, "", 45942, NULL),
|
||||
(2299, 180409, 530, 0, 0, 1, 1, -3028.776611328125, 2568.69384765625, 79.1988677978515625, 1.012289404869079589, 0, 0, 0.484808921813964843, 0.87462007999420166, 120, 255, 1, "", 45942, NULL),
|
||||
(2300, 180428, 0, 0, 0, 1, 1, -8872.4501953125, 676.86187744140625, 97.90305328369140625, 1.989672422409057617, 0, 0, 0.838669776916503906, 0.544640243053436279, 120, 255, 1, "", 46158, NULL),
|
||||
(2301, 180428, 0, 0, 0, 1, 1, -9.84445571899414062, -907.1767578125, 57.54604721069335937, 5.061456203460693359, 0, 0, -0.57357597351074218, 0.819152355194091796, 120, 255, 1, "", 45942, NULL),
|
||||
(2302, 180428, 0, 0, 0, 1, 1, -9477.029296875, 34.60725784301757812, 56.96610641479492187, 0.139624491333961486, 0, 0, 0.06975555419921875, 0.997564136981964111, 120, 255, 1, "", 46158, NULL),
|
||||
(2303, 180428, 0, 0, 0, 1, 1, 2250.75048828125, 248.6014251708984375, 34.26037979125976562, 2.356194972991943359, 0, 0, 0.923879623413085937, 0.382683247327804565, 120, 255, 1, "", 45942, NULL),
|
||||
(2304, 180428, 530, 0, 0, 1, 1, -627.74847412109375, 4148.1953125, 64.28204345703125, 3.368495941162109375, 0, 0, -0.99357128143310546, 0.113208353519439697, 120, 255, 1, "", 45942, NULL),
|
||||
(2305, 180428, 530, 0, 0, 1, 1, -701.30609130859375, 2721.625, 93.73525238037109375, 3.106652259826660156, 0, 0, 0.999847412109375, 0.017469281330704689, 120, 255, 1, "", 51739, NULL),
|
||||
(2306, 180428, 530, 0, 0, 1, 1, 177.840118408203125, 2615.923095703125, 87.11685943603515625, 4.712389945983886718, 0, 0, -0.70710659027099609, 0.707106947898864746, 120, 255, 1, "", 45942, NULL),
|
||||
(2307, 180428, 530, 0, 0, 1, 1, 2011.2684326171875, 6882.884765625, 179.013641357421875, 5.515241622924804687, 0, 0, -0.37460613250732421, 0.927184045314788818, 120, 255, 1, "", 51943, NULL),
|
||||
(2308, 180428, 530, 0, 0, 1, 1, 213.8534088134765625, 4360.46337890625, 120.4301605224609375, 2.234017848968505859, 0, 0, 0.898793220520019531, 0.438372820615768432, 120, 255, 1, "", 51943, NULL),
|
||||
(2309, 180428, 530, 0, 0, 1, 1, 2428.251220703125, 5959.75634765625, 152.4853057861328125, 1.239183306694030761, 0, 0, 0.580702781677246093, 0.814115643501281738, 120, 255, 1, "", 45942, NULL),
|
||||
(2310, 180428, 571, 0, 0, 1, 1, 2280.373291015625, 5188.88037109375, 12.49332523345947265, 1.448621988296508789, 0, 0, 0.662619590759277343, 0.748956084251403808, 120, 255, 1, "", 51739, NULL),
|
||||
(2311, 180428, 571, 0, 0, 1, 1, 2284.56689453125, 5211.0478515625, 12.4884195327758789, 5.462882041931152343, 0, 0, -0.39874839782714843, 0.917060375213623046, 120, 255, 1, "", 51739, NULL),
|
||||
(2312, 180429, 0, 0, 0, 1, 1, -10524.1884765625, -1159.0728759765625, 28.2194061279296875, 5.969027042388916015, 0, 0, -0.1564340591430664, 0.987688362598419189, 120, 255, 1, "", 46158, NULL),
|
||||
(2313, 180429, 0, 0, 0, 1, 1, -8873.5283203125, 680.03472900390625, 98.63916778564453125, 2.460912704467773437, 0, 0, 0.942641258239746093, 0.333807557821273803, 120, 255, 1, "", 46158, NULL),
|
||||
(2314, 180429, 0, 0, 0, 1, 1, -9473.25390625, 35.55826950073242187, 57.69527053833007812, 6.021387100219726562, 0, 0, -0.13052558898925781, 0.991444945335388183, 120, 255, 1, "", 46158, NULL),
|
||||
(2315, 180429, 0, 0, 0, 1, 1, 2254.93408203125, 234.1684112548828125, 34.1852874755859375, 2.042035102844238281, 0, 0, 0.852640151977539062, 0.522498607635498046, 120, 255, 1, "", 45942, NULL),
|
||||
(2316, 180429, 530, 0, 0, 1, 1, -630.75225830078125, 4146.2880859375, 64.64714813232421875, 2.687806606292724609, 0, 0, 0.974370002746582031, 0.224951311945915222, 120, 255, 1, "", 45942, NULL),
|
||||
(2317, 180429, 530, 0, 0, 1, 1, -699.79461669921875, 2720.859375, 94.11025238037109375, 2.321286916732788085, 0, 0, 0.917059898376464843, 0.398749500513076782, 120, 255, 1, "", 51739, NULL),
|
||||
(2318, 180429, 530, 0, 0, 1, 1, 180.1083526611328125, 2615.590576171875, 87.28353118896484375, 5.6897735595703125, 0, 0, -0.29237174987792968, 0.956304728984832763, 120, 255, 1, "", 45942, NULL),
|
||||
(2319, 180429, 530, 0, 0, 1, 1, 2008.32080078125, 6879.81103515625, 178.9918212890625, 0.174532130360603332, 0, 0, 0.087155342102050781, 0.996194720268249511, 120, 255, 1, "", 51943, NULL),
|
||||
(2320, 180429, 530, 0, 0, 1, 1, 215.0826873779296875, 4358.1171875, 120.3986663818359375, 0.174532130360603332, 0, 0, 0.087155342102050781, 0.996194720268249511, 120, 255, 1, "", 51943, NULL),
|
||||
(2321, 180429, 571, 0, 0, 1, 1, 5592.13037109375, 5742.2861328125, -70.1109542846679687, 4.607671737670898437, 0, 0, -0.74314403533935546, 0.669131457805633544, 120, 255, 1, "", 46158, NULL);
|
||||
|
||||
-- enable all spawns for eventEntry 12
|
||||
DELETE FROM `game_event_gameobject` WHERE (`eventEntry` = 12)
|
||||
AND (`guid` IN (SELECT `guid` FROM `gameobject` WHERE `id` IN (180408, 180409, 180428, 180429)));
|
||||
INSERT INTO `game_event_gameobject` (SELECT 12, `guid` FROM `gameobject` WHERE `id` IN (180408, 180409, 180428, 180429));
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
@@ -1998,7 +1998,7 @@ bool CollisionDetection::isPointInsideTriangle(
|
||||
break;
|
||||
|
||||
default:
|
||||
// This case is here to supress a warning on Linux
|
||||
// This case is here to suppress a warning on Linux
|
||||
i = j = 0;
|
||||
debugAssertM(false, "Should not get here.");
|
||||
break;
|
||||
|
||||
@@ -277,7 +277,7 @@ void PetAI::UpdateAI(uint32 diff)
|
||||
{
|
||||
if (CanAttack(target) && spell->CanAutoCast(target))
|
||||
{
|
||||
targetSpellStore.push_back(std::make_pair(target, spell));
|
||||
targetSpellStore.emplace_back(target, spell);
|
||||
spellUsed = true;
|
||||
}
|
||||
}
|
||||
@@ -295,7 +295,7 @@ void PetAI::UpdateAI(uint32 diff)
|
||||
|
||||
if (spell->CanAutoCast(ally))
|
||||
{
|
||||
targetSpellStore.push_back(std::make_pair(ally, spell));
|
||||
targetSpellStore.emplace_back(ally, spell);
|
||||
spellUsed = true;
|
||||
break;
|
||||
}
|
||||
@@ -310,7 +310,7 @@ void PetAI::UpdateAI(uint32 diff)
|
||||
{
|
||||
Spell* spell = new Spell(me, spellInfo, TRIGGERED_NONE);
|
||||
if (spell->CanAutoCast(me->GetVictim()))
|
||||
targetSpellStore.push_back(std::make_pair(me->GetVictim(), spell));
|
||||
targetSpellStore.emplace_back(me->GetVictim(), spell);
|
||||
else
|
||||
delete spell;
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ namespace AddonMgr
|
||||
std::string name = fields[0].Get<std::string>();
|
||||
uint32 crc = fields[1].Get<uint32>();
|
||||
|
||||
m_knownAddons.push_back(SavedAddon(name, crc));
|
||||
m_knownAddons.emplace_back(name, crc);
|
||||
|
||||
++count;
|
||||
} while (result->NextRow());
|
||||
@@ -76,13 +76,12 @@ namespace AddonMgr
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
BannedAddon addon{};
|
||||
addon.Id = fields[0].Get<uint32>() + offset;
|
||||
addon.Timestamp = uint32(fields[3].Get<uint64>());
|
||||
addon.NameMD5 = Acore::Crypto::MD5::GetDigestOf(fields[1].Get<std::string>());
|
||||
addon.VersionMD5 = Acore::Crypto::MD5::GetDigestOf(fields[2].Get<std::string>());
|
||||
uint32 Id = fields[0].Get<uint32>() + offset;
|
||||
std::array<uint8, 16> NameMD5 = Acore::Crypto::MD5::GetDigestOf(fields[1].Get<std::string>());
|
||||
std::array<uint8, 16> VersionMD5 = Acore::Crypto::MD5::GetDigestOf(fields[2].Get<std::string>());
|
||||
uint32 Timestamp = uint32(fields[3].Get<uint64>());
|
||||
|
||||
m_bannedAddons.emplace_back(addon);
|
||||
m_bannedAddons.emplace_back(Id, NameMD5, VersionMD5, Timestamp);
|
||||
|
||||
++count2;
|
||||
} while (result->NextRow());
|
||||
@@ -94,16 +93,14 @@ namespace AddonMgr
|
||||
|
||||
void SaveAddon(AddonInfo const& addon)
|
||||
{
|
||||
std::string name = addon.Name;
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_ADDON);
|
||||
|
||||
stmt->SetData(0, name);
|
||||
stmt->SetData(0, addon.Name);
|
||||
stmt->SetData(1, addon.CRC);
|
||||
|
||||
CharacterDatabase.Execute(stmt);
|
||||
|
||||
m_knownAddons.push_back(SavedAddon(addon.Name, addon.CRC));
|
||||
m_knownAddons.emplace_back(addon.Name, addon.CRC);
|
||||
}
|
||||
|
||||
SavedAddon const* GetAddonInfo(const std::string& name)
|
||||
|
||||
@@ -38,10 +38,7 @@ struct AddonInfo
|
||||
|
||||
struct SavedAddon
|
||||
{
|
||||
SavedAddon(std::string name, uint32 crc) : Name(std::move(name))
|
||||
{
|
||||
CRC = crc;
|
||||
}
|
||||
SavedAddon(std::string name, uint32 crc) : Name(std::move(name)), CRC(crc) {}
|
||||
|
||||
std::string Name;
|
||||
uint32 CRC;
|
||||
@@ -49,6 +46,9 @@ struct SavedAddon
|
||||
|
||||
struct BannedAddon
|
||||
{
|
||||
BannedAddon(uint32 id, std::array<uint8, 16> const& nameMD5, std::array<uint8, 16> const& versionMD5, uint32 timestamp)
|
||||
: Id(id), NameMD5(nameMD5), VersionMD5(versionMD5), Timestamp(timestamp) {}
|
||||
|
||||
uint32 Id;
|
||||
std::array<uint8, 16> NameMD5;
|
||||
std::array<uint8, 16> VersionMD5;
|
||||
|
||||
@@ -74,7 +74,7 @@ void ChannelMgr::LoadChannels()
|
||||
if (!Utf8toWStr(channelName, channelWName))
|
||||
{
|
||||
LOG_ERROR("server.loading", "Failed to load channel '{}' from database - invalid utf8 sequence? Deleted.", channelName);
|
||||
toDelete.push_back({ channelName, team });
|
||||
toDelete.emplace_back(channelName, team);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ void ChannelMgr::LoadChannels()
|
||||
if (!mgr)
|
||||
{
|
||||
LOG_ERROR("server.loading", "Failed to load custom chat channel '{}' from database - invalid team {}. Deleted.", channelName, team);
|
||||
toDelete.push_back({ channelName, team });
|
||||
toDelete.emplace_back(channelName, team);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,21 +78,7 @@ void CharmInfo::InitPossessCreateSpells()
|
||||
{
|
||||
if (_unit->IsCreature())
|
||||
{
|
||||
// Adding switch until better way is found. Malcrom
|
||||
// Adding entrys to this switch will prevent COMMAND_ATTACK being added to pet bar.
|
||||
switch (_unit->GetEntry())
|
||||
{
|
||||
case 23575: // Mindless Abomination
|
||||
case 24783: // Trained Rock Falcon
|
||||
case 27664: // Crashin' Thrashin' Racer
|
||||
case 40281: // Crashin' Thrashin' Racer
|
||||
case 23109: // Vengeful Spirit
|
||||
case 25653: // Power of the Blue Flight
|
||||
break;
|
||||
default:
|
||||
InitEmptyActionBar();
|
||||
break;
|
||||
}
|
||||
InitEmptyActionBar(false);
|
||||
|
||||
for (uint32 i = 0; i < MAX_CREATURE_SPELLS; ++i)
|
||||
{
|
||||
@@ -160,11 +146,14 @@ bool CharmInfo::AddSpellToActionBar(SpellInfo const* spellInfo, ActiveStates new
|
||||
{
|
||||
uint32 spell_id = 0;
|
||||
uint32 first_id = 0;
|
||||
bool autocastable = false;
|
||||
|
||||
if (spellInfo)
|
||||
{
|
||||
spell_id = spellInfo->Id;
|
||||
first_id = spellInfo->GetFirstRankSpell()->Id;
|
||||
if (spellInfo->IsAutocastable())
|
||||
autocastable = true;
|
||||
}
|
||||
|
||||
// new spell rank can be already listed
|
||||
@@ -188,7 +177,10 @@ bool CharmInfo::AddSpellToActionBar(SpellInfo const* spellInfo, ActiveStates new
|
||||
if (i != index && index <= MAX_UNIT_ACTION_BAR_INDEX)
|
||||
continue;
|
||||
|
||||
SetActionBar(i, spell_id, newstate == ACT_DECIDE ? spellInfo->IsAutocastable() ? ACT_DISABLED : ACT_PASSIVE : newstate);
|
||||
if (!spell_id && index == ACTION_BAR_INDEX_START)
|
||||
SetActionBar(ACTION_BAR_INDEX_START, COMMAND_ATTACK, ACT_COMMAND);
|
||||
else
|
||||
SetActionBar(i, spell_id, newstate == ACT_DECIDE ? autocastable ? ACT_DISABLED : ACT_PASSIVE : newstate);
|
||||
|
||||
if (_unit->GetCharmer() && _unit->GetCharmer()->IsPlayer())
|
||||
{
|
||||
|
||||
@@ -1062,7 +1062,7 @@ uint32 Unit::DealDamage(Unit* attacker, Unit* victim, uint32 damage, CleanDamage
|
||||
{
|
||||
if (spellProto && victim->CanHaveThreatList() && !victim->HasUnitState(UNIT_STATE_EVADE) && !victim->IsInCombatWith(attacker))
|
||||
{
|
||||
victim->CombatStart(attacker, !(spellProto->AttributesEx3 & SPELL_ATTR3_SUPRESS_TARGET_PROCS));
|
||||
victim->CombatStart(attacker, !(spellProto->AttributesEx3 & SPELL_ATTR3_SUPPRESS_TARGET_PROCS));
|
||||
}
|
||||
|
||||
victim->AddThreat(attacker, float(damage), damageSchoolMask, spellProto);
|
||||
@@ -4076,9 +4076,11 @@ void Unit::InterruptSpell(CurrentSpellTypes spellType, bool withDelayed, bool wi
|
||||
|
||||
if (spell->getState() != SPELL_STATE_FINISHED)
|
||||
spell->cancel(bySelf);
|
||||
|
||||
m_currentSpells[spellType] = nullptr;
|
||||
spell->SetReferencedFromCurrent(false);
|
||||
else
|
||||
{
|
||||
m_currentSpells[spellType] = nullptr;
|
||||
spell->SetReferencedFromCurrent(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5093,10 +5095,13 @@ void Unit::RemoveAurasDueToItemSpell(uint32 spellId, ObjectGuid castItemGuid)
|
||||
++iter;
|
||||
}
|
||||
|
||||
for (AuraMap::iterator iter = m_ownedAuras.begin(); iter != m_ownedAuras.end();)
|
||||
for (AuraMap::iterator iter = m_ownedAuras.lower_bound(spellId); iter != m_ownedAuras.upper_bound(spellId);)
|
||||
{
|
||||
if (iter->second->GetCastItemGUID() == castItemGuid)
|
||||
RemoveOwnedAura(iter, AURA_REMOVE_BY_DEFAULT);
|
||||
{
|
||||
RemoveOwnedAura(iter, AURA_REMOVE_BY_DEFAULT);
|
||||
iter = m_ownedAuras.lower_bound(spellId);
|
||||
}
|
||||
else
|
||||
++iter;
|
||||
}
|
||||
@@ -19787,6 +19792,8 @@ void Unit::_ExitVehicle(Position const* exitPosition)
|
||||
if (!m_vehicle)
|
||||
return;
|
||||
|
||||
// This should be done before dismiss, because there may be some aura removal
|
||||
VehicleSeatAddon const* seatAddon = m_vehicle->GetSeatAddonForSeatOfPassenger(this);
|
||||
m_vehicle->RemovePassenger(this);
|
||||
|
||||
Player* player = ToPlayer();
|
||||
@@ -19795,7 +19802,6 @@ void Unit::_ExitVehicle(Position const* exitPosition)
|
||||
if (player && player->duel && player->duel->IsMounted)
|
||||
player->DuelComplete(DUEL_FLED);
|
||||
|
||||
// This should be done before dismiss, because there may be some aura removal
|
||||
Vehicle* vehicle = m_vehicle;
|
||||
Unit* vehicleBase = m_vehicle->GetBase();
|
||||
m_vehicle = nullptr;
|
||||
@@ -19806,33 +19812,22 @@ void Unit::_ExitVehicle(Position const* exitPosition)
|
||||
SetControlled(false, UNIT_STATE_ROOT); // SMSG_MOVE_FORCE_UNROOT, ~MOVEMENTFLAG_ROOT
|
||||
|
||||
Position pos;
|
||||
if (!exitPosition) // Exit position not specified
|
||||
pos = vehicleBase->GetPosition(); // This should use passenger's current position, leaving it as it is now
|
||||
// because we calculate positions incorrect (sometimes under map)
|
||||
else
|
||||
// If we ask for a specific exit position, use that one. Otherwise allow scripts to modify it
|
||||
if (exitPosition)
|
||||
pos = *exitPosition;
|
||||
|
||||
// HACK
|
||||
VehicleEntry const* vehicleInfo = vehicle->GetVehicleInfo();
|
||||
if (vehicleInfo)
|
||||
else
|
||||
{
|
||||
if (vehicleInfo->m_ID == 380) // Kologarn right arm
|
||||
// Set exit position to vehicle position and use the current orientation
|
||||
pos = vehicleBase->GetPosition(); // This should use passenger's current position, leaving it as it is now
|
||||
pos.SetOrientation(vehicleBase->GetOrientation());
|
||||
|
||||
// Change exit position based on seat entry addon data
|
||||
if (seatAddon)
|
||||
{
|
||||
pos.Relocate(1776.0f, -24.0f, 448.75f, 0.0f);
|
||||
}
|
||||
else if (vehicleInfo->m_ID == 91) // Helsman's Ship
|
||||
{
|
||||
pos.Relocate(2802.18f, 7054.91f, -0.6f, 4.67f);
|
||||
}
|
||||
else if (vehicleInfo->m_ID == 349) // AT Mounts, dismount to the right
|
||||
{
|
||||
float x = pos.GetPositionX() + 2.0f * cos(pos.GetOrientation() - M_PI / 2.0f);
|
||||
float y = pos.GetPositionY() + 2.0f * std::sin(pos.GetOrientation() - M_PI / 2.0f);
|
||||
float z = GetMapHeight(x, y, pos.GetPositionZ());
|
||||
if (z > INVALID_HEIGHT)
|
||||
{
|
||||
pos.Relocate(x, y, z);
|
||||
}
|
||||
if (seatAddon->ExitParameter == VehicleExitParameters::VehicleExitParamOffset)
|
||||
pos.RelocateOffset({ seatAddon->ExitParameterX, seatAddon->ExitParameterY, seatAddon->ExitParameterZ, seatAddon->ExitParameterO });
|
||||
else if (seatAddon->ExitParameter == VehicleExitParameters::VehicleExitParamDest)
|
||||
pos.Relocate({ seatAddon->ExitParameterX, seatAddon->ExitParameterY, seatAddon->ExitParameterZ, seatAddon->ExitParameterO });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19852,11 +19847,12 @@ void Unit::_ExitVehicle(Position const* exitPosition)
|
||||
}
|
||||
|
||||
// xinef: hack for flameleviathan seat vehicle
|
||||
VehicleEntry const* vehicleInfo = vehicle->GetVehicleInfo();
|
||||
if (!vehicleInfo || vehicleInfo->m_ID != 341)
|
||||
{
|
||||
Movement::MoveSplineInit init(this);
|
||||
init.MoveTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ());
|
||||
init.SetFacing(GetOrientation());
|
||||
init.SetFacing(vehicleBase->GetOrientation());
|
||||
init.SetTransportExit();
|
||||
init.Launch();
|
||||
}
|
||||
@@ -19909,10 +19905,7 @@ void Unit::_ExitVehicle(Position const* exitPosition)
|
||||
setDeathState(DeathState::JustDied);
|
||||
// If for other reason we as minion are exiting the vehicle (ejected, master dismounted) - unsummon
|
||||
else
|
||||
{
|
||||
SetVisible(false);
|
||||
ToTempSummon()->UnSummon(2000); // Approximation
|
||||
}
|
||||
}
|
||||
|
||||
if (player)
|
||||
|
||||
@@ -34,15 +34,18 @@ Vehicle::Vehicle(Unit* unit, VehicleEntry const* vehInfo, uint32 creatureEntry)
|
||||
if (uint32 seatId = _vehicleInfo->m_seatID[i])
|
||||
if (VehicleSeatEntry const* veSeat = sVehicleSeatStore.LookupEntry(seatId))
|
||||
{
|
||||
Seats.insert(std::make_pair(i, VehicleSeat(veSeat)));
|
||||
VehicleSeatAddon const* addon = sObjectMgr->GetVehicleSeatAddon(seatId);
|
||||
Seats.insert(std::make_pair(i, VehicleSeat(veSeat, addon)));
|
||||
if (veSeat->CanEnterOrExit())
|
||||
++_usableSeatNum;
|
||||
}
|
||||
}
|
||||
|
||||
// Ulduar demolisher
|
||||
if (vehInfo->m_ID == 338)
|
||||
++_usableSeatNum;
|
||||
// Set or remove correct flags based on available seats. Will overwrite db data (if wrong).
|
||||
if (_usableSeatNum)
|
||||
_me->SetNpcFlag((_me->IsPlayer() ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK));
|
||||
else
|
||||
_me->RemoveNpcFlag((_me->IsPlayer() ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK));
|
||||
|
||||
InitMovementInfoForBase();
|
||||
}
|
||||
@@ -230,6 +233,15 @@ Unit* Vehicle::GetPassenger(int8 seatId) const
|
||||
return ObjectAccessor::GetUnit(*GetBase(), seat->second.Passenger.Guid);
|
||||
}
|
||||
|
||||
VehicleSeatAddon const* Vehicle::GetSeatAddonForSeatOfPassenger(Unit const* passenger) const
|
||||
{
|
||||
for (SeatMap::const_iterator itr = Seats.begin(); itr != Seats.end(); itr++)
|
||||
if (!itr->second.IsEmpty() && itr->second.Passenger.Guid == passenger->GetGUID())
|
||||
return itr->second.SeatAddon;
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int8 Vehicle::GetNextEmptySeat(int8 seatId, bool next) const
|
||||
{
|
||||
SeatMap::const_iterator seat = Seats.find(seatId);
|
||||
@@ -356,12 +368,9 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
|
||||
ASSERT(_usableSeatNum);
|
||||
--_usableSeatNum;
|
||||
if (!_usableSeatNum)
|
||||
{
|
||||
if (_me->IsPlayer())
|
||||
_me->RemoveNpcFlag(UNIT_NPC_FLAG_PLAYER_VEHICLE);
|
||||
else
|
||||
_me->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK);
|
||||
}
|
||||
_me->RemoveNpcFlag(_me->IsPlayer() ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK);
|
||||
else
|
||||
_me->SetNpcFlag(_me->IsPlayer() ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK);
|
||||
}
|
||||
|
||||
if (!_me || !_me->IsInWorld() || _me->IsDuringRemoveFromWorld())
|
||||
@@ -376,7 +385,14 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
|
||||
|
||||
unit->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
|
||||
VehicleSeatEntry const* veSeat = seat->second.SeatInfo;
|
||||
unit->m_movementInfo.transport.pos.Relocate(veSeat->m_attachmentOffsetX, veSeat->m_attachmentOffsetY, veSeat->m_attachmentOffsetZ);
|
||||
VehicleSeatAddon const* veSeatAddon = seat->second.SeatAddon;
|
||||
|
||||
float o = veSeatAddon ? veSeatAddon->SeatOrientationOffset : 0.f;
|
||||
float x = veSeat->m_attachmentOffsetX;
|
||||
float y = veSeat->m_attachmentOffsetY;
|
||||
float z = veSeat->m_attachmentOffsetZ;
|
||||
|
||||
unit->m_movementInfo.transport.pos.Relocate(x, y, z, o);
|
||||
unit->m_movementInfo.transport.time = 0;
|
||||
unit->m_movementInfo.transport.seat = seat->first;
|
||||
unit->m_movementInfo.transport.guid = _me->GetGUID();
|
||||
@@ -410,16 +426,17 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
|
||||
// also adds MOVEMENTFLAG_ROOT
|
||||
Movement::MoveSplineInit init(unit);
|
||||
init.DisableTransportPathTransformations();
|
||||
init.MoveTo(veSeat->m_attachmentOffsetX, veSeat->m_attachmentOffsetY, veSeat->m_attachmentOffsetZ);
|
||||
init.MoveTo(x, y, z, false, true);
|
||||
// Xinef: did not found anything unique in dbc, maybe missed something
|
||||
if (veSeat->m_ID == 3566 || veSeat->m_ID == 3567 || veSeat->m_ID == 3568 || veSeat->m_ID == 3570)
|
||||
{
|
||||
float x = veSeat->m_attachmentOffsetX, y = veSeat->m_attachmentOffsetY, z = veSeat->m_attachmentOffsetZ, o;
|
||||
CalculatePassengerPosition(x, y, z, &o);
|
||||
init.SetFacing(_me->GetAngle(x, y));
|
||||
}
|
||||
else
|
||||
init.SetFacing(0.0f);
|
||||
{
|
||||
init.SetFacing(o);
|
||||
}
|
||||
|
||||
init.SetTransportEnter();
|
||||
init.Launch();
|
||||
|
||||
@@ -41,6 +41,7 @@ public:
|
||||
bool HasEmptySeat(int8 seatId) const;
|
||||
Unit* GetPassenger(int8 seatId) const;
|
||||
int8 GetNextEmptySeat(int8 seatId, bool next) const;
|
||||
VehicleSeatAddon const* GetSeatAddonForSeatOfPassenger(Unit const* passenger) const;
|
||||
uint8 GetAvailableSeatCount() const;
|
||||
|
||||
bool AddPassenger(Unit* passenger, int8 seatId = -1);
|
||||
|
||||
@@ -57,6 +57,14 @@ enum VehicleSpells
|
||||
VEHICLE_SPELL_SHADE_CONTROL_END = 58664
|
||||
};
|
||||
|
||||
enum class VehicleExitParameters
|
||||
{
|
||||
VehicleExitParamNone = 0, // provided parameters will be ignored
|
||||
VehicleExitParamOffset = 1, // provided parameters will be used as offset values
|
||||
VehicleExitParamDest = 2, // provided parameters will be used as absolute destination
|
||||
VehicleExitParamMax
|
||||
};
|
||||
|
||||
enum VehicleNPCs
|
||||
{
|
||||
NPC_EIDOLON_WATCHER = 31110,
|
||||
@@ -75,9 +83,24 @@ struct PassengerInfo
|
||||
}
|
||||
};
|
||||
|
||||
struct VehicleSeatAddon
|
||||
{
|
||||
VehicleSeatAddon() { }
|
||||
VehicleSeatAddon(float orientatonOffset, float exitX, float exitY, float exitZ, float exitO, uint8 param) :
|
||||
SeatOrientationOffset(orientatonOffset), ExitParameterX(exitX), ExitParameterY(exitY), ExitParameterZ(exitZ),
|
||||
ExitParameterO(exitO), ExitParameter(VehicleExitParameters(param)) { }
|
||||
|
||||
float SeatOrientationOffset = 0.f;
|
||||
float ExitParameterX = 0.f;
|
||||
float ExitParameterY = 0.f;
|
||||
float ExitParameterZ = 0.f;
|
||||
float ExitParameterO = 0.f;
|
||||
VehicleExitParameters ExitParameter = VehicleExitParameters::VehicleExitParamNone;
|
||||
};
|
||||
|
||||
struct VehicleSeat
|
||||
{
|
||||
explicit VehicleSeat(VehicleSeatEntry const* seatInfo) : SeatInfo(seatInfo)
|
||||
explicit VehicleSeat(VehicleSeatEntry const* seatInfo, VehicleSeatAddon const* seatAddon) : SeatInfo(seatInfo), SeatAddon(seatAddon)
|
||||
{
|
||||
Passenger.Reset();
|
||||
}
|
||||
@@ -85,6 +108,7 @@ struct VehicleSeat
|
||||
[[nodiscard]] bool IsEmpty() const { return !Passenger.Guid; }
|
||||
|
||||
VehicleSeatEntry const* SeatInfo;
|
||||
VehicleSeatAddon const* SeatAddon;
|
||||
PassengerInfo Passenger;
|
||||
};
|
||||
|
||||
|
||||
@@ -3483,6 +3483,62 @@ void ObjectMgr::LoadVehicleAccessories()
|
||||
LOG_INFO("server.loading", " ");
|
||||
}
|
||||
|
||||
void ObjectMgr::LoadVehicleSeatAddon()
|
||||
{
|
||||
uint32 oldMSTime = getMSTime();
|
||||
|
||||
_vehicleSeatAddonStore.clear(); // needed for reload case
|
||||
|
||||
uint32 count = 0;
|
||||
|
||||
// 0 1 2 3 4 5 6
|
||||
QueryResult result = WorldDatabase.Query("SELECT `SeatEntry`, `SeatOrientation`, `ExitParamX`, `ExitParamY`, `ExitParamZ`, `ExitParamO`, `ExitParamValue` FROM `vehicle_seat_addon`");
|
||||
|
||||
if (!result)
|
||||
{
|
||||
LOG_ERROR("server.loading", ">> Loaded 0 vehicle seat addons. DB table `vehicle_seat_addon` is empty.");
|
||||
return;
|
||||
}
|
||||
|
||||
do
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
uint32 seatID = fields[0].Get<uint32>();
|
||||
float orientation = fields[1].Get<float>();
|
||||
float exitX = fields[2].Get<float>();
|
||||
float exitY = fields[3].Get<float>();
|
||||
float exitZ = fields[4].Get<float>();
|
||||
float exitO = fields[5].Get<float>();
|
||||
uint8 exitParam = fields[6].Get<uint8>();
|
||||
|
||||
if (!sVehicleSeatStore.LookupEntry(seatID))
|
||||
{
|
||||
LOG_ERROR("sql.sql", "Table `vehicle_seat_addon`: SeatID: %u does not exist in VehicleSeat.dbc. Skipping entry.", seatID);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Sanitizing values
|
||||
if (orientation > float(M_PI * 2))
|
||||
{
|
||||
LOG_ERROR("sql.sql", "Table `vehicle_seat_addon`: SeatID: %u is using invalid angle offset value (%f). Set Value to 0.", seatID, orientation);
|
||||
orientation = 0.0f;
|
||||
}
|
||||
|
||||
if (exitParam >= AsUnderlyingType(VehicleExitParameters::VehicleExitParamMax))
|
||||
{
|
||||
LOG_ERROR("sql.sql", "Table `vehicle_seat_addon`: SeatID: %u is using invalid exit parameter value (%u). Setting to 0 (none).", seatID, exitParam);
|
||||
continue;
|
||||
}
|
||||
|
||||
_vehicleSeatAddonStore[seatID] = VehicleSeatAddon(orientation, exitX, exitY, exitZ, exitO, exitParam);
|
||||
|
||||
++count;
|
||||
} while (result->NextRow());
|
||||
|
||||
LOG_INFO("server.loading", ">> Loaded %u Vehicle Seat Addon entries in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
|
||||
}
|
||||
|
||||
void ObjectMgr::LoadPetLevelInfo()
|
||||
{
|
||||
uint32 oldMSTime = getMSTime();
|
||||
|
||||
@@ -518,6 +518,7 @@ typedef std::map<std::pair<std::string, uint32>, ModuleString> ModuleStringConta
|
||||
typedef std::unordered_map<int32, AcoreString> AcoreStringContainer;
|
||||
typedef std::unordered_map<uint32, GossipMenuItemsLocale> GossipMenuItemsLocaleContainer;
|
||||
typedef std::unordered_map<uint32, PointOfInterestLocale> PointOfInterestLocaleContainer;
|
||||
typedef std::unordered_map<uint32, VehicleSeatAddon> VehicleSeatAddonContainer;
|
||||
|
||||
typedef std::multimap<uint32, uint32> QuestRelations;
|
||||
typedef std::pair<QuestRelations::const_iterator, QuestRelations::const_iterator> QuestRelationBounds;
|
||||
@@ -1053,6 +1054,7 @@ public:
|
||||
void LoadMailServerTemplates();
|
||||
void LoadVehicleTemplateAccessories();
|
||||
void LoadVehicleAccessories();
|
||||
void LoadVehicleSeatAddon();
|
||||
|
||||
void LoadGossipText();
|
||||
|
||||
@@ -1430,6 +1432,15 @@ public:
|
||||
|
||||
[[nodiscard]] bool IsTransportMap(uint32 mapId) const { return _transportMaps.count(mapId) != 0; }
|
||||
|
||||
VehicleSeatAddon const* GetVehicleSeatAddon(uint32 seatId) const
|
||||
{
|
||||
VehicleSeatAddonContainer::const_iterator itr = _vehicleSeatAddonStore.find(seatId);
|
||||
if (itr == _vehicleSeatAddonStore.end())
|
||||
return nullptr;
|
||||
|
||||
return &itr->second;
|
||||
}
|
||||
|
||||
[[nodiscard]] uint32 GetQuestMoneyReward(uint8 level, uint32 questMoneyDifficulty) const;
|
||||
void SendServerMail(Player* player, uint32 id, uint32 reqLevel, uint32 reqPlayTime, uint32 rewardMoneyA, uint32 rewardMoneyH, uint32 rewardItemA, uint32 rewardItemCountA, uint32 rewardItemH, uint32 rewardItemCountH, std::string subject, std::string body, uint8 active) const;
|
||||
private:
|
||||
@@ -1507,6 +1518,7 @@ private:
|
||||
|
||||
VehicleAccessoryContainer _vehicleTemplateAccessoryStore;
|
||||
VehicleAccessoryContainer _vehicleAccessoryStore;
|
||||
VehicleSeatAddonContainer _vehicleSeatAddonStore;
|
||||
|
||||
LocaleConstant DBCLocaleIndex;
|
||||
|
||||
|
||||
@@ -986,9 +986,6 @@ void WorldSession::HandleMoveRootAck(WorldPacket& recvData)
|
||||
mover->m_movementInfo = movementInfo;
|
||||
mover->UpdatePosition(movementInfo.pos);
|
||||
|
||||
WorldPacket data(MSG_MOVE_ROOT, 64);
|
||||
WriteMovementInfo(&data, &movementInfo);
|
||||
mover->SendMessageToSet(&data, _player);
|
||||
}
|
||||
|
||||
void WorldSession::HandleMoveUnRootAck(WorldPacket& recvData)
|
||||
@@ -1031,7 +1028,4 @@ void WorldSession::HandleMoveUnRootAck(WorldPacket& recvData)
|
||||
mover->m_movementInfo = movementInfo;
|
||||
mover->UpdatePosition(movementInfo.pos);
|
||||
|
||||
WorldPacket data(MSG_MOVE_UNROOT, 64);
|
||||
WriteMovementInfo(&data, &movementInfo);
|
||||
mover->SendMessageToSet(&data, _player);
|
||||
}
|
||||
|
||||
@@ -38,14 +38,8 @@ void WorldSession::HandleQuestgiverStatusQueryOpcode(WorldPacket& recvData)
|
||||
recvData >> guid;
|
||||
uint32 questStatus = DIALOG_STATUS_NONE;
|
||||
|
||||
GossipMenu& gossipMenu = _player->PlayerTalkClass->GetGossipMenu();
|
||||
// Did we already get a gossip menu with that NPC? if so no need to status query
|
||||
if (gossipMenu.GetSenderGUID() == guid)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Object* questGiver = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT);
|
||||
|
||||
if (!questGiver)
|
||||
{
|
||||
LOG_DEBUG("network.opcode", "Error in CMSG_QUESTGIVER_STATUS_QUERY, called for not found questgiver ({})", guid.ToString());
|
||||
@@ -55,21 +49,23 @@ void WorldSession::HandleQuestgiverStatusQueryOpcode(WorldPacket& recvData)
|
||||
switch (questGiver->GetTypeId())
|
||||
{
|
||||
case TYPEID_UNIT:
|
||||
{
|
||||
LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for npc {}", guid.ToString());
|
||||
if (!questGiver->ToCreature()->IsHostileTo(_player)) // do not show quest status to enemies
|
||||
questStatus = _player->GetQuestDialogStatus(questGiver);
|
||||
break;
|
||||
}
|
||||
{
|
||||
LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for npc {}", guid.ToString());
|
||||
if (!questGiver->ToCreature()->IsHostileTo(_player)) // do not show quest status to enemies
|
||||
questStatus = _player->GetQuestDialogStatus(questGiver);
|
||||
break;
|
||||
}
|
||||
|
||||
case TYPEID_GAMEOBJECT:
|
||||
{
|
||||
LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for GameObject {}", guid.ToString());
|
||||
if (sWorld->getBoolConfig(CONFIG_OBJECT_QUEST_MARKERS))
|
||||
{
|
||||
LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for GameObject {}", guid.ToString());
|
||||
if (sWorld->getBoolConfig(CONFIG_OBJECT_QUEST_MARKERS))
|
||||
{
|
||||
questStatus = _player->GetQuestDialogStatus(questGiver);
|
||||
}
|
||||
break;
|
||||
questStatus = _player->GetQuestDialogStatus(questGiver);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
LOG_ERROR("network.opcode", "QuestGiver called for unexpected type {}", questGiver->GetTypeId());
|
||||
break;
|
||||
|
||||
@@ -54,8 +54,8 @@ void LootItemStorage::LoadStorageFromDB()
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
StoredLootItemList& itemList = lootItemStore[ObjectGuid::Create<HighGuid::Item>(fields[0].Get<uint32>())];
|
||||
itemList.push_back(StoredLootItem(fields[1].Get<uint32>(), fields[2].Get<uint32>(), fields[3].Get<uint32>(), fields[4].Get<int32>(), fields[5].Get<uint32>(), fields[6].Get<bool>(),
|
||||
fields[7].Get<bool>(), fields[8].Get<bool>(), fields[9].Get<bool>(), fields[10].Get<bool>(), fields[11].Get<bool>(), fields[12].Get<uint32>()));
|
||||
itemList.emplace_back(fields[1].Get<uint32>(), fields[2].Get<uint32>(), fields[3].Get<uint32>(), fields[4].Get<int32>(), fields[5].Get<uint32>(), fields[6].Get<bool>(),
|
||||
fields[7].Get<bool>(), fields[8].Get<bool>(), fields[9].Get<bool>(), fields[10].Get<bool>(), fields[11].Get<bool>(), fields[12].Get<uint32>());
|
||||
|
||||
++count;
|
||||
} while (result->NextRow());
|
||||
@@ -94,7 +94,7 @@ void LootItemStorage::AddNewStoredLoot(Loot* loot, Player* /*player*/)
|
||||
// Gold at first
|
||||
if (loot->gold)
|
||||
{
|
||||
itemList.push_back(StoredLootItem(0, 0, loot->gold, 0, 0, false, false, false, false, false, false, 0));
|
||||
itemList.emplace_back(0, 0, loot->gold, 0, 0, false, false, false, false, false, false, 0);
|
||||
|
||||
uint8 index = 0;
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_ITEMCONTAINER_SINGLE_ITEM);
|
||||
@@ -134,8 +134,8 @@ void LootItemStorage::AddNewStoredLoot(Loot* loot, Player* /*player*/)
|
||||
conditionLootId = li->conditions.front()->SourceGroup;
|
||||
}
|
||||
|
||||
itemList.push_back(StoredLootItem(li->itemid, li->itemIndex, li->count, li->randomPropertyId, li->randomSuffix, li->follow_loot_rules, li->freeforall, li->is_blocked, li->is_counted,
|
||||
li->is_underthreshold, li->needs_quest, conditionLootId));
|
||||
itemList.emplace_back(li->itemid, li->itemIndex, li->count, li->randomPropertyId, li->randomSuffix, li->follow_loot_rules, li->freeforall, li->is_blocked, li->is_counted,
|
||||
li->is_underthreshold, li->needs_quest, conditionLootId);
|
||||
|
||||
uint8 index = 0;
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_ITEMCONTAINER_SINGLE_ITEM);
|
||||
|
||||
@@ -109,7 +109,7 @@ void LoadSkillDiscoveryTable()
|
||||
continue;
|
||||
}
|
||||
|
||||
SkillDiscoveryStore[reqSkillOrSpell].push_back(SkillDiscoveryEntry(spellId, reqSkillValue, chance));
|
||||
SkillDiscoveryStore[reqSkillOrSpell].emplace_back(spellId, reqSkillValue, chance);
|
||||
}
|
||||
else if (reqSkillOrSpell == 0) // skill case
|
||||
{
|
||||
@@ -122,7 +122,7 @@ void LoadSkillDiscoveryTable()
|
||||
}
|
||||
|
||||
for (SkillLineAbilityMap::const_iterator _spell_idx = bounds.first; _spell_idx != bounds.second; ++_spell_idx)
|
||||
SkillDiscoveryStore[-int32(_spell_idx->second->SkillLine)].push_back(SkillDiscoveryEntry(spellId, reqSkillValue, chance));
|
||||
SkillDiscoveryStore[-int32(_spell_idx->second->SkillLine)].emplace_back(spellId, reqSkillValue, chance);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -2677,7 +2677,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
|
||||
CallScriptBeforeHitHandlers(missInfo);
|
||||
|
||||
//Spells with this flag cannot trigger if effect is casted on self
|
||||
bool canEffectTrigger = !m_spellInfo->HasAttribute(SPELL_ATTR3_SUPRESS_CASTER_PROCS) && unitTarget->CanProc() && (CanExecuteTriggersOnHit(mask) || missInfo == SPELL_MISS_IMMUNE2);
|
||||
bool canEffectTrigger = !m_spellInfo->HasAttribute(SPELL_ATTR3_SUPPRESS_CASTER_PROCS) && unitTarget->CanProc() && (CanExecuteTriggersOnHit(mask) || missInfo == SPELL_MISS_IMMUNE2);
|
||||
bool reflectedSpell = missInfo == SPELL_MISS_REFLECT;
|
||||
Unit* spellHitTarget = nullptr;
|
||||
|
||||
@@ -2890,7 +2890,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
|
||||
m_triggeredByAuraSpell.effectIndex, this, &dmgInfo);
|
||||
|
||||
if (caster->IsPlayer() && m_spellInfo->HasAttribute(SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT) == 0 &&
|
||||
m_spellInfo->HasAttribute(SPELL_ATTR4_SUPRESS_WEAPON_PROCS) == 0 && (m_spellInfo->DmgClass == SPELL_DAMAGE_CLASS_MELEE || m_spellInfo->DmgClass == SPELL_DAMAGE_CLASS_RANGED))
|
||||
m_spellInfo->HasAttribute(SPELL_ATTR4_SUPPRESS_WEAPON_PROCS) == 0 && (m_spellInfo->DmgClass == SPELL_DAMAGE_CLASS_MELEE || m_spellInfo->DmgClass == SPELL_DAMAGE_CLASS_RANGED))
|
||||
caster->ToPlayer()->CastItemCombatSpell(unitTarget, m_attackType, procVictim, procEx);
|
||||
}
|
||||
|
||||
@@ -2912,7 +2912,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
|
||||
// Xinef: eg. rogue poisons can proc off cheap shot, etc. so this block should be here also
|
||||
// Xinef: ofc count only spells that HIT the target, little hack used to fool the system
|
||||
if ((procEx & PROC_EX_NORMAL_HIT || procEx & PROC_EX_CRITICAL_HIT) && caster->IsPlayer() && m_spellInfo->HasAttribute(SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT) == 0 &&
|
||||
m_spellInfo->HasAttribute(SPELL_ATTR4_SUPRESS_WEAPON_PROCS) == 0 && (m_spellInfo->DmgClass == SPELL_DAMAGE_CLASS_MELEE || m_spellInfo->DmgClass == SPELL_DAMAGE_CLASS_RANGED))
|
||||
m_spellInfo->HasAttribute(SPELL_ATTR4_SUPPRESS_WEAPON_PROCS) == 0 && (m_spellInfo->DmgClass == SPELL_DAMAGE_CLASS_MELEE || m_spellInfo->DmgClass == SPELL_DAMAGE_CLASS_RANGED))
|
||||
caster->ToPlayer()->CastItemCombatSpell(unitTarget, m_attackType, procVictim | PROC_FLAG_TAKEN_DAMAGE, procEx);
|
||||
}
|
||||
|
||||
@@ -2930,7 +2930,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
|
||||
if (missInfo != SPELL_MISS_EVADE && !m_caster->IsFriendlyTo(effectUnit) && (!m_spellInfo->IsPositive() || m_spellInfo->HasEffect(SPELL_EFFECT_DISPEL)))
|
||||
{
|
||||
if (!m_triggeredByAuraSpell.spellInfo || m_damage || (!(m_triggeredByAuraSpell.spellInfo->Effects[m_triggeredByAuraSpell.effectIndex].TriggerSpell == m_spellInfo->Id) && !(m_triggeredByAuraSpell.spellInfo->IsAuraEffectEqual(m_spellInfo))))
|
||||
m_caster->CombatStart(effectUnit, !(m_spellInfo->AttributesEx3 & SPELL_ATTR3_SUPRESS_TARGET_PROCS));
|
||||
m_caster->CombatStart(effectUnit, !(m_spellInfo->AttributesEx3 & SPELL_ATTR3_SUPPRESS_TARGET_PROCS));
|
||||
|
||||
// Patch 3.0.8: All player spells which cause a creature to become aggressive to you will now also immediately cause the creature to be tapped.
|
||||
if (effectUnit->IsInCombatWith(m_caster))
|
||||
@@ -3079,7 +3079,7 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
|
||||
}
|
||||
|
||||
// xinef: triggered spells should not prolong combat
|
||||
if (unit->IsInCombat() && !m_spellInfo->HasAttribute(SPELL_ATTR3_SUPRESS_TARGET_PROCS) && !m_triggeredByAuraSpell)
|
||||
if (unit->IsInCombat() && !m_spellInfo->HasAttribute(SPELL_ATTR3_SUPPRESS_TARGET_PROCS) && !m_triggeredByAuraSpell)
|
||||
{
|
||||
m_caster->SetInCombatState(unit->GetCombatTimer() > 0, unit);
|
||||
unit->getHostileRefMgr().threatAssist(m_caster, 0.0f);
|
||||
@@ -3840,8 +3840,8 @@ void Spell::_cast(bool skipCheck)
|
||||
// As of 3.0.2 pets begin attacking their owner's target immediately
|
||||
// Let any pets know we've attacked something. Check DmgClass for harmful spells only
|
||||
// This prevents spells such as Hunter's Mark from triggering pet attack
|
||||
// xinef: take into account SPELL_ATTR3_SUPRESS_TARGET_PROCS
|
||||
if ((m_targets.GetTargetMask() & TARGET_FLAG_UNIT) && GetSpellInfo()->DmgClass != SPELL_DAMAGE_CLASS_NONE && !GetSpellInfo()->HasAttribute(SPELL_ATTR3_SUPRESS_TARGET_PROCS))
|
||||
// xinef: take into account SPELL_ATTR3_SUPPRESS_TARGET_PROCS
|
||||
if ((m_targets.GetTargetMask() & TARGET_FLAG_UNIT) && GetSpellInfo()->DmgClass != SPELL_DAMAGE_CLASS_NONE && !GetSpellInfo()->HasAttribute(SPELL_ATTR3_SUPPRESS_TARGET_PROCS))
|
||||
if (!playerCaster->m_Controlled.empty())
|
||||
for (Unit::ControlSet::iterator itr = playerCaster->m_Controlled.begin(); itr != playerCaster->m_Controlled.end(); ++itr)
|
||||
if (Unit* pet = *itr)
|
||||
@@ -4081,13 +4081,15 @@ void Spell::_cast(bool skipCheck)
|
||||
if (modOwner)
|
||||
modOwner->SetSpellModTakingSpell(this, false);
|
||||
|
||||
if (const std::vector<int32>* spell_triggered = sSpellMgr->GetSpellLinked(m_spellInfo->Id))
|
||||
if (std::vector<int32> const* spell_triggered = sSpellMgr->GetSpellLinked(m_spellInfo->Id))
|
||||
{
|
||||
for (std::vector<int32>::const_iterator i = spell_triggered->begin(); i != spell_triggered->end(); ++i)
|
||||
if (*i < 0)
|
||||
m_caster->RemoveAurasDueToSpell(-(*i));
|
||||
for (int32 id : *spell_triggered)
|
||||
{
|
||||
if (id < 0)
|
||||
m_caster->RemoveAurasDueToSpell(-id);
|
||||
else
|
||||
m_caster->CastSpell(m_targets.GetUnitTarget() ? m_targets.GetUnitTarget() : m_caster, *i, true);
|
||||
m_caster->CastSpell(m_targets.GetUnitTarget() ? m_targets.GetUnitTarget() : m_caster, id, true);
|
||||
}
|
||||
}
|
||||
|
||||
// Interrupt Spell casting
|
||||
@@ -4101,7 +4103,7 @@ void Spell::_cast(bool skipCheck)
|
||||
if (Unit* target = m_targets.GetUnitTarget())
|
||||
if (m_caster->IsPlayer() || (m_caster->IsPet() && m_caster->IsControlledByPlayer()))
|
||||
if (GetDelayMoment() > 0 && !m_caster->IsFriendlyTo(target) && !m_spellInfo->HasAura(SPELL_AURA_BIND_SIGHT) && (!m_spellInfo->IsPositive() || m_spellInfo->HasEffect(SPELL_EFFECT_DISPEL)))
|
||||
m_caster->CombatStartOnCast(target, !m_spellInfo->HasAttribute(SPELL_ATTR3_SUPRESS_TARGET_PROCS), GetDelayMoment() + 500); // xinef: increase this time so we dont leave and enter combat in a moment
|
||||
m_caster->CombatStartOnCast(target, !m_spellInfo->HasAttribute(SPELL_ATTR3_SUPPRESS_TARGET_PROCS), GetDelayMoment() + 500); // xinef: increase this time so we dont leave and enter combat in a moment
|
||||
|
||||
if (m_caster->IsPlayer())
|
||||
if (m_caster->ToPlayer()->GetCommandStatus(CHEAT_COOLDOWN))
|
||||
@@ -5580,7 +5582,7 @@ void Spell::HandleThreatSpells()
|
||||
if (m_UniqueTargetInfo.empty())
|
||||
return;
|
||||
|
||||
if (m_spellInfo->HasAttribute(SPELL_ATTR1_NO_THREAT) || m_spellInfo->HasAttribute(SPELL_ATTR3_SUPRESS_TARGET_PROCS))
|
||||
if (m_spellInfo->HasAttribute(SPELL_ATTR1_NO_THREAT) || m_spellInfo->HasAttribute(SPELL_ATTR3_SUPPRESS_TARGET_PROCS))
|
||||
return;
|
||||
|
||||
float threat = 0.0f;
|
||||
|
||||
@@ -304,12 +304,6 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
spellInfo->ProcCharges = 6;
|
||||
});
|
||||
|
||||
// The Eye of Acherus (no spawn in phase 2 in db)
|
||||
ApplySpellFix({ 51852 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->Effects[EFFECT_0].MiscValue |= 1;
|
||||
});
|
||||
|
||||
// Crafty's Ultra-Advanced Proto-Typical Shortening Blaster
|
||||
ApplySpellFix({ 51912 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
@@ -589,7 +583,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
{
|
||||
// hack for seal of light and few spells, judgement consists of few single casts and each of them can proc
|
||||
// some spell, base one has disabled proc flag but those dont have this flag
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_CASTER_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
});
|
||||
|
||||
// Blessing of sanctuary stats
|
||||
@@ -611,7 +605,13 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// Seal of Command trigger
|
||||
ApplySpellFix({ 20424 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPRESS_CASTER_PROCS;
|
||||
spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
});
|
||||
|
||||
// Arcane Missiles
|
||||
ApplySpellFix({ 5143, 5144, 5145, 8416, 8417, 10211, 10212, 25345, 27075, 38699, 38704, 42843, 42846 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -637,7 +637,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
ApplySpellFix({ 3411 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->Attributes |= SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Roar of Sacrifice
|
||||
@@ -742,7 +742,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
6774 // Slice and Dice
|
||||
}, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Envenom
|
||||
@@ -817,7 +817,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
ApplySpellFix({ 50526 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_CASTER_MODIFIERS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Dancing Rune Weapon
|
||||
@@ -856,13 +856,13 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// Scourge Strike trigger
|
||||
ApplySpellFix({ 70890 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_CASTER_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
});
|
||||
|
||||
// Blood-caked Blade - Blood-caked Strike trigger
|
||||
ApplySpellFix({ 50463 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_CASTER_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
});
|
||||
|
||||
// Blood Gorged
|
||||
@@ -1080,7 +1080,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// Living Bomb
|
||||
ApplySpellFix({ 44461, 55361, 55362 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx4 |= SPELL_ATTR4_REACTIVE_DAMAGE_PROC;
|
||||
});
|
||||
|
||||
@@ -1294,13 +1294,13 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
ApplySpellFix({ 49376 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_3_YARDS); // 3yd
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Feral Charge - Cat
|
||||
ApplySpellFix({ 61138, 61132, 50259 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Glyph of Barkskin
|
||||
@@ -2190,7 +2190,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// Oculus, Drake spell Stop Time
|
||||
ApplySpellFix({ 49838 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
spellInfo->ExcludeTargetAuraSpell = 51162; // exclude planar shift
|
||||
spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_150_YARDS);
|
||||
});
|
||||
@@ -2277,7 +2277,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
{
|
||||
spellInfo->Attributes |= SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT;
|
||||
spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Trial of the Crusader, Lich King Intro spell
|
||||
@@ -2313,7 +2313,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
{
|
||||
spellInfo->Attributes |= SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT;
|
||||
spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
ApplySpellFix({ 66318 }, [](SpellInfo* spellInfo)
|
||||
@@ -2323,7 +2323,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
spellInfo->Speed = 14.0f;
|
||||
spellInfo->Attributes |= SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT;
|
||||
spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
ApplySpellFix({ 66320, 67472, 67473, 67475 }, [](SpellInfo* spellInfo)
|
||||
@@ -2907,7 +2907,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// Lock Players and Tap Chest
|
||||
ApplySpellFix({ 72347 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Award Reputation - Boss Kill
|
||||
@@ -2940,7 +2940,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
{
|
||||
// Patch 3.3.2 (2010-01-02): Deathbringer Saurfang will no longer gain blood power from Mark of the Fallen Champion.
|
||||
// prevented in script, effect needed for Prayer of Mending
|
||||
spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPRESS_CASTER_PROCS;
|
||||
spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
});
|
||||
|
||||
// Coldflame Jets (Traps after Saurfang)
|
||||
@@ -3463,7 +3463,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// A Tangled Skein
|
||||
ApplySpellFix({ 51165, 51173 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -3657,13 +3657,13 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// Frankly, It Makes No Sense... (10672)
|
||||
ApplySpellFix({ 37851 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Honor Challenge (12939)
|
||||
ApplySpellFix({ 21855 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Convocation at Zol'Heb (12730)
|
||||
@@ -4088,7 +4088,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
53725 // Judgement of the Martyr
|
||||
}, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Chaos Bolt Passive
|
||||
@@ -4188,7 +4188,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// Brood Power : Bronze
|
||||
ApplySpellFix({ 22311 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_CASTER_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
});
|
||||
|
||||
// Rapture
|
||||
@@ -4196,7 +4196,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
{
|
||||
spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT;
|
||||
spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Everlasting Affliction
|
||||
@@ -4306,7 +4306,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// Death's Respite
|
||||
ApplySpellFix({ 67731, 68305 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Wyvern Sting DoT
|
||||
@@ -4367,7 +4367,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// Uppercut
|
||||
ApplySpellFix({ 26007 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_CASTER_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
});
|
||||
|
||||
// Digestive Acid (Temporary)
|
||||
@@ -4388,7 +4388,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
ApplySpellFix({ 6754 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Summon Cauldron Stuff
|
||||
@@ -4749,8 +4749,8 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
// Gor'drek's Ointment
|
||||
ApplySpellFix({ 32578 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_CASTER_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
});
|
||||
|
||||
// Shadow Grasp
|
||||
@@ -4813,7 +4813,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
7376 // Defensive Stance Passive
|
||||
}, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_CASTER_PROCS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
});
|
||||
|
||||
// Conjure Refreshment Table (Rank 1, Rank 2)
|
||||
@@ -4850,6 +4850,12 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
spellInfo->RangeEntry = sSpellRangeStore.LookupEntry(7);
|
||||
});
|
||||
|
||||
// Siphon Life (heal)
|
||||
ApplySpellFix({ 63106 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
});
|
||||
|
||||
for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i)
|
||||
{
|
||||
SpellInfo* spellInfo = mSpellInfoMap[i];
|
||||
@@ -4986,10 +4992,6 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
vse->m_flags &= ~VEHICLE_SEAT_FLAG_PASSENGER_NOT_SELECTABLE;
|
||||
vse = const_cast<VehicleSeatEntry*>(sVehicleSeatStore.LookupEntry(4693)); // Siege Engine, Accessory
|
||||
vse->m_flags &= ~VEHICLE_SEAT_FLAG_PASSENGER_NOT_SELECTABLE;
|
||||
vse = const_cast<VehicleSeatEntry*>(sVehicleSeatStore.LookupEntry(3011)); // Salvaged Demolisher, Ulduar - not allow to change seats
|
||||
vse->m_flags &= ~VEHICLE_SEAT_FLAG_CAN_SWITCH;
|
||||
vse = const_cast<VehicleSeatEntry*>(sVehicleSeatStore.LookupEntry(3077)); // Salvaged Demolisher Seat, Ulduar - not allow to change seats
|
||||
vse->m_flags &= ~VEHICLE_SEAT_FLAG_CAN_SWITCH;
|
||||
|
||||
// pussywizard: fix z offset for some vehicles:
|
||||
vse = const_cast<VehicleSeatEntry*>(sVehicleSeatStore.LookupEntry(6206)); // Marrowgar - Bone Spike
|
||||
|
||||
@@ -1818,6 +1818,9 @@ void World::SetInitialWorldSettings()
|
||||
LOG_INFO("server.loading", "Loading Vehicle Accessories...");
|
||||
sObjectMgr->LoadVehicleAccessories(); // must be after LoadCreatureTemplates() and LoadNPCSpellClickSpells()
|
||||
|
||||
LOG_INFO("server.loading", "Loading Vehicle Seat Addon Data...");
|
||||
sObjectMgr->LoadVehicleSeatAddon(); // must be after loading DBC
|
||||
|
||||
LOG_INFO("server.loading", "Loading SpellArea Data..."); // must be after quest load
|
||||
sSpellMgr->LoadSpellAreas();
|
||||
|
||||
|
||||
@@ -362,7 +362,7 @@ public:
|
||||
continue;
|
||||
}
|
||||
|
||||
questItems.push_back(std::pair(id, count));
|
||||
questItems.emplace_back(id, count);
|
||||
}
|
||||
|
||||
if (!questItems.empty())
|
||||
@@ -585,7 +585,7 @@ public:
|
||||
for (uint32 const& itemId : quest->RewardChoiceItemId)
|
||||
{
|
||||
uint8 index = 0;
|
||||
questRewardItems.push_back(std::pair(itemId, quest->RewardChoiceItemCount[index++]));
|
||||
questRewardItems.emplace_back(itemId, quest->RewardChoiceItemCount[index++]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -594,7 +594,7 @@ public:
|
||||
for (uint32 const& itemId : quest->RewardItemId)
|
||||
{
|
||||
uint8 index = 0;
|
||||
questRewardItems.push_back(std::pair(itemId, quest->RewardItemIdCount[index++]));
|
||||
questRewardItems.emplace_back(itemId, quest->RewardItemIdCount[index++]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -56,14 +56,22 @@ public:
|
||||
{
|
||||
npc_crusade_persuadedAI(Creature* creature) : CombatAI(creature) { }
|
||||
|
||||
const uint32 SAY_AGGRO_CHANCE = 33;
|
||||
const uint32 PERSUADE_SUCCESS_CHANCE = 3; // 30% chance
|
||||
const uint32 SPEECH_TIMER_DEFAULT = 1000;
|
||||
const uint32 SPEECH_TIMER_FOR_ROLEPLAY = 8000;
|
||||
const uint32 SPEECH_COUNTER_PREVENT_SUCCESS_ROLEPLAY = 0;
|
||||
const uint32 SPEECH_COUNTER_START_SUCCESS_ROLEPLAY = 1;
|
||||
|
||||
uint32 speechTimer;
|
||||
uint32 speechCounter;
|
||||
ObjectGuid playerGUID;
|
||||
bool persuaded;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
speechTimer = 0;
|
||||
speechCounter = 0;
|
||||
speechCounter = SPEECH_COUNTER_PREVENT_SUCCESS_ROLEPLAY;
|
||||
playerGUID.Clear();
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
me->RestoreFaction();
|
||||
@@ -71,7 +79,7 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit*) override
|
||||
{
|
||||
if (roll_chance_i(33))
|
||||
if (roll_chance_i(SAY_AGGRO_CHANCE))
|
||||
Talk(SAY_AGGRO);
|
||||
}
|
||||
|
||||
@@ -81,20 +89,23 @@ public:
|
||||
{
|
||||
if (Player* player = caster->ToPlayer())
|
||||
{
|
||||
if (player->GetQuestStatus(QUEST_HOW_TO_WIN_FRIENDS) == QUEST_STATUS_INCOMPLETE)
|
||||
playerGUID = player->GetGUID();
|
||||
speechTimer = SPEECH_TIMER_DEFAULT;
|
||||
speechCounter = SPEECH_COUNTER_START_SUCCESS_ROLEPLAY;
|
||||
uint32 persuadeRoll = urand(1, 10);
|
||||
|
||||
sCreatureTextMgr->SendChat(me, SAY_PERSUADE_RAND, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_NEUTRAL, false, player);
|
||||
|
||||
if (persuadeRoll <= PERSUADE_SUCCESS_CHANCE && player->GetQuestStatus(QUEST_HOW_TO_WIN_FRIENDS) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
playerGUID = player->GetGUID();
|
||||
speechTimer = 1000;
|
||||
speechCounter = 1;
|
||||
persuaded = true;
|
||||
me->SetFaction(player->GetFaction());
|
||||
me->CombatStop(true);
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
DoCastAOE(SPELL_THREAT_PULSE, true);
|
||||
|
||||
sCreatureTextMgr->SendChat(me, SAY_PERSUADE_RAND, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_NEUTRAL, false, player);
|
||||
Talk(SAY_CRUSADER);
|
||||
}
|
||||
else
|
||||
persuaded = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -112,46 +123,53 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
switch (speechCounter)
|
||||
if (persuaded)
|
||||
{
|
||||
switch (speechCounter)
|
||||
{
|
||||
case 1:
|
||||
Talk(SAY_PERSUADED1);
|
||||
speechTimer = 8000;
|
||||
speechTimer = SPEECH_TIMER_FOR_ROLEPLAY;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
Talk(SAY_PERSUADED2);
|
||||
speechTimer = 8000;
|
||||
speechTimer = SPEECH_TIMER_FOR_ROLEPLAY;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
Talk(SAY_PERSUADED3);
|
||||
speechTimer = 8000;
|
||||
speechTimer = SPEECH_TIMER_FOR_ROLEPLAY;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
Talk(SAY_PERSUADED4);
|
||||
speechTimer = 8000;
|
||||
speechTimer = SPEECH_TIMER_FOR_ROLEPLAY;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
sCreatureTextMgr->SendChat(me, SAY_PERSUADED5, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_NEUTRAL, false, player);
|
||||
speechTimer = 8000;
|
||||
speechTimer = SPEECH_TIMER_FOR_ROLEPLAY;
|
||||
break;
|
||||
|
||||
case 6:
|
||||
Talk(SAY_PERSUADED6);
|
||||
Unit::Kill(player, me);
|
||||
speechCounter = 0;
|
||||
speechCounter = SPEECH_COUNTER_PREVENT_SUCCESS_ROLEPLAY;
|
||||
player->GroupEventHappens(QUEST_HOW_TO_WIN_FRIENDS, me);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
++speechCounter;
|
||||
DoCastAOE(SPELL_THREAT_PULSE, true);
|
||||
++speechCounter;
|
||||
}
|
||||
else
|
||||
{
|
||||
Talk(SAY_CRUSADER);
|
||||
speechCounter = SPEECH_COUNTER_PREVENT_SUCCESS_ROLEPLAY;
|
||||
}
|
||||
}
|
||||
else
|
||||
speechTimer -= diff;
|
||||
speechTimer = (speechTimer > diff) ? (speechTimer - diff) : 0;
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -623,7 +641,8 @@ public:
|
||||
ExecuteSpeech_Counter = 0;
|
||||
PlayerGUID.Clear();
|
||||
|
||||
me->SetImmuneToPC(false);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetImmuneToPC(true);
|
||||
}
|
||||
|
||||
bool MeetQuestCondition(Player* player)
|
||||
@@ -734,6 +753,7 @@ public:
|
||||
case 9:
|
||||
Talk(SAY_EXEC_TIME, player);
|
||||
me->SetStandState(UNIT_STAND_STATE_KNEEL);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetImmuneToPC(false);
|
||||
break;
|
||||
case 10:
|
||||
|
||||
@@ -509,63 +509,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class boss_thurg : public CreatureScript
|
||||
{
|
||||
public:
|
||||
boss_thurg()
|
||||
: CreatureScript("boss_thurg")
|
||||
{
|
||||
}
|
||||
|
||||
struct boss_thurgAI : public boss_hexlord_addAI
|
||||
{
|
||||
boss_thurgAI(Creature* creature) : boss_hexlord_addAI(creature) { }
|
||||
|
||||
uint32 bloodlust_timer;
|
||||
uint32 cleave_timer;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
bloodlust_timer = 15000;
|
||||
cleave_timer = 10000;
|
||||
|
||||
boss_hexlord_addAI::Reset();
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (bloodlust_timer <= diff)
|
||||
{
|
||||
std::list<Creature*> templist = DoFindFriendlyMissingBuff(50, SPELL_BLOODLUST);
|
||||
if (!templist.empty())
|
||||
{
|
||||
if (Unit* target = *(templist.begin()))
|
||||
DoCast(target, SPELL_BLOODLUST, false);
|
||||
}
|
||||
bloodlust_timer = 12000;
|
||||
}
|
||||
else bloodlust_timer -= diff;
|
||||
|
||||
if (cleave_timer <= diff)
|
||||
{
|
||||
DoCastVictim(SPELL_CLEAVE, false);
|
||||
cleave_timer = 12000; //3 sec cast
|
||||
}
|
||||
else cleave_timer -= diff;
|
||||
|
||||
boss_hexlord_addAI::UpdateAI(diff);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetZulAmanAI<boss_thurgAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class boss_alyson_antille : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -668,331 +611,30 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
struct boss_gazakrothAI : public boss_hexlord_addAI
|
||||
class spell_hexlord_unstable_affliction : public AuraScript
|
||||
{
|
||||
boss_gazakrothAI(Creature* creature) : boss_hexlord_addAI(creature) { }
|
||||
PrepareAuraScript(spell_hexlord_unstable_affliction);
|
||||
|
||||
uint32 firebolt_timer;
|
||||
|
||||
void Reset() override
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
firebolt_timer = 2000;
|
||||
boss_hexlord_addAI::Reset();
|
||||
return ValidateSpellInfo({ SPELL_WL_UNSTABLE_AFFL_DISPEL });
|
||||
}
|
||||
|
||||
void AttackStart(Unit* who) override
|
||||
void HandleDispel(DispelInfo* dispelInfo)
|
||||
{
|
||||
if (!who)
|
||||
return;
|
||||
|
||||
if (who->isTargetableForAttack())
|
||||
{
|
||||
if (me->Attack(who, false))
|
||||
{
|
||||
me->GetMotionMaster()->MoveChase(who, 20);
|
||||
me->AddThreat(who, 0.0f);
|
||||
}
|
||||
}
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastSpell(dispelInfo->GetDispeller(), SPELL_WL_UNSTABLE_AFFL_DISPEL, true, nullptr, GetEffect(EFFECT_0));
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
void Register() override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (firebolt_timer <= diff)
|
||||
{
|
||||
DoCastVictim(SPELL_FIREBOLT, false);
|
||||
firebolt_timer = 700;
|
||||
}
|
||||
else firebolt_timer -= diff;
|
||||
|
||||
boss_hexlord_addAI::UpdateAI(diff);
|
||||
}
|
||||
};
|
||||
|
||||
class boss_lord_raadan : public CreatureScript
|
||||
{
|
||||
public:
|
||||
boss_lord_raadan()
|
||||
: CreatureScript("boss_lord_raadan")
|
||||
{
|
||||
}
|
||||
|
||||
struct boss_lord_raadanAI : public boss_hexlord_addAI
|
||||
{
|
||||
boss_lord_raadanAI(Creature* creature) : boss_hexlord_addAI(creature) { }
|
||||
|
||||
uint32 flamebreath_timer;
|
||||
uint32 thunderclap_timer;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
flamebreath_timer = 8000;
|
||||
thunderclap_timer = 13000;
|
||||
|
||||
boss_hexlord_addAI::Reset();
|
||||
}
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (thunderclap_timer <= diff)
|
||||
{
|
||||
DoCastVictim(SPELL_THUNDERCLAP, false);
|
||||
thunderclap_timer = 12000;
|
||||
}
|
||||
else thunderclap_timer -= diff;
|
||||
|
||||
if (flamebreath_timer <= diff)
|
||||
{
|
||||
DoCastVictim(SPELL_FLAME_BREATH, false);
|
||||
flamebreath_timer = 12000;
|
||||
}
|
||||
else flamebreath_timer -= diff;
|
||||
|
||||
boss_hexlord_addAI::UpdateAI(diff);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetZulAmanAI<boss_lord_raadanAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class boss_darkheart : public CreatureScript
|
||||
{
|
||||
public:
|
||||
boss_darkheart()
|
||||
: CreatureScript("boss_darkheart")
|
||||
{
|
||||
}
|
||||
|
||||
struct boss_darkheartAI : public boss_hexlord_addAI
|
||||
{
|
||||
boss_darkheartAI(Creature* creature) : boss_hexlord_addAI(creature) { }
|
||||
|
||||
uint32 psychicwail_timer;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
psychicwail_timer = 8000;
|
||||
boss_hexlord_addAI::Reset();
|
||||
}
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (psychicwail_timer <= diff)
|
||||
{
|
||||
DoCastVictim(SPELL_PSYCHIC_WAIL, false);
|
||||
psychicwail_timer = 12000;
|
||||
}
|
||||
else psychicwail_timer -= diff;
|
||||
|
||||
boss_hexlord_addAI::UpdateAI(diff);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetZulAmanAI<boss_darkheartAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class boss_slither : public CreatureScript
|
||||
{
|
||||
public:
|
||||
boss_slither()
|
||||
: CreatureScript("boss_slither")
|
||||
{
|
||||
}
|
||||
|
||||
struct boss_slitherAI : public boss_hexlord_addAI
|
||||
{
|
||||
boss_slitherAI(Creature* creature) : boss_hexlord_addAI(creature) { }
|
||||
|
||||
uint32 venomspit_timer;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
venomspit_timer = 5000;
|
||||
boss_hexlord_addAI::Reset();
|
||||
}
|
||||
|
||||
void AttackStart(Unit* who) override
|
||||
{
|
||||
if (!who)
|
||||
return;
|
||||
|
||||
if (who->isTargetableForAttack())
|
||||
{
|
||||
if (me->Attack(who, false))
|
||||
{
|
||||
me->GetMotionMaster()->MoveChase(who, 20);
|
||||
me->AddThreat(who, 0.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (venomspit_timer <= diff)
|
||||
{
|
||||
if (Unit* victim = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
|
||||
DoCast(victim, SPELL_VENOM_SPIT, false);
|
||||
venomspit_timer = 2500;
|
||||
}
|
||||
else venomspit_timer -= diff;
|
||||
|
||||
boss_hexlord_addAI::UpdateAI(diff);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetZulAmanAI<boss_slitherAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class boss_fenstalker : public CreatureScript
|
||||
{
|
||||
public:
|
||||
boss_fenstalker()
|
||||
: CreatureScript("boss_fenstalker")
|
||||
{
|
||||
}
|
||||
|
||||
struct boss_fenstalkerAI : public boss_hexlord_addAI
|
||||
{
|
||||
boss_fenstalkerAI(Creature* creature) : boss_hexlord_addAI(creature) { }
|
||||
|
||||
uint32 volatileinf_timer;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
volatileinf_timer = 15000;
|
||||
boss_hexlord_addAI::Reset();
|
||||
}
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (volatileinf_timer <= diff)
|
||||
{
|
||||
// core bug
|
||||
me->GetVictim()->CastSpell(me->GetVictim(), SPELL_VOLATILE_INFECTION, false);
|
||||
volatileinf_timer = 12000;
|
||||
}
|
||||
else volatileinf_timer -= diff;
|
||||
|
||||
boss_hexlord_addAI::UpdateAI(diff);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetZulAmanAI<boss_fenstalkerAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class boss_koragg : public CreatureScript
|
||||
{
|
||||
public:
|
||||
boss_koragg()
|
||||
: CreatureScript("boss_koragg")
|
||||
{
|
||||
}
|
||||
|
||||
struct boss_koraggAI : public boss_hexlord_addAI
|
||||
{
|
||||
boss_koraggAI(Creature* creature) : boss_hexlord_addAI(creature) { }
|
||||
|
||||
uint32 coldstare_timer;
|
||||
uint32 mightyblow_timer;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
coldstare_timer = 15000;
|
||||
mightyblow_timer = 10000;
|
||||
boss_hexlord_addAI::Reset();
|
||||
}
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (mightyblow_timer <= diff)
|
||||
{
|
||||
DoCastVictim(SPELL_MIGHTY_BLOW, false);
|
||||
mightyblow_timer = 12000;
|
||||
}
|
||||
if (coldstare_timer <= diff)
|
||||
{
|
||||
if (Unit* victim = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
|
||||
DoCast(victim, SPELL_COLD_STARE, false);
|
||||
coldstare_timer = 12000;
|
||||
}
|
||||
|
||||
boss_hexlord_addAI::UpdateAI(diff);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetZulAmanAI<boss_koraggAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_hexlord_unstable_affliction : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_hexlord_unstable_affliction() : SpellScriptLoader("spell_hexlord_unstable_affliction") { }
|
||||
|
||||
class spell_hexlord_unstable_affliction_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_hexlord_unstable_affliction_AuraScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_WL_UNSTABLE_AFFL_DISPEL });
|
||||
}
|
||||
|
||||
void HandleDispel(DispelInfo* dispelInfo)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastSpell(dispelInfo->GetDispeller(), SPELL_WL_UNSTABLE_AFFL_DISPEL, true, nullptr, GetEffect(EFFECT_0));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterDispel += AuraDispelFn(spell_hexlord_unstable_affliction_AuraScript::HandleDispel);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_hexlord_unstable_affliction_AuraScript();
|
||||
AfterDispel += AuraDispelFn(spell_hexlord_unstable_affliction::HandleDispel);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_hex_lord_malacrass()
|
||||
{
|
||||
new boss_hexlord_malacrass();
|
||||
new boss_thurg();
|
||||
// new boss_gazakroth();
|
||||
new boss_lord_raadan();
|
||||
new boss_darkheart();
|
||||
new boss_slither();
|
||||
new boss_fenstalker();
|
||||
new boss_koragg();
|
||||
new boss_alyson_antille();
|
||||
new spell_hexlord_unstable_affliction();
|
||||
RegisterSpellScript(spell_hexlord_unstable_affliction);
|
||||
}
|
||||
|
||||
@@ -346,6 +346,14 @@ struct boss_nalorakk : public BossAI
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
BossAI::JustDied(killer);
|
||||
Talk(SAY_DEATH);
|
||||
instance->SetData(DATA_NALORAKKEVENT, DONE);
|
||||
}
|
||||
|
||||
private:
|
||||
uint8 _phase;
|
||||
bool _ranIntro;
|
||||
|
||||
@@ -70,17 +70,17 @@ struct boss_murmur : public BossAI
|
||||
_Reset();
|
||||
me->SetHealth(me->CountPctFromMaxHealth(40));
|
||||
me->ResetPlayerDamageReq();
|
||||
CastSupressionOOC();
|
||||
CastSuppressionOOC();
|
||||
}
|
||||
|
||||
void CastSupressionOOC()
|
||||
void CastSuppressionOOC()
|
||||
{
|
||||
me->m_Events.CancelEventGroup(GROUP_OOC_CAST);
|
||||
me->m_Events.AddEventAtOffset([this] {
|
||||
if (me->FindNearestCreature(NPC_CABAL_SPELLBINDER, 35.0f))
|
||||
{
|
||||
me->CastCustomSpell(SPELL_SUPPRESSION, SPELLVALUE_MAX_TARGETS, 5, (Unit*)nullptr, false);
|
||||
CastSupressionOOC();
|
||||
CastSuppressionOOC();
|
||||
}
|
||||
}, 3600ms, 10900ms, GROUP_OOC_CAST);
|
||||
}
|
||||
|
||||
@@ -175,6 +175,25 @@ Position illidanTakeoffPoint = { 727.6356f, 305.62753, 359.1486f };
|
||||
Position illidanLand = { 676.648f, 304.76074f, 354.18906f, 6.230825424194335937f };
|
||||
Position roomCenter = { 676.021f, 305.455f, 353.582f, 3.82227f };
|
||||
|
||||
Position const BladesPositions[2] =
|
||||
{
|
||||
{ 676.226013f, 325.230988f },
|
||||
{ 678.059998f, 285.220001f }
|
||||
};
|
||||
|
||||
class ChargeTargetSelector
|
||||
{
|
||||
public:
|
||||
ChargeTargetSelector() { }
|
||||
|
||||
bool operator()(Unit* unit) const
|
||||
{
|
||||
return unit->IsPlayer()
|
||||
&& unit->GetDistance2d(BladesPositions[0].GetPositionX(), BladesPositions[0].GetPositionY()) > 25.0f
|
||||
&& unit->GetDistance2d(BladesPositions[1].GetPositionX(), BladesPositions[1].GetPositionY()) > 25.0f;
|
||||
}
|
||||
};
|
||||
|
||||
struct boss_illidan_stormrage : public BossAI
|
||||
{
|
||||
boss_illidan_stormrage(Creature* creature) : BossAI(creature, DATA_ILLIDAN_STORMRAGE), _canTalk(true), _dying(false), _inCutscene(false), beamPosId(0) { }
|
||||
@@ -196,6 +215,7 @@ struct boss_illidan_stormrage : public BossAI
|
||||
me->LoadEquipment(EQUIPMENT_GLAIVES, true);
|
||||
me->SetStandState(UNIT_STAND_STATE_KNEEL);
|
||||
me->SetSheath(SHEATH_STATE_UNARMED);
|
||||
me->SetControlled(false, UNIT_STATE_ROOT);
|
||||
|
||||
ScheduleHealthCheckEvent(90, [&] {
|
||||
// Call for minions
|
||||
@@ -604,6 +624,10 @@ struct boss_illidan_stormrage : public BossAI
|
||||
|
||||
BossAI::EnterEvadeMode(why);
|
||||
me->DespawnOnEvade();
|
||||
|
||||
me->m_Events.CancelEventGroup(GROUP_BERSERK);
|
||||
me->m_Events.CancelEventGroup(GROUP_PHASE_FLYING);
|
||||
me->m_Events.CancelEventGroup(GROUP_DEMON_FORM);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon) override
|
||||
@@ -733,7 +757,7 @@ struct npc_akama_illidan : public ScriptedAI
|
||||
void Reset() override
|
||||
{
|
||||
scheduler.CancelAll();
|
||||
me->m_Events.KillAllEvents(true);
|
||||
me->m_Events.KillAllEvents(false);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
if (instance->GetBossState(DATA_ILLIDAN_STORMRAGE) == DONE)
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
@@ -1316,26 +1340,16 @@ struct npc_flame_of_azzinoth : public ScriptedAI
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
ScheduleTimedEvent(10s, [&] {
|
||||
if (Creature* _blade = ObjectAccessor::GetCreature(*me, _bladeGUID))
|
||||
{
|
||||
Unit* offTank = nullptr;
|
||||
|
||||
if (Creature* secondBlaze = me->FindNearestCreature(NPC_BLAZE, 100.0f, true))
|
||||
offTank = secondBlaze->GetVictim();
|
||||
|
||||
if (Unit* target = _blade->AI()->SelectTarget(SelectTargetMethod::Random, 0, -40.0f, true))
|
||||
{
|
||||
if (!offTank || offTank != target)
|
||||
DoCast(target, SPELL_CHARGE);
|
||||
}
|
||||
}
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, ChargeTargetSelector()))
|
||||
DoCast(target, SPELL_CHARGE);
|
||||
}, 5s, 20s);
|
||||
|
||||
ScheduleTimedEvent(10s, 20s, [&] {
|
||||
DoCastVictim(SPELL_FLAME_BLAST);
|
||||
|
||||
me->m_Events.AddEventAtOffset([&] {
|
||||
DoCastVictim(SPELL_BLAZE);
|
||||
if (Unit* victim = me->GetVictim())
|
||||
victim->CastSpell(victim, SPELL_BLAZE, true);
|
||||
}, 1s);
|
||||
}, 15s, 20s);
|
||||
}
|
||||
|
||||
@@ -177,6 +177,7 @@ struct boss_illidari_council : public BossAI
|
||||
else if (param == ACTION_END_ENCOUNTER)
|
||||
{
|
||||
me->setActive(false);
|
||||
me->GetMap()->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, me->GetEntry(), me);
|
||||
for (uint8 i = DATA_GATHIOS_THE_SHATTERER; i <= DATA_VERAS_DARKSHADOW; ++i)
|
||||
if (Creature* member = instance->GetCreature(i))
|
||||
if (member->IsAlive())
|
||||
@@ -339,7 +340,7 @@ struct boss_gathios_the_shatterer : public boss_illidari_council_memberAI
|
||||
if (roll_chance_i(50))
|
||||
Talk(SAY_COUNCIL_SPECIAL);
|
||||
DoCastSelf(SPELL_CONSECRATION);
|
||||
events.ScheduleEvent(EVENT_SPELL_AURA, 30s);
|
||||
events.ScheduleEvent(EVENT_SPELL_CONSECRATION, 30s);
|
||||
break;
|
||||
case EVENT_SPELL_HAMMER_OF_JUSTICE:
|
||||
if (Unit* target = me->GetVictim())
|
||||
|
||||
@@ -127,6 +127,7 @@ struct boss_mother_shahraz : public BossAI
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
BossAI::JustDied(killer);
|
||||
me->m_Events.CancelEventGroup(GROUP_ENRAGE);
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
|
||||
@@ -139,7 +139,8 @@ struct boss_supremus : public BossAI
|
||||
DoResetThreatList();
|
||||
me->AddThreat(target, 5000000.0f);
|
||||
Talk(EMOTE_NEW_TARGET);
|
||||
DoCastVictim(SPELL_CHARGE);
|
||||
if (target->IsWithinDist(me, 40))
|
||||
DoCast(target, SPELL_CHARGE);
|
||||
}
|
||||
|
||||
context.Repeat(10s);
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "black_temple.h"
|
||||
#include "Player.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Yells
|
||||
@@ -39,7 +40,8 @@ enum Spells
|
||||
SPELL_TIDAL_SHIELD = 39872,
|
||||
SPELL_IMPALING_SPINE = 39837,
|
||||
SPELL_SUMMON_IMPALING_SPINE = 39929,
|
||||
SPELL_BERSERK = 26662
|
||||
SPELL_BERSERK = 26662,
|
||||
SPELL_REMOVE_SPINES = 40354
|
||||
};
|
||||
|
||||
enum Events
|
||||
@@ -48,6 +50,11 @@ enum Events
|
||||
EVENT_ENRAGE = 2
|
||||
};
|
||||
|
||||
enum Misc
|
||||
{
|
||||
ITEM_NAJENTUS_SPINE = 32408
|
||||
};
|
||||
|
||||
struct boss_najentus : public BossAI
|
||||
{
|
||||
boss_najentus(Creature* creature) : BossAI(creature, DATA_HIGH_WARLORD_NAJENTUS), _canTalk(true) { }
|
||||
@@ -56,6 +63,7 @@ struct boss_najentus : public BossAI
|
||||
{
|
||||
_Reset();
|
||||
me->m_Events.CancelEventGroup(EVENT_ENRAGE);
|
||||
DoCastSelf(SPELL_REMOVE_SPINES);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
@@ -64,6 +72,7 @@ struct boss_najentus : public BossAI
|
||||
|
||||
BossAI::JustEngagedWith(who);
|
||||
Talk(SAY_AGGRO);
|
||||
DoCastSelf(SPELL_REMOVE_SPINES);
|
||||
|
||||
me->m_Events.AddEventAtOffset([this] {
|
||||
Talk(SAY_ENRAGE);
|
||||
@@ -113,6 +122,7 @@ struct boss_najentus : public BossAI
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
BossAI::JustDied(killer);
|
||||
me->m_Events.CancelEventGroup(EVENT_ENRAGE);
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
@@ -156,9 +166,31 @@ class spell_najentus_hurl_spine : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
class spell_najentus_remove_spines : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_najentus_remove_spines);
|
||||
|
||||
void RemoveSpines()
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
caster->GetMap()->DoForAllPlayers([&](Player* player)
|
||||
{
|
||||
player->DestroyItemCount(ITEM_NAJENTUS_SPINE, 5, true);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnCast += SpellCastFn(spell_najentus_remove_spines::RemoveSpines);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_najentus()
|
||||
{
|
||||
RegisterBlackTempleCreatureAI(boss_najentus);
|
||||
RegisterSpellScript(spell_najentus_needle_spine);
|
||||
RegisterSpellScript(spell_najentus_hurl_spine);
|
||||
RegisterSpellScript(spell_najentus_remove_spines);
|
||||
}
|
||||
|
||||
@@ -936,7 +936,7 @@ class spell_dru_starfall_dummy : public SpellScript
|
||||
return;
|
||||
}
|
||||
|
||||
// Any effect which causes you to lose control of your character will supress the starfall effect.
|
||||
// Any effect which causes you to lose control of your character will suppress the starfall effect.
|
||||
if (caster->HasUnitState(UNIT_STATE_CONTROLLED))
|
||||
return;
|
||||
|
||||
|
||||
@@ -506,8 +506,8 @@ enum SpellAttr3 : uint32
|
||||
SPELL_ATTR3_HIDE_CHANNEL_BAR = 0x00002000, // TITLE Do not display channel bar (client only)
|
||||
SPELL_ATTR3_HIDE_IN_RAID_FILTER = 0x00004000, // TITLE Honorless Target
|
||||
SPELL_ATTR3_NORMAL_RANGED_ATTACK = 0x00008000, // TITLE Unknown attribute 15@Attr3 DESCRIPTION Auto Shoot, Shoot, Throw - ranged normal attack attribute?
|
||||
SPELL_ATTR3_SUPRESS_CASTER_PROCS = 0x00010000, // TITLE Cannot trigger procs
|
||||
SPELL_ATTR3_SUPRESS_TARGET_PROCS = 0x00020000, // TITLE No initial aggro
|
||||
SPELL_ATTR3_SUPPRESS_CASTER_PROCS = 0x00010000, // TITLE Cannot trigger procs
|
||||
SPELL_ATTR3_SUPPRESS_TARGET_PROCS = 0x00020000, // TITLE No initial aggro
|
||||
SPELL_ATTR3_ALWAYS_HIT = 0x00040000, // TITLE Ignore hit result DESCRIPTION Spell cannot miss, or be dodged/parried/blocked
|
||||
SPELL_ATTR3_INSTANT_TARGET_PROCS = 0x00080000, // TITLE Cannot trigger spells during aura proc
|
||||
SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD = 0x00100000, // TITLE Persists through death
|
||||
@@ -550,7 +550,7 @@ enum SpellAttr4 : uint32
|
||||
SPELL_ATTR4_AURA_NEVER_BOUNCES = 0x00100000, // TITLE Allow self-cast to override stronger aura (client only)
|
||||
SPELL_ATTR4_ALLOW_ENETRING_ARENA = 0x00200000, // TITLE Keep when entering arena
|
||||
SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM = 0x00400000, // TITLE Unknown attribute 22@Attr4 DESCRIPTION Seal of Command (42058,57770) and Gymer's Smash 55426
|
||||
SPELL_ATTR4_SUPRESS_WEAPON_PROCS = 0x00800000, // TITLE Cannot trigger item spells
|
||||
SPELL_ATTR4_SUPPRESS_WEAPON_PROCS = 0x00800000, // TITLE Cannot trigger item spells
|
||||
SPELL_ATTR4_AUTO_RANGED_COMBAT = 0x01000000, // TITLE Unknown attribute 24@Attr4 DESCRIPTION Shoot-type spell?
|
||||
SPELL_ATTR4_OWNER_POWER_SCALING = 0x02000000, // TITLE Pet Scaling aura
|
||||
SPELL_ATTR4_ONLY_FLYING_AREAS = 0x04000000, // TITLE Only in Outland/Northrend
|
||||
|
||||
@@ -560,8 +560,8 @@ AC_API_EXPORT EnumText EnumUtils<SpellAttr3>::ToString(SpellAttr3 value)
|
||||
case SPELL_ATTR3_HIDE_CHANNEL_BAR: return { "SPELL_ATTR3_HIDE_CHANNEL_BAR", "Do not display channel bar (client only)", "" };
|
||||
case SPELL_ATTR3_HIDE_IN_RAID_FILTER: return { "SPELL_ATTR3_HIDE_IN_RAID_FILTER", "Honorless Target", "" };
|
||||
case SPELL_ATTR3_NORMAL_RANGED_ATTACK: return { "SPELL_ATTR3_NORMAL_RANGED_ATTACK", "Unknown attribute 15@Attr3", "Auto Shoot, Shoot, Throw - ranged normal attack attribute?" };
|
||||
case SPELL_ATTR3_SUPRESS_CASTER_PROCS: return { "SPELL_ATTR3_SUPRESS_CASTER_PROCS", "Cannot trigger procs", "" };
|
||||
case SPELL_ATTR3_SUPRESS_TARGET_PROCS: return { "SPELL_ATTR3_SUPRESS_TARGET_PROCS", "No initial aggro", "" };
|
||||
case SPELL_ATTR3_SUPPRESS_CASTER_PROCS: return { "SPELL_ATTR3_SUPPRESS_CASTER_PROCS", "Cannot trigger procs", "" };
|
||||
case SPELL_ATTR3_SUPPRESS_TARGET_PROCS: return { "SPELL_ATTR3_SUPPRESS_TARGET_PROCS", "No initial aggro", "" };
|
||||
case SPELL_ATTR3_ALWAYS_HIT: return { "SPELL_ATTR3_ALWAYS_HIT", "Ignore hit result", "Spell cannot miss, or be dodged/parried/blocked" };
|
||||
case SPELL_ATTR3_INSTANT_TARGET_PROCS: return { "SPELL_ATTR3_INSTANT_TARGET_PROCS", "Cannot trigger spells during aura proc", "" };
|
||||
case SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD: return { "SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD", "Persists through death", "" };
|
||||
@@ -604,8 +604,8 @@ AC_API_EXPORT SpellAttr3 EnumUtils<SpellAttr3>::FromIndex(std::size_t index)
|
||||
case 13: return SPELL_ATTR3_HIDE_CHANNEL_BAR;
|
||||
case 14: return SPELL_ATTR3_HIDE_IN_RAID_FILTER;
|
||||
case 15: return SPELL_ATTR3_NORMAL_RANGED_ATTACK;
|
||||
case 16: return SPELL_ATTR3_SUPRESS_CASTER_PROCS;
|
||||
case 17: return SPELL_ATTR3_SUPRESS_TARGET_PROCS;
|
||||
case 16: return SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
|
||||
case 17: return SPELL_ATTR3_SUPPRESS_TARGET_PROCS;
|
||||
case 18: return SPELL_ATTR3_ALWAYS_HIT;
|
||||
case 19: return SPELL_ATTR3_INSTANT_TARGET_PROCS;
|
||||
case 20: return SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD;
|
||||
@@ -645,8 +645,8 @@ AC_API_EXPORT std::size_t EnumUtils<SpellAttr3>::ToIndex(SpellAttr3 value)
|
||||
case SPELL_ATTR3_HIDE_CHANNEL_BAR: return 13;
|
||||
case SPELL_ATTR3_HIDE_IN_RAID_FILTER: return 14;
|
||||
case SPELL_ATTR3_NORMAL_RANGED_ATTACK: return 15;
|
||||
case SPELL_ATTR3_SUPRESS_CASTER_PROCS: return 16;
|
||||
case SPELL_ATTR3_SUPRESS_TARGET_PROCS: return 17;
|
||||
case SPELL_ATTR3_SUPPRESS_CASTER_PROCS: return 16;
|
||||
case SPELL_ATTR3_SUPPRESS_TARGET_PROCS: return 17;
|
||||
case SPELL_ATTR3_ALWAYS_HIT: return 18;
|
||||
case SPELL_ATTR3_INSTANT_TARGET_PROCS: return 19;
|
||||
case SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD: return 20;
|
||||
@@ -696,7 +696,7 @@ AC_API_EXPORT EnumText EnumUtils<SpellAttr4>::ToString(SpellAttr4 value)
|
||||
case SPELL_ATTR4_AURA_NEVER_BOUNCES: return { "SPELL_ATTR4_AURA_NEVER_BOUNCES", "Allow self-cast to override stronger aura (client only)", "" };
|
||||
case SPELL_ATTR4_ALLOW_ENETRING_ARENA: return { "SPELL_ATTR4_ALLOW_ENETRING_ARENA", "Keep when entering arena", "" };
|
||||
case SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM: return { "SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM", "Unknown attribute 22@Attr4", "Seal of Command (42058,57770) and Gymer's Smash 55426" };
|
||||
case SPELL_ATTR4_SUPRESS_WEAPON_PROCS: return { "SPELL_ATTR4_SUPRESS_WEAPON_PROCS", "Cannot trigger item spells", "" };
|
||||
case SPELL_ATTR4_SUPPRESS_WEAPON_PROCS: return { "SPELL_ATTR4_SUPPRESS_WEAPON_PROCS", "Cannot trigger item spells", "" };
|
||||
case SPELL_ATTR4_AUTO_RANGED_COMBAT: return { "SPELL_ATTR4_AUTO_RANGED_COMBAT", "Unknown attribute 24@Attr4", "Shoot-type spell?" };
|
||||
case SPELL_ATTR4_OWNER_POWER_SCALING: return { "SPELL_ATTR4_OWNER_POWER_SCALING", "Pet Scaling aura", "" };
|
||||
case SPELL_ATTR4_ONLY_FLYING_AREAS: return { "SPELL_ATTR4_ONLY_FLYING_AREAS", "Only in Outland/Northrend", "" };
|
||||
@@ -740,7 +740,7 @@ AC_API_EXPORT SpellAttr4 EnumUtils<SpellAttr4>::FromIndex(std::size_t index)
|
||||
case 20: return SPELL_ATTR4_AURA_NEVER_BOUNCES;
|
||||
case 21: return SPELL_ATTR4_ALLOW_ENETRING_ARENA;
|
||||
case 22: return SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM;
|
||||
case 23: return SPELL_ATTR4_SUPRESS_WEAPON_PROCS;
|
||||
case 23: return SPELL_ATTR4_SUPPRESS_WEAPON_PROCS;
|
||||
case 24: return SPELL_ATTR4_AUTO_RANGED_COMBAT;
|
||||
case 25: return SPELL_ATTR4_OWNER_POWER_SCALING;
|
||||
case 26: return SPELL_ATTR4_ONLY_FLYING_AREAS;
|
||||
@@ -781,7 +781,7 @@ AC_API_EXPORT std::size_t EnumUtils<SpellAttr4>::ToIndex(SpellAttr4 value)
|
||||
case SPELL_ATTR4_AURA_NEVER_BOUNCES: return 20;
|
||||
case SPELL_ATTR4_ALLOW_ENETRING_ARENA: return 21;
|
||||
case SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM: return 22;
|
||||
case SPELL_ATTR4_SUPRESS_WEAPON_PROCS: return 23;
|
||||
case SPELL_ATTR4_SUPPRESS_WEAPON_PROCS: return 23;
|
||||
case SPELL_ATTR4_AUTO_RANGED_COMBAT: return 24;
|
||||
case SPELL_ATTR4_OWNER_POWER_SCALING: return 25;
|
||||
case SPELL_ATTR4_ONLY_FLYING_AREAS: return 26;
|
||||
|
||||
@@ -112,7 +112,7 @@ namespace MMAP
|
||||
mapID = uint32(atoi(file.substr(0, file.size() - 8).c_str()));
|
||||
if (std::find(m_tiles.begin(), m_tiles.end(), mapID) == m_tiles.end())
|
||||
{
|
||||
m_tiles.emplace_back(MapTiles(mapID, new std::set<uint32>));
|
||||
m_tiles.emplace_back(mapID, new std::set<uint32>);
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -124,7 +124,7 @@ namespace MMAP
|
||||
mapID = uint32(atoi(file.substr(0, file.size() - 7).c_str()));
|
||||
if (std::find(m_tiles.begin(), m_tiles.end(), mapID) == m_tiles.end())
|
||||
{
|
||||
m_tiles.emplace_back(MapTiles(mapID, new std::set<uint32>));
|
||||
m_tiles.emplace_back(mapID, new std::set<uint32>);
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -199,7 +199,7 @@ namespace MMAP
|
||||
return (*itr).m_tiles;
|
||||
|
||||
std::set<uint32>* tiles = new std::set<uint32>();
|
||||
m_tiles.emplace_back(MapTiles(mapID, tiles));
|
||||
m_tiles.emplace_back(mapID, tiles);
|
||||
return tiles;
|
||||
}
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ namespace MMAP
|
||||
uint32 m_mapId;
|
||||
std::set<uint32>* m_tiles{nullptr};
|
||||
|
||||
bool operator==(uint32 id)
|
||||
bool operator==(uint32 id) const
|
||||
{
|
||||
return m_mapId == id;
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ namespace MMAP
|
||||
do
|
||||
{
|
||||
if ((findFileInfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
|
||||
fileList.push_back(std::string(findFileInfo.cFileName));
|
||||
fileList.emplace_back(findFileInfo.cFileName);
|
||||
} while (FindNextFile(hFind, &findFileInfo));
|
||||
|
||||
FindClose(hFind);
|
||||
|
||||
Reference in New Issue
Block a user