Anubrekhan and Faerlina spell power corrections

This commit is contained in:
郑佩茹
2022-09-06 19:31:34 -06:00
parent 8789bff489
commit 61d4182fc5
3 changed files with 49 additions and 15 deletions

View File

@@ -35,13 +35,19 @@ enum GuardSays
enum Spells
{
SPELL_IMPALE_10 = 28783,
SPELL_LOCUST_SWARM_10 = 28785,
SPELL_SUMMON_CORPSE_SCRABS_5 = 29105,
SPELL_SUMMON_CORPSE_SCRABS_10 = 28864,
SPELL_IMPALE = 28783,
SPELL_LOCUST_SWARM = 28785,
SPELL_SUMMON_CORPSE_SCRABS_5 = 90001, // Changed from 29105 to Level 60 Mob ID for summon
SPELL_SUMMON_CORPSE_SCRABS_10 = 90002, // Changed from 29105 to Level 60 Mob ID for summon
SPELL_BERSERK = 26662
};
enum SpellValues : int32
{
IMPALE_BP1 = 3937,
IMPALE_BP2 = 299
};
enum Events
{
EVENT_IMPALE = 1,
@@ -219,13 +225,15 @@ public:
case EVENT_IMPALE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
{
me->CastSpell(target, SPELL_IMPALE_10, false);
int32 bp1 = IMPALE_BP1;
int32 bp2 = IMPALE_BP2;
me->CastCustomSpell(target, SPELL_IMPALE, 0, &bp1, &bp2, false, nullptr, nullptr, ObjectGuid::Empty);
}
events.RepeatEvent(20000);
break;
case EVENT_LOCUST_SWARM:
Talk(EMOTE_LOCUST);
me->CastSpell(me, SPELL_LOCUST_SWARM_10, false);
me->CastSpell(me, SPELL_LOCUST_SWARM, false);
events.ScheduleEvent(EVENT_SPAWN_GUARD, 3000);
events.RepeatEvent(90000);
break;

View File

@@ -33,12 +33,22 @@ enum Yells
enum Spells
{
SPELL_POISON_BOLT_VOLLEY_10 = 28796,
SPELL_RAIN_OF_FIRE_10 = 28794,
SPELL_FRENZY_10 = 28798,
SPELL_POISON_BOLT_VOLLEY = 28796,
SPELL_RAIN_OF_FIRE = 28794,
SPELL_FRENZY = 28798,
SPELL_WIDOWS_EMBRACE = 28732
};
enum SpellValues : int32
{
POISON_BOLT_VOLLEY_BP0 = 1224,
POISON_BOLT_VOLLEY_BP1 = 416,
RAIN_OF_FIRE_BP0 = 1849,
FRENZY_BP0 = 149,
FRENZY_BP1 = 74,
FRENZY_BP2 = 49
};
enum Events
{
EVENT_POISON_BOLT = 1,
@@ -194,23 +204,33 @@ public:
case EVENT_POISON_BOLT:
if (!me->HasAura(SPELL_WIDOWS_EMBRACE))
{
me->CastCustomSpell(SPELL_POISON_BOLT_VOLLEY_10, SPELLVALUE_MAX_TARGETS, 10, me, false);
CustomSpellValues values;
int32 bp0 = POISON_BOLT_VOLLEY_BP0;
int32 bp1 = POISON_BOLT_VOLLEY_BP1;
values.AddSpellMod(SPELLVALUE_MAX_TARGETS, 10);
values.AddSpellMod(SPELLVALUE_BASE_POINT0, bp0);
values.AddSpellMod(SPELLVALUE_BASE_POINT1, bp1);
me->CastCustomSpell(SPELL_POISON_BOLT_VOLLEY, values, me, TRIGGERED_NONE, nullptr, nullptr, ObjectGuid::Empty);
}
events.RepeatEvent(urand(7000, 12000));
break;
case EVENT_RAIN_OF_FIRE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
{
me->CastSpell(target, SPELL_RAIN_OF_FIRE_10, false);
int32 bp0 = RAIN_OF_FIRE_BP0;
me->CastCustomSpell(target, SPELL_RAIN_OF_FIRE, &bp0, 0, 0, false, nullptr, nullptr, ObjectGuid::Empty);
}
events.RepeatEvent(urand(8000, 12000));
break;
case EVENT_FRENZY:
if (!me->HasAura(SPELL_FRENZY_10))
if (!me->HasAura(SPELL_FRENZY))
{
Talk(SAY_FRENZY);
Talk(EMOTE_FRENZY);
me->CastSpell(me, SPELL_FRENZY_10, true);
int32 bp0 = FRENZY_BP0;
int32 bp1 = FRENZY_BP1;
int32 bp2 = FRENZY_BP2;
me->CastCustomSpell(me, SPELL_FRENZY, &bp0, &bp1, &bp2, true, nullptr, nullptr, ObjectGuid::Empty);
events.RepeatEvent(60000);
}
else
@@ -227,9 +247,9 @@ public:
if (spell->Id == SPELL_WIDOWS_EMBRACE)
{
Talk(EMOTE_WIDOWS_EMBRACE);
if (me->HasAura(SPELL_FRENZY_10))
if (me->HasAura(SPELL_FRENZY))
{
me->RemoveAurasDueToSpell(SPELL_FRENZY_10);
me->RemoveAurasDueToSpell(SPELL_FRENZY);
events.RescheduleEvent(EVENT_FRENZY, 60000);
}
pInstance->SetData(DATA_FRENZY_REMOVED, 0);