megamage
d2ef2c0500
[7837] Implement missed item enchant type (stat mana, stat health) Author: xILOSWag
...
--HG--
branch : trunk
2009-05-17 10:09:44 -05:00
megamage
d99e66d931
[7836] Fixes for distance range checks. Author: VladimirMangos
...
* ignore 0.0f min range limit (this correct case when 2 object overlapped)
Also use int32 for temporary store GetSessionDbLocaleIndex result.
--HG--
branch : trunk
2009-05-17 10:09:06 -05:00
megamage
98e32a041d
*Do not clear unit movement flags when it is stunned/rooted
...
--HG--
branch : trunk
2009-05-17 10:07:11 -05:00
megamage
d0a50c9d55
*Fix the sql error when saving pet auras.
...
--HG--
branch : trunk
2009-05-17 09:43:57 -05:00
megamage
f4efa0f1df
*Fix a crash caused by bg and arena.
...
--HG--
branch : trunk
2009-05-17 09:28:38 -05:00
megamage
698b43f088
*Make some boss scripts safer. But I still strongly recommend that you do not spawn instance bosses outside the instance. They may make server crash like hell.
...
--HG--
branch : trunk
2009-05-16 22:45:13 -05:00
megamage
c583767ad6
*Update gluth script.
...
--HG--
branch : trunk
2009-05-16 16:52:57 -05:00
megamage
a0ba5dc206
*Allow creating new instance when log in and a save exists.
...
--HG--
branch : trunk
2009-05-16 16:52:45 -05:00
megamage
a5df3c9e72
*Do not allow positive AOE affect totem.
...
--HG--
branch : trunk
2009-05-16 15:28:58 -05:00
megamage
09407c8757
*Do not allow taunt affect passive creatures.
...
*Fix build.
--HG--
branch : trunk
2009-05-16 15:28:37 -05:00
megamage
e4456ae9f8
*Fix an exploit that instance can be reset when there are logged-out players in it.
...
--HG--
branch : trunk
2009-05-16 14:52:41 -05:00
megamage
14edc1e5eb
*Update naxx script.
...
--HG--
branch : trunk
2009-05-16 14:49:58 -05:00
megamage
819326f286
*Update some instance script functions.
...
--HG--
branch : trunk
2009-05-16 14:49:30 -05:00
QAston
bb6e0dba89
*Fix lifebloom final heal coefficient - by nesocip
...
*Fix aura immunity dispel for spells like Resurrection sickness
*Do not proc auras without spellfamilyflags required for totems.
*Allow more auras to be displayed in client.
*Fix some issues with Cut to the Chase.
--HG--
branch : trunk
2009-05-16 20:23:56 +02:00
QAston
14daff6d38
*Change amount of passive auras if mod changed for them (this fixes Glyph of vigor apply/remove and some other spells)
...
*Backfire damage from unstable affliction is applied to dispeller now
*Correct amount of improved Divine Spirit
--HG--
branch : trunk
2009-05-16 17:59:36 +02:00
Drahy
68a8c72041
* Used trinity sql coding style
...
--HG--
branch : trunk
2009-05-16 02:56:39 +02:00
megamage
9b4d3bf0af
[7835] Store structures (with size = uint32) insteed pointer to structure in PetSpellMap. Author: VladimirMangos
...
--HG--
branch : trunk
2009-05-15 16:46:02 -05:00
megamage
f5af5ea9e3
[7834] Mangos string loading code cleanups. Author: VladimirMangos
...
* Better integration creature event ai strings.
* Not inclide in checks as expected max mangos strings range value to range
--HG--
branch : trunk
2009-05-15 16:41:36 -05:00
megamage
15c78a728e
*Skip Mangos ([7833] Implement levelup spells for non-hunter pets. Author: VladimirMangos)
...
--HG--
branch : trunk
2009-05-15 16:36:59 -05:00
megamage
834580f6b2
*Move some Trinity-only functions to the end of file.
...
--HG--
branch : trunk
2009-05-15 16:26:00 -05:00
megamage
5732b8c170
*Remove an unused file.
...
--HG--
branch : trunk
2009-05-15 16:08:28 -05:00
megamage
03cfacb361
*Fix a crash caused by eventai.
...
--HG--
branch : trunk
2009-05-15 14:23:05 -05:00
megamage
c64c834c50
*Fix build.
...
--HG--
branch : trunk
2009-05-15 14:10:31 -05:00
megamage
ff7f023ff1
*Merge.
...
--HG--
branch : trunk
2009-05-15 13:57:10 -05:00
megamage
e826b482a5
*Skip not needed tc1 patches
...
--HG--
branch : trunk
2009-05-15 13:53:32 -05:00
megamage
0f3506e90a
*Remove not needed TC1 sql.
...
--HG--
branch : trunk
2009-05-15 13:51:58 -05:00
megamage
9f31ecbdec
*Skip all unused TC1 revs.
...
--HG--
branch : trunk
2009-05-15 13:50:30 -05:00
megamage
c15bae5871
[7832] Better check at petcreateinfo_spell loading for errors and redundend data. Author: VladimirMangos
...
--HG--
branch : trunk
2009-05-15 13:45:34 -05:00
megamage
a442a9b914
[7831] Prevent have hunter pet with level greater player levels at level changes. Propertly set hunter pet xp values at level update. Author: VladimirMangos
...
--HG--
branch : trunk
2009-05-15 13:44:49 -05:00
megamage
0d715cfd8f
*remove UNIT_FLAG2_FORCE_MOVE when loading players. This fix the bug that players cannot stop moving forward. By Bulkin.
...
--HG--
branch : trunk
2009-05-15 13:39:48 -05:00
QAston
4b782ccc1d
*Blizzlike calculation of skill required to cast judgement-like spells.
...
--HG--
branch : trunk
2009-05-15 19:40:45 +02:00
X-Savior
f1fd3ad040
*Update some spell/script sql data
...
--HG--
branch : trunk
2009-05-15 19:01:56 +02:00
QAston
02bc76455a
*Fix build.
...
--HG--
branch : trunk
2009-05-15 18:30:34 +02:00
QAston
d81352b421
*Allow hots to proc
...
--HG--
branch : trunk
2009-05-15 16:59:27 +02:00
QAston
4a20e22af3
*Do not proc relentless strikes with slice and dice twice
...
*Fix trap radius calculation in some cases-by krz
--HG--
branch : trunk
2009-05-15 16:51:26 +02:00
QAston
ab195a1031
*Add sqls for latest commit.
...
--HG--
branch : trunk
2009-05-15 18:09:44 +02:00
QAston
47d5fc51c5
*Item enchancment/proc patch - original code by Thenecromancer
...
-void Player::CastItemCombatSpell(Item *item,Unit* Target, WeaponAttackType attType)
-{
- if(!item || item->IsBroken())
- return;
-
- ItemPrototype const *proto = item->GetProto();
- if(!proto)
- return;
+void Player::CastItemCombatSpell(Item *item, CalcDamageInfo *damageInfo, ItemPrototype const * proto)
+{
+ Unit * Target = damageInfo->target;
+ WeaponAttackType attType = damageInfo->attackType;
if (!Target || Target == this )
return;
- for (int i = 0; i < MAX_ITEM_PROTO_SPELLS; ++i)
- {
- _Spell const& spellData = proto->Spells[i];
-
- // no spell
- if(!spellData.SpellId )
- continue;
-
- // wrong triggering type
- if(spellData.SpellTrigger != ITEM_SPELLTRIGGER_CHANCE_ON_HIT)
- continue;
-
- SpellEntry const *spellInfo = sSpellStore.LookupEntry(spellData.SpellId);
- if(!spellInfo)
- {
- sLog.outError("WORLD: unknown Item spellid %i", spellData.SpellId);
- continue;
- }
-
- // not allow proc extra attack spell at extra attack
- if( m_extraAttacks && IsSpellHaveEffect(spellInfo,SPELL_EFFECT_ADD_EXTRA_ATTACKS) )
- return;
-
- float chance = spellInfo->procChance;
-
- if(spellData.SpellPPMRate)
- {
- uint32 WeaponSpeed = GetAttackTime(attType);
- chance = GetPPMProcChance(WeaponSpeed, spellData.SpellPPMRate, spellInfo);
- }
- else if(chance > 100.0f)
- {
- chance = GetWeaponProcChance();
- }
-
- if (roll_chance_f(chance))
- CastSpell(Target, spellInfo->Id, true, item);
+ // Can do effect if any damage done to target
+ if (damageInfo->damage)
+ {
+ for (int i = 0; i < 5; i++)
+ {
+ _Spell const& spellData = proto->Spells[i];
+
+ // no spell
+ if(!spellData.SpellId )
+ continue;
+
+ // wrong triggering type
+ if(spellData.SpellTrigger != ITEM_SPELLTRIGGER_CHANCE_ON_HIT)
+ continue;
+
+ SpellEntry const *spellInfo = sSpellStore.LookupEntry(spellData.SpellId);
+ if(!spellInfo)
+ {
+ sLog.outError("WORLD: unknown Item spellid %i", spellData.SpellId);
+ continue;
+ }
+
+ // not allow proc extra attack spell at extra attack
+ if( m_extraAttacks && IsSpellHaveEffect(spellInfo,SPELL_EFFECT_ADD_EXTRA_ATTACKS) )
+ return;
+
+ float chance = spellInfo->procChance;
+
+ if(spellData.SpellPPMRate)
+ {
+ uint32 WeaponSpeed = GetAttackTime(attType);
+ chance = GetPPMProcChance(WeaponSpeed, spellData.SpellPPMRate, spellInfo);
+ }
+ else if(chance > 100.0f)
+ {
+ chance = GetWeaponProcChance();
+ }
+
+ if (roll_chance_f(chance))
+ CastSpell(Target, spellInfo->Id, true, item);
+ }
}
// item combat enchantments
@@ -6993,6 +6993,21 @@
if(pEnchant->type[s]!=ITEM_ENCHANTMENT_TYPE_COMBAT_SPELL)
continue;
+ SpellEnchantProcEntry const* entry = spellmgr.GetSpellEnchantProcEvent(enchant_id);
+
+ if (entry && entry->procEx)
+ {
+ // Check hit/crit/dodge/parry requirement
+ if((entry->procEx & damageInfo->procEx) == 0)
+ continue;
+ }
+ else
+ {
+ // Can do effect if any damage done to target
+ if (!(damageInfo->damage))
+ continue;
+ }
+
SpellEntry const *spellInfo = sSpellStore.LookupEntry(pEnchant->spellid[s]);
if (!spellInfo)
{
@@ -7001,6 +7016,18 @@
}
float chance = pEnchant->amount[s] != 0 ? float(pEnchant->amount[s]) : GetWeaponProcChance();
+
+ if (entry && entry->PPMChance)
+ {
+ uint32 WeaponSpeed = GetAttackTime(attType);
+ chance = GetPPMProcChance(WeaponSpeed, entry->PPMChance, spellInfo);
+ }
+ else if (entry && entry->customChance)
+ chance = entry->customChance;
+
+ // Apply spell mods
+ ApplySpellMod(pEnchant->spellid[s],SPELLMOD_CHANCE_OF_SUCCESS,chance);
+
if (roll_chance_f(chance))
{
if(IsPositiveSpell(pEnchant->spellid[s]))
@@ -7012,6 +7039,7 @@
}
}
+
void Player::CastItemUseSpell(Item *item,SpellCastTargets const& targets,uint8 cast_count, uint32 glyphIndex)
{
ItemPrototype const* proto = item->GetProto();
--HG--
branch : trunk
2009-05-15 16:37:22 +02:00
QAston
a796012723
*Merge some fixes from tc1
...
--HG--
branch : trunk
2009-05-15 18:00:50 +02:00
Anubisss
ad92f5e210
*Fix Glyph of Ice Block.
...
*Thanks QAston for the help in the SpellFamilyMask.
--HG--
branch : trunk
2009-05-15 17:58:06 +02:00
Anubisss
e6cd40a619
*Implement GetSpellCooldowns() for get m_spellCooldowns(Player's map of spell CDs).
...
--HG--
branch : trunk
2009-05-15 17:54:10 +02:00
BroodWyrm
7549076a38
*Rewrite Moroes Script to fix reset bug
...
--HG--
branch : trunk
2009-05-15 16:52:59 +02:00
QAston
ae461a4158
*Fix Cheat Death.
...
--HG--
branch : trunk
2009-05-15 15:33:23 +02:00
Genars & Aokromes
854e791c2f
New server options to block adding GMs to friends by players and to block inviting GMs to parties
...
--HG--
branch : trunk
2009-05-14 23:07:17 +02:00
megamage
662dbb9744
*Fix a typo that cause crash. Thanks to Drahy.
...
--HG--
branch : trunk
2009-05-14 20:02:10 -05:00
megamage
c50e1fc4b6
*Merge.
...
--HG--
branch : trunk
2009-05-14 16:52:01 -05:00
megamage
047cc95388
*Add some distance check functions. By VladimirMangos.
...
--HG--
branch : trunk
2009-05-14 16:50:47 -05:00
Drahy
baa7545346
* Finally updated world_spell_full (contains spell_linked_spell, spell_script_target, spell_required and spell_proc_event)
...
* Please everyone to add patches also to full sqls in the future
--HG--
branch : trunk
2009-05-14 22:57:47 +02:00
megamage
811eee356d
[7825] Fixed typo in comment and var. name. Author: BombermaG
...
--HG--
branch : trunk
2009-05-14 15:38:20 -05:00
megamage
5823e2c471
[7824] Implement use ArmorDamageModifier bonus for armor Author: DiSlord
...
--HG--
branch : trunk
2009-05-14 15:37:56 -05:00
megamage
1390440f14
[7823] Fix ScalingStatValue field size in item_template table. Author: DiSlord
...
--HG--
branch : trunk
2009-05-14 15:37:28 -05:00