-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Core/Scripts Corrections on Halion's Encounter #16725
Conversation
👍 |
Well, you know how this works. While touching the boss script, you also get to sniff verify timers, spells et cetera and make sure it's hack free. Enjoy! |
I won't be able to do much for this one, complexity way beyond my capabilities '-' |
also look into evading while at phase 2,3 |
halion normal spawn pos: [0] Position: X: 3156.67 Y: 533.8108 Z: 72.98822 halion after wipe spawn pos: [1] Position: X: 3156.625 Y: 533.2674 Z: 72.97205 Hope it helps 👍 |
Thanks @nawuko ^^ |
#16626 Related with Halion Engage too :) |
Any suggestions on #15154 ?
|
@@ -212,115 +212,28 @@ CorporealityEntry const _corporealityReference[MAX_CORPOREALITY_STATE] = { | |||
{74831, 74836} | |||
}; | |||
|
|||
struct generic_halionAI : public BossAI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why did you removed this base class?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
didn't liked it, in the end there's even more duplicated code using this class than without it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What duplicated code was supposed to be gone with this removal? It seems to be adding duplicates rather than removing them
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
both bosses do not use the same timers for spells, that makes the genericAi useless
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i will not merge this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
well, feel free to close the PR or to commit some changes that looks right, I will not be changing this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's logic to maintain a script that is not useful? No make any sense for me
while (uint32 eventId = events.ExecuteEvent()) | ||
ExecuteEvent(eventId); | ||
|
||
DoMeleeAttackIfReady(); | ||
} | ||
|
||
void ExecuteEvent(uint32 eventId) override |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this function requires override ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
now it can be moved to inside UpdateAi, I will do that later ^^
@sirikfoll look at how Grobbulus does it, it's the same mechanic. |
interesting, I was trying with https://gist.github.com/sirikfoll/b73c464392746dbe4011, probally just needs to create a formula then, thanks ^^ |
If it actually has a stacking aura that tracks the progress, then that's the proper way to do it (and grobb is a hack). I haven't looked into it, admittedly. |
b8aa6aa
to
2631084
Compare
Alright, this is it, up to reviewing and testing. ps: I will not be trying to fix corporeality, leave that for another brave soul |
} | ||
|
||
_instance->SetBossState(DATA_HALION, FAIL); | ||
_summons.DespawnAll(); | ||
|
||
uint32 corpseDelay = me->GetCorpseDelay(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use _DespawnAtEvade, now available in 3.3.5 branch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this npc doesn't use BossAI, dunno how to call it from here
sometimes heroic spawns from the cutter orbs remain stationary instead of moving in circles after a wipe, have u checked that? |
Its rare, setActive(true), on the orb carrier solve that, but i'm pretty sure devs won't accept that |
|
@Treeston Since I don't know the cause to this problem, and the orbs are moving all the time, even when there's no boss in there, i can't confirm if that will solve the problem. |
its usually related to creatures entering combat, check that. |
@ccrs If you know how to reproduce the Shadow orbs problem, can you, please, test if this solve the issue? https://gist.github.com/sirikfoll/c3675e6d82a20edaef1f62bdce17b6a3 |
Its quite random.. try to engage and reset till it happens. |
Maybe this can be merged and the remain issues fixed on the future? |
We don't merge PRs that introduce new known issues. |
@Treeston What "new known issues" this pr introduces? |
@@ -1006,10 +1024,7 @@ class npc_meteor_strike_initial : public CreatureScript | |||
me->SetOrientation(angle[i]); | |||
Position newPos = me->GetNearPosition(10.0f, 0.0f); // Exact distance | |||
if (Creature* meteor = me->SummonCreature(NPC_METEOR_STRIKE_NORTH + i, newPos, TEMPSUMMON_TIMED_DESPAWN, 30000)) | |||
{ | |||
meteor->SetOrientation(angle[i]); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I never tested those changes i did with the random adjusting because my pc is way too shitty but I clearly remember that this line was needed for the fire spread to go in the correct direction and not randomly fuck over the terrain (from when fire spread was linear, much like Marrowgar's). Now orientation is used to determine the randomness in the position of the next spawn (because direction 0 radians is always the same in world coordinates), so i'm not sure why this is gone?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't ask me why, i don't understood the code, it was basicaly trial and error haha.
But look at the results, shouldn't be like this?
http://prntscr.com/bkkl0s
http://prntscr.com/bkkkl7
http://prntscr.com/bkkkda
http://prntscr.com/bkkkl7
That static_cast<float>(M_PI / 5.0f), static_cast<float>(M_PI / 2.0f)
makes this happen, the fire shapes between a cross and a X shape
@sirikfoll Could you confirm, Halion ( 25Man Mode ) should always drop a trinket, |
@Runico could be true, but I don't even know how to change the loot |
@sirikfoll these querys works, but we just need confirm this is blizlike or not DELETE FROM creature_loot_template WHERE entry IN(39864, 39945);
INSERT INTO creature_loot_template VALUES
(39864, 1, 100, 1, 0, -34282, 2),
(39864, 2, 100, 1, 0, -45100, 1),
(39864, 49426, 100, 1, 0, 3, 3),
(39945, 1, 100, 1, 0, -34283, 2),
(39945, 2, 100, 1, 0, -45101, 1),
(39945, 49426, 100, 1, 0, 3, 3);
DELETE FROM reference_loot_template WHERE entry IN(34282, 34283, 45100, 45101);
INSERT INTO reference_loot_template VALUES
(34282, 53125, 0, 1, 1, 1, 1),
(34282, 53126, 0, 1, 1, 1, 1),
(34282, 53127, 0, 1, 1, 1, 1),
(34282, 53129, 0, 1, 1, 1, 1),
(34282, 53132, 0, 1, 1, 1, 1),
(34282, 53133, 0, 1, 1, 1, 1),
(34282, 53134, 0, 1, 1, 1, 1),
(34282, 53486, 0, 1, 1, 1, 1),
(34282, 53487, 0, 1, 1, 1, 1),
(34282, 53488, 0, 1, 1, 1, 1),
(34282, 53489, 0, 1, 1, 1, 1),
(34282, 53490, 0, 1, 1, 1, 1),
(45100, 54569, 0, 1, 1, 1, 1),
(45100, 54571, 0, 1, 1, 1, 1),
(45100, 54572, 0, 1, 1, 1, 1),
(45100, 54573, 0, 1, 1, 1, 1),
(34283, 54576, 0, 1, 1, 1, 1),
(34283, 54587, 0, 1, 1, 1, 1),
(34283, 54586, 0, 1, 1, 1, 1),
(34283, 54585, 0, 1, 1, 1, 1),
(34283, 54584, 0, 1, 1, 1, 1),
(34283, 54583, 0, 1, 1, 1, 1),
(34283, 54582, 0, 1, 1, 1, 1),
(34283, 54581, 0, 1, 1, 1, 1),
(34283, 54580, 0, 1, 1, 1, 1),
(34283, 54579, 0, 1, 1, 1, 1),
(34283, 54578, 0, 1, 1, 1, 1),
(34283, 54577, 0, 1, 1, 1, 1),
(45101, 54591, 0, 1, 1, 1, 1),
(45101, 54590, 0, 1, 1, 1, 1),
(45101, 54589, 0, 1, 1, 1, 1),
(45101, 54588, 0, 1, 1, 1, 1);
|
Core/Scripts: Updates to Halion * Fixed Combustion and Consumption. * Fixed Living Embers and Blazing Auras. * Timer changes.
Core/Scripts: Updates to Halion * Fixed Combustion and Consumption. * Fixed Living Embers and Blazing Auras. * Timer changes.
* Some codestyle fixes * Fixed wrong Halion summon with Hotswap system * Fixed evade issue * Fixed emblem frost exploit
Core/Scripts: Updates to Halion * Fixed Combustion and Consumption. * Fixed Living Embers and Blazing Auras. * Timer changes. (cherry picked from commit dfe2784) # Conflicts: # src/server/game/Spells/SpellMgr.cpp # src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp Fix sql for merged PR (cherry picked from commit 7f94469) Derp. github editor is bad. (cherry picked from commit 1829049)
Core/Scripts: Updates to Halion * Fixed Combustion and Consumption. * Fixed Living Embers and Blazing Auras. * Timer changes. (cherry picked from commit dfe2784) # Conflicts: # src/server/game/Spells/SpellMgr.cpp # src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp Fix sql for merged PR (cherry picked from commit 7f94469) Derp. github editor is bad. (cherry picked from commit 1829049)
Changes proposed:
(Everything that i did here was confirmed in retail 6.2.3.20886)
Target branch(es): 335/6x
Issues addressed: Fixes #16599 #9231 #16700 #16626 #15154
Tests performed: (Does it build, tested in-game, etc) Yes.
Known issues and TODO list: