Skip to content
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

Merged
merged 6 commits into from
Jul 5, 2016

Conversation

sirikfoll
Copy link
Contributor

Changes proposed:
(Everything that i did here was confirmed in retail 6.2.3.20886)

  • Fixed the proportion of area scaling from Combustion and Consumption spells by the amount of stacks earned by the Marks of Combustion/Consumption(this was achieved adjusting the spell in spell_dbc)
  • Normal Halion needs to be agressive and Twilight Halion needs to be Defensive
  • Twilight Halion needs UNIT_FLAG_COMBAT just after summon, to avoid health regeneration(checked in sniff)
  • Fixes summon of Living Embers(right timing, 3 seconds after Living Inferno spawn)
  • Implement proper evade, by despawning both Halions and the controller.
  • Fixed Blazing Aura issues
  • Fixed radius of the damage from combustion and consumption
  • Fixed all timers

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:

@Keader
Copy link
Member

Keader commented Mar 4, 2016

👍

@Treeston
Copy link
Member

Treeston commented Mar 5, 2016

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!

@sirikfoll sirikfoll changed the title Core/Scripts Corrections on Halion's Encounter [WIP] Core/Scripts Corrections on Halion's Encounter Mar 5, 2016
@sirikfoll
Copy link
Contributor Author

I won't be able to do much for this one, complexity way beyond my capabilities '-'

@ccrs
Copy link
Member

ccrs commented Mar 5, 2016

also look into evading while at phase 2,3

@nawuko
Copy link
Contributor

nawuko commented Mar 5, 2016

halion normal spawn pos:

[0] Position: X: 3156.67 Y: 533.8108 Z: 72.98822
[0] Orientation: 3.159046

halion after wipe spawn pos:

[1] Position: X: 3156.625 Y: 533.2674 Z: 72.97205
[1] Orientation: 0

Hope it helps 👍

@sirikfoll
Copy link
Contributor Author

Thanks @nawuko ^^

@Keader
Copy link
Member

Keader commented Mar 5, 2016

#16626 Related with Halion Engage too :)

@sirikfoll
Copy link
Contributor Author

Any suggestions on #15154 ?

Fiery Combustion (74562)
This area affected by this spell every second will get bigger and bigger, the visual part works
but the radius of damage part isn't updated.
http://imgur.com/NWhGegd

@@ -212,115 +212,28 @@ CorporealityEntry const _corporealityReference[MAX_CORPOREALITY_STATE] = {
{74831, 74836}
};

struct generic_halionAI : public BossAI
Copy link
Contributor

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?

Copy link
Contributor Author

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

Copy link

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

Copy link
Contributor Author

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

Copy link
Member

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

Copy link
Contributor Author

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

Copy link
Member

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
Copy link

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 ?

Copy link
Contributor Author

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 ^^

@Treeston
Copy link
Member

Treeston commented Mar 6, 2016

@sirikfoll look at how Grobbulus does it, it's the same mechanic.

@sirikfoll
Copy link
Contributor Author

interesting, I was trying with https://gist.github.com/sirikfoll/b73c464392746dbe4011, probally just needs to create a formula then, thanks ^^

@Treeston
Copy link
Member

Treeston commented Mar 6, 2016

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.

@sirikfoll sirikfoll force-pushed the Halion1 branch 6 times, most recently from b8aa6aa to 2631084 Compare March 6, 2016 22:28
@sirikfoll
Copy link
Contributor Author

Alright, this is it, up to reviewing and testing.

ps: I will not be trying to fix corporeality, leave that for another brave soul

@sirikfoll sirikfoll changed the title [WIP] Core/Scripts Corrections on Halion's Encounter Core/Scripts Corrections on Halion's Encounter Mar 6, 2016
}

_instance->SetBossState(DATA_HALION, FAIL);
_summons.DespawnAll();

uint32 corpseDelay = me->GetCorpseDelay();
Copy link
Member

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

Copy link
Contributor Author

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

@ccrs
Copy link
Member

ccrs commented May 26, 2016

sometimes heroic spawns from the cutter orbs remain stationary instead of moving in circles after a wipe, have u checked that?

@sirikfoll
Copy link
Contributor Author

Its rare, setActive(true), on the orb carrier solve that, but i'm pretty sure devs won't accept that

@Treeston
Copy link
Member

SetActive(true) on engage and SetActive(false)reset is fine by me. BossAI does it too.

@sirikfoll
Copy link
Contributor Author

sirikfoll commented May 26, 2016

@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.
I just tested with a setActive in the constructor;

@ccrs
Copy link
Member

ccrs commented May 26, 2016

its usually related to creatures entering combat, check that.

@sirikfoll
Copy link
Contributor Author

@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

@Warpten Warpten self-assigned this Jun 10, 2016
@ccrs
Copy link
Member

ccrs commented Jun 10, 2016

Its quite random.. try to engage and reset till it happens.

@Aokromes
Copy link
Member

Maybe this can be merged and the remain issues fixed on the future?

@Treeston
Copy link
Member

We don't merge PRs that introduce new known issues.

@sirikfoll
Copy link
Contributor Author

@Treeston What "new known issues" this pr introduces?
The problem with evade and with the Shadow Orbs are old things, and I presented solutions for both, only waiting for you guys decide if it can be used or not.

@@ -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]);
Copy link
Member

@Warpten Warpten Jun 23, 2016

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?

Copy link
Contributor Author

@sirikfoll sirikfoll Jun 24, 2016

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

@ghost
Copy link

ghost commented Jul 4, 2016

@sirikfoll Could you confirm, Halion ( 25Man Mode ) should always drop a trinket,

http://www.truewow.org/forum/viewtopic.php?t=13613

@sirikfoll
Copy link
Contributor Author

@Runico could be true, but I don't even know how to change the loot

@Warpten Warpten merged commit dfe2784 into TrinityCore:3.3.5 Jul 5, 2016
@ghost
Copy link

ghost commented Jul 5, 2016

@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);

@sirikfoll sirikfoll deleted the Halion1 branch July 5, 2016 14:52
Keader pushed a commit to Keader/TrinityCore that referenced this pull request Jul 10, 2016
Core/Scripts: Updates to Halion

* Fixed Combustion and Consumption.
* Fixed Living Embers and Blazing Auras.
* Timer changes.
Aokromes pushed a commit to Aokromes/TrinityCore that referenced this pull request Jul 17, 2016
Core/Scripts: Updates to Halion

* Fixed Combustion and Consumption.
* Fixed Living Embers and Blazing Auras.
* Timer changes.
Keader referenced this pull request Dec 24, 2016
* Some codestyle fixes
* Fixed wrong Halion summon with Hotswap system
* Fixed evade issue
* Fixed emblem frost exploit
joschiwald pushed a commit that referenced this pull request Feb 4, 2017
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)
Krudor pushed a commit to Krudor/TrinityCore that referenced this pull request Jul 13, 2017
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants