Commit graph

43 commits

Author SHA1 Message Date
Lightguard
610a040240 [7500] Not allow stacking some auras at target from different casters.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-03-20 00:14:59 +03:00
VladimirMangos
c1b0e7d57a [7466] Use SpellCastResult in SpellMgr.* functions 2009-03-16 11:21:28 +03:00
VladimirMangos
9def5df2d7 [7463] Make basic preparations for replace 0 as ok spell cast value by more correct value.
Currently 0 used ast OK value for spell cast checks BUT 0 = SPELL_FAILED_AFFECTING_COMBAT
So another values need used. This required lot code changes. This is first step.
2009-03-15 23:57:57 +03:00
VladimirMangos
fee3278e57 [7376] Allow store in spell_area.aura_spell negative values for "not has aura" requirement.
Also
* Allow have in aura_spell spells with SPELL_AURA_PHASE in first effect.
* Allow negative aura_spell chaining in spell_area table.
* Better check at loading duplicate data (by requiremnt set) in spell_area table.
2009-03-04 01:27:56 +03:00
VladimirMangos
2b9eeb782e [7362] Use IN_MILISECONDS where appropriate, other cleanups. 2009-03-01 05:22:56 +03:00
VladimirMangos
1fca6de6f3 [7349] Implement spell cast depenences from area/quest.aura state store in new table spell_area.
* It allow store requirenments: area, active or rewarded quest (until possible another quest not rewarded),
  aura present at character, character race/gender.
* Listed spell can marked as auto-casted when fit requirents. In this case spell requirements checked at
  zone/subzone update (and then resurraction also), quest start/reward, dummy aura apply.
* Old hardcoded lines for similar check removed from sources and required DB support for work now.
2009-02-27 11:15:36 +03:00
VladimirMangos
9e7e374077 [7348] Remove hack code from IsDeathPersistentSpell.
Re-apply zone dependent auras at resurrection by triggering zone update for player.
2009-02-27 08:04:21 +03:00
VladimirMangos
9b3daf3933 [7330] Code warnings and style cleanups. Some bugs fixes.
1) comparison singed and unsigned values
2) redundent includes
3) wrong constructor :-part field initilization
4) unused not-/*name*/-guarded args in template/virtual functions that not required like args.
5) explicitly list not implemented achievement types.

Also bugs fixed:
1) Drop wrong phase mask 0 check in WorldObject::InSamePhase.
2) ArenaTeamMember::ModifyPersonalRating incorrect work with move points in negative with infinity values in result.
3) ArenaTeam::SaveToDB code send uint64 value to string with arg format %u.
2009-02-24 01:54:53 +03:00
zhenya
8dbf8cda71 [7313] Optimized checks of presence in std::set
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-02-21 08:52:33 +03:00
VladimirMangos
7c3ab4b453 Move auction related code from ObjectMgr to AuctionHouseMgr. 2009-02-12 04:50:29 +03:00
VladimirMangos
e97c7ad9c5 [7253] Check battleground status in GetSpellAllowedInLocationError for some spells for aura remove and spell casting cases. 2009-02-09 15:42:22 +03:00
VladimirMangos
f94377622e Use spell_loot_table for item creating in case SPELL_EFFECT_CREATE_ITEM_2 (157) and itemType==0 2009-02-06 06:00:01 +03:00
DiSlord
4ecfbcc2f5 Use spell_bonus_data table for store custom damage/healing bonus coefficients
Big thanks ApoC for help create table.
Fixed bonuses for stacked periodic
Warning need test all coefficients for correct bonus amount.
TODO:
 use this table for absorb bonus calculation
 use this table for melee spells AP bonuses
 use chain multipler in final damage/heal amount

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-28 02:23:16 +03:00
VladimirMangos
bbf8fd0742 Not store dependent spells in character_spell
* Mark spells learned in result character creating, another spell learning, skill grow,
  quest reward as dependent and not store its in `character_spell`.
* Prevent re-learning known spell in expected state
* Prevent re-learning low rank spell as active if higher rank known.
* New type of non-stacked ranked spells check: skill dependent spell bonuses.
* Activate (show propetly and cast if need) lesser spell rank
  for non-stackable in spellbooks spells at unlearn high rank
