Jump to content

darkstalker

Members
  • Posts

    717
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by darkstalker

  1. illegal instruction? maybe isn't compiled for your correct architecture
  2. maybe something like this for deathbringer's will: diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp index 965d264..62b0010 100644 --- a/src/game/UnitAuraProcHandler.cpp +++ b/src/game/UnitAuraProcHandler.cpp @@ -953,6 +953,59 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura case 63320: triggered_spell_id = 63321; break; + // Item - Deathbringer's Will + case 71519: + case 71562: + { + static uint32 const normal_spells[MAX_CLASSES*3] = + { + 0, 0, 0, // (unused) + 71491, 71484, 71492, // Warrior + 71491, 71484, 71492, // Paladin + 71485, 71491, 71486, // Hunter + 71485, 71486, 71492, // Rogue + 71492, 71492, 71492, // Priest + 71491, 71484, 71492, // Death Knight + 71485, 71486, 71492, // Shaman + 71492, 71492, 71492, // Mage + 71492, 71492, 71492, // Warlock + 0, 0, 0, // (unused) + 71485, 71484, 71492 // Druid + }; + static uint32 const heroic_spells[MAX_CLASSES*3] = + { + 0, 0, 0, // (unused) + 71559, 71561, 71560, // Warrior + 71559, 71561, 71560, // Paladin + 71556, 71559, 71558, // Hunter + 71556, 71558, 71560, // Rogue + 71560, 71560, 71560, // Priest + 71559, 71561, 71560, // Death Knight + 71556, 71558, 71560, // Shaman + 71560, 71560, 71560, // Mage + 71560, 71560, 71560, // Warlock + 0, 0, 0, // (unused) + 71556, 71561, 71560 // Druid + }; + + if (cooldown && GetTypeId() == TYPEID_PLAYER && static_cast<Player*>(this)->HasSpellCooldown(dummySpell->Id)) + return SPELL_AURA_PROC_FAILED; + + uint32 const *proc_spells = NULL; + switch (dummySpell->Id) + { + case 71519: proc_spells = normal_spells; break; + case 71562: proc_spells = heroic_spells; break; + default: return SPELL_AURA_PROC_FAILED; + } + + CastSpell(this, proc_spells[getClass()*3 + urand(0,2)], true, castItem, triggeredByAura); + + if (cooldown && GetTypeId() == TYPEID_PLAYER) + static_cast<Player*>(this)->AddSpellCooldown(dummySpell->Id, 0, time(NULL) + cooldown); + + return SPELL_AURA_PROC_OK; + } // Item - Shadowmourne Legendary case 71903: {
  3. using std::Deque instead of std::vector should be a bit more efficient there
  4. std::ostringstream ss; ss << "You currently have: " << pCurrChar->GetPoints() << " donator points."; ChatHandler(pCurrChar).PSendSysMessage(ss.str().c_str()); looks a bit better
  5. somewhat Feign Death causes a "gcd cancel" visually on client but can't reproduce the exploit
  6. why not just add an extra column to spell_threat?
  7. they removed ArP.... FUUUUUUUUUUUUUUUUUUU-
  8. it actually happens with all profession enchantments
  9. there are some spells with GCD < 1 second, like 30283 with StartRecoveryTime = 500, and GCD > 1.5s like 65812 with StartRecoveryTime = 2000
  10. to prevent a creature from spinning around: m_creature->SetTargetGUID(0); must be executed on each Update
  11. why not use GlobalCooldown struct for creature case? category usage is missing there too
  12. Is that possible? one thing would be reallocating guids, that could be solved with adding a constant value to one of them, but what about player names, guild names? players can be force-renamed but don't know about guilds.
  13. found a similar crash with rev 10155 (before aura holders): http://paste2.org/p/997283
  14. Ranged damage can't be dodged by definition, and the dbc says they are ranged (just the main spell, seal effect is melee) maybe needs to add this to playercreateinfo_spell http://www.wowhead.com/spell=60091
  15. if you put a return there then the foor loop becomes dead code
  16. About periodic procs, there is another "problem" i noticed. There is an ambiguity when a spell should proc from healing or damage spell when you don't specify familyflags. For example, that makes some melee trinkets proc from HoT's on you.
  17. It could be old crashes that just got exposed with the new aura system.. Anyway, if you want a stable rev use 10155, avg 10 hours uptime for me. No one forces you to use latest rev.
  18. * What bug does the patch fix? What features does the patch add? Adds missing passive aura 44835 needed to proc interrupt part of spell Maim (22570 and ranks). proc event entry and dummy proc code is already there, this the only thing missing here. * For which repository revision was the patch created? 10484 * Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. no afaik * Who has been writing this patch? Please include either forum user names or email addresses. darkstalker DELETE FROM playercreateinfo_spell WHERE Spell = 44835; INSERT INTO playercreateinfo_spell VALUES (4, 11, 44835, 'Maim Interrupt'), (6, 11, 44835, 'Maim Interrupt');
  19. what i see in the "BPS" column is a difference or 2 orders of magnitude.. multiple value by 100?
  20. looks like using invalid iterator (maybe SpellAuraHolderMap is modified during iteration of std::map)
  21. the periodic log packet structure has an absorb field, i posted patch for it on some thread monts ago, it must be around here..
  22. yea, but much more work imho, would need 1 entry for each bg map, besides i somwhat dislike toying with sql and prefer doing things with code if its on battleground code can be added just once for all bg's
  23. http://www.wowhead.com/spell=73820 This spell includes an absorb shield effect in the description too but doesn't have anything on dbc about it. So it could be an "special" effect (linked to healing mod maybe)
  24. you can create a custom vendor for itemset with this sql (example for T7.0 vendor) -- create a vendor template INSERT INTO creature_template (entry, difficulty_entry_1, difficulty_entry_2, difficulty_entry_3, KillCredit1, KillCredit2, modelid_A, modelid_A2, modelid_H, modelid_H2, NAME, subname, IconName, gossip_menu_id, minlevel, maxlevel, minhealth, maxhealth, minmana, maxmana, armor, faction_A, faction_H, npcflag, speed_walk, speed_run, scale, rank, mindmg, maxdmg, dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_class, unit_flags, dynamicflags, family, trainer_type, trainer_spell, trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, TYPE, type_flags, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, PetSpellDataId, mingold, maxgold, AIName, MovementType, InhabitType, unk16, unk17, RacialLeader, questItem1, questItem2, questItem3, questItem4, questItem5, questItem6, movementId, RegenHealth, equipment_id, mechanic_immune_mask, flags_extra, ScriptName) VALUES (460002, 0, 0, 0, 0, 0, 26353, 0, 26353, 0, 'Vendor Name', 'Vendor Subname', '',0, 80, 80, 1337, 1337, 1337, 1337, 9730, 35, 35, 4224, 1, 1.14286, 2, 1, 420, 630, 0, 157, 3.2, 2000, 2000, 1, 6, 0, 0, 0, 0, 0, 0, 336, 504, 2, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,'', 0, 3, 1.0, 1.0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ''); -- add item set(s) to vendor DELETE FROM npc_vendor WHERE entry = 460002; INSERT INTO npc_vendor (entry, item) SELECT 460002 AS entry, it.entry FROM item_template AS it WHERE it.itemset IN (787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805) AND it.ItemLevel = 200 AND it.AllowableRace != -1;
×
×
  • 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