Commit Graph

30 Commits

Author SHA1 Message Date
n0n4m3
99f66a6bc9 Updated copyright for new year.
--HG--
branch : trunk
2010-01-16 20:19:18 +03: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
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
megamage
c911772125 [8389] Implement check really read received packet size and warning it not all data read. Author: VladimirMangos
* This let more easy catch packet structure chnages at client switch.
    * Fixed structure CMSG_GUILD_BANK_SWAP_ITEMS
    * Fixed structure CMSG_SPLIT_ITEM, CMSG_SELL_ITEM
    * Added read data amount fixes for some other packets.

    Thanks to TOM_RUS in help check correct packets structure.

    Note: not all packets possible fixed. Please report for not fixed cases at errors:
    "opcode %s (0x%.4X) have unprocessed tail data (read stop at %u from %u)"

--HG--
branch : trunk
2009-08-19 17:07:21 -05:00
megamage
a7e297434a [8384] Restore build mangos at Unix/Linux. Author: VladimirMangos
* Also fixed wrong read_skip<char*>() code.
    * Also fixed some warnings in related code.

--HG--
branch : trunk
2009-08-19 16:56:57 -05:00
megamage
edc05f2c19 [8382] Implement ByteArray functions for skip read of fields not needed for server in received packets. Author: VladimirMangos
* Use this fucntions in some case.
    * Change some packets to form: read fields first check later for better control recieved packets structure.
    * Fix CMSG_STAND_STATE_CHANGE packet structure to more correct.

--HG--
branch : trunk
2009-08-19 16:54:52 -05:00
megamage
e954904e6d [8378] Use exceptions instead of explicit size checking for each packet Author: arrai
CHECK_PACKET_SIZE was pretty error prone; once it was forgotten mangosd
    could crash due to the asserts in ByteBuffer.h. That was exploitable by
    malicious players.
    Furthermore, there were duplicate checks: Additionally to
    CHECK_PACKET_SIZE, the ByteBuffer assertions keept an eye
    on not exceeding the packet boundaries - just to crash the server for
    sure in such a case.
    To prevent memory leaks or other undesirable states, please read in
    every handler all variables _before_ doing any concrete handling.

--HG--
branch : trunk
2009-08-19 16:26:22 -05:00
megamage
e3b748206e [8001] Fixed display id checks for creature case. Author: VladimirMangos
--HG--
branch : trunk
2009-06-13 09:44:35 -05:00
megamage
9f9a9f8207 [7968] In packet compression use real writed data size. Author: VladimirMangos
--HG--
branch : trunk
2009-06-06 20:23:56 -05:00
megamage
11456447da [7929] Some fixes and optimizations for work with packet guids. Author: VladimirMangos
* Allocate only minimal required buffer size for object packet guid cache, avoid it realocation.
    * At adding aboyher buffer content copy only until wpos (really writed to buffer data)
    * In appendPackGUID check buffer size before data write.

--HG--
branch : trunk
2009-06-01 12:15:43 -05:00
megamage
341101c171 [7925] Correct minor output format error inside ByteBuffer class Author: Naicisum
--HG--
branch : trunk
2009-05-31 16:26:06 -05:00
megamage
941e5b9dbd [7532] Avoid warnings at use size_t with printf fromat strings. Author: VladimirMangos
--HG--
branch : trunk
2009-03-24 17:38:14 -06:00
XTZGZoReX
9fe43fa9c0 * Implementing database logging:
** LogTime and LogColors config options removed due to incompatibility.
** Old file logging still available.
** Totally redone the Log class.
** Config options added: EnableLogDB, DBLogLevel, LogDB.Char, LogDB.RA, LogDB.GM -- remember to update config file.
** SQL updates attached.

--HG--
branch : trunk
2009-03-19 21:13:52 +01:00
XTZGZoReX
6c32bd5441 * Fixed ByteBuffer::read<std::string> specialization. This one is correct.
--HG--
branch : trunk
2009-03-19 17:13:56 +01:00
megamage
f8bb0cd167 *Commend a function because it break build.
--HG--
branch : trunk
2009-03-18 20:22:42 -06:00
XTZGZoReX
d84cec89c0 * Added specialized ByteBuffer::read for std::string. This will aid in packet processing later.
--HG--
branch : trunk
2009-03-18 21:34:59 +01:00
megamage
31637d4aac *Merge.
--HG--
branch : trunk
2009-02-18 11:36:19 -06:00
KingPin
14234c86fa Newline added to bottom of all files.
--HG--
branch : trunk
2009-02-17 20:07:49 -06:00
megamage
4d008f2043 Replace tabs with spaces, and fix crlf issues
--HG--
branch : trunk
2009-02-04 10:33:18 -06:00
megamage
d69198732e *Merge.
--HG--
branch : trunk
2009-02-04 17:22:43 -06:00
megamage
df7499e056 *Merge.
--HG--
branch : trunk
2009-02-04 10:53:58 -06:00
Drahy
5dab980495 * Updated copyright notice for new year (2009) part 2
* Changed mangos website

--HG--
branch : trunk
2009-02-04 12:42:26 +01:00
Drahy
7c19c420c6 * Updated copyright notice for new year (2009) part 1 - Mercurial cant convert all files at once
--HG--
branch : trunk
2009-02-04 12:04:12 +01:00
megamage
ae5e329321 *Update to Mangos 6955.
--HG--
branch : trunk
2008-12-27 11:39:40 -06:00
w12x
b8362cd7f1 [svn] Fixed copyright notices to comply with GPL.
--HG--
branch : trunk
2008-10-23 03:29:52 -05:00
KingPin
35f378aef9 [svn] * fixed help for subcommands - source mangos
* Renamed accounts column tbc to expansion and it only took a little over 4 hours o.O

--HG--
branch : trunk
2008-10-20 12:23:56 -05:00
Seline
2265aef916 [svn] * Merge Temp dev SVN with Assembla.
* Changes include:
   - Implementation of w12x's Outdoor PvP and Game Event Systems.
   - Temporary removal of IRC Chat Bot (until infinite loop when disabled is fixed).
   - All mangos -> trinity (to convert your mangos_string table, please run mangos_string_to_trinity_string.sql).
   - Improved Config cleanup.
   - And many more changes.

--HG--
branch : trunk
2008-10-14 11:57:03 -05:00
Neo2003
9b1c0e006f [svn] * Proper SVN structure
--HG--
branch : trunk
2008-10-02 16:23:55 -05:00