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

Kologarn arms issue #20889

Open
BillytheOrc opened this issue Nov 16, 2017 · 18 comments
Open

Kologarn arms issue #20889

BillytheOrc opened this issue Nov 16, 2017 · 18 comments

Comments

@BillytheOrc
Copy link

BillytheOrc commented Nov 16, 2017

Description:
When the wipe happens to Kologarn, the arms should respawn only if dead.

Current behaviour:
Arms spawn no matter what when you die to Kologarn. This means if you wipe 5 times, you'll get 10 arms.

Expected behaviour:
When the wipe happens to Kologarn, the arms should respawn only if dead.

Steps to reproduce the problem:

  1. Die to Kologarn.
  2. Respawn
  3. Die again
  4. Tons of arms

Branch(es): 3.3.5

TrinityCore rev. 7fd8603+ 2017-11-16 18:35:58 +0100

TDB version: CHANGEME Version of the TrinityCore database
TDB 61

Operating system: Windows 10

@ghost
Copy link

ghost commented Nov 16, 2017

@Keader - is this separate issue needed, or is it covered somewhere else?
@sirikfoll - is this something you will be looking into (boss_kologarn.cpp)?

@Keader
Copy link
Member

Keader commented Nov 18, 2017

Respawn issue fixed in 551d055

But he should despawn both arms when he die.

@Keader
Copy link
Member

Keader commented Nov 18, 2017

@Foereaper
Copy link
Contributor

Foereaper commented Nov 22, 2017

Tried with the above gist, had to add the following to the bottom of EnterEvadeMode for the arms to respawn correctly on a wipe:

Vehicle* vehicle = me->GetVehicleKit();
vehicle->InstallAccessory(NPC_LEFT_ARM, 0, true, TEMPSUMMON_MANUAL_DESPAWN, 0);
vehicle->InstallAccessory(NPC_RIGHT_ARM, 1, true, TEMPSUMMON_MANUAL_DESPAWN, 0);

New issue with said gist and above edit though, is on reset the right arm incorrectly spawns "rubble" that is only supposed to spawn on a player kill of said arm.

@Keader
Copy link
Member

Keader commented Nov 22, 2017

if i remember right, when he die with arms, should spawn rubble, but they get despawn...
btw, @sirikfoll has some fixes to kologarn (PR soon? xD), maybe he fix it together

@Shauren
Copy link
Member

Shauren commented Nov 22, 2017

@Keader you mean after the fight is done? iirc that happens on retail but doesn't seem intended (they despawn very shortly after that)

@Foereaper
Copy link
Contributor

After the fight is over seems to work perfectly after the above edits, the arms and the rubble despawn like it should, it's just the rubble not despawning after a wipe

@lachtanek
Copy link
Contributor

Problem is the arms are not added to SummonList for some reason, so they don't despawn on wipe/death.
@Keader when overriding EnterEvadeMode of creature which is vehicle, you need to remember that Vehicle reset and AI reset methods are called in CreatureAI::EnterEvadeMode, so you need to call parent method or do this yourself. (very weird behavior imo that not all evade code is called in the underscored method, since it already exists for that reason)
This just shows that using underscored methods in AI is bad habits imo.

@lachtanek
Copy link
Contributor

Just do something like this
https://gist.github.com/lachtanek/65ad0a2bb7210708b615a35cbf5e1dcb

@Foereaper
Copy link
Contributor

Instead of all of the above edits or in addition to?

@lachtanek
Copy link
Contributor

should work instead of what Keader posted

@Foereaper
Copy link
Contributor

Alright, I'll test it as soon as I get home from work and will post back

@Foereaper
Copy link
Contributor

Alrighty, tested the above edit, and while it seems to work where the arms are no longer double spawned on wipes, and no longer spawn adds when the raid wipes, another issue appears.

After said wipe, the arms are "resummoned" but they do not seem to actually do anything at all on the next attempt at the boss, almost as if they do not enter combat when the boss does and as if they are unlinked if that makes sense.

@lachtanek
Copy link
Contributor

Weird, that functionality was not touched, I may take a look when I have time, I'm planning rewriting kologarn when I have time so I may as well post it here as PR, but not promising anything.

@Keader
Copy link
Member

Keader commented Dec 11, 2017

yeah @lachtanek #MakeUlduarGreat ~~~Again~~~ xD

Problem is the arms are not added to SummonList for some reason, so they don't despawn on wipe/death.
@Keader when overriding EnterEvadeMode of creature which is vehicle, you need to remember that Vehicle reset and AI reset methods are called in CreatureAI::EnterEvadeMode, so you need to call parent method or do this yourself. (very weird behavior imo that not all evade code is called in the underscored method, since it already exists for that reason)
This just shows that using underscored methods in AI is bad habits imo.

Good to know

@Keader you mean after the fight is done? iirc that happens on retail but doesn't seem intended (they despawn very shortly after that)

Yes, after fight is done
looks weird xD

@lachtanek
Copy link
Contributor

@Keader I don't like the 'again' part, just #MakeUlduarGreat, or was it ever great on TC? :)

@Cyclone47
Copy link

Cyclone47 commented Mar 26, 2018

With these changes it seems like after a wipe the raid becomes inaccessible. It seems like it does not properly close combat after a wipe.

Other then that, it works really well!

@ariel-
Copy link
Contributor

ariel- commented Mar 31, 2018

Many arms! Handle it!

OT: The problem is not summonlist as this should be handled by vehicle accesories system instead of BossAI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants