aboutsummaryrefslogtreecommitdiff
path: root/src/game/CharacterHandler.cpp
AgeCommit message (Collapse)Author
2010-05-04Add stricter regulations for instances (login-checks and support for sending ↵click
unbound player to parent-instance / homebind if not matching criterias) Patch by Elron103 - closes issue #1323. --HG-- branch : trunk
2010-04-28Partial revert of 6ab9e720f3d2fca8bfe14b2ba857008cf018e0cd, thanks click and ↵Machiavelli
Liberate for talking sense into me. Only load 1 spec in memory at a time. Also fixes totem bar loading due to a typo. --HG-- branch : trunk
2010-04-28Fix action buttons sent to client when swapping between talent specs. ↵Machiavelli
Storage related parts by Hunuza (MaNGOS), big thanks. --HG-- branch : trunk
2010-04-16Reapply the previous "actionbars"-fix/handling db/coresideclick
Fixes issue #1669 Note: This issue has been a pain in the rear, as it was actually messing up clients that ran a vanilla client without addons. The issue only comes in to place when players load a SINGLE actionbar, and not selecting "activate all bars". Extensive testing and debugging done to figure out why this actually happened - I'll fricking shoot the next one messing with it! --HG-- branch : trunk
2010-04-15Another fix quest flags, Implement support weekly quests cooldowns(Original ↵n0n4m3
patch by GriffonHeart), also code cleanups. --HG-- branch : trunk
2010-04-14Drop not needed table 'item_text', add new column 'text' in table ↵n0n4m3
'item_instance'. Original patch by Vladimir. --HG-- branch : trunk
2010-04-13* Fix actionbars-issue with talent-based spells/actions disappearingclick
* Revert previous mess someone(tm) made with the "reinstating" actionBars -field (me!) --HG-- branch : trunk
2010-04-12Restore load/save shown actionbars, missing from 3.3.3 upgradeclick
Original SQL by hunuza/MaNGOS project --HG-- branch : trunk
2010-04-11Some fixes to guild/arenateam events. Big thx to TOM_RUS.n0n4m3
--HG-- branch : trunk
2010-04-11Drop characters data blob. Bit thx to hunuza.n0n4m3
--HG-- branch : trunk
2010-04-07Code Style (game + scripts only):Spp
"==" --> " == " (when needed) --HG-- branch : trunk
2010-04-07Code style (game + scripts only):Spp
"( " --> "(" " )" --> ")" --HG-- branch : trunk
2010-04-07Code style (game + scripts only):Spp
"if(" --> "if (" --HG-- branch : trunk
2010-04-07Code style (game + scripts only):Spp
"while(" --> "while (" --HG-- branch : trunk
2010-03-02* Move some values out of the data blob in the characters tableBrian
* (honor, kills, title, currencies, watched faction, drunken-status, health and power) * Original Author Hunuza - thank you * Ported to Trinity by RammboNr5 - thank you * Tested by Aokromes - thank you * Closes Issue #911 --HG-- branch : trunk
2010-02-15Removed stupid/not needed file Spellid.h.n0n4m3
--HG-- branch : trunk
2010-02-14* Core switch to client 3.3.2 (11403)Brian
* 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-05Yet more cleanup, mostly in the script system. This should conclude the ↵Xanadu
script integration into core. --HG-- branch : trunk
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