Merge branch 'azerothcore:master' into Playerbot

This commit is contained in:
ZhengPeiRu21
2022-04-19 09:07:56 -06:00
committed by GitHub
17 changed files with 636 additions and 46 deletions

View File

@@ -0,0 +1,39 @@
-- DB update 2022_04_17_02 -> 2022_04_18_00
DROP PROCEDURE IF EXISTS `updateDb`;
DELIMITER //
CREATE PROCEDURE updateDb ()
proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
SELECT COUNT(*) INTO @COLEXISTS
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2022_04_17_02';
IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
START TRANSACTION;
ALTER TABLE version_db_world CHANGE COLUMN 2022_04_17_02 2022_04_18_00 bit;
SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1644537932629642900'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
--
-- START UPDATING QUERIES
--
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1644537932629642900');
UPDATE `creature_template` SET `AIName` = "SmartAI" WHERE `entry` = 23569;
DELETE FROM `smart_scripts` WHERE `entryorguid` = 23569 AND `source_type`=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`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(23569, 0, 0, 1, 62, 0, 100, 0, 8837, 0, 0, 0, 11, 42670, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Renn McGill - On Gossip Option Select - Cast Replace Repaired Diving Gear'),
(23569, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Renn McGill - On Gossip Option Select - Close Gossip');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup` = 8837;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
(15, 8837, 0, 0, 0, 9, 0, 11140, 0, 0, 0, 0, '', 'Requires Quest Taken'),
(15, 8837, 0, 0, 0, 2, 0, 33040, 1, 0, 1, 0, '', 'Requires Missing Item');
--
-- END UPDATING QUERIES
--
UPDATE version_db_world SET date = '2022_04_18_00' WHERE sql_rev = '1644537932629642900';
COMMIT;
END //
DELIMITER ;
CALL updateDb();
DROP PROCEDURE IF EXISTS `updateDb`;

View File

@@ -0,0 +1,32 @@
-- DB update 2022_04_18_00 -> 2022_04_18_01
DROP PROCEDURE IF EXISTS `updateDb`;
DELIMITER //
CREATE PROCEDURE updateDb ()
proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
SELECT COUNT(*) INTO @COLEXISTS
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2022_04_18_00';
IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
START TRANSACTION;
ALTER TABLE version_db_world CHANGE COLUMN 2022_04_18_00 2022_04_18_01 bit;
SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1647924387634998766'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
--
-- START UPDATING QUERIES
--
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1647924387634998766');
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_gen_remove_impairing_auras');
INSERT INTO `spell_script_names` VALUES
(20589, 'spell_gen_remove_impairing_auras'),
(30918, 'spell_gen_remove_impairing_auras');
--
-- END UPDATING QUERIES
--
UPDATE version_db_world SET date = '2022_04_18_01' WHERE sql_rev = '1647924387634998766';
COMMIT;
END //
DELIMITER ;
CALL updateDb();
DROP PROCEDURE IF EXISTS `updateDb`;

View File

