| Age | Commit message (Collapse) | Author |
|
SMARTCAST_INTERRUPT_PREVIOUS, we only interrupt the spell if there is actually a spell cast.
|
|
conditions and fixed codestyle
Closes #10754
|
|
Revert 3ffbd27cddbd96d9736e7b22a286cef8f4ab2174 and PR #10985 , this change doesn't fix any issue and instead breaks the logic of the instance event.
|
|
|
|
Also fixed build
|
|
Core/Spells: Spells with SPELL_ATTR3_IGNORE_HIT_RESULT can never miss!
|
|
|
|
|
|
Mitigate DoS attacks to authserver like "Wow Auth Flooder.exe" by allowing a finite number of AUTH_LOGON_CHALLEGE packets in a row from same socket, 3 sounds like a reasonable limit.
|
|
|
|
Implement OnDamage and OnHeal hooks
|
|
|
|
Found by w5860363 : http://www.trinitycore.org/f/topic/9112-halls-of-reflectioncpp-question%EF%BC%9F/
|
|
passenger on it
Ref #9738
|
|
Valgrind log:
==7723== Invalid read of size 8
==7723== at 0x10753CE: Vehicle::GetBase() const (Vehicle.h:51)
==7723== by 0x1072449: Vehicle::Uninstall() (Vehicle.cpp:159)
==7723== by 0x10B1E3C: Unit::RemoveVehicleKit() (Unit.cpp:15946)
==7723== by 0x10A8F32: Unit::RemoveFromWorld() (Unit.cpp:13441)
==7723== by 0x11A4703: Creature::RemoveFromWorld() (Creature.cpp:203)
==7723== by 0x11B9AB7: TempSummon::RemoveFromWorld() (TemporarySummon.cpp:279)
==7723== by 0x11B9C6C: Minion::RemoveFromWorld() (TemporarySummon.cpp:308)
==7723== by 0x10A917C: Unit::CleanupBeforeRemoveFromMap(bool) (Unit.cpp:13482)
==7723== by 0x10A926C: Unit::CleanupsBeforeDelete(bool) (Unit.cpp:13504)
==7723== by 0x12DBB89: Map::AddObjectToRemoveList(WorldObject*) (Map.cpp:2108)
==7723== by 0x10F4556: WorldObject::AddObjectToRemoveList() (Object.cpp:2140)
==7723== by 0x11B99C5: TempSummon::UnSummon(unsigned int) (TemporarySummon.cpp:256)
==7723== Address 0x3bd20530 is 64 bytes inside a block of size 168 free'd
==7723== at 0x4C2B59C: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7723== by 0x1071FD3: Vehicle::~Vehicle() (Vehicle.cpp:66)
==7723== by 0x10B1E71: Unit::RemoveVehicleKit() (Unit.cpp:15947)
==7723== by 0x10A8F32: Unit::RemoveFromWorld() (Unit.cpp:13441)
==7723== by 0x11A4703: Creature::RemoveFromWorld() (Creature.cpp:203)
==7723== by 0x11B9AB7: TempSummon::RemoveFromWorld() (TemporarySummon.cpp:279)
==7723== by 0x11B9C6C: Minion::RemoveFromWorld() (TemporarySummon.cpp:308)
==7723== by 0x10A917C: Unit::CleanupBeforeRemoveFromMap(bool) (Unit.cpp:13482)
==7723== by 0x10A926C: Unit::CleanupsBeforeDelete(bool) (Unit.cpp:13504)
==7723== by 0x12DBB89: Map::AddObjectToRemoveList(WorldObject*) (Map.cpp:2108)
==7723== by 0x10F4556: WorldObject::AddObjectToRemoveList() (Object.cpp:2140)
==7723== by 0x11B99C5: TempSummon::UnSummon(unsigned int) (TemporarySummon.cpp:256)
|
|
|
|
string_concatenation
|
|
mandatory for concatenation in C++11
|
|
SMART_ACTION_CALL_TIMED_ACTIONLIST to reflect the wiki (which also makes more sense)
|
|
|
|
SMART_TARGET_CLOSEST_FRIENDLY. Wiki is updated accordingly.
|
|
|
|
- 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...
|
|
Valgrind log:
Conditional jump or move depends on uninitialised value(s)
at 0x1798C2C: npc_medivh_bm::npc_medivh_bmAI::UpdateAI(unsigned int) (the_black_morass.cpp:192)
by 0x11AEFC0: Creature::Update(unsigned int) (Creature.cpp:542)
by 0x12E96F8: Trinity::ObjectUpdater::Visit(GridRefManager<Creature>&) (GridNotifiersImpl.h:45)
Conditional jump or move depends on uninitialised value(s)
at 0x1798C7E: npc_medivh_bm::npc_medivh_bmAI::UpdateAI(unsigned int) (the_black_morass.cpp:200)
by 0x11AEFC0: Creature::Update(unsigned int) (Creature.cpp:542)
by 0x12E96F8: Trinity::ObjectUpdater::Visit(GridRefManager<Creature>&) (GridNotifiersImpl.h:45)
Conditional jump or move depends on uninitialised value(s)
at 0x1798CB0: npc_medivh_bm::npc_medivh_bmAI::UpdateAI(unsigned int) (the_black_morass.cpp:205)
by 0x11AEFC0: Creature::Update(unsigned int) (Creature.cpp:542)
by 0x12E96F8: Trinity::ObjectUpdater::Visit(GridRefManager<Creature>&) (GridNotifiersImpl.h:45)
Conditional jump or move depends on uninitialised value(s)
at 0x1798CE2: npc_medivh_bm::npc_medivh_bmAI::UpdateAI(unsigned int) (the_black_morass.cpp:210)
by 0x11AEFC0: Creature::Update(unsigned int) (Creature.cpp:542)
by 0x12E96F8: Trinity::ObjectUpdater::Visit(GridRefManager<Creature>&) (GridNotifiersImpl.h:45)
|
|
- 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
|
|
|
|
|
|
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.
|
|
|
|
Scripts/SteamVault: reworked InstanceScript
|
|
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.
|
|
|
|
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)
|
|
|
|
|
|
|
|
SMART_TARGET_ACTION_INVOKER but rather return NULL instead.
Fixes #10908
|
|
Core/Script:
|
|
ICC: Convert possible non valid pointer to guid
Close #9954
|
|
Reset() has if checks on values that are initialized after them so it's required to initialize these fields in the constructor.
Valgrind log:
Conditional jump or move depends on uninitialised value(s)
by 0x11CF472: HashMapHolder<Creature>::Find(unsigned long) (ObjectAccessor.h:67)
by 0x11CE36F: Creature* ObjectAccessor::GetObjectInWorld<Creature>(unsigned long, Creature*) (ObjectAccessor.h:114)
by 0x1257C13: Creature* ObjectAccessor::GetObjectInMap<Creature>(unsigned long, Map*, Creature*) (ObjectAccessor.h:135)
by 0x12E64F1: Map::GetCreature(unsigned long) (Map.cpp:2767)
by 0x10AF4DE: Unit::GetCreature(WorldObject&, unsigned long) (Unit.cpp:13021)
by 0x16F8F81: npc_highlord_darion_mograine::npc_highlord_darion_mograineAI::Reset() (chapter5.cpp:386)
by 0x16F8D36: npc_highlord_darion_mograine::npc_highlord_darion_mograineAI::npc_highlord_darion_mograineAI(Creature*) (chapter5.cpp:314)
by 0x16F8CD6: npc_highlord_darion_mograine::GetAI(Creature*) const (chapter5.cpp:307)
by 0x132AF6C: ScriptMgr::GetCreatureAI(Creature*) (ScriptMgr.cpp:796)
by 0x1441D45: FactorySelector::selectAI(Creature*) (CreatureAISelector.cpp:41)
|
|
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.
|
|
Change DatabaseWorkerPool<T>::DirectExecute() to handle PreparedStatement disposal in the same way of DatabaseWorkerPool<T>::Query() , thanks Joschiwald for patch.
|
|
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*)
|
|
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
|
|
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)
|
|
Shared/Build: Restore disabled warnings on Visual Studio
|
|
|
|
|
|
|
|
Fix removing auras when player reset talents or changing/leaving shapeshift
Close #10763
Close #10809
|