broken heart stone cd
Closed this issue · 4 comments
Current behavior:
The cd of the Hearthstone is restored when changing continents.
###Expected behavior:
Hearthstone can only be used every 30 min
Steps to reproduce:
1.Create a player and establish a home in a tavern
2.Use the Hearthstone and then teleport to another continent
3.After this the cd of the Hearthstone is restored
Version
5.4.8.18414
Hearthstone can only be used every 30 min
Guild perk reduces this cooldown to 15 minutes.
Hearthstone solo se puede usar cada 30 minutos
La ventaja del gremio reduce este tiempo de reutilización a 15 minutos.
Yes I know but that is not what I mean use the heartstone and then travel to another continent for example Dalaran and you will see that your CD is restored instantly
Fix hear
- CORE/DB*Fix_Hearthstone_6948
SpellEffects.cpp
void Spell::EffectStuck(SpellEffIndex /effIndex/)
{
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT)
return;
if (!m_caster || m_caster->GetTypeId() != TYPEID_PLAYER)
return;
if (!sWorld->getBoolConfig(CONFIG_CAST_UNSTUCK))
return;
Player * target = (Player*)m_caster;
if (target->IsInFlight())
return;
if (target->HasFlag(PLAYER_FIELD_PLAYER_FLAGS, PLAYER_FLAGS_GHOST))
target->RepopAtGraveyard();
else
target->TeleportTo(target->GetStartPosition(), TELE_TO_SPELL);
// homebind location is loaded always
// target->TeleportTo(target->m_homebindMapId, target->m_homebindX, target->m_homebindY, target->m_homebindZ, target->GetOrientation(), (m_caster == m_caster ? TELE_TO_SPELL : 0));
// Stuck spell trigger Hearthstone cooldown
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(8690);
if (!spellInfo)
return;
Spell spell(target, spellInfo, TRIGGERED_FULL_MASK);
spell.SendSpellCooldown();
}
DELETE FROM item_template
WHERE entry
IN (6948);
INSERT INTO item_template
(entry
, class
, subclass
, SoundOverrideSubclass
, name
, displayid
, Quality
, Flags
, FlagsExtra
, Flags3
, Unk430_1
, Unk430_2
, BuyCount
, BuyPrice
, SellPrice
, InventoryType
, AllowableClass
, AllowableRace
, ItemLevel
, RequiredLevel
, RequiredSkill
, RequiredSkillRank
, requiredspell
, requiredhonorrank
, RequiredCityRank
, RequiredReputationFaction
, RequiredReputationRank
, maxcount
, stackable
, ContainerSlots
, stat_type1
, stat_value1
, stat_unk1_1
, stat_unk2_1
, stat_type2
, stat_value2
, stat_unk1_2
, stat_unk2_2
, stat_type3
, stat_value3
, stat_unk1_3
, stat_unk2_3
, stat_type4
, stat_value4
, stat_unk1_4
, stat_unk2_4
, stat_type5
, stat_value5
, stat_unk1_5
, stat_unk2_5
, stat_type6
, stat_value6
, stat_unk1_6
, stat_unk2_6
, stat_type7
, stat_value7
, stat_unk1_7
, stat_unk2_7
, stat_type8
, stat_value8
, stat_unk1_8
, stat_unk2_8
, stat_type9
, stat_value9
, stat_unk1_9
, stat_unk2_9
, stat_type10
, stat_value10
, stat_unk1_10
, stat_unk2_10
, ScalingStatDistribution
, ScalingStatValue
, DamageType
, delay
, RangedModRange
, spellid_1
, spelltrigger_1
, spellcharges_1
, spellcooldown_1
, spellcategory_1
, spellcategorycooldown_1
, spellid_2
, spelltrigger_2
, spellcharges_2
, spellcooldown_2
, spellcategory_2
, spellcategorycooldown_2
, spellid_3
, spelltrigger_3
, spellcharges_3
, spellcooldown_3
, spellcategory_3
, spellcategorycooldown_3
, spellid_4
, spelltrigger_4
, spellcharges_4
, spellcooldown_4
, spellcategory_4
, spellcategorycooldown_4
, spellid_5
, spelltrigger_5
, spellcharges_5
, spellcooldown_5
, spellcategory_5
, spellcategorycooldown_5
, bonding
, description
, PageText
, LanguageID
, PageMaterial
, startquest
, lockid
, Material
, sheath
, RandomProperty
, RandomSuffix
, itemset
, MaxDurability
, area
, Map
, BagFamily
, TotemCategory
, socketColor_1
, socketContent_1
, socketColor_2
, socketContent_2
, socketColor_3
, socketContent_3
, socketBonus
, GemProperties
, ArmorDamageModifier
, duration
, ItemLimitCategory
, HolidayId
, StatScalingFactor
, CurrencySubstitutionId
, CurrencySubstitutionCount
, RequiredDisenchantSkill
, flagsCustom
, VerifiedBuild
) VALUES
(6948, 15, 0, -1, 'Hearthstone', 6418, 1, 64, 40960, 0, 0.988, 1, 1, 0, 0, 0, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8690, 0, 0, 1800000, 1176, 1800000, 0, 0, 0, 1800000, 0, 1800000, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 1, '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18414);
Gracias por el arreglo
Fix hear
- CORE/DB*Fix_Hearthstone_6948
SpellEffects.cpp void Spell::EffectStuck(SpellEffIndex /effIndex/) { if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT) return;
if (!m_caster || m_caster->GetTypeId() != TYPEID_PLAYER) return; if (!sWorld->getBoolConfig(CONFIG_CAST_UNSTUCK)) return; Player * target = (Player*)m_caster; if (target->IsInFlight()) return; if (target->HasFlag(PLAYER_FIELD_PLAYER_FLAGS, PLAYER_FLAGS_GHOST)) target->RepopAtGraveyard(); else target->TeleportTo(target->GetStartPosition(), TELE_TO_SPELL); // homebind location is loaded always // target->TeleportTo(target->m_homebindMapId, target->m_homebindX, target->m_homebindY, target->m_homebindZ, target->GetOrientation(), (m_caster == m_caster ? TELE_TO_SPELL : 0)); // Stuck spell trigger Hearthstone cooldown SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(8690); if (!spellInfo) return; Spell spell(target, spellInfo, TRIGGERED_FULL_MASK); spell.SendSpellCooldown();
}
DELETE FROM
item_template
WHEREentry
IN (6948); INSERT INTOitem_template
(entry
,class
,subclass
,SoundOverrideSubclass
,name
,displayid
,Quality
,Flags
,FlagsExtra
,Flags3
,Unk430_1
,Unk430_2
,BuyCount
,BuyPrice
,SellPrice
,InventoryType
,AllowableClass
,AllowableRace
,ItemLevel
,RequiredLevel
,RequiredSkill
,RequiredSkillRank
,requiredspell
,requiredhonorrank
,RequiredCityRank
,RequiredReputationFaction
,RequiredReputationRank
,maxcount
,stackable
,ContainerSlots
,stat_type1
,stat_value1
,stat_unk1_1
,stat_unk2_1
,stat_type2
,stat_value2
,stat_unk1_2
,stat_unk2_2
,stat_type3
,stat_value3
,stat_unk1_3
,stat_unk2_3
,stat_type4
,stat_value4
,stat_unk1_4
,stat_unk2_4
,stat_type5
,stat_value5
,stat_unk1_5
,stat_unk2_5
,stat_type6
,stat_value6
,stat_unk1_6
,stat_unk2_6
,stat_type7
,stat_value7
,stat_unk1_7
,stat_unk2_7
,stat_type8
,stat_value8
,stat_unk1_8
,stat_unk2_8
,stat_type9
,stat_value9
,stat_unk1_9
,stat_unk2_9
,stat_type10
,stat_value10
,stat_unk1_10
,stat_unk2_10
,ScalingStatDistribution
,ScalingStatValue
,DamageType
,delay
,RangedModRange
,spellid_1
,spelltrigger_1
,spellcharges_1
,spellcooldown_1
,spellcategory_1
,spellcategorycooldown_1
,spellid_2
,spelltrigger_2
,spellcharges_2
,spellcooldown_2
,spellcategory_2
,spellcategorycooldown_2
,spellid_3
,spelltrigger_3
,spellcharges_3
,spellcooldown_3
,spellcategory_3
,spellcategorycooldown_3
,spellid_4
,spelltrigger_4
,spellcharges_4
,spellcooldown_4
,spellcategory_4
,spellcategorycooldown_4
,spellid_5
,spelltrigger_5
,spellcharges_5
,spellcooldown_5
,spellcategory_5
,spellcategorycooldown_5
,bonding
,description
,PageText
,LanguageID
,PageMaterial
,startquest
,lockid
,Material
,sheath
,RandomProperty
,RandomSuffix
,itemset
,MaxDurability
,area
,Map
,BagFamily
,TotemCategory
,socketColor_1
,socketContent_1
,socketColor_2
,socketContent_2
,socketColor_3
,socketContent_3
,socketBonus
,GemProperties
,ArmorDamageModifier
,duration
,ItemLimitCategory
,HolidayId
,StatScalingFactor
,CurrencySubstitutionId
,CurrencySubstitutionCount
,RequiredDisenchantSkill
,flagsCustom
,VerifiedBuild
) VALUES (6948, 15, 0, -1, 'Hearthstone', 6418, 1, 64, 40960, 0, 0.988, 1, 1, 0, 0, 0, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8690, 0, 0, 1800000, 1176, 1800000, 0, 0, 0, 1800000, 0, 1800000, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 1, '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18414);