Commit Graph

7107 Commits

Author SHA1 Message Date
Discover-
11d9a44508 Core/SAI: Properly implement the second parameter of SMART_ACTION_CALL_TIMED_ACTIONLIST to reflect the wiki (which also makes more sense) 2013-10-01 10:08:05 +02:00
Vadim
2320f6d28f Core/Spells: Spells with SPELL_ATTR3_IGNORE_HIT_RESULT can`t never miss! 2013-09-30 13:43:02 +04:00
Discover-
80ce30ac7d Core/SAI: Add 'playerOnly' parameters to SMART_TARGET_CLOSEST_ENEMY and SMART_TARGET_CLOSEST_FRIENDLY. Wiki is updated accordingly. 2013-09-30 10:11:02 +02:00
Spp
ad29676c27 Fix compile under linux and update auth db with latest changes 2013-09-29 14:15:58 +02:00
Spp
ea2fe0217d Core/RBAC: Simplify RBAC implementation
- Drop groups (roles than can have inherited roles) and roles (set of
  permissions)
- Permissions can now have inherited permissions (those act as roles)

RBAC DB structure is now limited to four tables
- rbac_permissions: Contains permissions and roles
- rbac_linked_permissions: Contains the relation between permissions and
  linked permissions (those permissions that have linked permissions are
  called roles)
- rbac_default_permissions: Contains the list of permissions to be granted
  to each security level [Added to maintain compatibility in an easy way]
- rbac_account_permissions: Contains the list of permissions granted or
  denied for a particular account.

NOTE: IF YOU ARE USING CUSTOM PERMISSIONS, ROLES OR GROUPS CHECK THE SQL
BEFORE APPLYING...
2013-09-29 13:19:05 +02:00
Spp
895a23df11 Core/RBAC: Add default groups to accounts based on their security level.
- Removed config option RBAC.DefaultGroups

Use the table rbac_security_level_groups to configure the groups to be added to the account at load time.

Note: Those groups are only used at run time, never saved to DB
2013-09-27 13:35:45 +02:00
Spp
cfaea769bc Core/RBAC: Move RBAC code to namespace rbac 2013-09-27 13:35:45 +02:00
jackpoz
2cca3982d4 Core/Movement: Port Ascent r1637 http://sourceforge.net/p/ascentemubackup/code/1637/ to TrinityCore
Port some movement packet fixes, taking into account client/server connection lag.
Credits to original author, check http://sourceforge.net/p/ascentemubackup/code/1637/ for more details.
MOVEMENT_PACKET_TIME_DELAY default value is currently set to 0, feel free to set it to different values and report feedback.
2013-09-26 20:09:50 +02:00
joschiwald
a0c637f52a Core/Scripts: added some OVERRIDEs 2013-09-25 16:37:43 +02:00
Discover-
a5c248b60f Core/SAI: Get rid of unused parameter 'storageId' (third) in SMART_ACTION_SUMMON_CREATURE. This means the 4th parameter (actionInvoker 0/1) must move back one parameter. On a clean TDB there is not a single case of this parameter being used.
Updated wiki accordingly.
2013-09-25 11:46:51 +02:00
jackpoz
c256a0330a Merge branch 'master' of github.com:TrinityCore/TrinityCore 2013-09-24 23:35:11 +02:00
jackpoz
ec3832c2c1 Core/AI: Fix uninitialized values and array overflows in SAI
Proper initialize POD struct members to 0 in SMART_ACTION_CREATE_TIMED_EVENT action type.
Fix array overflows and access uninitialized values in SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST, SMART_ACTION_RANDOM_PHASE and SMART_ACTION_RANDOM_EMOTE .

Valgrind log for SMART_ACTION_RANDOM_PHASE case:
 Conditional jump or move depends on uninitialised value(s)
   at : SmartScript::UpdateTimer(SmartScriptHolder&, unsigned int) (SmartScript.cpp:3086)
   by : SmartScript::OnUpdate(unsigned int) (SmartScript.cpp:3176)
   by : SmartAI::UpdateAI(unsigned int) (SmartAI.cpp:335)
   by : Creature::Update(unsigned int) (Creature.cpp:542)
   by : TempSummon::Update(unsigned int) (TemporarySummon.cpp:47)

 Uninitialised value was created by a stack allocation
   at : SmartScript::ProcessAction(SmartScriptHolder&, Unit*, unsigned int, unsigned int, bool, SpellInfo const*, GameObject*) (SmartScript.cpp:143)
2013-09-24 23:33:28 +02:00
Vincent-Michael
20d070172b Core/Logs: Random changes 2013-09-23 22:55:35 +02:00
Discover-
a0db0728f2 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore 2013-09-23 16:47:47 +02:00
Discover-
9653576cb4 Core/SAI: Using SMART_TARGET_NONE no longer works the same way as SMART_TARGET_ACTION_INVOKER but rather return NULL instead.
Fixes #10908
2013-09-23 16:47:22 +02:00
jackpoz
af63c8783e Core/Guild: Fix withdraw money from bank overflowing int32 limit
Clamp amount of money withdrawn from bank to MAX_MONEY_AMOUNT to avoid int32 overflow which would remove money from Player instead of adding it.
2013-09-21 19:44:15 +02:00
jackpoz
9c336cc32e Core/DB: Make a26a24a consistent with Trinity code style
Change DatabaseWorkerPool<T>::DirectExecute() to handle PreparedStatement disposal in the same way of DatabaseWorkerPool<T>::Query() , thanks Joschiwald for patch.
2013-09-21 17:45:46 +02:00
jackpoz
a26a24adf1 Core/AccountMgr: Fix memory leak on account creation
Fix .account create command not deleting a MySql PreparedStatement .

Valgrind log:
 254 (40 direct, 214 indirect) bytes in 1 blocks are definitely lost in loss record 6 of 8
  at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
  by 0x998EC2: DatabaseWorkerPool<LoginDatabaseConnection>::GetPreparedStatement(unsigned int) (DatabaseWorkerPool.h:437)
  by 0x99599B: AccountMgr::CreateAccount(std::string, std::string, std::string) (AccountMgr.cpp:49)
  by 0xF3ABAC: account_commandscript::HandleAccountCreateCommand(ChatHandler*, char const*)
2013-09-21 14:55:08 +02:00
Discover-
69b0a009c4 Core/SAI: Make SMART_ACTION_RANDOM_MOVE also work with SMART_TARGET_NONE and non-creature targets (if a non-creature target_type is specified and no creature target was found, the action is fired at the source)
Ref. #7431
2013-09-21 11:21:29 +02:00
jackpoz
6f9851ec13 Core/PathGenerator: Fix conditional jump on uninitialized value
Fix conditional jump on uninitialized value in PathGenerator::GetNavTerrain() by checking the result of getLiquidStatus() before accessing the LiquidData, uninitialized in case there's no water at all.

Valgrind log:
 Conditional jump or move depends on uninitialised value(s)
  at : PathGenerator::GetNavTerrain(float, float, float) (PathGenerator.cpp:553)
  by : PathGenerator::UpdateFilter() (PathGenerator.cpp:542)
  by : PathGenerator::CreateFilter() (PathGenerator.cpp:530)
  by : PathGenerator::PathGenerator(Unit const*) (PathGenerator.cpp:46)
  by : Spell::Spell(Unit*, SpellInfo const*, TriggerCastFlags, unsigned long, bool) (Spell.cpp:493)
  by : Unit::CastSpell(SpellCastTargets const&, SpellInfo const*, CustomSpellValues const*, TriggerCastFlags, Item*, AuraEffect const*, unsigned long) (Unit.cpp:846)
  by : Unit::CastSpell(Unit*, SpellInfo const*, TriggerCastFlags, Item*, AuraEffect const*, unsigned long) (Unit.cpp:882)
  by : Unit::CastSpell(Unit*, unsigned int, TriggerCastFlags, Item*, AuraEffect const*, unsigned long) (Unit.cpp:870)
  by : Unit::CastSpell(Unit*, unsigned int, bool, Item*, AuraEffect const*, unsigned long) (Unit.cpp:858)
  by : Player::SendInitialPacketsAfterAddToMap() (Player.cpp:22580)
  by : WorldSession::HandleMoveWorldportAckOpcode() (MovementHandler.cpp:121)
  by : WorldSession::HandleMoveWorldportAckOpcode(WorldPacket&) (MovementHandler.cpp:37)
2013-09-21 10:58:21 +02:00
Vincent-Michael
eab10cc6ae Core/Achievement: Fix warning 2013-09-18 23:47:35 +02:00
joschiwald
05e72b4906 Core/Achievements: Implemented ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE 2013-09-18 22:55:10 +02:00
zorix
cac1968ab7 Core/Auras:
Fix removing auras when player reset talents or changing/leaving shapeshift

Close #10763
Close #10809
2013-09-18 18:09:29 +02:00
Nay
99f5a6c3d6 Core/BGs: Fix a TC_LOG_ERROR call 2013-09-15 14:57:12 +01:00
Nay
b72fd4c209 Merge pull request #10819 from Ascathor/master
Core/Misc: Fixed some more issues found by static code analysis tools.
2013-09-15 04:31:29 -07:00
Ascathor
4782cc4650 Core/Misc: Fixed some more issues found by static code analysis tools. 2013-09-15 13:17:37 +02:00
jackpoz
d0b42ee4ec Core/Spell: Fix Blood Tap array overflow
Fix Blood Tap spellid 45529 accessing the 7th element of a size 6 array.
Coverity issue id 1023095.
2013-09-15 12:31:48 +02:00
Aokromes
783e28e874 Core/Groups: Allow to configure the way in which instance reset message is sent, to the whole party (not blizzlike) or not.
Signed-off-by: Machiavelli <machiavelli.trinity@gmail.com>
2013-09-12 10:19:05 +01:00
Nay
72d15086b2 Merge pull request #10776 from xjose93/ArenaTeamLogs
Core/ArenaTeam: Add teamnames to logs.
2013-09-11 11:52:51 -07:00
Nay
baa159dbd4 Merge pull request #10736 from jackpoz/localtime_race_condition
Core/Thread: Fix race condition converting time values to local time
2013-09-11 11:50:18 -07:00
joschiwald
77f90c1c67 Scripts/Halion: refixed Twilight Cutter
Scripts/Garfrost: fixed forge jump
2013-09-11 17:07:29 +02:00
xjose93
189a4b08fb Core/ArenaTeam: Add teamnames to logs. 2013-09-11 08:24:26 +02:00
Vincent-Michael
653ff9b243 Core/RBAC: Update RBACPermissions enum with 4.3.4 branch 2013-09-10 19:55:06 +02:00
Spp
953575abfa Core/RBAC: Remove obsolete generic command permissions
Note: If you have any custom command, CHECK THE SQLS BEFORE APPLYING
2013-09-10 15:35:10 +02:00
Spp
78363e11b5 Core/RBAC: Move titles and wp commands to RBAC (using individual permissions) 2013-09-10 15:26:48 +02:00
Spp
b10241876e Core/RBAC: Move ticket commands to RBAC (using individual permissions) 2013-09-10 15:13:08 +02:00
Spp
68ab10ccd4 Core/RBAC: Move tele commands to RBAC (using individual permissions) 2013-09-10 15:01:39 +02:00
Spp
abbc6b2760 Core/RBAC: Move server commands to RBAC (using individual permissions) 2013-09-10 14:57:01 +02:00
Spp
7183a355d2 Core/RBAC: Move reset commands to RBAC (using individual permissions) 2013-09-10 14:33:27 +02:00
Spp
1f95f0b0b8 Core/RBAC: Move reload command to RBAC (using individual permissions) 2013-09-10 14:25:07 +02:00
Spp
4f632ee3ff Core/RBAC: Move quest commands to RBAC (using individual permissions) 2013-09-10 13:57:30 +02:00
Spp
efa194a7ce Core/RBAC: Move npc commands to RBAC (using individual permissions) 2013-09-10 13:48:57 +02:00
Spp
04b313557e Core/RBAC: Move modify commands to RBAC (using individual permissions) 2013-09-10 13:28:32 +02:00
Spp
4d36ce7405 Core/RBAC: Move mmap commands to RBAC (using individual permissions) 2013-09-10 13:08:39 +02:00
Spp
1038446278 Core/RBAC: Move misc commands to RBAC (using individual permissions) 2013-09-10 12:59:25 +02:00
Spp
ec1e88d888 Core/RBAC: Move send commands to RBAC (using individual permissions) 2013-09-10 12:24:40 +02:00
Spp
83cb44d79f Core/RBAC: Move pet commands to RBAC (using individual permissions)
- Pet commands moved from cs_misc.cpp to own file
2013-09-10 12:07:03 +02:00
Spp
1eee42433b Core/RBAC: Move group commands to RBAC (using individual permissions)
- group commands moved from cs_misc.cpp to own file
- renamed groupsummon to "group summon"
2013-09-10 11:45:59 +02:00
Shauren
be5cf42ec3 Core/SmartAI: Fixed creatures using SAI not attacking its charmer after it breaks
Closes #7601
2013-09-09 17:44:07 +02:00
Shauren
fcf9552934 Core/SmartScripts: Fixed heap corruption in SMART_ACTION_EQUIP
Closes #10739
2013-09-08 12:15:13 +02:00