QAston
54eb0096fd
*Fix Icy Talons and their improved version.
...
--HG--
branch : trunk
2009-06-14 23:01:16 +02:00
QAston
e7910ec9d2
*Correct interpretation of procflags and update spell_proc_event due to that (some of mangos entries may be incompatibile due to that change)
...
*Fix siphon life.
*Fix Rapture.
--HG--
branch : trunk
2009-06-14 17:56:22 +02:00
megamage
e192d8f39b
*Some work on vehicle.
...
--HG--
branch : trunk
2009-06-14 09:57:57 -05:00
megamage
e82ae5f8df
*Fix spell 16007.
...
--HG--
branch : trunk
2009-06-11 11:35:31 -05:00
QAston
da067afe12
*Fix Improved Spell Reflection
...
*Fix Glyph of Improved Scorch
*Sword And Board
*Fix Glyph of Devastate - original patch by CRAZyBUg
--HG--
branch : trunk
2009-06-10 23:44:30 +02:00
Them
0555ec4a35
*Fix errors with spell_affect table loading
...
--HG--
branch : trunk
2009-06-08 21:56:26 +02:00
QAston
06aa0a94d4
*Fix improved sprint.
...
--HG--
branch : trunk
2009-06-08 21:08:27 +02:00
megamage
a328728cb8
*Implement spell aura 177.
...
--HG--
branch : trunk
2009-06-07 23:32:35 -05:00
QAston
d0c801d6cf
*Add support for stance-dependant action bar spells
...
*Temporary remove assert check in Player::RestoreSpellMods
*Apply bleeding damage bonuses for Shred.
--HG--
branch : trunk
2009-06-07 22:13:17 +02:00
QAston
e6941a4f41
*Remove Arcane Blast on Arcane Missiles and Arcane Barrage cast
...
*Spell_affect entry for Fingers of frost - by Larva
*use spellaffect entries in every affect check
*Allow spell_affect table to modify affect data for any spell
--HG--
branch : trunk
2009-06-06 12:53:38 +02:00
adrycasillo
8bc014b42d
*Do not allow Divine Spirit and Prayer of Divine spirit to stack.
...
--HG--
branch : trunk
2009-06-06 09:14:04 +02:00
QAston
39548d6822
*Update spellmod system
...
*Implement SPELL_ATTR_EX6_IGNORE_CASTER_AURAS
*Fix some bugs with traps proc flags
--HG--
branch : trunk
2009-06-06 08:27:36 +02:00
megamage
38fd158c40
*Fix the bug that some traps without charges and spell radius cannot be triggered.
...
*Provide spell support for quest 12698
--HG--
branch : trunk
2009-06-03 23:24:57 -05:00
megamage
89d2c6afda
[7930] Added diminishing for spell 1499 and ranks. Author: Lightguard
...
--HG--
branch : trunk
2009-06-01 14:55:51 -05:00
megamage
a36d4fc7ae
[7917] Spell effect with SPELL_AURA_MOD_SPELL_CRIT_CHANCE always possitive with possitive aura value. Author: VladimirMangos
...
--HG--
branch : trunk
2009-05-31 16:01:19 -05:00
megamage
3faa712d42
*Allow some warrior shouts and druid roars to interrupt stealth. thanks to thenecromancer
...
--HG--
branch : trunk
2009-05-29 16:09:55 -05:00
megamage
d2fe68bfef
*Some improvement of DK start zone quests (no new quest fixed)
...
--HG--
branch : trunk
2009-05-27 23:33:21 -05:00
megamage
7ac4fb46c4
*Fix DK quest 12641
...
--HG--
branch : trunk
2009-05-26 22:13:36 -05:00
megamage
0652c95126
[7892] Update spell_loot_template entry description in error output for better fit to current table use. Author: VladimirMangos
...
--HG--
branch : trunk
2009-05-26 16:10:42 -05:00
megamage
326940181a
*Consider flight spells as passive spells.
...
--HG--
branch : trunk
2009-05-26 15:32:11 -05:00
megamage
ddcc7d1c66
*Move spelltarget table check to the start of the server to reduce log spams.
...
--HG--
branch : trunk
2009-05-25 16:50:01 -05:00
megamage
a2f8a735ae
*Merge.
...
--HG--
branch : trunk
2009-05-25 13:03:11 -05:00
megamage
a53326353b
*Do not allow wrecking crew stack with enrage. Also, allow proc buff overwrite another. Need better rules to check that. (see my comment in code)
...
--HG--
branch : trunk
2009-05-25 11:19:13 -05:00
megamage
7e1ca8f2ce
*Merge.
...
--HG--
branch : trunk
2009-05-25 11:08:52 -05:00
QAston
1c505261bc
*Remove auras with duration lower than 30 sec on arena start.
...
*Do not remove rougue poisons and dk runes on arena start.
*Apply healing bonus for healing stream totem.
*Do not duplicate damage bonus in code with the one in db for Seal of Vengenance/Corruption
--HG--
branch : trunk
2009-05-24 22:54:13 +02:00
megamage
09b386a786
[7886] Drop use table petcreateinfo_spell
...
This is first commit in chain for remove oudated and not used pet functionality.
* Use instead dropped table CreatureSpellData.dbc if creature_template.PetSpellDataId set (mostly hunter pets)
* Use creature_template.spellN if not set creature_template.PetSpellDataId (mostly different summon creatures)
* Fixed bug with not removing from action bar spell icon for not ranked unlearned spells.
Note: summoned controllable creatures without PetSpellDataId must have expected spells in spellN feilds for creature_template.
[7887] Drop pet spell teaching code, including field in character_pet.
Author: VladimirMangos
--HG--
branch : trunk
2009-05-24 12:16:12 -05:00
QAston
1b2579a2ab
Ancestral Awakening target selection
...
--HG--
branch : trunk
2009-05-24 15:36:15 +02:00
QAston
74770dbcf6
*Fix whath of air and flametongue totem
...
--HG--
branch : trunk
2009-05-24 14:58:54 +02:00
QAston
9af492483e
*always remove old aura instead of recalculating new one in same id stack case-this prevents some problem with spelleffects execution problems
...
--HG--
branch : trunk
2009-05-23 10:57:05 +02:00
megamage
ec24442af4
*Fix rock shards spell for archavon script.
...
--HG--
branch : trunk
2009-05-23 01:43:46 -05:00
Anubisss
08e1ec8a8a
*Correct spell id for Muru's Negative Energy's MaxAffectedTargets by Alyen. Thank you.
...
--HG--
branch : trunk
2009-05-23 00:18:24 +02:00
megamage
32064b79da
*Do not remove/add aura for refreshing case.
...
--HG--
branch : trunk
2009-05-21 14:54:22 -05:00
megamage
4ed847a6e3
*Implement spell effect wmo damage.
...
--HG--
branch : trunk
2009-05-21 10:01:03 -05:00
megamage
6473e94358
*Update Naxx scripts. Now only Kelthuzad is incompleted
...
--HG--
branch : trunk
2009-05-20 11:44:38 -05:00
megamage
e8be2f026e
*Add some scripted spells for naxx.
...
--HG--
branch : trunk
2009-05-18 15:04:05 -05:00
megamage
e45c57f298
*Fix the bug that startfall aoe damage also apply on direct target.
...
*Add starfall spell bonus for other ranks. By Uruviel and Nesocip.
--HG--
branch : trunk
2009-05-18 10:22:43 -05:00
megamage
5784d03121
*Fix the bug that inferno and curse of doom summons too many minions.
...
--HG--
branch : trunk
2009-05-17 17:33:39 -05:00
megamage
1c134f81e3
*Merge.
...
--HG--
branch : trunk
2009-05-17 16:40:40 -05:00
QAston
7c6757d7ee
*Update proc system.
...
--HG--
branch : trunk
2009-05-17 18:00:33 +02:00
megamage
3569f949d7
[7839] Rafactoring player targeting code in chat command and related cleanups/improvments.
...
* New extractOptFirstArg function for easy get 2 args in case option playe name as first arg.
* New extractPlayerTarget function for get player pointer/guid/name for online/offline player base at provided name
or if not provided by current seelction with error cases processing.
* Property apply mute/unmute in case use different character name from loggined currently for account.
* .reset commands can be used from console now
* .repairitems comamnd can be used from console now but only to online player.
Author: VladimirMangos
--HG--
branch : trunk
2009-05-17 10:57:55 -05:00
megamage
14edc1e5eb
*Update naxx script.
...
--HG--
branch : trunk
2009-05-16 14:49:58 -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
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
QAston
d81352b421
*Allow hots to proc
...
--HG--
branch : trunk
2009-05-15 16:59:27 +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
krz
ee40287ef7
Do not allow to proc spells if they can't stack with already active auras.
...
this fixes 13048 and 12292.
--HG--
branch : trunk
2009-05-14 14:35:09 +02:00
QAston
a9349e06ba
*Fix a typo
...
--HG--
branch : trunk
2009-05-11 23:52:50 +02:00
QAston
51b5f2aa64
*Allow Hots to proc-this should fix talents like 33776 effect from hots.
...
--HG--
branch : trunk
2009-05-11 23:46:45 +02:00
megamage
8fc07d443a
*Change waypoint data structure. Use creature db guid as path id. If a creature uses waypoint movement as default movement type, the path id should be DBGUID*10. For paths of script use, the path id should be DBGUID*10+1 ~ DBGUID*10+9.
...
*Two sql queries are included. Converter is used to convert the existing path id to new path id. "...creature_add..." is used to change table structure. You can first run the converter, then run the other one. Or run the other one directly and get the new data from the db team. Because it may take hours to run the converter.
*If you have custom data, you may need to run the converter. We suggest you use console to run it It is extremely slow to run the query. If you have multiple paths for a creature in your db, you need to do more work to convert it. However, if you know how to use multiple paths, you should already have more db knowledge than I do and you should know how to convert it.
*There may be a faster query to convert the db. If you know, please tell us. I am no sql expert.
*Backup your db first!
*Thanks to X-Savior and subhuman_bob.
--HG--
branch : trunk
2009-05-11 13:27:10 -05:00