Commit Graph

118 Commits

Author SHA1 Message Date
Machiavelli
453e3e8976 Partial revert of 6ab9e720f3d2fca8bfe14b2ba857008cf018e0cd, thanks click and 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-28 22:35:55 +02:00
Machiavelli
ab013e42c9 Fix action buttons sent to client when swapping between talent specs. Storage related parts by Hunuza (MaNGOS), big thanks.
--HG--
branch : trunk
2010-04-28 16:08:31 +02:00
click
e79d50fa2d Reapply the previous "actionbars"-fix/handling db/coreside
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-16 02:14:21 +02:00
n0n4m3
8abcca0a06 Another fix quest flags, Implement support weekly quests cooldowns(Original patch by GriffonHeart), also code cleanups.
--HG--
branch : trunk
2010-04-15 08:26:30 +04:00
n0n4m3
e3e5ca6227 Drop not needed table 'item_text', add new column 'text' in table 'item_instance'. Original patch by Vladimir.
--HG--
branch : trunk
2010-04-14 12:43:42 +04:00
click
b5e9b5fa13 * Fix actionbars-issue with talent-based spells/actions disappearing
* Revert previous mess someone(tm) made with the "reinstating" actionBars -field (me!)

--HG--
branch : trunk
2010-04-13 18:35:00 +02:00
click
52ba3d3a96 Restore load/save shown actionbars, missing from 3.3.3 upgrade
Original SQL by hunuza/MaNGOS project

--HG--
branch : trunk
2010-04-12 14:04:08 +02:00
n0n4m3
93f7e2796c Some fixes to guild/arenateam events. Big thx to TOM_RUS.
--HG--
branch : trunk
2010-04-11 11:06:51 +04:00
n0n4m3
1dc4f7c745 Drop characters data blob. Bit thx to hunuza.
--HG--
branch : trunk
2010-04-11 11:00:02 +04:00
Spp
2454c290b8 Code Style (game + scripts only):
"==" --> " == " (when needed)

--HG--
branch : trunk
2010-04-07 23:25:02 +02:00
Spp
49d05ba9aa Code style (game + scripts only):
"( " --> "("
" )" --> ")"

--HG--
branch : trunk
2010-04-07 22:59:46 +02:00
Spp
d19e127080 Code style (game + scripts only):
"if(" --> "if ("

--HG--
branch : trunk
2010-04-07 19:14:10 +02:00
Spp
2e127f7a30 Code style (game + scripts only):
"while(" --> "while ("

--HG--
branch : trunk
2010-04-07 19:13:19 +02:00
Brian
74ccd57597 * Move some values out of the data blob in the characters table
* (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-03-02 10:12:47 -07:00
n0n4m3
bcd4a48328 Removed stupid/not needed file Spellid.h.
--HG--
branch : trunk
2010-02-15 18:23:39 +01:00
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
Xanadu
f8d1920fa5 Yet more cleanup, mostly in the script system. This should conclude the script integration into core.
--HG--
branch : trunk
2010-02-05 13:01:32 +01:00
Anubisss
d9cb070215 Implement QueryResult_AutoPtr type which is ACE's reference counted 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-23 14:45:58 +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
n0n4m3
99f66a6bc9 Updated copyright for new year.
--HG--
branch : trunk
2010-01-16 20:19:18 +03:00
Rat
5b6079ea67 *cleaned up SharedDefines
--HG--
branch : trunk
2010-01-10 16:27:47 +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
Anubisss
df88de1f2a Fix 3 memory leakz.
--HG--
branch : trunk
2009-12-29 16:02:40 +01:00
n0n4m3
250a00cc1c Temporary revert 6743 commit. I fix this patch across 1-2 days.
--HG--
branch : trunk
2009-12-24 10:20:15 +01:00
n0n4m3
3fe0bc5254 Replaced time(NULL) on sGameTime.GetGameTime() this is used for better 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-23 08:04:10 +01:00
n0n4m3
a7c0f6beb3 Update CharacterHandler, Channels System for 322a
--HG--
branch : trunk
2009-12-17 10:49:15 +01:00
Kudlaty
379cbb72af Mangos merge: [8874] Extract player skills from data blob. #526
Converted by Azazel.

--HG--
branch : trunk
2009-12-14 20:47:43 +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
maximius
906b00465a *add 11 new event hooks to the OnEvents system, by Hawthorne
--HG--
branch : trunk
2009-09-23 20:19:21 -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 <nofantasy@nf.no>

Thanks to Stryker and onkelz28!

--HG--
branch : trunk
2009-09-18 14:10:37 -07:00
maximius
eef5abe6e1 *Event Hooks (OnLogin, OnLogout, OnPVPKill) by Hawthorne
*Boss Emote Command for DB Scripts by XTElite1

--HG--
branch : trunk
2009-09-13 00:01:35 -07:00
megamage
790c5348a3 [8445] Fixed redundant calculation of v and s on every login Author: arrai
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-02 16:22:32 -05:00
megamage
dc68c2b269 [8433] Implement proper store and use character specific account data.
* 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-09-01 16:47:49 -05:00
Machiavelli
e71f5e474e * Add debug message for HandleCharCreateOpcode in the hope to pinpoint bug that prohibits character creation for no apparent reason.
--HG--
branch : trunk
2009-08-24 02:41:01 +02: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
7ca0f5b721 *Fix the crash caused by client customize log.
--HG--
branch : trunk
2009-08-16 16:32:11 -05:00
maximius
2fd68eab44 *Add Dual Spec support, original by EnderGT, thanks to Thyros and XTElite1 for helping me test :)
--HG--
branch : trunk
2009-08-14 17:24:52 -07:00
megamage
6890d8aedb *Log old name for customize request
--HG--
branch : trunk
2009-08-14 18:55:35 -05:00
megamage
4f4775a31b [8339] Improved storing/restoring BG entry point
* 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 20:27:00 -05:00
QAston
bee1dff87f *Use #defines instead of spellids for often used spells.
*Make recently broken talent Improved Healthstone work again - by iadus3.

--HG--
branch : trunk
2009-08-12 18:51:19 +02:00
megamage
47e36000cb [8304] Move standup code to login, remove other not needed data change at save. Author: VladimirMangos
Now players saved as-is without any modifications.

--HG--
branch : trunk
2009-08-05 16:03:33 -05:00
megamage
793ec8c97d [8286] Correctly show talent points after talents reset at login by "at login" flag. Author: redcore
--HG--
branch : trunk
2009-08-02 10:11:48 +08:00
QAston
1d96091d2a *Improvements in map managing.
--HG--
branch : trunk
2009-08-01 00:20:32 +02:00
megamage
0fcadd9d25 *Replace "LoginDatabase" with "loginDatabase"
--HG--
branch : trunk
2009-07-31 11:29:28 +08:00
megamage
6976043e22 [8126] Improvemets in player/pet/charter name checks. Author: VladimirMangos
* 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-10 08:25:33 +08:00
megamage
e1d93bd00f *Backup your DB!
[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-07-01 18:07:20 -05:00
megamage
d9ec2d2196 [8072] First step to get rid of data blob.
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-27 17:39:51 -05:00
QAston
ad91c6b1e2 [8052] Fixed typo in error log output. Author: The_Game_Master
[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-23 13:05:15 +02:00