aboutsummaryrefslogtreecommitdiff
path: root/src/game/CharacterHandler.cpp
AgeCommit message (Collapse)Author
2010-01-23Implement QueryResult_AutoPtr type which is ACE's reference counted ↵Anubisss
auto_ptr(ACE_Refcounted_Auto_Ptr) for QueryResult pointers. Use this auto_ptr for every DB queries(except QueryNamedResult yet). This patch guarantees NO memory leaks from QueryResult pointers. Thanks to raczman for the idea and for the helping to make this patch. --HG-- branch : trunk
2010-01-19*Integrate Script system to CoreRat
-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-16Updated copyright for new year.n0n4m3
--HG-- branch : trunk
2010-01-10*cleaned up SharedDefinesRat
--HG-- branch : trunk
2010-01-10Update aura system:QAston
* 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
2009-12-29Fix 3 memory leakz.Anubisss
--HG-- branch : trunk
2009-12-24Temporary revert 6743 commit. I fix this patch across 1-2 days.n0n4m3
--HG-- branch : trunk
2009-12-23Replaced time(NULL) on sGameTime.GetGameTime() this is used for better ↵n0n4m3
performance. Original Timer.h divided into 2 parts. Shared project has no need to know about GameTime Singleton. 2 Identical structures with different types are now replaced with one generic templated structure and 2 typedefs. --HG-- branch : trunk
2009-12-17Update CharacterHandler, Channels System for 322an0n4m3
--HG-- branch : trunk
2009-12-14Mangos merge: [8874] Extract player skills from data blob. #526Kudlaty
Converted by Azazel. --HG-- branch : trunk
2009-10-17*Massive cleanup redux.maximius
--HG-- branch : trunk
2009-10-17*Backed out changeset 3be01fb200a5maximius
--HG-- branch : trunk
2009-10-17*Massive cleanup (\n\n -> \n, *\n -> \n, cleanup for(...) to for (...), and ↵maximius
some other cleanups by hand) *Fix a possible crash in Spell::DoAllEffectOnTarget --HG-- branch : trunk
2009-09-23*add 11 new event hooks to the OnEvents system, by Hawthornemaximius
--HG-- branch : trunk
2009-09-18*[8475] fixed some gcc-warnings Author: balrokmaximius
*[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 <nofantasy@nf.no> Thanks to Stryker and onkelz28! --HG-- branch : trunk
2009-09-13*Event Hooks (OnLogin, OnLogout, OnPVPKill) by Hawthornemaximius
*Boss Emote Command for DB Scripts by XTElite1 --HG-- branch : trunk
2009-09-02 [8445] Fixed redundant calculation of v and s on every login Author: arraimegamage
The SRP-6 specifications clearly say, that v and s are only to be calculated on registering a user and changing his password; calculating them on every login is plain waste. --HG-- branch : trunk
2009-09-01 [8433] Implement proper store and use character specific account data.megamage
* Base at TOM_RUS reseach save/load character specific account data in new table `character_account_data` * Move its in sql update from `account_data` to new table. * For client packets that can be send in loggined state or just after logout but assocualted with recently logout character add new login status STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT * Store low guid for loggedin player or recently logout into WorldSession. Author: VladimirMangos, TOM_RUS --HG-- branch : trunk
2009-08-24* Add debug message for HandleCharCreateOpcode in the hope to pinpoint bug ↵Machiavelli
that prohibits character creation for no apparent reason. --HG-- branch : trunk
2009-08-19 [8378] Use exceptions instead of explicit size checking for each packet ↵megamage
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-16*Fix the crash caused by client customize log.megamage
--HG-- branch : trunk
2009-08-14*Add Dual Spec support, original by EnderGT, thanks to Thyros and XTElite1 ↵maximius
for helping me test :) --HG-- branch : trunk
2009-08-14*Log old name for customize requestmegamage
--HG-- branch : trunk
2009-08-12 [8339] Improved storing/restoring BG entry pointmegamage
* Introduced new table character_battleground_data * Entry point is now stored on BG enter event not join event * Entry point for dungeons is now correctly set to nearest graveyard (this prevent well known assert in GetInstance because of porting to already destroyed instance) * Teleporting from BG correctly restore mount state * Teleporting from BG correctly restore taxi flight (in multipath flight you will end up in nearest transition point on the route) Signed-off-by: ApoC <apoc@nymfe.net> --HG-- branch : trunk
2009-08-12*Use #defines instead of spellids for often used spells.QAston
*Make recently broken talent Improved Healthstone work again - by iadus3. --HG-- branch : trunk
2009-08-05 [8304] Move standup code to login, remove other not needed data change ↵megamage
at save. Author: VladimirMangos Now players saved as-is without any modifications. --HG-- branch : trunk
2009-08-02[8286] Correctly show talent points after talents reset at login by "at ↵megamage
login" flag. Author: redcore --HG-- branch : trunk
2009-08-01*Improvements in map managing.QAston
--HG-- branch : trunk
2009-07-31*Replace "LoginDatabase" with "loginDatabase"megamage
--HG-- branch : trunk
2009-07-10 [8126] Improvemets in player/pet/charter name checks. Author: VladimirMangosmegamage
* Implement new config options for minimal player/pet/charter name length (2 by default) * Better error reporting at problems in names. * Add check from max pet/charter name length (same as for player names at client side) --HG-- branch : trunk
2009-07-01*Backup your DB!megamage
[8098] Support uint32 spell ids in code. Author: VladimirMangos * Propertly work with uint32 spell ids in player action bar * Fix in same time bug with not save equipment set button with id==0 * Merge misc field in character_action and playercreateinfo_action to action field as 3 byte * Propertly load uint32 spell ids from character_spell * Fixed types for some pet/creature related structure for spell id storing. --HG-- branch : trunk
2009-06-27 [8072] First step to get rid of data blob.megamage
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-23[8052] Fixed typo in error log output. Author: The_Game_MasterQAston
[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-15*Some creature display id update. By VladimirMangos and GriffonHeartmegamage
--HG-- branch : trunk
2009-06-11*Switch to support client version 3.1.3megamage
*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-06 [7971] Implement support exotic pets limtations related to hunter telent ↵megamage
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-04*Including style fixing - part 1panaut0lordv
--HG-- branch : trunk
2009-05-31 [7918] Improve portability in work with uint64 string format specifiers ↵megamage
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-31Mangos [7911]. Author: tomrus88megamage
Very big patch. May cause bugs. --HG-- branch : trunk
2009-05-17[7841] Fixed: Prevent loading maps/vmaps when building enum. Author: SilverIcemegamage
--HG-- branch : trunk
2009-05-16*Fix an exploit that instance can be reset when there are logged-out players ↵megamage
in it. --HG-- branch : trunk
2009-05-14[7822] Avoid declined names form show in case disabled config option with ↵megamage
russian client at non-russian realm. Author: Foks --HG-- branch : trunk
2009-05-09*Init player motionmaster after field value are initialized.megamage
--HG-- branch : trunk
2009-05-08 [7797] Use DBC data for mount model selection in more cases. Author: ↵megamage
VladimirMangos * Use alt.team mount data for take player team model id if DB not provide own team creature id in spell taxi call case. * Remove unddeded hacks for model ids from Spell::EffectSendTaxi * Provide spell target for SPELL_EFFECT_SEND_TAXI for spell with target mode 0 for this effect. --HG-- branch : trunk
2009-04-29[7730] Some optimizantion and code style. Author: zhenyamegamage
--HG-- branch : trunk
2009-04-11*Note: this patch may do not have any use for TC.megamage
[7645] Fixed problems wit temporary unsummoned pets and cleanup code. Author: VladimirMangos * Save temporary unsummoned pet to current slot (instead non_in_slot mode) and prevent save as current pet summoned while temporay unsummon (arena) * Prevent overwrite temporary summoned pet data * At player loading set temporary unsummoned pet data instead pet loading if pet expected to be temporary unsummoned in current player state (loading in taxi flight/etc) * Restore proper pet at arena leave and unsummon in arena summoned. --HG-- branch : trunk
2009-04-10 [7644] Fixed pet slot values using in pet save. Author: VladimirMangosmegamage
Problem exist from client version switch when stable slot amount changed. In result this has been source problems with stable use (3-4 slots) and possible pet lost in some cases or "not save state" for summoned pets. Use enums to avoid repeating problem, use more safe value for not-in-slot save (for summoned pets) Fixed data preparing for MSG_LIST_STABLED_PETS. --HG-- branch : trunk
2009-04-05[7612] Move SMSG_TRIGGER_CINEMATIC and SMSG_TRIGGER_MOVIE to functions and ↵megamage
use its instead explicit packet creating. Author: NoFantasy --HG-- branch : trunk
2009-04-06*Update of aura system.QAston
--HG-- branch : trunk
2009-03-26*Move most reputation/force faction reaction code to new ReputationMgr. ↵megamage
Author: VladimirMangos --HG-- branch : trunk