Commit Graph

5981 Commits

Author SHA1 Message Date
jackpoz
799daaae55 Core/Transports: Fix array overflow
Fix an array overflow in TransportMgr::GeneratePath() spline code.

Valgrind log:
 Invalid read of size 4
  at : G3D::Vector3::operator*(float) const (Vector3.h:650)
  by : Movement::C_Evaluate(G3D::Vector3 const*, float, G3D::Matrix4 const&, G3D::Vector3&) (Spline.cpp:103)
  by : Movement::SplineBase::SegLengthCatmullRom(int) const (Spline.cpp:171)
  by : Movement::SplineBase::SegLength(int) const (in /home/jackpoz/trinity/bin/worldserver)
  by : Movement::Spline<double>::initLengths() (SplineImpl.h:86)
  by : TransportMgr::GeneratePath(GameObjectTemplate const*, TransportTemplate*) (TransportMgr.cpp:125)
  by : TransportMgr::LoadTransportTemplates() (TransportMgr.cpp:78)
 Address 0x1d07d154  is 8 bytes after a block of size 300 alloc'd
2013-12-30 16:15:37 +01:00
Shauren
079905e29a Core/Transports
* Fixed transport orientation
* Fixed transport position desynchronization for stoppable transports
* Ignore spawnMask errors for objects spawned on transports
2013-12-29 14:59:06 +01:00
jackpoz
3744c14184 Scripts/Misc: Ensure Creatures are in instances when required
Create ScriptedAIs that require a InstanceScript reference only if the InstanceScript exists, so if these Creatures are in an instance. ScriptedAIs that don't require a InstanceScript reference have not been modified.
This fixes many possible NULL dereference crashes happening when spawning a scripted Creature outside of an instance.
Fixed a GetOwner() and a ToPlayer() NULL dereference crashes too.
2013-12-29 01:19:52 +01:00
Shauren
533180f2a1 Core/Battlegrounds: Removed unneeded code 2013-12-28 13:02:05 +01:00
Shauren
29acf99ea6 Core/Transports: Fixed new spawned transports not being visible for players already present on map 2013-12-28 12:44:22 +01:00
jackpoz
e255d1d376 Core/Transports: Fix possible crash
Fix a crash happening when deleting an instance with transports. This case doesn't appear in current sources but could have happened in ICC and HoR.
2013-12-25 23:11:22 +01:00
Malcrom
01a43e6a30 Core/QuestDef: Well I clicked revert but Git didn't play along. 2013-12-25 14:31:28 -03:30
Malcrom
fe95371d9a Core/Scripting: Replace casted with cast as casted is not a word. 2013-12-25 14:16:55 -03:30
Shauren
890b47c861 Build fix 2013-12-25 12:37:00 +01:00
Shauren
8bcde41538 Core/Quests: Added stuff missing in previous commit 2013-12-25 12:17:23 +01:00
Shauren
293915db39 Core/Quests: Fixed icon shown above questgivers with daily quests that have already been completed once by a character
Closes #11331
2013-12-25 02:08:05 +01:00
Shauren
20a2b69178 Core/Chat: Fixed GM messages in chat channels after refactoring 2013-12-24 20:21:13 +01:00
Shauren
5e8f829181 Core/SAI: Fixed a crash in call for help/flee for assist actions when they had an emote attached 2013-12-24 11:26:07 +01:00
Shauren
a316b86a79 Core/Spells: Prevent adding sockets to items that have 3 sockets in item_template or already had a socket added to them 2013-12-23 14:25:34 +01:00
Shauren
107af52853 Core/Chat: Refactored building chat packets
* Moved everything into one specialized method instead of being scattered all over the place
* Allow localizing creature names in chat messages (when using $N)
* Send SMSG_GM_MESSAGECHAT for gm messages
2013-12-23 14:23:49 +01:00
Discover-
c5788de8a4 Core/SAI: Fix another memory leak, thanks to @Xter 2013-12-19 10:50:16 +01:00
Discover-
e44e932d4d Core/SAI: Fix two memoryleaks in my previous commits. Thanks to @Xter for the notice. 2013-12-19 10:28:45 +01:00
Spp
ec62bc6e88 Core/Dungeon Finder: Improve join log message to try to detect cases when one of the selected dungeons is 0
* Added specialization to all loggers related to lfg (allows to enable "lfg.join" in debug mode and keep all the rest in error)
2013-12-19 09:39:00 +01:00
Discover-
e5f7beecf5 Core/SAI: Using SMART_ACTION_FORCE_DESPAWN now despawns the given target_type instead of always the creature itself. 2013-12-18 10:06:19 +01:00
Discover-
a0f7fee922 Core/SAI: Fix compile
Core/SAI: Don't limit SMART_ACTION_SET_INGAME_PHASE_MASK to unit targets only. Thanks to @Shauren for the notice.
2013-12-17 11:38:29 +01:00
Discover-
154ee466eb Core/SAI: Using the action_type SMART_ACTION_SET_REACT_STATE now sets the react state of the target_type. Won't break any scripts as all current cases of this action_type have target_type 1 (SMART_TARGET_SELF). 2013-12-17 11:10:23 +01:00
Discover-
1f4d585bef Core/SAI: In all npc flag related action_types we now check if the target is a creature instead of an unit (creature/player). 2013-12-17 11:06:07 +01:00
Discover-
20a22662df Core/SAI: Using SMART_ACTION_SET_FOLLOW with target_type 0 (SMART_TARGET_NONE) will now stop the following completely. Fixes 6 scripts in a clean TDB already using this functionality even though it wasn't implemented. 2013-12-17 10:12:23 +01:00
Discover-
54b7162f1d Core/SAI: Make SMART_ACTION_SET_INGAME_PHASE_MASK set the phasemask of the target_type instead of always the source calling the action type. 2013-12-17 09:44:06 +01:00
Malcrom
b8f9442ec9 Core/Player: Fix logic for questgiver cast spell 2013-12-16 18:50:51 -03:30
jackpoz
b3c810a0fb Core/Misc: Fix warning
Partially revert f0a742a8c4 to fix a warning about unhandled switch case (the same case that Coverity reported as dead code) .
2013-12-16 19:52:50 +01:00
jackpoz
b8908606fc Core/AH: Fix memory leak
Fix memory leak in Auction House when creating an auction with stackable items and a stack of the same amount in the inventory. Leak added in 15a2acfb52 .
2013-12-16 19:38:49 +01:00
Malcrom
f1a82a578b Core/Waypoints: Stop creatures from skipping at waypoint nodes
and add smoothing to pathing.
2013-12-15 20:26:11 -03:30
jackpoz
e90a7f82d4 Core/AI: Fix CreatureAI left uninitialized
Fix CreatureAI left uninitialized for 1 server tick for Creatures with DeathState:DEAD . This is a workaround required after c9cf2f059f changes .

Valgrind log:
 Conditional jump or move depends on uninitialised value(s)
  at : npc_draenei_survivor::npc_draenei_survivorAI::MoveInLineOfSight(Unit*) (zone_azuremyst_isle.cpp:104)
  by : CreatureAI::MoveInLineOfSight_Safe(Unit*) (CreatureAI.cpp:123)
  by : CreatureUnitRelocationWorker(Creature*, Unit*) (GridNotifiers.cpp:134)
  by : Trinity::AIRelocationNotifier::Visit(GridRefManager<Creature>&) (GridNotifiers.cpp:252)
 Uninitialised value was created by a heap allocation
  at : operator new(unsigned long) (vg_replace_malloc.c:319)
  by : npc_draenei_survivor::GetAI(Creature*) const (zone_azuremyst_isle.cpp:66)
  by : ScriptMgr::GetCreatureAI(Creature*) (ScriptMgr.cpp:792)
  by : FactorySelector::selectAI(Creature*) (CreatureAISelector.cpp:41)
  by : Creature::AIM_Initialize(CreatureAI*) (Creature.cpp:716)
  by : Creature::AddToWorld() (Creature.cpp:190)
2013-12-15 21:14:47 +01:00
jackpoz
dd4a774c4c Core/Transports: Fix memory leak on shutdown
Fix world transports not being deleted on shutdown.
2013-12-15 18:51:34 +01:00
Malcrom
a2e7191b26 Core/Unit: prevent COMMAND_ATTACK being added for Trained Rock Falcon.
Also added spells for Trained Rock Falcon to db.
2013-12-15 13:43:18 -03:30
jackpoz
f0a742a8c4 Core/Misc: Remove unused code
Remove unused debugging code added in MaNGOS r5067.
Remove dead code from a switch found by Coverity.
2013-12-15 13:37:49 +01:00
w1sht0l1v3
89ee8cbac1 Core/Unit: Add switch to prevent COMMAND_ATTACK being added to action bar for supplied creature entries. 2013-12-15 14:09:49 +02:00
Malcrom
dcfbe53552 Core/Player: Fix questgiver spell cast. 2013-12-14 20:22:39 -03:30
joschiwald
d5f6c2e2a2 Merge branch 'master' of github.com:TrinityCore/TrinityCore 2013-12-14 19:45:01 +01:00
joschiwald
f5c2dca1d5 Scripts: fix crash in spell_jokkum_scriptcast
Closes #11313
2013-12-14 19:43:29 +01:00
Discover-
e17af3f203 Core/Quests: Fix an issue where auto-completed quests would not be automatically completed if the quest was added through either the SmartAI action_type SMART_ACTION_ADD_QUEST, the spell effect SPELL_EFFECT_QUEST_START or the opcode CMSG_QUEST_CONFIRM_ACCEPT. Also fixes auto-complete quests in the SAI and opcode case not calling the AI hook. 2013-12-14 19:42:31 +01:00
Discover-
ec8e94c6ac Core/AI: Fix an issue where the OnQuestAccept hooks were not called for auto-completed quests.
Fixes #11304
2013-12-14 19:39:47 +01:00
jackpoz
ca6b9df261 Core/Misc: Fix some static analysis issues
Fix some static analysis issues about uninitialized values.
2013-12-14 19:36:43 +01:00
jackpoz
1c0903e286 Core/Misc: Fix some static analysis issues
Fix some static analysis issues about uninitialized values. Most of them are false positives, always initialized before being accessed, while some of them are real issues spotted by valgrind too.
2013-12-14 18:41:26 +01:00
Malcrom
dd546f073a Core/Player: Add another exception to questgiver spell casting. 2013-12-14 14:05:24 -03:30
jackpoz
e28cc4660b Core/Movement: Fix invalid memory access
Fix the stack implementation used in MotionMaster and added few sanity checks to ensure no underflows will be made.

