mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 01:15:35 +01:00
Misc/Scripts: Some fixes for creature_text
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
#include "CellImpl.h"
|
||||
#include "obsidian_sanctum.h"
|
||||
|
||||
enum eEnums
|
||||
enum Enums
|
||||
{
|
||||
//Sartharion Yell
|
||||
SAY_SARTHARION_AGGRO = 0,
|
||||
@@ -40,6 +40,9 @@ enum eEnums
|
||||
WHISPER_HATCH_EGGS = 6,
|
||||
WHISPER_OPEN_PORTAL = 6, // whisper, shared by two dragons
|
||||
|
||||
WHISPER_SHADRON_DICIPLE = 7,
|
||||
WHISPER_VESPERON_DICIPLE = 7,
|
||||
|
||||
//Sartharion Spells
|
||||
SPELL_BERSERK = 61632, // Increases the caster's attack speed by 150% and all damage it deals by 500% for 5 min.
|
||||
SPELL_CLEAVE = 56909, // Inflicts 35% weapon damage to an enemy and its nearest allies, affecting up to 10 targets.
|
||||
|
||||
@@ -39,7 +39,8 @@ enum Yells
|
||||
SAY_SLAY = 1,
|
||||
SAY_DEATH = 2,
|
||||
SAY_SUMMON_SNAKES = 3,
|
||||
SAY_SUMMON_CONSTRICTORS = 4
|
||||
SAY_SUMMON_CONSTRICTORS = 4,
|
||||
EMOTE_NOVA = 5
|
||||
};
|
||||
|
||||
//Creatures
|
||||
@@ -130,6 +131,7 @@ public:
|
||||
if (uiPoisonNovaTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_POISON_NOVA);
|
||||
Talk(EMOTE_NOVA);
|
||||
uiPoisonNovaTimer = 15*IN_MILLISECONDS;
|
||||
} else uiPoisonNovaTimer -= diff;
|
||||
|
||||
|
||||
@@ -45,11 +45,14 @@ enum Spells
|
||||
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO_1 = 0,
|
||||
SAY_AGGRO_2 = 1,
|
||||
SAY_AGGRO_3 = 2,
|
||||
SAY_AGGRO_4 = 3,
|
||||
SAY_TELEPORT = 1
|
||||
SAY_SUMMON_1 = 0,
|
||||
SAY_SUMMON_2 = 1,
|
||||
SAY_SUMMON_3 = 2,
|
||||
SAY_AGGRO = 3,
|
||||
EMOTE_ARCANE_EXPLOSION = 4,
|
||||
SAY_ARCANE_EXPLOSION = 5,
|
||||
SAY_DEATH = 6,
|
||||
SAY_PLAYER_KILL = 7
|
||||
};
|
||||
|
||||
enum eCreature
|
||||
@@ -148,7 +151,7 @@ public:
|
||||
{
|
||||
if (me->Attack(who, true))
|
||||
{
|
||||
Talk(RAND(SAY_AGGRO_1, SAY_AGGRO_2, SAY_AGGRO_3, SAY_AGGRO_4));
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
me->SetInCombatWith(who);
|
||||
who->SetInCombatWith(me);
|
||||
@@ -204,6 +207,22 @@ public:
|
||||
{
|
||||
SetPosition(i);
|
||||
me->SummonCreature(Group[group[instance->GetData(DATA_UROM_PLATAFORM)]].entry[i], x, y, me->GetPositionZ(), me->GetOrientation());
|
||||
|
||||
// teleport to next platform and spawn adds
|
||||
switch (instance->GetData(DATA_UROM_PLATAFORM))
|
||||
{
|
||||
case 1:
|
||||
Talk(SAY_SUMMON_1);
|
||||
break;
|
||||
case 2:
|
||||
Talk(SAY_SUMMON_2);
|
||||
break;
|
||||
case 3:
|
||||
Talk(SAY_SUMMON_3);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,9 +235,13 @@ public:
|
||||
DoCast(TeleportSpells[instance->GetData(DATA_UROM_PLATAFORM)]);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
Talk(SAY_PLAYER_KILL);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
@@ -228,7 +251,6 @@ public:
|
||||
if (teleportTimer <= uiDiff)
|
||||
{
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
Talk(SAY_TELEPORT);
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
DoCast(SPELL_TELEPORT);
|
||||
teleportTimer = urand(30000, 35000);
|
||||
@@ -257,6 +279,9 @@ public:
|
||||
me->GetMotionMaster()->MoveChase(me->getVictim(), 0, 0);
|
||||
me->SetUnitMovementFlags(MOVEMENTFLAG_WALKING);
|
||||
|
||||
Talk(EMOTE_ARCANE_EXPLOSION);
|
||||
Talk(SAY_ARCANE_EXPLOSION);
|
||||
|
||||
canCast = false;
|
||||
canGoBack = false;
|
||||
arcaneExplosionTimer = 9000;
|
||||
@@ -286,6 +311,7 @@ public:
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
_JustDied();
|
||||
Talk(SAY_DEATH);
|
||||
DoCast(me, SPELL_DEATH_SPELL, true); // we cast the spell as triggered or the summon effect does not occur
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user