

VladimirMangos
Members-
Posts
2813 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Everything posted by VladimirMangos
-
[fixed] Overkill does not disappear after 20 seconds
VladimirMangos replied to Auntie Mangos's topic in OldBug reports
Must be fixed in [10051] -
For let adding another tons hacks just because someone lazy research problem and find proper solution. Why search solution if so easy just "fix" spell.dbc data. Ofc, this not important that after will find that this "fix" just lazy garbage....
-
Can the dungeon "icecrown" be entered in mangos rev 9958?
VladimirMangos replied to a topic in OldGeneral support
this not related to core. All enters is teleport triggers and final point of teleport provided by DB content, so check used DB porject data for porblem. -
No. Client version will use own data....
-
Headaches? or just something simple im missing?
VladimirMangos replied to a topic in OldGeneral support
Yes, mostly Db content related. Closed. -
Error messages posted by program for _reading_. I think error message cleary describe problem and what need do.
-
maybe some event start in world, or at this tiem set soem cleanup in config like daily quest resets...
-
Change realm population to Recommended
VladimirMangos replied to a topic in OldInstallation, configuration & upgrades
Required bitmask provided explicitly in realmd.sql. So just need learn ( many times described ) how propertly apply bitmask to field value. For population you will need modify code for prevent update.... -
You sure that you use not modified sources? GetMap() not called in Player::LoadFromDB function? "Setting player home position" output in end of function for loading home pos. So crash happens somewhere later after home position load and not related to it.
-
FATAL ERROR: Used MySQL library isn't thread-safe.
VladimirMangos replied to a topic in OldGeneral support
you need build mysql libs at your host with thread support. This is not mangos problem but porblem with your mysql install. -
I not understand how possible not understand message: your mangosd ask Db for revision 9967 and you have DB for revision 10008. What this meaning? YOU HAVE OUTDATED MANGOSD.
-
[fixed][DK Un-Holy Talents] Blood-Caked Blade+Necrosis
VladimirMangos replied to a topic in OldBug reports
Must be fixed in [10035] -
when time store in uint64 (bigint) fields then it always stored as unix time
-
You have UDB sql apply problem, so why you ask at mangos _core_ forum...
-
[BUG] mangos-0.12, backported spell proc patch problems
VladimirMangos replied to a topic in OldBug reports
Maybe some more useful in report instead generic declarations? ALWAYS provided at least example of problematic spell ids. Do i must jump by spells table in attempt find your problem spell... when "Alot of item procs and for example rogue poises" converted in reallity to "some from ..." [added] Must be fixed in cc629fdb6750dad6f085986223cd0b7f9fbed026. -
core not remove auras at update/tick, it specially protected from deleting. So if not have broken custom code that break this protection you can't have aura deleted in tick code. Like locked for delete auras deleted only from main world loop in end world update
-
Implemented as darkstalker suggest in [10019]. Thank you for step by step sollution research
-
revision.h generated at build. It's not part of repo. In same way as SystemConfig.h for example.
-
Server starts up then crashes immediately
VladimirMangos replied to a topic in OldInstallation, configuration & upgrades
"Failed to open acceptor ,check if the port is free" you have already started another copy using this port, or some other program use port... -
With described changes added to mangos-0.12 repo. Milk13, thank you for big work From adding original patch to master many changes has been added with local fixes and improvments. If you find any useful you can post commit hashs and i will backport commit. Better go from past to present step by step.
-
As i test attributes, in fact master way selection ranged auto shoot spell exactly same as can be used in mangos 0.12 or for example mangoszero. I check with this additional chnages and hunter/want shoot work as expected: diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index e6869d7..ac94ecd 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -288,7 +288,7 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { #define SPELL_ATTR_EX2_CANT_REFLECTED 0x00000004 // 2 ? used for detect can or not spell reflected #define SPELL_ATTR_EX2_UNK3 0x00000008 // 3 #define SPELL_ATTR_EX2_UNK4 0x00000010 // 4 -#define SPELL_ATTR_EX2_UNK5 0x00000020 // 5 +#define SPELL_ATTR_EX2_AUTOREPEAT_FLAG 0x00000020 // 5 #define SPELL_ATTR_EX2_UNK6 0x00000040 // 6 #define SPELL_ATTR_EX2_UNK7 0x00000080 // 7 #define SPELL_ATTR_EX2_UNK8 0x00000100 // 8 not set in 2.4.2 diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 66c7de6..11c4788 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -325,10 +325,7 @@ Spell::Spell( Unit* Caster, SpellEntry const *info, bool triggered, ObjectGuid o m_triggeredByAuraSpell = NULL; //Auto Shot & Shoot - if( m_spellInfo->AttributesEx2 == 0x000020 && !triggered ) - m_autoRepeat = true; - else - m_autoRepeat = false; + m_autoRepeat = IsAutoRepeatRangedSpell(m_spellInfo); m_powerCost = 0; // setup to correct value in Spell::Prepare, don't must be used before. m_casttime = 0; // setup to correct value in Spell::Prepare, don't must be used before. @@ -647,19 +644,28 @@ void Spell::PrepareDataForTriggerSystem() m_procVictim = PROC_FLAG_TAKEN_MELEE_SPELL_HIT; break; case SPELL_DAMAGE_CLASS_RANGED: - m_procAttacker = PROC_FLAG_SUCCESSFUL_RANGED_SPELL_HIT; - m_procVictim = PROC_FLAG_TAKEN_RANGED_SPELL_HIT; + // Auto attack + if (m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_AUTOREPEAT_FLAG) + { + m_procAttacker = PROC_FLAG_SUCCESSFUL_RANGED_HIT; + m_procVictim = PROC_FLAG_TAKEN_RANGED_HIT; + } + else // Ranged spell attack + { + m_procAttacker = PROC_FLAG_SUCCESSFUL_RANGED_SPELL_HIT; + m_procVictim = PROC_FLAG_TAKEN_RANGED_SPELL_HIT; + } break; default: - if (IsPositiveSpell(m_spellInfo->Id)) // Check for positive spell + if (IsPositiveSpell(m_spellInfo->Id)) // Check for positive spell { m_procAttacker = PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL; m_procVictim = PROC_FLAG_TAKEN_POSITIVE_SPELL; } - else if (m_spellInfo->Id == 5019) // Wands + else if (m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_AUTOREPEAT_FLAG) // Wands auto attack { - m_procAttacker = PROC_FLAG_SUCCESSFUL_RANGED_SPELL_HIT; - m_procVictim = PROC_FLAG_TAKEN_RANGED_SPELL_HIT; + m_procAttacker = PROC_FLAG_SUCCESSFUL_RANGED_HIT; + m_procVictim = PROC_FLAG_TAKEN_RANGED_HIT; } else { diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h index 987a913..6e24818 100644 --- a/src/game/SpellMgr.h +++ b/src/game/SpellMgr.h @@ -322,6 +322,11 @@ inline bool isSpellBreakStealth(SpellEntry const* spellInfo) return !(spellInfo->AttributesEx & SPELL_ATTR_EX_NOT_BREAK_STEALTH); } +inline bool IsAutoRepeatRangedSpell(SpellEntry const* spellInfo) +{ + return (spellInfo->Attributes & SPELL_ATTR_RANGED) && (spellInfo->AttributesEx2 & SPELL_ATTR_EX2_AUTOREPEAT_FLAG); +} + SpellCastResult GetErrorAtShapeshiftedCast (SpellEntry const *spellInfo, uint32 form); inline bool IsChanneledSpell(SpellEntry const* spellInfo) @@ -405,7 +410,7 @@ enum ProcFlags PROC_FLAG_KILLED = 0x00000001, // 00 Killed by agressor PROC_FLAG_KILL_AND_GET_XP = 0x00000002, // 01 Kill that yields experience or honor - PROC_FLAG_SUCCESSFUL_MILEE_HIT = 0x00000004, // 02 Successful melee attack + PROC_FLAG_SUCCESSFUL_MELEE_HIT = 0x00000004, // 02 Successful melee attack PROC_FLAG_TAKEN_MELEE_HIT = 0x00000008, // 03 Taken damage from melee strike hit PROC_FLAG_SUCCESSFUL_MELEE_SPELL_HIT = 0x00000010, // 04 Successful attack by Spell that use melee weapon @@ -439,7 +444,7 @@ enum ProcFlags PROC_FLAG_SUCCESSFUL_OFFHAND_HIT = 0x00800000 // 23 Successful off-hand melee attacks }; -#define MELEE_BASED_TRIGGER_MASK (PROC_FLAG_SUCCESSFUL_MILEE_HIT | \\ +#define MELEE_BASED_TRIGGER_MASK (PROC_FLAG_SUCCESSFUL_MELEE_HIT | \\ PROC_FLAG_TAKEN_MELEE_HIT | \\ PROC_FLAG_SUCCESSFUL_MELEE_SPELL_HIT | \\ PROC_FLAG_TAKEN_MELEE_SPELL_HIT | \\ diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 4856351..9523f96 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -1809,12 +1809,12 @@ void Unit::CalculateMeleeDamage(Unit *pVictim, uint32 damage, CalcDamageInfo *da switch (attackType) { case BASE_ATTACK: - damageInfo->procAttacker = PROC_FLAG_SUCCESSFUL_MILEE_HIT; + damageInfo->procAttacker = PROC_FLAG_SUCCESSFUL_MELEE_HIT; damageInfo->procVictim = PROC_FLAG_TAKEN_MELEE_HIT; damageInfo->HitInfo = HITINFO_NORMALSWING2; break; case OFF_ATTACK: - damageInfo->procAttacker = PROC_FLAG_SUCCESSFUL_MILEE_HIT | PROC_FLAG_SUCCESSFUL_OFFHAND_HIT; + damageInfo->procAttacker = PROC_FLAG_SUCCESSFUL_MELEE_HIT | PROC_FLAG_SUCCESSFUL_OFFHAND_HIT; damageInfo->procVictim = PROC_FLAG_TAKEN_MELEE_HIT;//|PROC_FLAG_TAKEN_OFFHAND_HIT // not used damageInfo->HitInfo = HITINFO_LEFTSWING; break; Including only auto attack triggered spell http://www.wowhead.com/spell=27786 I not check is in all cases this flag used in table in cases where procflags overwrited [edited] as i check no 0x100 cases i overwrited flags except one spell only case (that now will NOT triggered as expected at autoshot/shot).
Contact Us
To contact us
click here
You can also email us at [email protected]
Privacy Policy | Terms & Conditions

You can also email us at [email protected]
Privacy Policy | Terms & Conditions
Copyright © getMaNGOS. All rights Reserved.
This website is in no way associated with or endorsed by Blizzard Entertainment®
This website is in no way associated with or endorsed by Blizzard Entertainment®