Commit Graph
208 Commits
Author SHA1 Message Date
Brian 486c00891b * Core switch to client 3.3.2 (11403)
* Credits (in no particular order) to:
* n0n4m3, raczman, manuel, Spp, Malcrom, Teacher, QAston, Tartalo,
* thenecromancer, Xanadu, Trazom, Zor, kiper
* Additional credits to:
* TOM_RUS and NoFantasy from MaNGOS
* Thanks for testing Aokromes and XTElite1
* SoTA still needs some work, but is very playable (huge thanks to raczman and
* kiper)
* To upgrade, you need to apply all SQL from sql/updates/3.2.2a_old from the
* last rev you are on
* and then apply all SQL from sql/updates/3.3.2_old to char / realmd / world
* DBs
* Known problem with guild banks.

--HG--
branch : trunk
2010-02-14 19:13:14 -07:00
QAston 3df5bb041c *Way more correct way of selecting caster and target for Periodic Trigger auras.
--HG--
branch : trunk
2010-02-04 18:34:46 +01:00
QAston a4b89d8806 fix a typo in IsHighRankOfSpell(uint32 spell1,uint32 spell2)
--HG--
branch : trunk
2010-02-03 02:41:10 +01:00
QAston 10695f9131 *Drop spell_stack_masks table
*Add spell_group_stack_rules table (for more info see wiki)
*The table is maintained by core team
*Move some spell specific out of core to the new table

