QAston
fd86e6a369
*Fix possible exploits with flying paths.
...
--HG--
branch : trunk
2009-07-01 16:18:37 +02:00
megamage
fc0e8a251b
[8084] Correctly show spell icon disabled state at relogin for spells with cooldown delayed until expire. Author: VladimirMangos
...
--HG--
branch : trunk
2009-06-27 18:28:26 -05:00
megamage
d9ec2d2196
[8072] First step to get rid of data blob.
...
Adds new fields gender, level, xp, money, playerBytes, playerBytes2 and playerFlags to characters table.
The update will not work if your database contains characters with an old data field (not fitting to the actual client version).
It's recommended to backup your character database before applying this patch.
--HG--
branch : trunk
2009-06-27 17:39:51 -05:00
megamage
a363df1836
*Fix a crash caused by player saves with incorrect instance id.
...
--HG--
branch : trunk
2009-06-27 16:18:08 -05:00
QAston
da3569402d
*Merge tc1 1591 - 1599, skip 1596
...
--HG--
branch : trunk
2009-06-27 15:51:36 +02:00
QAston
33b2917bb7
*Fix Ferocious Bite energy to dmg conversion
...
*Remove duplicated AP coefficients for Hammer of Wrath and Avengers Shield
*Correctly do effectaddcombopoints for spells which take them.
*Do not proc spelleffects on player login.
--HG--
branch : trunk
2009-06-24 15:58:44 +02:00
QAston
09a4fdc1c7
[8066] Fixed typo in Teleport call. Author: Ambal
...
--HG--
branch : trunk
2009-06-23 14:21:14 +02:00
QAston
f2ec641e42
[8056] Move SMSG_CLEAR_COOLDOWN into function and use it. Other cleanups. Author:XTZGZoReX
...
[8060] Store spell_pet_auras for auraeffects instead of by whole aura Author:hunuza.
--HG--
branch : trunk
2009-06-23 14:05:37 +02:00
QAston
ad91c6b1e2
[8052] Fixed typo in error log output. Author: The_Game_Master
...
[8049] Added energize effect after last heal tick for 33763 and ranks. Author: bobaz
[8053] At character talents reset using chat command also reset talents
for all character pets. Author: VladimirMangos
--HG--
branch : trunk
2009-06-23 13:05:15 +02:00
krz
dd52461d40
* Allow spells to trigger ItemCombatSpells if spell is melee/ranged damage based. Original patch by freegajnja
...
* Tabs to spaces.
--HG--
branch : trunk
2009-06-23 04:47:46 +02:00
Machiavelli
a4dafbf8ec
* More updating of iterator data types in loops
...
--HG--
branch : trunk
2009-06-18 18:29:28 +02:00
megamage
3cf2be6042
[8026] Obtain object's map directly by calling appropriate WorldObject::GetMap()/GetBaseMap() functions instead of accessing MapManager. Code cleanups. Big thanks Infinity for tests. Author: Ambal
...
--HG--
branch : trunk
2009-06-16 11:19:59 -05:00
QAston
2e6db5421e
*Fix aura type 280.
...
--HG--
branch : trunk
2009-06-16 15:29:07 +02:00
megamage
b9610f27dd
*Check movementflag to interrupt casting instead of checking position.
...
*Also some other fixes about movement flags.
--HG--
branch : trunk
2009-06-15 12:02:55 -05:00
megamage
4e005c3070
[8013] Fixed SMSG_RAID_INSTANCE_INFO opcode, some other fixes. Author: tomrus88
...
--HG--
branch : trunk
2009-06-14 10:19:44 -05:00
megamage
314a4f8f00
[8008] Fixed SMSG_RAID_INSTANCE_MESSAGE opcode. Author: tomrus88
...
--HG--
branch : trunk
2009-06-14 10:06:41 -05:00
megamage
c0c9b14e1d
[8002] Implemented ACHIEVEMENT_CRITERIA_DATA_TYPE S_DRUNK and fixed typos in ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM Author: Dyddye
...
--HG--
branch : trunk
2009-06-14 09:59:50 -05:00
megamage
ee9c12b480
*Some fix of vehicles. Thanks to Seizerkiller.
...
--HG--
branch : trunk
2009-06-13 09:18:54 -05:00
megamage
9d670fe6f5
*Switch to support client version 3.1.3
...
*I strongly recommend you not to use this until you get the 313 db. Now all destructible buildings cause client crash.
Source: Mangos
Thanks to TOM_RUS for most work to make this switch possible ;)
--HG--
branch : trunk
2009-06-11 00:45:59 -05:00
megamage
6578cce471
*Add column heroic_level_min in table access_requirement
...
--HG--
branch : trunk
2009-06-08 15:31:04 -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
megamage
ebfb4c0558
[7971] Implement support exotic pets limtations related to hunter telent 53270. Author: VladimirMangos
...
Note: before this commit hunters can tame exotic pets like any other.
After patch like not propertly contriolled pets will auto-dismiss at loading
if talent not learned.
--HG--
branch : trunk
2009-06-06 20:31:23 -05:00
QAston
6f9f1a13f5
*Fix build.
...
--HG--
branch : trunk
2009-06-06 08:42:43 +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
711ae28947
[7942] Fixed typo: proffesion->profession
...
[7944] Replace 10 by MAX_UNIT_ACTION_BAR_INDEX in packet size of SMSG_PET_SPELLS.
Author: yad02
--HG--
branch : trunk
2009-06-02 17:50:12 -05:00
megamage
30544055de
*Merge.
...
--HG--
branch : trunk
2009-06-01 15:26:44 -05:00
megamage
f92e8315cf
[7918] Improve portability in work with uint64 string format specifiers and in code literals. Author: VladimirMangos
...
* Replace platform seelction MaNGOS code for select format descriptor for uint64 by using ACE define.
I64FMTD renamed to UI64FMTD for more clear name.
* Add new define UI64LIT (base at ACE seelction) for build portables uint64 literals.
Please always use UI64LIT(0x00001) instead less portable 0x00001LL
--HG--
branch : trunk
2009-05-31 16:15:12 -05:00
megamage
5ed5513ca8
Mangos [7911]. Author: tomrus88
...
Very big patch. May cause bugs.
--HG--
branch : trunk
2009-05-31 15:56:51 -05:00
tvaroh
a3a7996fd1
Do not remove poison enchantment auras when entering arena battle.
...
--HG--
branch : trunk
2009-05-30 18:27:08 +02:00
megamage
bc32144310
*Update OutdoorPvP functions. No longer need creature triggers for capture points.
...
--HG--
branch : trunk
2009-05-29 00:18:41 -05:00
megamage
1288761fb7
[7905] Implement ACTION_T_SET_SHEATH for creature event ai make possibility set ranged fire state. Author: VladimirMangos
...
Also related cleanup code in field cases and player Player::SetSheath.
--HG--
branch : trunk
2009-05-28 18:43:57 -05:00
thenecromancer
bc55209b3e
Restore used spell mods if spell cast fails.
...
--HG--
branch : trunk
2009-05-28 23:05:52 +02:00
megamage
73d31e2552
[7898] Improve client error output at different mail send errors, cleanup code. Author: VladimirMangos
...
--HG--
branch : trunk
2009-05-27 16:38:50 -05:00
megamage
cb72853dc6
*Cleanup message deliver functions. Remove unused parameters.
...
--HG--
branch : trunk
2009-05-27 09:09:22 -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
2fadf3dd77
Fixed bank bag slot amount achievement statistic. Cleanup related code. Author: VladimirMangos
...
--HG--
branch : trunk
2009-05-24 11:17:03 -05:00
megamage
3641be039b
*Set pvp flags for units controlled by player.
...
*Reset pvp flags when unit is uncharmed.
*Remove walk flag when unit is charmed.
--HG--
branch : trunk
2009-05-22 03:12:35 -05:00
QAston
1403419164
*Fix reckonging
...
*fix Sword and Board
*Fix Vigilance
*Rollback sw:death fix.
--HG--
branch : trunk
2009-05-21 20:02:22 +02: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
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
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
megamage
bf82601817
[7818] Implement SPELL_AURA_MOD_FACTION_REPUTATION_GAIN. Author: DonTomika
...
--HG--
branch : trunk
2009-05-14 11:56:02 -05: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
ff3332f066
[7809] Replace repeating "remove cooldown and send update to client" code by function call. Author: VladimirMangos
...
--HG--
branch : trunk
2009-05-10 14:51:51 -05:00
QAston
fcf0fdc1c1
*Item enchancment/proc patch - original code by Thenecromancer
...
--HG--
branch : trunk
2009-05-10 18:06:22 +02:00
megamage
29921b5bea
[7798] More Player::ActivateTaxiPathTo use improvements Author: VladimirMangos
...
* Provide more explicit way about spell that cast taxi flight if any
* Remove incorrect states instead error reporting in case non-taximaster flight start (cast/script)
* Remove mount_id arg from ActivateTaxiPathTo and implement support for 0 mount_id case (spell 32474)
* Implement spell 32474 (except finilize part)
* Provided Player::ActivateTaxiPathTo(uint32 taxi_path_id) function version for simplify one node to node paths use by id.
--HG--
branch : trunk
2009-05-08 18:52:12 -05:00
megamage
e69d2cbed9
[7776] Completed implementation of CMSG_SPELLCLICK Author: arrai
...
For vehicles, you have to add the correct SPELL_AURA_CONTROL_VEHICLE spells to
npc_spellclick_spells, otherwise you won't be able to use them
--HG--
branch : trunk
2009-05-05 16:56:15 -05:00
megamage
a04c9bfe00
[7772] Implement ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED Author: DonTomika
...
--HG--
branch : trunk
2009-05-05 14:48:48 -05:00
megamage
30ac988ad3
*Fix build.
...
--HG--
branch : trunk
2009-05-03 22:33:41 -05:00
megamage
85fbe3ada2
[7740] More correct flags in trainer list data for profession ranks. Author: VladimirMangos
...
Note: this is not fix problem with gren show recently learned non-first rank of primary profession.
Thanks to Seizerkiller for help in reseach.
--HG--
branch : trunk
2009-05-01 01:33:08 -05:00