Jump to content

Baron Geddon Inferno Spell


Tohan

Recommended Posts

Hi,

I'm new to Mangos and wanted to fix Baron Geddon especially Inferno Effect.

So far i fixed his Melee Attacks to Ignore Armor (cause his Melee Attacks are Magical->fire damage), made his Inferno Spell working (atleast in mangos-zero it isn't and haven't found a solution in mangos-master).

The only thing missing is the damage Multiplier on each pulse/tick of his Inferno. Atm the damage is constant cause i don't know how to get the remaining duration of an Aura (atleast that is the solution i'm aiming for).

What i found out so far:

Inferno: 19695 -> triggers Inferno Dummy Effect: 18947

Inferno: 19698 <-the spell itself

informations from spell.dbc: http://imageshack.us/photo/my-images/444/geddon.jpg/

spelleffects.cpp:

void Spell::EffectDummy(SpellEffectIndex eff_idx)

{

.

.

.

case 18947: //Baron Geddon Inferno Dummy Effect

{

SpellEntry const* spellInfo = sSpellStore.LookupEntry(19695);

int32 dur=GetSpellDuration(spellInfo); //8 sec <-some nonsense

damage=spellInfo->EffectBasePoints[0]*(dur/1000) //1000*dur_in_seconds (just for some testing purpose)

m_caster->CastCustomSpell(m_caster, 19698, &damage, NULL, NULL, true);

return;

}

.

.

.

spell 19695 Auras:

23:Periodic Trigger (value:1000 interval: 1 sec) Inferno Dummy Effect (18947)

25:Root

26:Pacify

My problem is the lack of knowledge how to get the remaining aura duration or remaining ticks of spell 19695.

Link to comment
Share on other sites

First note is that in wotlk the dummy spell 18947 is removed.

So the solution for wotlk will look like:

In void Aura::TriggerSpell()

CastCustomSpell(19698 , BASEPOINTS==GetAuraTicks()*someDmg)

On classic however you are right, you must use the dummy spell.

The dummy spell should be cast with a triggeredByAura parameter, this should give you the tools to either get the duration or also get the Tick count with GetAuraTicks

Link to comment
Share on other sites

@terrorio

That made me nervous so i checked it at Geddon and no cc/interrupt/dispell effect i tried worked.

I would say the reason is the mechanic_immune_mask in creature_template (http://getmangos.eu/wiki/Creature_template#mechanic_immune_mask)

On Geddon it is: 617299803

binary:

2^29 1 MECHANIC_SAPPED

2^28 0 MECHANIC_IMMUNE_SHIELD

2^27 0 MECHANIC_DISCOVERY

2^26 1 MECHANIC_DAZE

2^25 0 MECHANIC_INTERRUPT

2^24 0 MECHANIC_INVULNERABILITY

2^23 1 MECHANIC_HORROR

2^22 1 MECHANIC_TURN

2^21 0 MECHANIC_PERSUADE

2^20 0 MECHANIC_MOUNT

2^19 1 MECHANIC_SHACKLE

2^18 0 MECHANIC_SHIELD

2^17 1 MECHANIC_BANISH

2^16 1 MECHANIC_POLYMORPH

2^15 0 MECHANIC_BANDAGE

2^14 0 MECHANIC_BLEED

2^13 1 MECHANIC_KNOCKOUT

2^12 1 MECHANIC_FREEZE

2^11 1 MECHANIC_STUN

2^10 1 MECHANIC_SNARE

2^9 1 MECHANIC_SLEEP

2^8 1 MECHANIC_SILENCE

2^7 0 MECHANIC_PACIFY

2^6 1 MECHANIC_ROOT

2^5 0 MECHANIC_FUMBLE

2^4 1 MECHANIC_FEAR

2^3 1 MECHANIC_DISTRACT

2^2 0 MECHANIC_DISARM

2^1 1 MECHANIC_CONFUSED

2^0 1 MECHANIC_CHARM

So if you want to make your mob immune to silence effects and so on you should change the Creature_template#mechanic_immune_mask.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use