--HG--
branch : trunk
2010-02-02 22:35:01 +01:00
QAston a1256d88ee *drop spell_elixir table
*add spell_group table for storage of groups of spell (kinda obvious, isn't it?) and populate the table with converted spell_elixir table data
*the table is going to be maintained by core team
*fix percentage display at spell_ranks table loading
*add TARGET_UNIT_CASTER to allowed learn spell targets in npc_trainer table, thanks to Aokromes for noticing the issue.

--HG--
branch : trunk
2010-02-01 19:22:32 +01:00
QAston a331b67244 *Add error checks at spell_required table loading
*Allow spell_required table to store more than 1 spell learn requirement for a spell
*spell_required table data is removed from world.sql and since this commit the data for it should be maintained by db project you're using.

--HG--
branch : trunk
2010-01-30 19:25:04 +01:00
QAston 9e31e08358 *Move spell rank extractor out of core, use sql table instead for easier maintaining of dependant database data.
--HG--
branch : trunk
2010-01-29 17:54:29 +01:00
thenecromancer d32e0878c7 Remove Battle Shout/Blessing of Might hack
Add table holding stacking masks for non-target/caster related stacking rules
Aura bounce check is still to be done

--HG--
branch : trunk
2010-01-23 17:05:20 +01:00
thenecromancer 721c926229 Change GetSpellSpecific() to have SpellEntry argument instead of ID, this saves lookups in spellstore for entries we already have.
--HG--
branch : trunk
2010-01-20 20:54:32 +01:00
Rat 0cc053ea4d *Integrate Script system to Core
-added ScriptMgr for loading scripts
-removed bindings
-moved script system to src/game
-moved scripts to src/scripts
-VC project files updated
-cmakes updated (not 100% done yet)

NOTE to Devs:
-file locations changed
-precompiled renamed to ScriptedPch
-ecsort_ai renamed to ScriptedEscortAI
-follower_ai renamed to ScriptedFollowerAI
-guard_ai renamed to ScriptedGuardAI
-simple_ai renamed to ScriptedSimpleAI
-sc_creature renamed to ScriptedCreature
-sc_gossip renamed to ScriptedGossip
-sc_instance  renamed to ScriptedInstance

*use the new headers in scripts, thank you

NOTE to ALL:
cmake not fully tested, please report any errors with it
could make creashes, incompability
USE AT YOUR OWN RISK before further tests!!

--HG--
branch : trunk
2010-01-19 11:36:05 +01:00
_manuel_ 054db2fa5c Blessing of Might and Battle Shout can't be at the same time, fixed by naitsabes.s and me. Thanks to QAston and thenecromancer.
--HG--
branch : trunk
2010-01-17 01:53:28 -03:00
n0n4m3 99f66a6bc9 Updated copyright for new year.
--HG--
branch : trunk
2010-01-16 20:19:18 +03:00
thenecromancer 4b0d412e42 Some more casting requirements
*Not allow cast on invisible/stealth target if not detected
*Not allow banish/cyclone tapped unit
*Not allow pickpocket players and units that can never be pickpocketed
*Not allow disarm unarmed units

--HG--
branch : trunk
2010-01-13 11:45:54 +01:00
QAston 8e9d2cdf01 Update aura system:
* Change system logic - unify Auras, AreaAuras and PersistentAreaAuras:
  * Aura has now its owner - which is the WorldObject, which applies aura (creates AuraApplication object) dependant on aura radius, and effect type
  * Owner can be Dynobj (DynObjAura class) for PersistentAreaAuras, or Unit (UnitAura class) for Area and nonArea auras
  * Aura data is shared for all units which have AuraApplication of the Aura
   * Because of that AuraEffect handlers , and periodic tick functions can't modify AuraEffect object (they are const now)
  * Remove spell source and AreaAuraEffect classes
  * Add AuraEffect::UpdatePeriodic function, to allow periodic aura object modification (target independant)
  * Add AuraEffect::CalculateAmount and AuraEffect::CalculateSpellMod function, to allow non-default amount calculation
  * AreaAura updates are done in owner _UpdateSpells cycle
  * Since now you don't need to wait an aura update cycle to get area aura applied on it's correct target list
  * And you can access area aura target list
  * Add basic support for aura amount recalculation
  * Save recalculation state and base amount of auras to db
  * Add AuraEffect::CalculatePeriodic function to determine if aura is periodic, and to set correct tick number after aura is loaded from db
  * Add ChangeAmount function in addition to SetAmount function, to allow easy reapplication of AuraEffect handlers on all targets
  * Sort aura effect handlers in SpellAuras.cpp and .h by their use
  * Add check for already existing aura of that type to some AuraEffect handlers, to prevent incorrect effect removal
  * SPELL_AURA_CONVERT_RUNE and MOD_POWER_REGEN and MOD_REGEN hacky handlers are now implemented correctly
  * Send aura application client update only once per unit update - prevent unnecesary packet spam
 * Fix ByteBuffer::appendPackGUID function - it added additionall 0s at the end of the packet
 * Fix memory leak at player creation (not deleted auras)
 * Updated some naming conventions (too many to mention)
 * Added Unit::GetAuraOfRankedSpell() function
 * Remove procflags on aura remove, use Aura::HandleAuraSpecificMods instead
 * Added functions to maintain owned auras (GetOwnedAuras, GetOwnedAura, RemoveOwnedAura, etc)
 * Implement AURA_INTERRUPT_FLAG_LANDING
 * Implement EffectPlayerNotification (thanks to Spp)
 * Remove wrong aura 304 handler
 * Add better handler for death runes
 * Remove unnecesary variables from DynamicObject class, and cleanup related code, link dynobj duration with aura
 * Add GetAuraEffectTriggerTarget function in CreatureAi for special target selection for periodic trigger auras used in a script
 * Add many assert() procection from idiots using some functions in wrong way
 * I am to lazy to write here anything more
Thanks to Visagalis for testing this patch
PS: Do not make patches like this, please

--HG--
branch : trunk
2010-01-10 01:23:15 +01:00
XTZGZoReX 2159602f27 * Remove useless CheckDB functionality. This does not belong in core in any shape or form.
--HG--
branch : trunk
2009-12-29 18:25:21 +01:00
p0wer ec7cc6c3cc * Begin removing hardcoded SpellFamilyFlags from the core.
* Now being placed in an enum. Starting with EffectDummy.

--HG--
branch : trunk
2009-12-24 12:37:26 -06:00
n0n4m3 772cf54fb5 Update Spell code for 322a. Part 2
--HG--
branch : trunk
2009-12-17 12:23:01 +01:00
maximius da5c1bca54 *Cleanup, fix a few warnings, and make the SD2 grid searchers just pass through to the standard Trinity grid searchers, as they have identical functionality. Thanks thmarth. Closes #387, #388
--HG--
branch : trunk
2009-11-22 00:46:38 -08:00
maximius 3f338cc1c3 *Massive cleanup redux.
--HG--
branch : trunk
2009-10-17 16:20:24 -07:00
maximius e585187b24 *Backed out changeset 3be01fb200a5
--HG--
branch : trunk
2009-10-17 15:51:44 -07:00
maximius 26b5e033ff *Massive cleanup (\n\n -> \n, *\n -> \n, cleanup for(...) to for (...), and some other cleanups by hand)
*Fix a possible crash in Spell::DoAllEffectOnTarget

--HG--
branch : trunk
2009-10-17 15:35:07 -07:00
maximius 333f1c9d72 *[8475] fixed some gcc-warnings Author: balrok
*[8476] Revert some recent cleanup changes, some other fixes and cleanups. Author: VladimirMangos
*[8489] Fixed player visibility update in case view point different from player itself. Author: SilverIce
*[8493] Avoid unexpected multiply error messages at wrong `quest_template`.`RewSpell*` Author: VladimirMangos
*[8496] Resolve some #include cycles and unsafe code.
* Common.h -> Threading.h -> Errors.h -> Common.h
* Remove reduncdent #include "ByteBuffer.h" in headers
* Remove redundent #include "Auth/BigNumber.h" in headers
* Avoid multyply data copy at use some now dropped functions in BigNumber.
* Avoid copy fixed byte count from byte arrays with unknown real size created from BigNumber.
* Avoid possible problems for build mangos at different platform or compilers. Author: VladimirMangos.
*[8501] Apply code style and cleanups to some Player functions. Author: VladimirMangos.
*[8502] Disable quests related to specific game events at startup if event not active. Also rename member boolean variable. Author: NoFantasy
*[8506] Add check for IsAutoComplete() in SendPreparedQuest().
For cases where quest is repeatable but has Method!=0, QuestDetails must be sent instead of RequestItems.
Some additional code cleanup. Author: NoFantasy
*[8507] Check amount of spawned pools before decrement to avoid unexpected result. Also rename variable to more meaningful name. Signed-off-by: NoFantasy <[email protected]>

Thanks to Stryker and onkelz28!

--HG--
branch : trunk
2009-09-18 14:10:37 -07:00
maximius 140ec674a0 Backed out changeset d3fe2d6d504a (please test your patches thoroughly before getting me to push them ogeraisi)
--HG--
branch : trunk
2009-09-14 16:49:23 -07:00
maximius b37f9b1e55 *Merged MaNGOS [8458], [8475], [8476] by ogeraisi, thanks to all authors :)
--HG--
branch : trunk
2009-09-14 16:02:13 -07:00
megamage dd72b5524c [8426] Use upper/lower iterator pairs as result instead 2 function calls. Author: VladimirMangos
--HG--
branch : trunk
2009-08-27 20:27:55 -05:00
megamage 0175da87e4 *Handle some spell specific which is both food and drink. Source: Mangos
--HG--
branch : trunk
2009-08-24 20:17:33 -05:00
megamage 8871c2952a *Some better check of well-fed buff. Source: Mangos
--HG--
branch : trunk
2009-08-24 19:12:22 -05:00
megamage 08539ec0a4 *Rename some ai functions.
--HG--
branch : trunk
2009-08-23 14:20:07 -05:00
megamage 0b06baee4d *Update rules of aura stack.
--HG--
branch : trunk
2009-08-23 10:22:58 -05:00
megamage b35fe879ad *Some update of spell target selection.
--HG--
branch : trunk
2009-08-23 00:46:21 -05:00
megamage 6a9693a1e4 [8369] Some step back in triggered effect caster selection. Author: VladimirMangos
(I do not know what spells this will fix)