@@ -0,0 +1,340 @@
-- DB update 2022_04_18_01 -> 2022_04_18_02
DROP PROCEDURE IF EXISTS `updateDb`;
DELIMITER //
CREATE PROCEDURE updateDb ()
proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
SELECT COUNT(*) INTO @COLEXISTS
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2022_04_18_01';
IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
START TRANSACTION;
ALTER TABLE version_db_world CHANGE COLUMN 2022_04_18_01 2022_04_18_02 bit;
SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1648473064028573703'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
--
-- START UPDATING QUERIES
--
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1648473064028573703');
DELETE FROM `quest_offer_reward_locale` WHERE `ID` IN (11574,11585,11586,11591,11592,11593,11594,11595,11596,11598,11602,11606,11608,11611,11614,11615,11616,11618,11619,11624,11627,11628,11629,11630,11631,11632,11633,11634,11635,11636,11637,11638,11639,11640,11641,11642,11643,11644,11647,11649,11651,11652,11654,11655,11656,11659,11660,11661,11662,11664,11674,11675,11676,11677,11678,11683,11684,11685,11686,11687,11688,11689,11690,11695,11702,11703,11705,11706,11709,11711,11714,11716,11717,11719,11720,11721,11722,11724,11881,11887,11888,11890,11893,11894,11895,11896,11898,11899,11906,11907,11909,11916,11929,11930,12486,13257) AND `locale` IN ('esES', 'esMX');
INSERT INTO `quest_offer_reward_locale` (`ID`, `locale`, `RewardText`, `VerifiedBuild`) VALUES
(11574, 'esES', 'Puedes decirle a tu amiga que fue un placer rescatarla, pero también nuestro deber.$B$BMe temo que su conflicto es tan solo una de las múltiples piezas de un rompecabezas.$B$BDalaran está dándolo todo para resolver este misterio y, para ser sincero, necesitaríamos ayuda..', 18019),
(11574, 'esMX', 'Puedes decirle a tu amiga que fue un placer rescatarla, pero también nuestro deber.$B$BMe temo que su conflicto es tan solo una de las múltiples piezas de un rompecabezas.$B$BDalaran está dándolo todo para resolver este misterio y, para ser sincero, necesitaríamos ayuda..', 18019),
(11585, 'esES', 'Con que héroe de la Horda, ¿eh?$B$B<Garrosh te olfatea.>$B$BTemor...$B$B<Garrosh escupe.>$B$BNo durarás mucho.', 18019),
(11585, 'esMX', 'Con que héroe de la Horda, ¿eh?$B$B<Garrosh te olfatea.>$B$BTemor...$B$B<Garrosh escupe.>$B$BNo durarás mucho.', 18019),
(11586, 'esES', 'No creas que he olvidado lo que hiciste por mi pueblo en Nagrand, $n. Hellscream nunca olvida.$B$BPor eso estoy en deuda contigo y es por eso que te doy esta oportunidad ahora: corre. Deja este lugar y nunca mires atrás.$B$BRegresa a tu casa y reza una oración por los moribundos.', 18019),
(11586, 'esMX', 'No creas que he olvidado lo que hiciste por mi pueblo en Nagrand, $n. Hellscream nunca olvida.$B$BPor eso estoy en deuda contigo y es por eso que te doy esta oportunidad ahora: corre. Deja este lugar y nunca mires atrás.$B$BRegresa a tu casa y reza una oración por los moribundos.', 18019),
(11591, 'esES', 'Esto no es bueno, $c.$B$BEl enviado Pezuña Orgullosa dice que estas son las tierras de descanso de sus honorables ancestros.', 18019),
(11591, 'esMX', 'Esto no es bueno, $c.$B$BEl enviado Pezuña Orgullosa dice que estas son las tierras de descanso de sus honorables ancestros.', 18019),
(11592, 'esES', '¡Sangre y truenos! Has salvado nuestra recién establecida relación con los taunka.$B$BGracias por arreglar la situación. ¡Aka\'Magosh, $n!', 18019),
(11592, 'esMX', '¡Sangre y truenos! Has salvado nuestra recién establecida relación con los taunka.$B$BGracias por arreglar la situación. ¡Aka\'Magosh, $n!', 18019),
(11593, 'esES', 'Gracias, $c. ¡La Horda no se deja a sus muertos por el camino!$B$BNunca debió haber ocurrido en cualquier caso. ¡Quijacero se portó como un insensato!', 18019),
(11593, 'esMX', 'Gracias, $c. ¡La Horda no se deja a sus muertos por el camino!$B$BNunca debió haber ocurrido en cualquier caso. ¡Quijacero se portó como un insensato!', 18019),
(11594, 'esES', '¡Bien hecho, $c! Debes de tener mucha experiencia luchando contra los no-muertos. Y si antes no la tenías, la tienes ahora.$B$BLa necesitarás para sobrevivir en Rasganorte.', 18019),
(11594, 'esMX', '¡Bien hecho, $c! Debes de tener mucha experiencia luchando contra los no-muertos. Y si antes no la tenías, la tienes ahora.$B$BLa necesitarás para sobrevivir en Rasganorte.', 18019),
(11595, 'esES', '<El señor supremo Razgor saluda.>$B$BTu reputación te precede, $n.', 18019),
(11595, 'esMX', '<El señor supremo Razgor saluda.>$B$BTu reputación te precede, $n.', 18019),
(11596, 'esES', 'Justo a tiempo... Parece que los nerubianos han duplicado sus efectivos en tan solo una semana. Necesitaremos toda la ayuda que consigamos.', 18019),
(11596, 'esMX', 'Justo a tiempo... Parece que los nerubianos han duplicado sus efectivos en tan solo una semana. Necesitaremos toda la ayuda que consigamos.', 18019),
(11598, 'esES', 'Los has frenado, pero seguro que se unen más a la lucha. ¿Conseguiste localizar alguno de sus sacos de huevos mientras estabas en la Cantera?', 18019),
(11598, 'esMX', 'Los has frenado, pero seguro que se unen más a la lucha. ¿Conseguiste localizar alguno de sus sacos de huevos mientras estabas en la Cantera?', 18019),
(11602, 'esES', 'Simplemente siguen viniendo, a pesar de nuestros mejores esfuerzos. Algo tiene que ceder, $n.', 18019),
(11602, 'esMX', 'Simplemente siguen viniendo, a pesar de nuestros mejores esfuerzos. Algo tiene que ceder, $n.', 18019),
(11606, 'esES', 'Si mis cálculos no me fallan -algo que suele ocurrir- necesitarás entre 10 y 20 cargas de profundidad de seforio.$B$BOh si, vas a meter a esas madres bajo tierra.', 18019),
(11606, 'esMX', 'Si mis cálculos no me fallan -algo que suele ocurrir- necesitarás entre 10 y 20 cargas de profundidad de seforio.$B$BOh si, vas a meter a esas madres bajo tierra.', 18019),
(11608, 'esES', 'Eso los detendrá, al menos yo creo que los detendrá. De todas formas, tú has cumplido con tu parte. ¿Qué más puede pedir un $r?', 18019),
(11608, 'esMX', 'Eso los detendrá, al menos yo creo que los detendrá. De todas formas, tú has cumplido con tu parte. ¿Qué más puede pedir un $r?', 18019),
(11611, 'esES', 'La mayoría ha conseguido volver, o al menos los suficientemente inteligentes como para saber que estamos dentro de este enorme edificio de metal y piedra.$B$BDejando eso de lado, has hecho un buen trabajo. He oído que has soltado a más de un peón.$B$BAh, sí, eres el tema de conversación en la fortaleza.', 18019),
(11611, 'esMX', 'La mayoría ha conseguido volver, o al menos los suficientemente inteligentes como para saber que estamos dentro de este enorme edificio de metal y piedra.$B$BDejando eso de lado, has hecho un buen trabajo. He oído que has soltado a más de un peón.$B$BAh, sí, eres el tema de conversación en la fortaleza.', 18019),
(11614, 'esES', 'Nada podría ser más mortífero... Lo extraño es que los nerubianos no devoraran el cuerpo.$B$BTras un examen detallado se puede ver que la muerte de Luther fue causada por él mismo... Por un veneno mortal. Qué inteligente. Los nerubianos no se acercarán a un cuerpo tóxico.$B$BTe das cuenta de que Luther sujeta un diario.', 18019),
(11614, 'esMX', 'Nada podría ser más mortífero... Lo extraño es que los nerubianos no devoraran el cuerpo.$B$BTras un examen detallado se puede ver que la muerte de Luther fue causada por él mismo... Por un veneno mortal. Qué inteligente. Los nerubianos no se acercarán a un cuerpo tóxico.$B$BTe das cuenta de que Luther sujeta un diario.', 18019),
(11615, 'esES', '<Barthus pasa a la última página del diario y comienza a leer.>$B$BEsta es una terrible noticia. Hay que informar a Grito Infernal inmediatamente.', 18019),
(11615, 'esMX', '<Barthus pasa a la última página del diario y comienza a leer.>$B$BEsta es una terrible noticia. Hay que informar a Grito Infernal inmediatamente.', 18019),
(11616, 'esES', '<Grito Infernal lee el contenido del diario.>$B$B¿Eso es todo?', 18019),
(11616, 'esMX', '<Grito Infernal lee el contenido del diario.>$B$B¿Eso es todo?', 18019),
(11618, 'esES', '¿Esto es todo? ¿Grito Infernal me envía a un simple $r $g varon:hembra,?$B$BSi aún tuviera mandíbula ahora mismo me llegaría hasta el suelo.', 18019),
(11618, 'esMX', '¿Esto es todo? ¿Grito Infernal me envía a un simple $r $g varon:hembra,?$B$BSi aún tuviera mandíbula ahora mismo me llegaría hasta el suelo.', 18019),
(11619, 'esES', '¡Lo lograste, $n! Los espíritus de los colmillarr asesinados ya pueden descansar en paz. Sus muertes han sido vengadas.', 18019),
(11619, 'esMX', '¡Lo lograste, $n! Los espíritus de los colmillarr asesinados ya pueden descansar en paz. Sus muertes han sido vengadas.', 18019),
(11624, 'esES', 'Estás loco al haber venido hasta aquí, pequeño $r.$B$B¿Qué estás buscando?', 18019),
(11624, 'esMX', 'Estás loco al haber venido hasta aquí, pequeño $r.$B$B¿Qué estás buscando?', 18019),
(11627, 'esES', 'Me complace, aunque no cabe duda de que volverán a pelearse un poco más.$B$BSin embargo, hay algo más que tienes que realizar antes de que puedas volver con tu clarividente.', 18019),
(11627, 'esMX', 'Me complace, aunque no cabe duda de que volverán a pelearse un poco más.$B$BSin embargo, hay algo más que tienes que realizar antes de que puedas volver con tu clarividente.', 18019),
(11628, 'esES', 'Aunque no me gusta traer estas cosas infestadas al poblado, puede que nos otorguen cierta ventaja sobre nuestros enemigos.$B$B<El cabecilla le hace un gesto a la sabia Aeire y le indica que se lleve las pelambres.>$B$BMientras prepara las pelambres debemos conseguir otro elemento necesario para crear la capa.', 18019),
(11628, 'esMX', 'Aunque no me gusta traer estas cosas infestadas al poblado, puede que nos otorguen cierta ventaja sobre nuestros enemigos.$B$B<El cabecilla le hace un gesto a la sabia Aeire y le indica que se lleve las pelambres.>$B$BMientras prepara las pelambres debemos conseguir otro elemento necesario para crear la capa.', 18019),
(11629, 'esES', '¿Imperean te ha dado uno de sus primordiales de esencia? ¡Puedo oír aullar sus vientos!$B$BConozco un ritual para el que podemos usarlo. ¡Debemos darnos prisa antes de que su primordial se haga pedazos!', 18019),
(11629, 'esMX', '¿Imperean te ha dado uno de sus primordiales de esencia? ¡Puedo oír aullar sus vientos!$B$BConozco un ritual para el que podemos usarlo. ¡Debemos darnos prisa antes de que su primordial se haga pedazos!', 18019),
(11630, 'esES', '<El cabecilla Vendaval de Invierno acepta con cautela los montones de tierra que has recogido.>$B$BSerá mejor que se los entreguemos a la sabia Aeire lo antes posible.$B$B<El cabecilla gruñe, intentando fingir que no le preocupa la tierra contaminada.>$B$BNunca se sabe cuándo el comandante de la Plaga lanzará el último asalto sobre la ciudad.', 18019),
(11630, 'esMX', '<El cabecilla Vendaval de Invierno acepta con cautela los montones de tierra que has recogido.>$B$BSerá mejor que se los entreguemos a la sabia Aeire lo antes posible.$B$B<El cabecilla gruñe, intentando fingir que no le preocupa la tierra contaminada.>$B$BNunca se sabe cuándo el comandante de la Plaga lanzará el último asalto sobre la ciudad.', 18019),
(11631, 'esES', 'Han encadenado su espíritu. $n, ¡tenemos que hacer algo para poner fin a esa tortura!$B$BHas de descender a las entrañas de Magmoth y encontrar el modo de liberarlo.', 18019),
(11631, 'esMX', 'Han encadenado su espíritu. $n, ¡tenemos que hacer algo para poner fin a esa tortura!$B$BHas de descender a las entrañas de Magmoth y encontrar el modo de liberarlo.', 18019),
(11632, 'esES', '<Colmillosauro sonríe con malicia.>$B$BMe resulta familiar... El poder de Kalimdor pisoteó a mil insectos como él en el desierto de Silithus.$B$BEste es un lugar diferente, un entorno distinto, pero el resultado será el mismo.$B$B<Colmillosauro te examina.>$B$BTraerás orgullo y honor a la Horda en Rasganorte, $n.', 18019),
(11632, 'esMX', '<Colmillosauro sonríe con malicia.>$B$BMe resulta familiar... El poder de Kalimdor pisoteó a mil insectos como él en el desierto de Silithus.$B$BEste es un lugar diferente, un entorno distinto, pero el resultado será el mismo.$B$B<Colmillosauro te examina.>$B$BTraerás orgullo y honor a la Horda en Rasganorte, $n.', 18019),
(11633, 'esES', '<El cabecilla Vendaval de Invierno te escucha mientras describes tus descubrimientos.>$B$BLa información que has recopilado nos ayudará a planear el asalto a la Ciudad Templo. Tendremos que encontrar la manera de vencer a los oficiales que has identificado y de llegar a esa necrópolis.', 18019),
(11633, 'esMX', '<El cabecilla Vendaval de Invierno te escucha mientras describes tus descubrimientos.>$B$BLa información que has recopilado nos ayudará a planear el asalto a la Ciudad Templo. Tendremos que encontrar la manera de vencer a los oficiales que has identificado y de llegar a esa necrópolis.', 18019),
(11634, 'esES', 'Ay, tío, te he estado esperando.$B$B<To\'bor señala hacia el oeste.>$B$BEcha un vistazo. Al otro lado de esa tundra está la muerte, tío... la muerte.', 18019),
(11634, 'esMX', 'Ay, tío, te he estado esperando.$B$B<To\'bor señala hacia el oeste.>$B$BEcha un vistazo. Al otro lado de esa tundra está la muerte, tío... la muerte.', 18019),
(11635, 'esES', 'Gracias por salvarme, $c. ¡Ojalá fuera tan fácil lograr la verdadera libertad!', 18019),
(11635, 'esMX', 'Gracias por salvarme, $c. ¡Ojalá fuera tan fácil lograr la verdadera libertad!', 18019),
(11636, 'esES', 'NO TENGAS PIEDAD ALGUNA CON LOS MUERTOS!$B$BNinguno de ellos tuvo las agallas de quedarse para defender nuestros gloriosos tanques después de que Grito de Guerra estimara que la costa estaba "condenada". Por aquí todo está más tranquilo, dado que la Plaga está formando a sus filas para asaltar el Bastión Grito de Guerra. A veces me topo con un zombi vagabundo o con un necrófago, pero no duran mucho.$B$B<Garganta acaricia su hacha.>$B$BAunque claro, la niebla sigue ahí...$B$B<Garganta se estremece.>', 18019),
(11636, 'esMX', 'NO TENGAS PIEDAD ALGUNA CON LOS MUERTOS!$B$BNinguno de ellos tuvo las agallas de quedarse para defender nuestros gloriosos tanques después de que Grito de Guerra estimara que la costa estaba "condenada". Por aquí todo está más tranquilo, dado que la Plaga está formando a sus filas para asaltar el Bastión Grito de Guerra. A veces me topo con un zombi vagabundo o con un necrófago, pero no duran mucho.$B$B<Garganta acaricia su hacha.>$B$BAunque claro, la niebla sigue ahí...$B$B<Garganta se estremece.>', 18019),
(11637, 'esES', 'Soy libre. Gracias, $n.$B$BY ahora, tengo una última petición que hacerte.', 18019),
(11637, 'esMX', 'Soy libre. Gracias, $n.$B$BY ahora, tengo una última petición que hacerte.', 18019),
(11638, 'esES', 'Gracias por liberar su espíritu de las manos de Kajanishu y devolverlo junto con sus restos. No tenemos mucho con lo que recompensarte, pero puedes escoger cualquier cosa que se te antoje.$B$BY ahora, lo devolveré al mundo al que pertenece.', 18019),
(11638, 'esMX', 'Gracias por liberar su espíritu de las manos de Kajanishu y devolverlo junto con sus restos. No tenemos mucho con lo que recompensarte, pero puedes escoger cualquier cosa que se te antoje.$B$BY ahora, lo devolveré al mundo al que pertenece.', 18019),
(11639, 'esES', 'Los fallecidos han sido honorados con tus acciones, $n.$B$BQuizás ahora pueda encontrar la manera de volver a ser el guerrero que fui.', 18019),
(11639, 'esMX', 'Los fallecidos han sido honorados con tus acciones, $n.$B$BQuizás ahora pueda encontrar la manera de volver a ser el guerrero que fui.', 18019),
(11640, 'esES', '<El cabecilla Vendaval de Invierno lee las palabras escritas en los pergaminos.>$B$B"Shabtir bakh sokhen".$B$BPalabras del antiguo y áspero idioma que usaban con gran destreza los nerubianos.$B$B"El sirviente se postra ante la autoridad del maestro". Estas son las palabras que te permitirán la entrada a la necrópolis.', 18019),
(11640, 'esMX', '<El cabecilla Vendaval de Invierno lee las palabras escritas en los pergaminos.>$B$B"Shabtir bakh sokhen".$B$BPalabras del antiguo y áspero idioma que usaban con gran destreza los nerubianos.$B$B"El sirviente se postra ante la autoridad del maestro". Estas son las palabras que te permitirán la entrada a la necrópolis.', 18019),
(11641, 'esES', 'Has demostrado tu coraje y valentía en el combate. Creo que encajas muy bien en el papel de guerrero taunka. Ojalá el cabecilla lo viera de la misma manera.$B$BTenemos suerte de contar contigo como aliado en nuestra lucha para evacuar el poblado antes de que lo invada la Plaga.', 18019),
(11641, 'esMX', 'Has demostrado tu coraje y valentía en el combate. Creo que encajas muy bien en el papel de guerrero taunka. Ojalá el cabecilla lo viera de la misma manera.$B$BTenemos suerte de contar contigo como aliado en nuestra lucha para evacuar el poblado antes de que lo invada la Plaga.', 18019),
(11642, 'esES', '¿Eres el nuevo conductor de tanques, tron? ¡Me parece bien! Solo necesitamos que estas cosas vuelvan a funcionar. Sí, intenta pasar por las Llanuras de Nasam sin un tanque y puedes darte por muerto.', 18019),
(11642, 'esMX', '¿Eres el nuevo conductor de tanques, tron? ¡Me parece bien! Solo necesitamos que estas cosas vuelvan a funcionar. Sí, intenta pasar por las Llanuras de Nasam sin un tanque y puedes darte por muerto.', 18019),
(11643, 'esES', '¡Buen trabajo, colega! ¿Dónde he colocado esas piezas de repuesto...?', 18019),
(11643, 'esMX', '¡Buen trabajo, colega! ¿Dónde he colocado esas piezas de repuesto...?', 18019),
(11644, 'esES', '¡Buen trabajo, colega! ¿Dónde he colocado ese transijigamárigo neumático para tanques?', 18019),
(11644, 'esMX', '¡Buen trabajo, colega! ¿Dónde he colocado ese transijigamárigo neumático para tanques?', 18019),
(11647, 'esES', '<La sabia Aeire acepta el tótem.>$B$B¿Ha funcionado el tótem? Su preparación ha requerido magias antiguas que los sabios no han usado durante varias generaciones. De todo el conocimiento que nos dejaron, solo una parte se sigue usando hoy en día.', 18019),
(11647, 'esMX', '<La sabia Aeire acepta el tótem.>$B$B¿Ha funcionado el tótem? Su preparación ha requerido magias antiguas que los sabios no han usado durante varias generaciones. De todo el conocimiento que nos dejaron, solo una parte se sigue usando hoy en día.', 18019),
(11649, 'esES', 'Siento la pérdida de esas tempestades, pero una promesa es una promesa... Incluso para un mortal como tú.$B$BAhora, veamos si podemos inventar algo útil para ti.', 18019),
(11649, 'esMX', 'Siento la pérdida de esas tempestades, pero una promesa es una promesa... Incluso para un mortal como tú.$B$BAhora, veamos si podemos inventar algo útil para ti.', 18019),
(11651, 'esES', 'Dado el estado de nuestros medios de transporte y rutas de abastecimiento, no hemos podido conseguir llevar ni una maldita máquina de asedio hasta Grito de Guerra. Estos tanques son todo lo que hemos conservado de la primera expedición. Ahora que funcionan, vas a usarlos para pisotear la ofensiva de la Plaga en las Llanuras de Nasam.', 18019),
(11651, 'esMX', 'Dado el estado de nuestros medios de transporte y rutas de abastecimiento, no hemos podido conseguir llevar ni una maldita máquina de asedio hasta Grito de Guerra. Estos tanques son todo lo que hemos conservado de la primera expedición. Ahora que funcionan, vas a usarlos para pisotear la ofensiva de la Plaga en las Llanuras de Nasam.', 18019),
(11652, 'esES', '¿Kel\'Thuzad? Entonces es cierto: Naxxramas vuelve...$B$BPuede que te haya subestimado, $n. Has hecho un gran trabajo para la Horda. ¡El Jefe de Guerra estaría orgulloso!$B$BSi Kel\'Thuzad controla a esta Plaga, no hay forma de saber qué más nos depara el Rey Exánime... Necesito tiempo para asimilar esta información, $n. Puedes irte.', 18019),
(11652, 'esMX', '¿Kel\'Thuzad? Entonces es cierto: Naxxramas vuelve...$B$BPuede que te haya subestimado, $n. Has hecho un gran trabajo para la Horda. ¡El Jefe de Guerra estaría orgulloso!$B$BSi Kel\'Thuzad controla a esta Plaga, no hay forma de saber qué más nos depara el Rey Exánime... Necesito tiempo para asimilar esta información, $n. Puedes irte.', 18019),
(11654, 'esES', '<El rastreador de nieve taunka está débil y apenas responde.>$B$BNo me queda... mucho. Quizás... quizás tú puedas detenerlos... antes de...', 18019),
(11654, 'esMX', '<El rastreador de nieve taunka está débil y apenas responde.>$B$BNo me queda... mucho. Quizás... quizás tú puedas detenerlos... antes de...', 18019),
(11655, 'esES', '<La tristeza se apodera de Waltor.>$B$BRuina... Eso es todo lo que dejan tras su paso. Hay que enseñarles una lección.', 18019),
(11655, 'esMX', '<La tristeza se apodera de Waltor.>$B$BRuina... Eso es todo lo que dejan tras su paso. Hay que enseñarles una lección.', 18019),
(11656, 'esES', 'Una muestra de resistencia a esos salvajes Kvaldir podría bastar para salvar a mi gente en los otros campamentos. Quizás los Kvaldir se lo piensen dos veces si creen que podrá haber venganza.|', 18019),
(11656, 'esMX', 'Una muestra de resistencia a esos salvajes Kvaldir podría bastar para salvar a mi gente en los otros campamentos. Quizás los Kvaldir se lo piensen dos veces si creen que podrá haber venganza.|', 18019),
(11659, 'esES', 'Me temía que habían capturado a Grumm, pero nunca pensé que le hubieran hecho cosas tan terribles. Nunca he visto a un guerrero sobrevivir a una batalla perdida contra la Plaga.$B$BGracias por informarme de su destino, $n. Era un poderoso guerrero y así lo recordaremos.', 18019),
(11659, 'esMX', 'Me temía que habían capturado a Grumm, pero nunca pensé que le hubieran hecho cosas tan terribles. Nunca he visto a un guerrero sobrevivir a una batalla perdida contra la Plaga.$B$BGracias por informarme de su destino, $n. Era un poderoso guerrero y así lo recordaremos.', 18019),
(11660, 'esES', 'Tienes que llamar a Orabus usando el cuerno del viejo marinero.', 18019),
(11660, 'esMX', 'Tienes que llamar a Orabus usando el cuerno del viejo marinero.', 18019),
(11661, 'esES', 'Parece que la pérdida de su teniente no ha hecho más que agravar el problema. ¡Ahora están más furiosos y agresivos que antes!$B$B<Waltor suspira.>$B$BHas hecho lo que has podido, amigo. Lo menos que mereces es algún tipo de compensación por reducir su número.', 18019),
(11661, 'esMX', 'Parece que la pérdida de su teniente no ha hecho más que agravar el problema. ¡Ahora están más furiosos y agresivos que antes!$B$B<Waltor suspira.>$B$BHas hecho lo que has podido, amigo. Lo menos que mereces es algún tipo de compensación por reducir su número.', 18019),
(11662, 'esES', 'Waltor ha hecho bien enviándote a verme, $r. Los dioses amparan a los que hacen justicia. ¡Tú serás aquel que castigará a los malvados!', 18019),
(11662, 'esMX', 'Waltor ha hecho bien enviándote a verme, $r. Los dioses amparan a los que hacen justicia. ¡Tú serás aquel que castigará a los malvados!', 18019),
(11664, 'esES', 'Los vientos lo susurran, colega. Los elementos conocen tu nombre. Hoy has sido de gran ayuda para Mootoo y serás recompensado.', 18019),
(11664, 'esMX', 'Los vientos lo susurran, colega. Los elementos conocen tu nombre. Hoy has sido de gran ayuda para Mootoo y serás recompensado.', 18019),
(11674, 'esES', 'La abuela te envió. Tiene que estar muy decepcionada conmigo.$B$BPero cuando vi caer ese gran objeto del cielo, no podía esperar que me acompañase un grupo entero de enviados y de rastreadores de nieve. El conocimiento no espera a nadie.', 18019),
(11674, 'esMX', 'La abuela te envió. Tiene que estar muy decepcionada conmigo.$B$BPero cuando vi caer ese gran objeto del cielo, no podía esperar que me acompañase un grupo entero de enviados y de rastreadores de nieve. El conocimiento no espera a nadie.', 18019),
(11675, 'esES', 'Los magnatauros de los Cubiles de los Moribundos han contraído la peste. Debemos encontrar la causa, pero primero tenemos que acabar con su desgracia.$B$B $r, debes ir al norte, sobre las laderas que hay delante de nosotros, y acabar con tantas de esas pobres criaturas como puedas.', 18019),
(11675, 'esMX', 'Los magnatauros de los Cubiles de los Moribundos han contraído la peste. Debemos encontrar la causa, pero primero tenemos que acabar con su desgracia.$B$B $r, debes ir al norte, sobre las laderas que hay delante de nosotros, y acabar con tantas de esas pobres criaturas como puedas.', 18019),
(11676, 'esES', 'Cada prisionero que salvamos es una aberración menos de la que preocuparnos, $n. Has realizado un gran servicio para la Horda.', 18019),
(11676, 'esMX', 'Cada prisionero que salvamos es una aberración menos de la que preocuparnos, $n. Has realizado un gran servicio para la Horda.', 18019),
(11677, 'esES', '<La sabia baja la cabeza y suspira de alivio.>$B$BEste es un buen comienzo. Ojalá ese fuese nuestro único problema.', 18019),
(11677, 'esMX', '<La sabia baja la cabeza y suspira de alivio.>$B$BEste es un buen comienzo. Ojalá ese fuese nuestro único problema.', 18019),
(11678, 'esES', 'No... estaré mucho... en este mundo, pequeño $r.', 18019),
(11678, 'esMX', 'No... estaré mucho... en este mundo, pequeño $r.', 18019),
(11683, 'esES', 'Gracias, $n.$B$BEl Rey Exánime y su Plaga están por todo Rasganorte. ¡No debemos detenernos hasta que estén realmente muertos y pongamos fin a su existencia!', 18019),
(11683, 'esMX', 'Gracias, $n.$B$BEl Rey Exánime y su Plaga están por todo Rasganorte. ¡No debemos detenernos hasta que estén realmente muertos y pongamos fin a su existencia!', 18019),
(11684, 'esES', '<El abuelo Mahan acepta el mapa, pero no lo examina.>$B$BPodremos usar esta información más tarde, cuando estemos preparados para ejecutar el plan.', 18019),
(11684, 'esMX', '<El abuelo Mahan acepta el mapa, pero no lo examina.>$B$BPodremos usar esta información más tarde, cuando estemos preparados para ejecutar el plan.', 18019),
(11685, 'esES', 'Estos deberían bastar para construir el núcleo de un poderoso elemental, pero mi elemental no cobrará vida solo con piedras.', 18019),
(11685, 'esMX', 'Estos deberían bastar para construir el núcleo de un poderoso elemental, pero mi elemental no cobrará vida solo con piedras.', 18019),
(11686, 'esES', 'Esto es mucho peor de lo que Luther anotó en su diario. Tienen este lugar cubierto de Plaga y están infestando todo lo que tocan.$B$B<Ickoris asiente.>$B$BEstá empeorando... imagínatelo.', 18019),
(11686, 'esMX', 'Esto es mucho peor de lo que Luther anotó en su diario. Tienen este lugar cubierto de Plaga y están infestando todo lo que tocan.$B$B<Ickoris asiente.>$B$BEstá empeorando... imagínatelo.', 18019),
(11687, 'esES', '¿Cornopúa está muerto?$B$BNo debí dejar que fuera solo.', 18019),
(11687, 'esMX', '¿Cornopúa está muerto?$B$BNo debí dejar que fuera solo.', 18019),
(11688, 'esES', '¡Creo que lo tengo, $r!', 18019),
(11688, 'esMX', '¡Creo que lo tengo, $r!', 18019),
(11689, 'esES', '¿Qué noticias traes de Altamesa?$B$B<Le explicas lo que sabes e informas a la abuela de las malas noticias sobre el enviado Cornopúa.>$B$BMi... ¡mi nieto!$B$B<La abuela lucha por contener sus emociones.>$B$B¡Murió con honor como un verdadero taunka!$B$BTú fuiste la última persona que estuvo con él, $n, por lo que siempre formará parte de ti. Te doy las gracias por cumplir su última voluntad.', 18019),
(11689, 'esMX', '¿Qué noticias traes de Altamesa?$B$B<Le explicas lo que sabes e informas a la abuela de las malas noticias sobre el enviado Cornopúa.>$B$BMi... ¡mi nieto!$B$B<La abuela lucha por contener sus emociones.>$B$B¡Murió con honor como un verdadero taunka!$B$BTú fuiste la última persona que estuvo con él, $n, por lo que siempre formará parte de ti. Te doy las gracias por cumplir su última voluntad.', 18019),
(11690, 'esES', 'Eres todo un héroe, $n. Mis kodos se habrían muerto si no fuera por ti. Tienes mi agradecimiento y el de todos los soldados y oficiales que usarán esos kodos para consolidar nuestra presencia en Rasganorte.', 18019),
(11690, 'esMX', 'Eres todo un héroe, $n. Mis kodos se habrían muerto si no fuera por ti. Tienes mi agradecimiento y el de todos los soldados y oficiales que usarán esos kodos para consolidar nuestra presencia en Rasganorte.', 18019),
(11695, 'esES', '<Barah acepta los trozos del cuerno y empieza a intentar juntarlos.>$B$BPezuña Tempestuosa estaría orgulloso de ti, $n. Quizás, cuando nos hayamos encargado de la Plaga, me lleve el cuerno y haga una peregrinación hasta la tumba de Pezuña Tempestuosa.', 18019),
(11695, 'esMX', '<Barah acepta los trozos del cuerno y empieza a intentar juntarlos.>$B$BPezuña Tempestuosa estaría orgulloso de ti, $n. Quizás, cuando nos hayamos encargado de la Plaga, me lleve el cuerno y haga una peregrinación hasta la tumba de Pezuña Tempestuosa.', 18019),
(11702, 'esES', '¡Por fin algo de ayuda! Y a decir por tu aspecto, de la Horda.$B$BEso es bueno... Tu gente posee buenas aptitudes para el arte de la guerra. Y vamos a necesitarlas.', 18019),
(11702, 'esMX', '¡Por fin algo de ayuda! Y a decir por tu aspecto, de la Horda.$B$BEso es bueno... Tu gente posee buenas aptitudes para el arte de la guerra. Y vamos a necesitarlas.', 18019),
(11703, 'esES', '<Getry te observa con atención.>$B$B¿Esto es todo lo que Ickoris ha podido enviar?', 18019),
(11703, 'esMX', '<Getry te observa con atención.>$B$B¿Esto es todo lo que Ickoris ha podido enviar?', 18019),
(11705, 'esES', 'Y has vuelto victorioso, ¡tal y como me esperaba! Le dije a Colmillosauro que lo harías bien.$B$B<Grito Infernal gruñe con complicidad.>$B$B$Quizás esto le enseñará a ese viejo perro que no sabe todas las respuestas, ¿eh?', 18019),
(11705, 'esMX', 'Y has vuelto victorioso, ¡tal y como me esperaba! Le dije a Colmillosauro que lo harías bien.$B$B<Grito Infernal gruñe con complicidad.>$B$B$Quizás esto le enseñará a ese viejo perro que no sabe todas las respuestas, ¿eh?', 18019),
(11706, 'esES', 'Tus esfuerzos contra los nerubianos nos han dado un respiro frente al insufrible asalto de la Plaga. Gracias a tus logros, podemos atacar la fortaleza de la Plaga al noreste sin miedo a ser atacados desde el oeste.$B$BEn cuanto al cuerno, lo guardaré en un lugar seguro hasta que volvamos a necesitar su poder. Pezuña Tempestuosa dio su vida para salvar el cuerno y no podemos volver a sufrir su pérdida.', 18019),
(11706, 'esMX', 'Tus esfuerzos contra los nerubianos nos han dado un respiro frente al insufrible asalto de la Plaga. Gracias a tus logros, podemos atacar la fortaleza de la Plaga al noreste sin miedo a ser atacados desde el oeste.$B$BEn cuanto al cuerno, lo guardaré en un lugar seguro hasta que volvamos a necesitar su poder. Pezuña Tempestuosa dio su vida para salvar el cuerno y no podemos volver a sufrir su pérdida.', 18019),
(11709, 'esES', '<Nork se burla.>$B$B¿Prisioneros? Estos no son prisioneros. ¡Son perros cobardes! Pero míralos... ¿Sabes que todos y cada uno de esos "soldados" de panza amarilla llegaron hasta nuestra puerta y entregaron sus armas y armaduras? Todos, sin excepción.$B$BPor la información que hemos conseguido reunir, estos hombres y mujeres están libres de cargos y son enviados a sus casas si los capturamos.$B$B<Nork escupe.>$B$BEs patético...', 18019),
(11709, 'esMX', '<Nork se burla.>$B$B¿Prisioneros? Estos no son prisioneros. ¡Son perros cobardes! Pero míralos... ¿Sabes que todos y cada uno de esos "soldados" de panza amarilla llegaron hasta nuestra puerta y entregaron sus armas y armaduras? Todos, sin excepción.$B$BPor la información que hemos conseguido reunir, estos hombres y mujeres están libres de cargos y son enviados a sus casas si los capturamos.$B$B<Nork escupe.>$B$BEs patético...', 18019),
(11711, 'esES', 'Buen trabajo, $n. Un apestoso e inútil sinvergüenza menos por el que preocuparnos...$B$BSi buscas más trabajo, el tauren y la elfa de sangre de aquí cerca necesitan ayuda.$B$BAunque aquí también tenemos problemas que resolver...', 18019),
(11711, 'esMX', 'Buen trabajo, $n. Un apestoso e inútil sinvergüenza menos por el que preocuparnos...$B$BSi buscas más trabajo, el tauren y la elfa de sangre de aquí cerca necesitan ayuda.$B$BAunque aquí también tenemos problemas que resolver...', 18019),
(11714, 'esES', '¡Un trabajo bien hecho, $n! ¡Gracias!', 18019),
(11714, 'esMX', '¡Un trabajo bien hecho, $n! ¡Gracias!', 18019),
(11716, 'esES', '¡Adorable! ¡Realmente adorable!$B$B<Laurith aplica unos polvos de polen a uno de los carpelos de sanguiespora y luego pronuncia un conjuro.>$B$BUuumm... No lo entiendo. A no ser que... ¡Pues claro que sí!', 18019),
(11716, 'esMX', '¡Adorable! ¡Realmente adorable!$B$B<Laurith aplica unos polvos de polen a uno de los carpelos de sanguiespora y luego pronuncia un conjuro.>$B$BUuumm... No lo entiendo. A no ser que... ¡Pues claro que sí!', 18019),
(11717, 'esES', '¡Ajá!$B$B<Laurith esparce el polen de polilla sobre los carpelos de sanguiespora.>$B$B¡Mira eso!', 18019),
(11717, 'esMX', '¡Ajá!$B$B<Laurith esparce el polen de polilla sobre los carpelos de sanguiespora.>$B$B¡Mira eso!', 18019),
(11719, 'esES', '¡Primigenio Cuerno Poderoso estará encantado! ¡Esto es incluso mejor de lo que me esperaba!$B$BQuizás sea el momento de contarte la verdad.', 18019),
(11719, 'esMX', '¡Primigenio Cuerno Poderoso estará encantado! ¡Esto es incluso mejor de lo que me esperaba!$B$BQuizás sea el momento de contarte la verdad.', 18019),
(11720, 'esES', 'Las sanguiesporas que recogiste bastarán para darnos algo de ventaja contra los magnatauros de Gammoth... con tu ayuda, claro.', 18019),
(11720, 'esMX', 'Las sanguiesporas que recogiste bastarán para darnos algo de ventaja contra los magnatauros de Gammoth... con tu ayuda, claro.', 18019),
(11721, 'esES', '¡Un trabajo bien hecho, $n! ¿Nos honrarás a mí y a Laurith llevándole la cabeza de la bestia y entregándosela a Grito Infernal? Estará muy satisfecho.', 18019),
(11721, 'esMX', '¡Un trabajo bien hecho, $n! ¿Nos honrarás a mí y a Laurith llevándole la cabeza de la bestia y entregándosela a Grito Infernal? Estará muy satisfecho.', 18019),
(11722, 'esES', '<Grito Infernal toma la cabeza de Gammothra con un brazo y le escupe la cara.>$B$BAsí aprenderán, $n... Todos aprenderán. No se debe jugar con la Horda...', 18019),
(11722, 'esMX', '<Grito Infernal toma la cabeza de Gammothra con un brazo y le escupe la cara.>$B$BAsí aprenderán, $n... Todos aprenderán. No se debe jugar con la Horda...', 18019),
(11724, 'esES', 'Así que Alkor ya no vive, ¿eh? Una pena... En cuanto al huevo, en realidad no tiene ninguna utilidad. Ahora mismo tenemos problemas mucho más importantes de los que ocuparnos.', 18019),
(11724, 'esMX', 'Así que Alkor ya no vive, ¿eh? Una pena... En cuanto al huevo, en realidad no tiene ninguna utilidad. Ahora mismo tenemos problemas mucho más importantes de los que ocuparnos.', 18019),
(11881, 'esES', '<Fezzix examina los restos.>$B$BJenny está un poco maltratada, pero estará bien. En cuanto al rescate, es un poco más... fragmentario de lo que esperaba, pero debería poder encontrarle un uso. Sin embargo, todavía no estás fuera de peligro. Vamos a reconstruir este bebé.', 18019),
(11881, 'esMX', '<Fezzix examina los restos.>$B$BJenny está un poco maltratada, pero estará bien. En cuanto al rescate, es un poco más... fragmentario de lo que esperaba, pero debería poder encontrarle un uso. Sin embargo, todavía no estás fuera de peligro. Vamos a reconstruir este bebé.', 18019),
(11887, 'esES', '¿Herramientas gnómicas? ¿Para mi? Esto debería hacer que reconstruir esa máquina voladora sea aún más fácil de lo que esperaba.', 18019),
(11887, 'esMX', '¿Herramientas gnómicas? ¿Para mi? Esto debería hacer que reconstruir esa máquina voladora sea aún más fácil de lo que esperaba.', 18019),
(11888, 'esES', 'No me sorprende que el jefe orco no tenga tiempo de enterarse de nuestros problemas. Es probable que los esfuerzos del embajador sean como una niebla que se lleva el viento.$B$BPero estás aquí ahora. Veremos si eligió bien al enviarte.', 18019),
(11888, 'esMX', 'No me sorprende que el jefe orco no tenga tiempo de enterarse de nuestros problemas. Es probable que los esfuerzos del embajador sean como una niebla que se lleva el viento.$B$BPero estás aquí ahora. Veremos si eligió bien al enviarte.', 18019),
(11890, 'esES', 'Sin duda noticias preocupantes.$B$BMi gente se va pronto de este lugar. Vamos a atravesar las líneas de Scourge para llegar a nuestra capital, Icemist, en Dragonblight.$B$BPero, antes de hacer eso, debemos ocuparnos de lo que han provocado los gnomos en su locura.', 18019),
(11890, 'esMX', 'Sin duda noticias preocupantes.$B$BMi gente se va pronto de este lugar. Vamos a atravesar las líneas de Scourge para llegar a nuestra capital, Icemist, en Dragonblight.$B$BPero, antes de hacer eso, debemos ocuparnos de lo que han provocado los gnomos en su locura.', 18019),
(11893, 'esES', '<Dorain asiente.>$B$BBueno. Esto debería ser suficiente para mostrarle a Fezzix exactamente lo que he estado tratando de decirle.', 18019),
(11893, 'esMX', '<Dorain asiente.>$B$BBueno. Esto debería ser suficiente para mostrarle a Fezzix exactamente lo que he estado tratando de decirle.', 18019),
(11894, 'esES', '¡Fantástico! ¡Un par de ajustes más y seré un goblin en el aire!', 18019),
(11894, 'esMX', '¡Fantástico! ¡Un par de ajustes más y seré un goblin en el aire!', 18019),
(11895, 'esES', '¡Siento el poder de la tormenta fluir en tu interior!$B$BEstás preparado, $n. Comencemos.', 18019),
(11895, 'esMX', '¡Siento el poder de la tormenta fluir en tu interior!$B$BEstás preparado, $n. Comencemos.', 18019),
(11896, 'esES', 'Ya que nos hemos ocupado de sus esbirros robóticos, es hora de que avancemos hacia el pez gordo. Por desgracia, siento el poder de la tormenta decreciendo en ti.$B$BSin embargo, sirvió su propósito y creo que eres más que capaz de dar el paso siguiente sin él.', 18019),
(11896, 'esMX', 'Ya que nos hemos ocupado de sus esbirros robóticos, es hora de que avancemos hacia el pez gordo. Por desgracia, siento el poder de la tormenta decreciendo en ti.$B$BSin embargo, sirvió su propósito y creo que eres más que capaz de dar el paso siguiente sin él.', 18019),
(11898, 'esES', 'Con la derrota del príncipe, la presencia de la Plaga en la Tundra Boreal ha perdido fuerza. No me hago ilusiones, sé que no se alejarán por mucho tiempo, por lo que debo centrarme en preparar a Durm para que lidere a los aldeanos hacia Bruma de Hielo.$B$B<El cabecilla mueve la cabeza despacio.>$B$BPor todas las discrepancias que he tenido con Durm, confío en su juicio y en sus aptitudes. Yo no puedo abandonar Taunka\'le, lo defenderé hasta la muerte.', 18019),
(11898, 'esMX', 'Con la derrota del príncipe, la presencia de la Plaga en la Tundra Boreal ha perdido fuerza. No me hago ilusiones, que no se alejarán por mucho tiempo, por lo que debo centrarme en preparar a Durm para que lidere a los aldeanos hacia Bruma de Hielo.$B$B<El cabecilla mueve la cabeza despacio.>$B$BPor todas las discrepancias que he tenido con Durm, confío en su juicio y en sus aptitudes. Yo no puedo abandonar Taunka\'le, lo defenderé hasta la muerte.', 18019),
(11899, 'esES', 'Ahora debemos liberar las almas que has atrapado.', 18019),
(11899, 'esMX', 'Ahora debemos liberar las almas que has atrapado.', 18019),
(11906, 'esES', 'Es la manera taunka de dejar la tierra prístina antes de continuar nuestro camino.$B$BMuy pronto viajaremos hacia nuestra capital, Bruma de Hielo. Nos has ayudado a acelerar nuestra partida.$B$BGracias.', 18019),
(11906, 'esMX', 'Es la manera taunka de dejar la tierra prístina antes de continuar nuestro camino.$B$BMuy pronto viajaremos hacia nuestra capital, Bruma de Hielo. Nos has ayudado a acelerar nuestra partida.$B$BGracias.', 18019),
(11907, 'esES', 'Gracias, $n.$B$BAl acabar con esas extrañas criaturas, será pan comido encargarse del resto de las pozas.$B$BTe estamos inmensamente agradecidos.', 18019),
(11907, 'esMX', 'Gracias, $n.$B$BAl acabar con esas extrañas criaturas, será pan comido encargarse del resto de las pozas.$B$BTe estamos inmensamente agradecidos.', 18019),
(11909, 'esES', '<La abuela deja escapar un fuerte suspiro de alivio.>$B$BEntonces ya está... ¡Nos has salvado! Si no lo hubieras detenido aquí, quién sabe lo lejos que habría llegado el error de los gnomos...$B$BAdemás de la amenaza de los dragones Azules y de la Guerra en El Nexo, sin mencionar al Rey Exánime, ¡lo último que necesitamos es una disparatada creación de los titanes por ahí suelta!$B$BGracias, $n.', 18019),
(11909, 'esMX', '<La abuela deja escapar un fuerte suspiro de alivio.>$B$BEntonces ya está... ¡Nos has salvado! Si no lo hubieras detenido aquí, quién sabe lo lejos que habría llegado el error de los gnomos...$B$BAdemás de la amenaza de los dragones Azules y de la Guerra en El Nexo, sin mencionar al Rey Exánime, ¡lo último que necesitamos es una disparatada creación de los titanes por ahí suelta!$B$BGracias, $n.', 18019),
(11916, 'esES', 'Me temo que llegas un poco tarde, campeón. Muchos de mis hermanos y hermanas ya han abandonado Taunka\'le en busca de refugio en el Cementerio de Dragones, al este.$B$BQueda mucho por hacer por aquí y pocos que quieran brindarnos su fuerza...', 18019),
(11916, 'esMX', 'Me temo que llegas un poco tarde, campeón. Muchos de mis hermanos y hermanas ya han abandonado Taunka\'le en busca de refugio en el Cementerio de Dragones, al este.$B$BQueda mucho por hacer por aquí y pocos que quieran brindarnos su fuerza...', 18019),
(11929, 'esES', '<Madre Tauranuk se seca las lágrimas.>$B$BHubo un tiempo en el que podía atravesar esta tundra y la nieve cubría hasta donde alcanzaba la vista.$B$BPero la nieve nos ha abandonado, indicando que nuestra vida aquí ha acabado. Dejamos atrás el Poblado Taunka\'le y la Tundra Boreal con muy buenos recuerdos...$B$B<Madre Tauranuk solloza.>$B$BQuizás el futuro albergue nuestro regreso... junto con la nieve.', 18019),
(11929, 'esMX', '<Madre Tauranuk se seca las lágrimas.>$B$BHubo un tiempo en el que podía atravesar esta tundra y la nieve cubría hasta donde alcanzaba la vista.$B$BPero la nieve nos ha abandonado, indicando que nuestra vida aquí ha acabado. Dejamos atrás el Poblado Taunka\'le y la Tundra Boreal con muy buenos recuerdos...$B$B<Madre Tauranuk solloza.>$B$BQuizás el futuro albergue nuestro regreso... junto con la nieve.', 18019),
(11930, 'esES', '<Guerratuk te mira compungido.>$B$BBruma de Hielo ha dejado de existir...', 18019),
(11930, 'esMX', '<Guerratuk te mira compungido.>$B$BBruma de Hielo ha dejado de existir...', 18019),
(12486, 'esES', '¿El místico lo sabe? ¿Dices que sintió que algo horrible le ha ocurrido al clarividente Caminante Siniestro?$B$B¡Tal y como yo me temía!', 18019),
(12486, 'esMX', '¿El místico lo sabe? ¿Dices que sintió que algo horrible le ha ocurrido al clarividente Caminante Siniestro?$B$B¡Tal y como yo me temía!', 18019),
(13257, 'esES', 'El señor de los demonios, Varimathras, y el principal boticario de los Renegados, Putress, son los responsables de esta traición.$B$B<Thrall asiente.>$B$BSí, el mismo Putress responsable de descubrir la cura para el reciente brote de plaga de la Plaga.$B$BAquellos que no se pusieron del lado de su régimen han sido ejecutados o desterrados. Sylvanas casi muere en el golpe.$B$BLa Horda ha perdido Entrañas. Orgrimmar se hará cargo de los refugiados Renegados hasta que se resuelva esta crisis.$B$BPor ahora estamos bajo la ley marcial.', 18019),
(13257, 'esMX', 'El señor de los demonios, Varimathras, y el principal boticario de los Renegados, Putress, son los responsables de esta traición.$B$B<Thrall asiente.>$B$BSí, el mismo Putress responsable de descubrir la cura para el reciente brote de plaga de la Plaga.$B$BAquellos que no se pusieron del lado de su régimen han sido ejecutados o desterrados. Sylvanas casi muere en el golpe.$B$BLa Horda ha perdido Entrañas. Orgrimmar se hará cargo de los refugiados Renegados hasta que se resuelva esta crisis.$B$BPor ahora estamos bajo la ley marcial.', 18019);
DELETE FROM `quest_request_items_locale` WHERE `ID` IN (11593,11594,11598,11602,11606,11615,11616,11619,11628,11629,11630,11631,11632,11633,11637,11638,11639,11640,11641,11643,11644,11647,11649,11654,11655,11656,11660,11661,11676,11683,11684,11685,11686,11687,11688,11690,11695,11706,11711,11714,11716,11717,11721,11722,11724,11881,11887,11890,11893,11894,11895,11896,11898,11899,11906,11907,11909) AND `locale` IN ('esES', 'esMX');
INSERT INTO `quest_request_items_locale` (`ID`, `locale`, `CompletionText`, `VerifiedBuild`) VALUES
(11593, 'esES', 'Solo estaba mirando y vi los cadáveres de nuestros caídos ahí fuera.$B$B¡Cumple con tu deber para con la Horda, $c!', 18019),
(11593, 'esMX', 'Solo estaba mirando y vi los cadáveres de nuestros caídos ahí fuera.$B$B¡Cumple con tu deber para con la Horda, $c!', 18019),
(11594, 'esES', 'Si hiciste un buen trabajo, ¿por qué todavía puedo verlos por ahí? ', 18019),
(11594, 'esMX', 'Si hiciste un buen trabajo, ¿por qué todavía puedo verlos por ahí? ', 18019),
(11598, 'esES', 'No construimos sobre el sistema de túneles nerubianos, ¡esos monstruos se dirigieron hacia nosotros! ', 18019),
(11598, 'esMX', 'No construimos sobre el sistema de túneles nerubianos, ¡esos monstruos se dirigieron hacia nosotros! ', 18019),
(11602, 'esES', '¡Tienes que destruir esos sacos de huevos!', 18019),
(11602, 'esMX', '¡Tienes que destruir esos sacos de huevos!', 18019),
(11606, 'esES', 'Nos estamos quedando sin tiempo, $c.', 18019),
(11606, 'esMX', 'Nos estamos quedando sin tiempo, $c.', 18019),
(11615, 'esES', '¿Está muerto?', 18019),
(11615, 'esMX', '¿Está muerto?', 18019),
(11616, 'esES', '¿Cuál es el propósito de esta interrupción? ¡No me agobies con tonterías!', 18019),
(11616, 'esMX', '¿Cuál es el propósito de esta interrupción? ¡No me agobies con tonterías!', 18019),
(11619, 'esES', '¿Has derrotado a Gamel, $r? ', 18019),
(11619, 'esMX', '¿Has derrotado a Gamel, $r? ', 18019),
(11628, 'esES', '¿Has traído las pelambres de mamut?', 18019),
(11628, 'esMX', '¿Has traído las pelambres de mamut?', 18019),
(11629, 'esES', 'Has regresado, $c. ¿Qué has averiguado?$B$B¿Qué es ese sonido?', 18019),
(11629, 'esMX', 'Has regresado, $c. ¿Qué has averiguado?$B$B¿Qué es ese sonido?', 18019),
(11630, 'esES', '¿Tienes la tierra que necesita la sabia Aeire para acabar la capa?', 18019),
(11630, 'esMX', '¿Tienes la tierra que necesita la sabia Aeire para acabar la capa?', 18019),
(11631, 'esES', 'Cuando sientas que has visto suficiente, devuélveme el primigenio.', 18019),
(11631, 'esMX', 'Cuando sientas que has visto suficiente, devuélveme el primigenio.', 18019),
(11632, 'esES', '¿Qué tienes ahí?', 18019),
(11632, 'esMX', '¿Qué tienes ahí?', 18019),
(11633, 'esES', '¿Has terminado de explorar los templos en la fortaleza de la Plaga?', 18019),
(11633, 'esMX', '¿Has terminado de explorar los templos en la fortaleza de la Plaga?', 18019),
(11637, 'esES', 'Date prisa $c, usa el fetiche conmigo antes de que sea demasiado tarde.', 18019),
(11637, 'esMX', 'Date prisa $c, usa el fetiche conmigo antes de que sea demasiado tarde.', 18019),
(11638, 'esES', 'Vuelves antes de lo que esperaba. ¿Qué has averiguado?', 18019),
(11638, 'esMX', 'Vuelves antes de lo que esperaba. ¿Qué has averiguado?', 18019),
(11639, 'esES', 'Lok\'tar, $c. ¡No podrías haber matado todo en Magmoth en tan poco tiempo! ', 18019),
(11639, 'esMX', 'Lok\'tar, $c. ¡No podrías haber matado todo en Magmoth en tan poco tiempo! ', 18019),
(11640, 'esES', 'Tenemos que entrar en esa necrópolis si queremos abrirnos paso entre la Plaga y dejar el camino libre para los campesinos.', 18019),
(11640, 'esMX', 'Tenemos que entrar en esa necrópolis si queremos abrirnos paso entre la Plaga y dejar el camino libre para los campesinos.', 18019),
(11641, 'esES', 'No me molestes a menos que hayas venido a informar de una misión exitosa.', 18019),
(11641, 'esMX', 'No me molestes a menos que hayas venido a informar de una misión exitosa.', 18019),
(11643, 'esES', '¿Has encontrado el T.N.T.?', 18019),
(11643, 'esMX', '¿Has encontrado el T.N.T.?', 18019),
(11644, 'esES', '¡Recuerda, la niebla es mala!', 18019),
(11644, 'esMX', '¡Recuerda, la niebla es mala!', 18019),
(11647, 'esES', '¿Has usado el tótem en todos los calderos de la plaga?', 18019),
(11647, 'esMX', '¿Has usado el tótem en todos los calderos de la plaga?', 18019),
(11649, 'esES', 'Cuando tengas las motas necesarias, combinaré una porción de mi esencia con la suya. El resultado será lo que necesitas.', 18019),
(11649, 'esMX', 'Cuando tengas las motas necesarias, combinaré una porción de mi esencia con la suya. El resultado será lo que necesitas.', 18019),
(11654, 'esES', '¿Cómo... cómo me has encontrado?', 18019),
(11654, 'esMX', '¿Cómo... cómo me has encontrado?', 18019),
(11655, 'esES', 'Has de servir por la sangre y el honor... Devuelve las reliquias colmillarr', 18019),
(11655, 'esMX', 'Has de servir por la sangre y el honor... Devuelve las reliquias colmillarr', 18019),
(11656, 'esES', '¿Está hecho? ¿Están los barcos en llamas?', 18019),
(11656, 'esMX', '¿Está hecho? ¿Están los barcos en llamas?', 18019),
(11660, 'esES', '¡Encuentra el cuerno del viejo marinero!', 18019),
(11660, 'esMX', '¡Encuentra el cuerno del viejo marinero!', 18019),
(11661, 'esES', '¡Orabus debe ser destruido!', 18019),
(11661, 'esMX', '¡Orabus debe ser destruido!', 18019),
(11676, 'esES', '¡Salva a esos prisioneros!', 18019),
(11676, 'esMX', '¡Salva a esos prisioneros!', 18019),
(11683, 'esES', 'Seguramente no podrías haber despachado tantos Scourge en tan poco tiempo.', 18019),
(11683, 'esMX', 'Seguramente no podrías haber despachado tantos Scourge en tan poco tiempo.', 18019),
(11684, 'esES', '¿Has señalado la ubicación de los sumideros?', 18019),
(11684, 'esMX', '¿Has señalado la ubicación de los sumideros?', 18019),
(11685, 'esES', 'El abuelo Mahan me ha dicho que has accedido a ayudarnos a derrumbar los túneles.', 18019),
(11685, 'esMX', 'El abuelo Mahan me ha dicho que has accedido a ayudarnos a derrumbar los túneles.', 18019),
(11686, 'esES', '¿Has buscado en las granjas?', 18019),
(11686, 'esMX', '¿Has buscado en las granjas?', 18019),
(11687, 'esES', '$n, ¡regresa!', 18019),
(11687, 'esMX', '$n, ¡regresa!', 18019),
(11688, 'esES', '¡Necesito más tiempo! ¡Mantén a esos cerdos fuera de mis kodos!', 18019),
(11688, 'esMX', '¡Necesito más tiempo! ¡Mantén a esos cerdos fuera de mis kodos!', 18019),
(11690, 'esES', '¡Sácalos de esos campos infestados de la Plaga!', 18019),
(11690, 'esMX', '¡Sácalos de esos campos infestados de la Plaga!', 18019),
(11695, 'esES', '¿Has encontrado el cuerno? ¿La leyenda era cierta?', 18019),
(11695, 'esMX', '¿Has encontrado el cuerno? ¿La leyenda era cierta?', 18019),
(11706, 'esES', '¿Has desatado a Alluvius y detenido el ataque nerubiano?', 18019),
(11706, 'esMX', '¿Has desatado a Alluvius y detenido el ataque nerubiano?', 18019),
(11711, 'esES', '<Tungok gruñe.>$B$B¿Te encargaste del desertor?', 18019),
(11711, 'esMX', '<Tungok gruñe.>$B$B¿Te encargaste del desertor?', 18019),
(11714, 'esES', 'Este trabajo apesta...', 18019),
(11714, 'esMX', 'Este trabajo apesta...', 18019),
(11716, 'esES', '¡Las pruebas han de continuar!', 18019),
(11716, 'esMX', '¡Las pruebas han de continuar!', 18019),
(11717, 'esES', 'El polen es la clave.', 18019),
(11717, 'esMX', 'El polen es la clave.', 18019),
(11721, 'esES', 'El polvo puede usarse para debilitar a todos los magnatauros. Esa es la razón por la que esas ratas de la zona lo guardan tan celosamente.', 18019),
(11721, 'esMX', 'El polvo puede usarse para debilitar a todos los magnatauros. Esa es la razón por la que esas ratas de la zona lo guardan tan celosamente.', 18019),
(11722, 'esES', '¿Ya estás aquí?', 18019),
(11722, 'esMX', '¿Ya estás aquí?', 18019),
(11724, 'esES', '¡Saludos!', 18019),
(11724, 'esMX', '¡Saludos!', 18019),
(11881, 'esES', '¡No falles! Cuento con usted.', 18019),
(11881, 'esMX', '¡No falles! Cuento con usted.', 18019),
(11887, 'esES', '¿Qué es lo que tienes ahí?', 18019),
(11887, 'esMX', '¿Qué es lo que tienes ahí?', 18019),
(11890, 'esES', '¿Qué averiguaste, $r?', 18019),
(11890, 'esMX', '¿Qué averiguaste, $r?', 18019),
(11893, 'esES', '¿Has cargado el tótem?', 18019),
(11893, 'esMX', '¿Has cargado el tótem?', 18019),
(11894, 'esES', '¿Me has conseguido todo ese cuero curado de caribú?', 18019),
(11894, 'esMX', '¿Me has conseguido todo ese cuero curado de caribú?', 18019),
(11895, 'esES', '¿Ya has dominado la tormenta?', 18019),
(11895, 'esMX', '¿Ya has dominado la tormenta?', 18019),
(11896, 'esES', '¿Has desatado el poder de la tormenta sobre esas creaciones antinaturales?', 18019),
(11896, 'esMX', '¿Has desatado el poder de la tormenta sobre esas creaciones antinaturales?', 18019),
(11898, 'esES', '¿Has derrotado al Príncipe Valanar?', 18019),
(11898, 'esMX', '¿Has derrotado al Príncipe Valanar?', 18019),
(11899, 'esES', '¿Cómo va tu progreso?', 18019),
(11899, 'esMX', '¿Cómo va tu progreso?', 18019),
(11906, 'esES', 'Si no cuidamos de la tierra, pagaremos las consecuencias.', 18019),
(11906, 'esMX', 'Si no cuidamos de la tierra, pagaremos las consecuencias.', 18019),
(11907, 'esES', '¿Se tratan los sub-jefes?', 18019),
(11907, 'esMX', '¿Se tratan los sub-jefes?', 18019),
(11909, 'esES', 'Entonces, ¿ya se ha terminado? ¿Has eliminado la amenaza del maestro de palancas Mecazod?', 18019),
(11909, 'esMX', 'Entonces, ¿ya se ha terminado? ¿Has eliminado la amenaza del maestro de palancas Mecazod?', 18019);
--
-- END UPDATING QUERIES
--
UPDATE version_db_world SET date = '2022_04_18_02' WHERE sql_rev = '1648473064028573703';
COMMIT;
END //
DELIMITER ;
CALL updateDb();
DROP PROCEDURE IF EXISTS `updateDb`;

View File

@@ -0,0 +1,31 @@
-- DB update 2022_04_18_02 -> 2022_04_18_03
DROP PROCEDURE IF EXISTS `updateDb`;
DELIMITER //
CREATE PROCEDURE updateDb ()
proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
SELECT COUNT(*) INTO @COLEXISTS
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2022_04_18_02';
IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
START TRANSACTION;
ALTER TABLE version_db_world CHANGE COLUMN 2022_04_18_02 2022_04_18_03 bit;
SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1648562925756409969'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
--
-- START UPDATING QUERIES
--
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1648562925756409969');
DELETE FROM `quest_request_items_locale` WHERE `ID` = 12718 AND `locale` = "frFR" ;
INSERT INTO `quest_request_items_locale` (`ID`, `locale`, `CompletionText`, `VerifiedBuild`) VALUES
(12718,"frFR","La mixture toxique bouillonne dans le chaudron de peste, répandant une épaisse fumée aux alentours.$b$bAvez-vous plus de crânes de croisés à y jeter ?",18019);
--
-- END UPDATING QUERIES
--
UPDATE version_db_world SET date = '2022_04_18_03' WHERE sql_rev = '1648562925756409969';
COMMIT;
END //
DELIMITER ;
CALL updateDb();
DROP PROCEDURE IF EXISTS `updateDb`;

View File

@@ -0,0 +1,37 @@
-- DB update 2022_04_18_03 -> 2022_04_18_04
DROP PROCEDURE IF EXISTS `updateDb`;
DELIMITER //
CREATE PROCEDURE updateDb ()
proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
SELECT COUNT(*) INTO @COLEXISTS
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2022_04_18_03';
IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
START TRANSACTION;
ALTER TABLE version_db_world CHANGE COLUMN 2022_04_18_03 2022_04_18_04 bit;
SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1649549626279664100'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
--
-- START UPDATING QUERIES
--
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1649549626279664100');
-- Gryan Stoutmantle gossip
DELETE FROM `gossip_menu` WHERE `MenuID` = 61029;
INSERT INTO `gossip_menu` (`MenuID`, `TextID`) VALUES (61029, 50020);
UPDATE `creature_template` SET `gossip_menu_id` = 61029 WHERE `entry` = 234;
-- Farmer_Furlbrow
DELETE FROM `gossip_menu` WHERE `MenuID` = 61030;
INSERT INTO `gossip_menu` (`MenuID`, `TextID`) VALUES (61030, 50019);
UPDATE `creature_template` SET `gossip_menu_id` = 61030 WHERE `entry` = 237;
--
-- END UPDATING QUERIES
--
UPDATE version_db_world SET date = '2022_04_18_04' WHERE sql_rev = '1649549626279664100';
COMMIT;
END //
DELIMITER ;
CALL updateDb();
DROP PROCEDURE IF EXISTS `updateDb`;

View File

@@ -4502,8 +4502,7 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
if (!me || !me->IsInCombat())
return;
ObjectList* _targets = nullptr;
Unit* target = nullptr;
switch (e.GetTargetType())
{
case SMART_TARGET_CREATURE_RANGE:
@@ -4513,33 +4512,36 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
case SMART_TARGET_CLOSEST_PLAYER:
case SMART_TARGET_PLAYER_RANGE:
case SMART_TARGET_PLAYER_DISTANCE:
_targets = GetTargets(e);
{
ObjectList* targets = GetTargets(e);
if (!targets)
return;
for (WorldObject* target : *targets)
{
if (IsUnit(target) && me->IsFriendlyTo(target->ToUnit()) && target->ToUnit()->IsAlive() && target->ToUnit()->IsInCombat())
{
uint32 healthPct = uint32(target->ToUnit()->GetHealthPct());
if (healthPct > e.event.friendlyHealthPct.maxHpPct || healthPct < e.event.friendlyHealthPct.minHpPct)
{
continue;
}
target = target->ToUnit();
break;
}
}
delete targets;
break;
}
case SMART_TARGET_SELF:
case SMART_TARGET_ACTION_INVOKER:
target = DoSelectLowestHpPercentFriendly((float)e.event.friendlyHealthPct.radius, e.event.friendlyHealthPct.minHpPct, e.event.friendlyHealthPct.maxHpPct);
break;
default:
return;
}
if (!_targets)
return;
Unit* target = nullptr;
for (ObjectList::const_iterator itr = _targets->begin(); itr != _targets->end(); ++itr)
{
if (IsUnit(*itr) && me->IsFriendlyTo((*itr)->ToUnit()) && (*itr)->ToUnit()->IsAlive() && (*itr)->ToUnit()->IsInCombat())
{
uint32 healthPct = uint32((*itr)->ToUnit()->GetHealthPct());
if (healthPct > e.event.friendlyHealthPct.maxHpPct || healthPct < e.event.friendlyHealthPct.minHpPct)
continue;
target = (*itr)->ToUnit();
break;
}
}
delete _targets;
if (!target)
return;
@@ -5033,6 +5035,20 @@ Unit* SmartScript::DoSelectLowestHpFriendly(float range, uint32 MinHPDiff)
return unit;
}
Unit* SmartScript::DoSelectLowestHpPercentFriendly(float range, uint32 minHpPct, uint32 maxHpPct) const
{
if (!me)
{
return nullptr;
}
Unit* unit = nullptr;
Acore::MostHPPercentMissingInRange u_check(me, range, minHpPct, maxHpPct);
Acore::UnitLastSearcher<Acore::MostHPPercentMissingInRange> searcher(me, unit, u_check);
Cell::VisitGridObjects(me, searcher, range);
return unit;
}
void SmartScript::DoFindFriendlyCC(std::list<Creature*>& _list, float range)
{
if (!me)

View File

@@ -85,6 +85,7 @@ public:
void OnMoveInLineOfSight(Unit* who);
Unit* DoSelectLowestHpFriendly(float range, uint32 MinHPDiff);
Unit* DoSelectLowestHpPercentFriendly(float range, uint32 minHpPct, uint32 maxHpPct) const;
void DoFindFriendlyCC(std::list<Creature*>& _list, float range);
void DoFindFriendlyMissingBuff(std::list<Creature*>& list, float range, uint32 spellid);
Unit* DoFindClosestFriendlyInRange(float range, bool playerOnly);

View File

@@ -1138,6 +1138,13 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
case SMART_TARGET_PLAYER_RANGE:
case SMART_TARGET_PLAYER_DISTANCE:
break;
case SMART_TARGET_SELF:
case SMART_TARGET_ACTION_INVOKER:
if (!NotNULL(e, e.event.friendlyHealthPct.radius))
{
return false;
}
break;
default:
LOG_ERROR("sql.sql", "SmartAIMgr: Entry {} SourceType {} Event {} Action {} uses invalid target_type {}, skipped.", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType(), e.GetTargetType());
return false;

View File

@@ -419,6 +419,7 @@ struct SmartEvent
uint32 maxHpPct;
uint32 repeatMin;
uint32 repeatMax;
uint32 radius;
} friendlyHealthPct;
struct

View File

@@ -500,6 +500,26 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo)
condMeets = unit->HasAuraType(AuraType(ConditionValue1));
break;
}
case CONDITION_STAND_STATE:
{
if (Unit* unit = object->ToUnit())
{
if (ConditionValue1 == 0)
{
condMeets = (unit->getStandState() == ConditionValue2);
}
else if (ConditionValue2 == 0)
{
condMeets = unit->IsStandState();
}
else if (ConditionValue2 == 1)
{
condMeets = unit->IsSitState();
}
}
break;
}
case CONDITION_DIFFICULTY_ID:
{
condMeets = object->GetMap()->GetDifficulty() == ConditionValue1;
@@ -721,6 +741,9 @@ uint32 Condition::GetSearcherTypeMaskForCondition()
case CONDITION_HAS_AURA_TYPE:
mask |= GRID_MAP_TYPE_MASK_CREATURE | GRID_MAP_TYPE_MASK_PLAYER;
break;
case CONDITION_STAND_STATE:
mask |= GRID_MAP_TYPE_MASK_CREATURE | GRID_MAP_TYPE_MASK_PLAYER;
break;
case CONDITION_DIFFICULTY_ID:
mask |= GRID_MAP_TYPE_MASK_ALL;
break;
@@ -1799,9 +1822,6 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond)
case CONDITION_TERRAIN_SWAP:
LOG_ERROR("sql.sql", "SourceEntry {} in `condition` table has a ConditionType that is not supported on 3.3.5a ({}), ignoring.", cond->SourceEntry, uint32(cond->ConditionType));
return false;
case CONDITION_STAND_STATE:
LOG_ERROR("sql.sql", "SourceEntry {} in `condition` table has a ConditionType that is not yet supported on AzerothCore ({}), ignoring.", cond->SourceEntry, uint32(cond->ConditionType));
return false;
default:
break;
}
@@ -2383,6 +2403,28 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond)
}
break;
}
case CONDITION_STAND_STATE:
{
bool valid = false;
switch (cond->ConditionValue1)
{
case 0:
valid = cond->ConditionValue2 <= UNIT_STAND_STATE_SUBMERGED;
break;
case 1:
valid = cond->ConditionValue2 <= 1;
break;
default:
valid = false;
break;
}
if (!valid)
{
LOG_ERROR("sql.sql", "CONDITION_STAND_STATE has non-existing stand state ({},{}), skipped.", cond->ConditionValue1, cond->ConditionValue2);
return false;
}
break;
}
case CONDITION_DIFFICULTY_ID:
if (cond->ConditionValue1 >= MAX_DIFFICULTY)
{

View File

@@ -74,7 +74,7 @@ enum ConditionTypes
CONDITION_REALM_ACHIEVEMENT = 39, // achievement_id 0 0 true if realm achievement is complete
CONDITION_IN_WATER = 40, // 0 0 0 true if unit in water
CONDITION_TERRAIN_SWAP = 41, // don't use on 3.3.5a
CONDITION_STAND_STATE = 42, // TODO: NOT SUPPORTED YET
CONDITION_STAND_STATE = 42, // stateType state 0 true if unit matches specified sitstate (0,x: has exactly state x; 1,0: any standing state; 1,1: any sitting state;)
CONDITION_DAILY_QUEST_DONE = 43, // quest id 0 0 true if daily quest has been completed for the day
CONDITION_CHARMED = 44, // 0 0 0 true if unit is currently charmed
CONDITION_PET_TYPE = 45, // mask 0 0 true if player has a pet of given type(s)

View File

@@ -787,6 +787,30 @@ namespace Acore
uint32 i_hp;
};
class MostHPPercentMissingInRange
{
public:
MostHPPercentMissingInRange(Unit const* obj, float range, uint32 minHpPct, uint32 maxHpPct) :
i_obj(obj), i_range(range), i_minHpPct(minHpPct), i_maxHpPct(maxHpPct), i_hpPct(101.f) { }
bool operator()(Unit* u)
{
if (u->IsAlive() && u->IsInCombat() && !i_obj->IsHostileTo(u) && i_obj->IsWithinDistInMap(u, i_range) &&
i_minHpPct <= u->GetHealthPct() && u->GetHealthPct() <= i_maxHpPct && u->GetHealthPct() < i_hpPct)
{
i_hpPct = u->GetHealthPct();
return true;
}
return false;
}
private:
Unit const* i_obj;
float i_range;
float i_minHpPct, i_maxHpPct, i_hpPct;
};
class FriendlyCCedInRange
{
public:

View File

@@ -3808,13 +3808,6 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
m_caster->CastSpell(unitTarget, 22682, true);
return;
}
case 20589: // Escape artist
case 30918: // Improved Sprint
{
// Removes snares and roots.
unitTarget->RemoveMovementImpairingAuras(true);
break;
}
// Plant Warmaul Ogre Banner
case 32307:
if (Player* caster = m_caster->ToPlayer())