Valgrind log:
 Invalid read of size 8
  at : MotionMaster::top() const (MotionMaster.h:115)
  by : MotionMaster::pop() (MotionMaster.h:91)
  by : MotionMaster::~MotionMaster() (MotionMaster.cpp:74)
  by : Unit::~Unit() (Unit.cpp:296)
  by : Player::~Player() (Player.cpp:880)
  by : WorldSession::HandleCharCreateCallback(Trinity::AutoPtr<PreparedResultSet, ACE_Thread_Mutex>, CharacterCreateInfo*) (CharacterHandler.cpp:665)
  by : WorldSession::HandleCharCreateCallback(Trinity::AutoPtr<PreparedResultSet, ACE_Thread_Mutex>, CharacterCreateInfo*) (CharacterHandler.cpp:516)
2013-12-14 16:51:47 +01:00
Discover-
4ca63412c8 Core/SmartAI: SMART_ACTION_UPDATE_TEMPLATE will no longer ignore the target type and force the source creature (creature only) to be updated; from now on it updates the given targets to the given entry (actionparam1) 2013-12-13 09:45:58 +01:00
Malcrom
c045d4c7f4 Core/SmartAI: Reset Actions will not be processed until creature reaches home. 2013-12-12 21:23:14 -03:30
Malcrom
9f741432a3 Core/AI: Some code cleanup 2013-12-12 18:09:07 -03:30
Malcrom
9d95351118 Core/SmartAI: Fixed issue where ranged caster would switch to combat ready state between cast. 2013-12-12 16:39:30 -03:30
Shauren
54fd53f7e3 Core/Movement: Fixed possible invalid memory access 2013-12-12 09:50:52 +01:00
joschiwald
a40e814240 Core/SmartScripts: speedup loading/validating sai scripts from db
Before:
>> Loaded 6953 SmartAI scripts in 3543 ms

After:
>> Loaded SmartAIMgr Helpers in 4 ms
>> Loaded 6953 SmartAI scripts in 95 ms
2013-12-11 18:53:05 +01:00
Shauren
488841dd2c Merge pull request #11306 from trickerer/fixaggro
Don't allow units to enter combat upon death
2013-12-11 00:40:46 -08:00
Malcrom
fc7e335d3b Scripting/Obsidian Sanctum: Updated scripts to use Events. 2013-12-11 01:13:23 -03:30