2009-01-24 12:03:43 +03:00
DiSlord
abaa111eaa [7159] Allow GO cast as need (use go coordinates for target select in some cases)
Fixed work all Huter traps target selection
More check in ObjectAccessor::Get Object
More generic work 22 TARGET_CASTER_COORDINATES target type

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-24 03:44:45 +03:00
VladimirMangos
ee6072f232 [7117] Implement explicit recipe discovery abilities.
* Implement SPELL_EFFECT_CREATE_ITEM_2 (157). This alos let work many item creating spells.
* Add `skill_discovery_template`.`reqClass` for allow clas specific racipes storing in table.
* Make primary key for `skill_discovery_template` pair (spellId,reqSpell) that allow have duplicate recipes for different reqSpells.
* Implement SPELL_EFFECT_SCRIPT (77) cases for explicit recipe discovery spells with learn spell selected by `skill_discovery_template` data.
Note: as expected explicit recipe discovery abilities always return some spell while exist any not learned yet for player class.
2009-01-20 00:07:43 +03:00
DiSlord
2cd801a9ef Prevent (in some cases) remove aura state flag if exist similar aura.
Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-17 21:03:26 +03:00
VladimirMangos
950df723d7 [7083] Implement support for cast-spells in trainer lists for riding also. 2009-01-14 02:41:19 +03:00
VladimirMangos
f956a3bf10 [7067] Move inactive form/stance passive spells from playercreateinfo_spell to spell_learn_spell with active field.
This let have in `playercreateinfo_spell` only expected at character creating spells for simplify updating.
2009-01-11 02:09:03 +03:00
DiSlord
71b33ca2f1 [7056] Proc system add
Add use autorepeat flag and set more corect triggers flag for ranged autorepeat spells
Restore work paladin 20210 and ranks after client switch
Add 6-7 scripted paladin shock spell (also add it in dummy and fix flag)
Hidden cooldown and hacky (need more fixes in triggers) fix for 33953
Remove not used code

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-09 00:59:28 +03:00
DiSlord
e573bd9ea8 [7051] Implement some mage dummy triggers (fix typo)
44546 and ranks
44449 and ranks
54747 and ranks

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-08 03:53:21 +03:00
DiSlord
b6efea176d [7034] Add support 96 bit spell family mask to triggers
Some fix/add data in table (about 100 records)

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-06 00:26:58 +03:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00
GriffonHeart
2441c2a69f [6997] Fixed: In 3.0.3 spell data have area group id instead area id.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-01-01 22:43:08 +03:00
VladimirMangos
f6bd9ef67a [6996] Fixed 56 target mode work for 3.0.3. This fix for example warrior spell 6673 and ranks. 2009-01-01 16:29:36 +03:00
GriffonHeart
948d76800d [6994] Fixing "create all" items crafting and possible other spells unexpected colldowns.
Note: auto-shoot still have problems with spell casting.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2008-12-31 15:07:00 +03:00
VladimirMangos
695a630cf3 [6992] More strong checking to prevent stacking passive auras. This fix unexpected statking 16252 and ranks.
Also this checking will prevent staking talent ranks if it will casted at character by some reason in any cases.
TODO: non-talent passive spells like 16252 or 31785 with ranks still as before
not reapplied in lesser rank form if higher rank unlearned. But this possible only at .unlearn command use
and required re-loginning for activation lesser rank spell.
2008-12-31 12:40:47 +03:00
DiSlord
a1494d29dc [6980] Add some fixes to trigger system
Allow proc from every kill
Fix (and remove hack) priest 32379 and rank (backfire damage after 1 sec)
Remove not need stack overflow protection

Signed-off-by: DiSlord <dislord@nomail.com>
2008-12-30 01:49:28 +03:00
VladimirMangos
5793ae28ea [6969] Prevent stacking presence auras. 2008-12-29 04:46:03 +03:00
DiSlord
963c6e5cf7 [6967] Fix paladin seal and blessing family mask
Signed-off-by: DiSlord <dislord@nomail.com>
2008-12-28 23:58:48 +03:00
DiSlord
7a9346fe3d Prepare for master tree
Remove some unused in 303 data from table
Fix some table data
Fix send (change in 303) SMSG_SPELLDAMAGESHIELD opcode

Signed-off-by: DiSlord <dislord@nomail.com>
2008-12-28 00:10:48 +03:00
DiSlord
bae58eb069 Merge branch 'master' of git@github.com:mangos/mangos into procflag 2008-12-23 18:03:21 +03:00
DiSlord
9b842b6fdc Work under spell mods
* Add support > 64 bit spellFamily mask
    * Remove not used fields in SpellModifier
    * Remove not used (and not correct work vs charges) GetTotalFlatMods, GetTotalPctMods
    * Use DBC based data for spell_affect
    * More better work SPELL_AURA_ADD_TARGET_TRIGGER aura

Signed-off-by: DiSlord <dislord@nomail.com>
2008-12-08 23:22:39 +03:00
DiSlord
4a07c0c6c2 Apply procPatch 2008-11-26 22:23:10 +03:00
tomrus88
7974d1cb94 Merge branch 'master' into 303
Conflicts:
	src/game/Player.cpp
	src/game/Spell.cpp
2008-11-08 16:52:28 +03:00
tomrus88
7c73afbd22 Raid wide auras, untested 2008-11-08 16:44:10 +03:00
VladimirMangos
5222f49820 Use (if available) TR1 unordered_map instead hash_map at Unix/Linux (in GCC 4.0.0 and later) and Windows (VC90 and later) 2008-11-08 11:44:13 +03:00
tomrus88
ca8180ecd1 Futher pet spell work 2008-11-06 13:22:43 +03:00
tomrus88
3e8ebb024f Fixed: pet spells, possible sql injection, increased sql query size once again 2008-11-04 18:25:37 +03:00
tomrus88
b2d24ba0f7 Packet fixes, pet spells 2008-11-04 18:25:35 +03:00
tomrus88
8d54103456 Fixed spell.dbc structure 2008-11-03 14:22:55 +03:00
tomrus88
629da9de32 Updated spells stuff 2008-10-26 10:15:52 +03:00
TheLuda
800ee76535 Imported MaNGOS revision 6767 from http://mangos.svn.sourceforge.net/svnroot/mangos/trunk/ 2008-10-14 00:29:20 +02:00