View File

@@ -49,8 +49,8 @@ enum Spells
SPELL_CHROMATIC_MUT_1 = 23174, //Spell cast on player if they get all 5 debuffs
SPELL_ELEMENTAL_SHIELD = 22276,
SPELL_FRENZY = 28371, //The frenzy spell may be wrong
SPELL_ENRAGE = 28747
SPELL_FRENZY = 23128,
SPELL_ENRAGE = 23537
};
enum Events
@@ -239,7 +239,7 @@ public:
// Cast new random vulnerabilty on self
DoCast(me, SPELL_ELEMENTAL_SHIELD);
Talk(EMOTE_SHIMMER);
events.ScheduleEvent(EVENT_SHIMMER, 45000);
events.ScheduleEvent(EVENT_SHIMMER, urand(17000, 25000));
break;
}
case EVENT_BREATH_1:

View File

@@ -62,7 +62,6 @@ public:
void Reset() override
{
me->RemoveAurasDueToSpell(SPELL_MARK_OF_FROST_AURA);
_scheduler.CancelAll();
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
me->RestoreFaction();
@@ -71,7 +70,6 @@ public:
if (p->GetZoneId() == me->GetZoneId())
{
p->RemoveAurasDueToSpell(SPELL_MARK_OF_FROST);
p->RemoveAurasDueToSpell(SPELL_AURA_OF_FROST);
p->RemoveAurasDueToSpell(SPELL_CHILL);
p->RemoveAurasDueToSpell(SPELL_FROST_BREATH);

View File

@@ -664,8 +664,12 @@ public:
{
Map::PlayerList const& pList = instance->GetPlayers();
for (Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr)
if (Vehicle* veh = itr->GetSource()->GetVehicle())
veh->Dismiss();
{
if (Creature* vehicleCreature = itr->GetSource()->GetVehicleCreatureBase())
{
vehicleCreature->DespawnOrUnsummon();
}
}
}
break;
case TYPE_IGNIS:
@@ -837,8 +841,12 @@ public:
{
Map::PlayerList const& pList = instance->GetPlayers();
for (Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr)
if (Vehicle* veh = itr->GetSource()->GetVehicle())
veh->Dismiss();
{
if (Creature* vehicleCreature = itr->GetSource()->GetVehicleCreatureBase())
{
vehicleCreature->DespawnOrUnsummon();
}
}
}
}
@@ -1239,9 +1247,12 @@ void instance_ulduar::instance_ulduar_InstanceMapScript::SpawnLeviathanEncounter
if (!_leviathanVehicles.empty())
{
for (ObjectGuid const& guid : _leviathanVehicles)
{
if (Creature* cr = instance->GetCreature(guid))
if (Vehicle* veh = cr->GetVehicleKit())
veh->Dismiss();
{
cr->DespawnOrUnsummon();
}
}
_leviathanVehicles.clear();
}

View File

@@ -4389,6 +4389,23 @@ class spell_gen_arcane_charge : public SpellScript
}
};
// 20589 - Escape artist
// 30918 - Improved Sprint
class spell_gen_remove_impairing_auras : public SpellScript
{
PrepareSpellScript(spell_gen_remove_impairing_auras);
void HandleScriptEffect(SpellEffIndex /* effIndex */)
{
GetHitUnit()->RemoveMovementImpairingAuras(true);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_remove_impairing_auras::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
void AddSC_generic_spell_scripts()
{
RegisterSpellScript(spell_silithyst);
@@ -4522,4 +4539,5 @@ void AddSC_generic_spell_scripts()
RegisterSpellScript(spell_contagion_of_rot);
RegisterSpellScript(spell_gen_holiday_buff_food);
RegisterSpellScript(spell_gen_arcane_charge);
RegisterSpellScript(spell_gen_remove_impairing_auras);
}