bulek
-
Posts
194 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by bulek
-
-
awesome thank you,
works fine
-
this project is dead?
-
confirm but one problem with
&& !(m_spellInfo->SpellFamilyFlags & SPELLFAMILYFLAG_ROGUE_STEALTH) && (m_spellInfo->SpellFamilyFlags & SPELLFAMILYFLAG_ROGUE_VANISH) )
-
confirmed
some changes in SpellAuras.cpp" any one help me wih solve this problem?
-
updated patch for 9034 with some minor modifications by me:
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 2d09f4f..ae8ba39 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -3639,11 +3639,12 @@ bool Player::resetTalents(bool no_cost) */ - if(m_canTitanGrip) + if(CanTitanGrip()) { - m_canTitanGrip = false; + SetCanTitanGrip(false); if(sWorld.getConfig(CONFIG_OFFHAND_CHECK_AT_TALENTS_RESET)) AutoUnequipOffhandIfNeed(); + RemoveAurasDueToSpellByCancel(49152); } return true; @@ -6400,6 +6401,8 @@ void Player::UpdateZone(uint32 newZone, uint32 newArea) // check some item equip limitations (in result lost CanTitanGrip at talent reset, for example) AutoUnequipOffhandIfNeed(); + if (CanTitanGrip() && IsTwoHandUsedInDualWield() && !HasAura(49152)) + CastSpell(this, 49152, true); // recent client version not send leave/join channel packets for built-in local channels UpdateLocalChannels( newZone ); @@ -10606,6 +10609,14 @@ Item* Player::EquipItem( uint16 pos, Item *pItem, bool update ) // only for full equip instead adding to stack GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM, pItem->GetEntry()); + // titans grip dmg penalty for 2h weapons + if (CanTitanGrip()) + { + ItemPrototype const *pProto = pItem->GetProto(); + if (pProto && pProto->InventoryType == INVTYPE_2HWEAPON && !HasAura(49152)) + CastSpell(this, 49152, true); + } + return pItem; } @@ -10745,6 +10756,14 @@ void Player::RemoveItem( uint8 bag, uint8 slot, bool update ) pItem->SetSlot( NULL_SLOT ); if( IsInWorld() && update ) pItem->SendCreateUpdateToPlayer( this ); + + // titans grip dmg penalty for 2h weapons removed if player does not have any + if (HasAura(49152)) + { + ItemPrototype const *pProto = pItem->GetProto(); + if (pProto && pProto->InventoryType == INVTYPE_2HWEAPON && !IsTwoHandUsedInDualWield()) + RemoveAurasDueToSpellByCancel(49152); + } } } @@ -19325,7 +19344,7 @@ void Player::AutoUnequipOffhandIfNeed() return; // need unequip offhand for 2h-weapon without TitanGrip (in any from hands) - if (CanTitanGrip() || (offItem->GetProto()->InventoryType != INVTYPE_2HWEAPON && !IsTwoHandUsed())) + if (CanTitanGrip() || !((IsTwoHandUsedInDualWield() && offItem->GetProto()->InventoryType != INVTYPE_NON_EQUIP) || offItem->GetProto()->InventoryType == INVTYPE_2HWEAPON)) return; ItemPosCountVec off_dest; diff --git a/src/game/Player.h b/src/game/Player.h index 75e8e31..a57b086 100644 --- a/src/game/Player.h +++ b/src/game/Player.h @@ -1269,6 +1269,12 @@ class MANGOS_DLL_SPEC Player : public Unit Item* mainItem = GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND); return mainItem && mainItem->GetProto()->InventoryType == INVTYPE_2HWEAPON && !CanTitanGrip(); } + bool IsTwoHandUsedInDualWield() const + { + Item* offItem = GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND); + Item* mainItem = GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND); + return mainItem && mainItem->GetProto()->InventoryType == INVTYPE_2HWEAPON || offItem && offItem->GetProto()->InventoryType == INVTYPE_2HWEAPON; + } void SendNewItem( Item *item, uint32 count, bool received, bool created, bool broadcast = false ); bool BuyItemFromVendor(uint64 vendorguid, uint32 item, uint8 count, uint8 bag, uint8 slot); diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index d11576e..3fbe545 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -6954,8 +6954,15 @@ void Spell::EffectActivateRune(uint32 eff_idx) void Spell::EffectTitanGrip(uint32 /*eff_idx*/) { - if (unitTarget && unitTarget->GetTypeId() == TYPEID_PLAYER) - ((Player*)unitTarget)->SetCanTitanGrip(true); + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + Player *p_target = (Player*)unitTarget; + p_target->SetCanTitanGrip(true); + + // titans grip dmg penalty for 2h weapons + if (!unitTarget->HasAura(49152) && p_target->IsTwoHandUsedInDualWield()) + unitTarget->CastSpell(unitTarget, 49152, true); } void Spell::EffectRenamePet(uint32 /*eff_idx*/)
confirmed works for me^_^
-
work at rev 9020
work at rev 9029 too:)
-
test done
works fine for me 9029
-
to 9026 works fine too
-
anybody has the patch for mangos 9000+? It's very interesting...
no dont work
-
works fine with 9013:)
-
if (apply) { GameObject* obj = m_target->GetGameObject(48018); if (obj [b]&& m_target->GetDistance(obj) <= 40.0f[/b]) ((Player*)m_target)->TeleportTo(obj->GetMapId(),obj->GetPositionX(),obj->GetPositionY(),obj->GetPositionZ(),obj->GetOrientation()); }
works with 90xx mangos?
-
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 993753e..93ba68b 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2974,6 +2974,7 @@ void Aura::HandleAuraModShapeshift(bool apply, bool Real) switch(form) { case FORM_CAT: + case FORM_SHADOW_DANCE: PowerType = POWER_ENERGY; break; case FORM_BEAR: @@ -3040,7 +3041,8 @@ void Aura::HandleAuraModShapeshift(bool apply, bool Real) if(m_target->m_ShapeShiftFormSpellId) m_target->RemoveAurasDueToSpell(m_target->m_ShapeShiftFormSpellId, this); - m_target->SetByteValue(UNIT_FIELD_BYTES_2, 3, form); + // For Shadow Dance we must apply Stealth form (30) instead of current (13) + m_target->SetByteValue(UNIT_FIELD_BYTES_2, 3, (form == FORM_SHADOW_DANCE) ? uint8(FORM_STEALTH) : form); if(modelid > 0) m_target->SetDisplayId(modelid); @@ -3105,6 +3107,10 @@ void Aura::HandleAuraModShapeshift(bool apply, bool Real) m_target->SetPower(POWER_RAGE, Rage_val); break; } + // Shadow Dance - apply stealth mode stand flag + case FORM_SHADOW_DANCE: + m_target->SetStandFlags(UNIT_STAND_FLAGS_CREEP); + break; default: break; } @@ -3137,6 +3143,10 @@ void Aura::HandleAuraModShapeshift(bool apply, bool Real) if(Aura* dummy = m_target->GetDummyAura(37324) ) m_target->CastSpell(m_target, 37325, true, NULL, dummy); break; + // Shadow Dance - remove stealth mode stand flag + case FORM_SHADOW_DANCE: + m_target->RemoveStandFlags(UNIT_STAND_FLAGS_CREEP); + break; default: break; }
thank you works with 9013 mangos:)
-
bump any news/updates
-
patch works with 900x mangos?
any updates/news
and this part correct, typo fix
+void Spell::EffectSummonAllTotems(uint32 i) +{ + if(m_caster->GetTypeId() != TYPEID_PLAYER) + return; + + switch(m_spellInfo->Id) + { + case 66842: // Call of the Elements + case 66843: // Call of the Ancestors + case 66844: // Call of the Spirits + { + for(int32 slot = 0; slot != MAX_TOTEM; ++slot) + { + uint8 button = m_spellInfo->EffectMiscValue[i]+slot+132; + uint32 spell_id = ((Player*)m_caster)->GetActionByActionButton(button); + if(spell_id) + m_caster->CastSpell(unitTarget,spell_id,true); + } + break; + } + default: + break; + } +} +
-
bump sound good
works with 900x mangos?
edit by balrok: no bumping after ONE day.. also you could just read everything in the thread to find out more about this..
-
Its lootk great!
Work in latest version? (889X-8900)
9013 works fine
-
BUMP? any updates?
-
bump awesome patch
-
works in mangos 9000?
yes works fine but a little hack code
-
works for me
-
STILL works fine with 9013:)
mangos developers pls review and add to repo^_^
-
I use neo2003 tool
(dbc to csv) http://www.wowguru.com/ui/229/dbc-to-csv-converter/
However I already looked for a better issue than hardcode id
all fail when you attempt to find the good Horde model
maybe take modelid_H in creature_template database is the best way
bump:
oh nice tool thank for tip
any news or updates on this patch?
-
bump, any news?
works fine for me
Please mangos dev review or write coment thx
-
works for me thank you
[fix][dev]Fingers of Frost, Aura 262
in ... acceptedOld
Posted
very good thank you :-)