--HG--
branch : trunk
2009-08-17 15:54:39 -05:00
QAston 41c12d173b *Add spell_bonus_data for lightwell - by Elron
*Add aura_required, aura_forbidden, user_type columns to npc_spellclick_spells table for additional requirement checks
*Remove workarounds from lightwell code and use new npc_spellclick_spells fields instead.

--HG--
branch : trunk
2009-08-17 02:53:39 +02:00
QAston a797b2fe6f *Correct procflags for Darkmoon Card: Death - by Joro.
--HG--
branch : trunk
2009-08-14 13:26:38 +02:00
QAston ba91c78ceb *Update Mana Shield Spell Power Coefficient - by fukifat.
*Add function void AuraEffect::HandleAuraEffectSpecificMods(bool apply, bool Real, bool changeAmount), and aura effect specific stuff to it.
*More correct aura scaling with lvl for area auras.
*Prevent exploits with relog while having auras with modified amount.

--HG--
branch : trunk
2009-08-13 00:52:05 +02:00
QAston e2e70b936b *Cleanups and obsolete spell handlers remove.
--HG--
branch : trunk
2009-08-11 19:57:27 +02:00
megamage 7dd131a293 *Use flags for positive spell check to reduce calculation.
--HG--
branch : trunk
2009-08-06 11:24:14 -05:00
megamage 5b1e8ef6ff [8309] Fixed paladin judgement selection code in some places. Author: KAPATEJIb
--HG--
branch : trunk
2009-08-05 16:39:09 -05:00
megamage e7ebddfc9a [8306] Implement single-per-caster limitation for paladin "hand of" spells. Author: VladimirMangos
--HG--
branch : trunk
2009-08-05 16:11:12 -05:00
QAston d95e9c1027 *Fix Gargoyle feeding behaviour - original patch by thenecromancer.
*Add SPELL_TARGET_TYPE_CONTROLLED for spell_script_target table for fast search of units(grid search skipped) and to prevent applying effects to not owned summons

--HG--
branch : trunk
2009-08-04 19:28:31 +02:00
megamage a1d5f174be Avoid target requirement checks for spells with caster base target selection (self,pet,around). Author: VladimirMangos
This fix cast fail for some spells, mostly triggered or scripted with unexpected prowided explicit tatrget different from caster.

--HG--
branch : trunk
2009-08-02 10:03:38 +08:00
QAston 0fdd7cd5de *Remove data from world.sql - it exists now only for structure documentation.
*Remove debug spell_check command - such things shouldn't belong to core.

--HG--
branch : trunk
2009-07-31 15:35:31 +02:00
QAston 1f53433c6c Backed out changeset "[8251] Store in some DB tables only data for first rank. Author: VladimirMangos" until support for different values for ranks and for custom ranks is added.
--HG--
branch : trunk
2009-07-31 13:21:01 +02:00
megamage 2bddcc4303 [8251] Store in some DB tables only data for first rank. Author: VladimirMangos
* Allow add to DB data only for first rank in table `mangos_spell_bonus_data` and `mangos_spell_proc_event`.
    * Copy data for other ranks for speedup use at loading for this data and data from `spell_proc_item_enchant`.

--HG--
branch : trunk
2009-07-31 10:21:57 +08:00
QAston 13758fcae1 *Fix per-caster aura state based on [8218] (Author: VladimirMangos;almost nothing left from original patch):
*Fixes all per caster aurastates instead of only conflagrate
*Adds a holder for aura state auras for speedup search
*Save some memory space by removing m_auraStateMask from aura class.

--HG--
branch : trunk
2009-07-30 17:16:56 +02:00
QAston 2a402ff6c7 *Merge required after backout.
--HG--
branch : trunk
2009-07-30 11:52:40 +02:00
QAston 9c52a12e08 Backed out changeset 6ba74f274cb9 - mangos [8249]
--HG--
branch : trunk
2009-07-30 11:44:23 +02:00
megamage af2d5e3fd4 [8250] Cleanup code and data for spell_threat Author: nos4r2zod
* Load table data to std::map instead SQLStorage and add check loaded spell existance.
    * Drop from table not existed spells.

--HG--
branch : trunk
2009-07-30 11:37:08 +08:00
megamage 7121d98480 [8249] Implement support spell_proc_item_enchant table for ppm item enchantments triggering at hit.
* Added a new SQL table, spell_proc_item_enchant, for "custom" ppmRates on Item Enchants that do not use auras.
      With table data this must fix ppm for effect from 8033 and ranks enchanting, and item 6947/10918 and ranks enchanting.

    * Implemented SPELLMOD_FREQUENCY_OF_SUCCESS (26).
      That must fix work talent 14113, spell 32645 with ranks, glyph 41094 and item set effect 64917 in frequency part.

    Thanks to MaS0n as author alternative patch that partly used in this patch.
    Thanks to Thenecromancer as author alternative patch that ideas inspire MaS0n's patch writing and then this patch also.

Author: nos4r2zod

*Note: has been implemented before. Only use part of the patch.

--HG--
branch : trunk
2009-07-30 11:33:28 +08:00
megamage 65f01ac67c [8234] Implement support for explcit discovery spell 64323. Also better checks at loading. Author: VladimirMangos
--HG--
branch : trunk
2009-07-30 10:55:13 +08:00
QAston 4a17224a65 *Creature eventAI cancast power check - by smellbee.
--HG--
branch : trunk
2009-07-23 18:32:32 +02:00