Jump to content

darkstalker

Members
  • Posts

    717
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by darkstalker

  1. maybe could use a Flyweight pattern and let it handle creation/destruction of holder objects
  2. any use of this instead of dumping it on error log? maybe saving it on DB table?
  3. added some harcoded values for northrend flasks/elixirs, leaving 30% as default for everything else: diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 757400e..a28bc10 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2985,6 +2985,63 @@ void Spell::EffectApplyAura(SpellEffectIndex eff_idx) return; } + // Mixology: increase duration and effect of elixirs and flasks + if (Aur->GetSpellProto()->SpellFamilyName == SPELLFAMILY_POTION && + caster->GetTypeId() == TYPEID_PLAYER && caster->HasAura(53042)) + { + SpellSpecific spellSpec = GetSpellSpecific(Aur->GetId()); + if ((spellSpec == SPELL_BATTLE_ELIXIR || spellSpec == SPELL_GUARDIAN_ELIXIR || spellSpec == SPELL_FLASK_ELIXIR) && + !(Aur->GetSpellProto()->AttributesEx4 & SPELL_ATTR_EX4_UNK21) && // Unaffected by Mixology + caster->HasSpell(Aur->GetSpellProto()->EffectTriggerSpell[EFFECT_INDEX_0])) + { + duration *= 2; + int32 amount = 0; + switch (Aur->GetId()) + { + case 53749: // Guru's Elixir + amount = 8; + break; + case 28497: // Elixir of Mighty Agility + case 53747: // Elixir of Spirit + case 54212: // Flask of Pure Mojo + case 60340: // Elixir of Accuracy + case 60341: // Elixir of Deadly Strikes + case 60343: // Elixir of Mighty Defense + case 60344: // Elixir of Expertise + case 60345: // Elixir of Armor Piercing + case 60346: // Elixir of Lightning Speed + case 60347: // Elixir of Mighty Thoughts + amount = 20; + break; + case 53752: // Lesser Flask of Toughness + case 62380: // Lesser Flask of Resistance + amount = 40; + break; + case 53755: // Flask of the Frost Wyrm + amount = 47; + break; + case 53760: // Flask of Endless Rage + amount = 82; + break; + case 53751: // Elixir of Mighty Fortitude + amount = 200; + break; + case 53763: // Elixir of Protection + amount = 280; + break; + case 53758: // Flask of Stoneblood + amount = 650; + break; + default: + // default value for all other flasks/elixirs + //TODO: add data to db table or find way of getting it from dbc + amount = Aur->GetModifier()->m_amount * 30 / 100; + break; + } + Aur->GetModifier()->m_amount += amount; + } + } + if(duration != Aur->GetAuraMaxDuration()) { Aur->SetAuraMaxDuration(duration); edit: added exception for flasks not affected by mixology (Flask of the North)
  4. well i just filled up what was missing besides i'm not copying the units as that other impl does
  5. i have a broadcast-like event messaging system that uses grid notifiers to send events in aoe range, if someone is interested i could post it.
  6. * What bug does the patch fix? What features does the patch add? Implements player modes for function Creature::SelectAttackingTarget (ATTACKING_TARGET_RANDOM_PLAYER, ATTACKING_TARGET_TOPAGGRO_PLAYER and ATTACKING_TARGET_BOTTOMAGGRO_PLAYER) * For which repository revision was the patch created? 10227 * Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. no * Who has been writing this patch? Please include either forum user names or email addresses. darkstalker http://paste2.org/p/920699
  7. spells are blocked client side, you can't use stealth spells in shadow dance form, and gives you an empty shapeshift bar for that form.
  8. EventAI has no way of communicating between scripts
  9. aura is no longer proc trigger spell since some patches ago, its a mod crit chance now
  10. mangos rev: 10155 sd2: 1737 db: YTDB 555 Powershifting consists on an "instant" shapeshift to same form with the purpose of removing movement impairing effects (and gaining energy on TBC) at the cost of one GCD and mana. Its usually done with macros: /cast !Cat Form or /cancelform /cast Cat Form How it should work: when you use one of those macros, you get the shapeshift effect of removing movement impairing effects. How it works: when you use one of those macros, you end on a "bugged" state where you can't use any spell (caster or shifted), telling you're in the wrong form. Sometimes even manually shifting too fast gets you in the same bugged state.
  11. you can always save extra instance data and use it to restore doors or other states on load
  12. this should work too Player *p; if (p = dynamic_cast<Player*>(unit)) // do stuff with p here
  13. gcd's have categories, when category/time is 0 spell isn't on the gcd (like spell 57994). Besides that you should consider player latency, or lots of legit spellcasts will fail
  14. you don't buy hearthstones, you get one automatically when setting hearthbind on any innkeeper
  15. you could just copy mangos code
  16. use this: UPDATE battleground_template SET MinPlayersPerTeam = 10 WHERE id = 1; -- AV UPDATE battleground_template SET MinPlayersPerTeam = 5 WHERE id IN (2, 3, 7); -- WSG, AB, EOTS
  17. good job i think that "5000" value should be on config
  18. how can you tell that? you reading retail code?
  19. its not the same, some places changed, like that small mountains outside orgrimmar
  20. don't know the answer, but it might be an axis-angle representation, (x, y, z, a), that means rotate 'a' degrees around vector (x, y, z)
  21. aura is implemented in core, but client doesn't allow casting stealth spells in "shadowdance form"
×
×
  • 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