Commit Graph

106 Commits

Author SHA1 Message Date
joschiwald ccfa82e7d5 Core/Creature: update creature_template and some other small things
http://www.trinitycore.org/f/topic/9572-creature-damage/
2014-08-14 16:09:14 +02:00
DDuarte a394205eca Core/Server: Add missing overrides 2014-08-09 20:17:40 +01:00
Shauren 7532864264 Buildsystem/MSVC: Warning fixes
C4800 'type' : forcing value to bool 'true' or 'false' (performance warning)
C4127 conditional expression is constant
2014-07-17 15:42:57 +02:00
Dehravor cbd36d5a4e Core/Misc: Remove remaining COMPILER_HAS_CPP11_SUPPORT related macros 2014-05-01 11:19:32 +02:00
Dehravor 24ae6a6802 Core/Misc: Remove obsolete C++11 backward compatibility macros
OVERRIDE, FINAL, DELETE_MEMBER
2014-04-29 16:35:11 +02:00
Discover- 91c6c8a911 Merge pull request #11945 from Dehravor/trade
Core/Trade: Correction of distance checking
2014-04-27 12:32:32 +02:00
jackpoz 2585e799f9 Core/Misc: Change how Position struct is retrieved
Update Position::GetPosition() and similar methods signatures to reflect 2a4c9bcaf9 changes by return a Position object instead of accepting a Position parameter by reference.
2014-04-25 21:19:30 +02:00
Dehravor 59a84951da Core/Trade: Correction of distance checking 2014-04-25 20:52:17 +02:00
Discover- 9c68103c21 Merge pull request #11938 from Dehravor/inspect
Core/Handlers: Add inspect distance and target checks
2014-04-25 15:19:41 +02:00
Dehravor abb97bac18 Core/Handlers: Add inspect distance and target checks 2014-04-24 14:34:19 +02:00
Shauren 0f5632c70e Core/Misc: Fixed some -Weffc++ warnings 2014-04-20 16:48:35 +02:00
jackpoz 0930482fa4 Core/Misc: Fix uninitialized values
Fix Position members not being always initialized.
Valgrind log:
 at : Position::NormalizeOrientation(float) (Object.h:388)
 by : Position::SetOrientation(float) (Object.h:315)
 by : Position::Relocate(Position const&) (Object.h:310)
 by : spell_ulduar_stone_grip::spell_ulduar_stone_grip_AuraScript::OnRemoveVehicle(AuraEffect const*, AuraEffectHandleModes) (boss_kologarn.cpp:592)
2014-04-02 20:42:46 +02:00
zengwf 23acf75d3b Core/Movement: Add LOS check for fleeingmovement target point.
Prevents fleeing or feared units from going to upper floor ignoring walls/ceilings with mmaps on(and usually get stucked).

Current implementation just randomly selects a distance and angle against the frighting unit, when in narrow circumstance such as underground caves, such targeting point would be at another floor.

Closes #11300
Ref #9475 (needs fixed confirmation)
2014-01-12 00:33:33 +00:00
Vincent_Michael 20004050bc Update copyright note for 2014.
Happy new year.
2014-01-01 00:07:53 +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
jackpoz 04cc51a6cf Core/Misc: Fix some static analysis issues
Fix some static analysis issues, mostly false positive about fields not initialized in the constructor. It's good practice anyway to always initialize them.
2013-12-01 16:19:30 +01:00
Ascathor 2607738990 Core/Code: Unify codestyle for brackets: {} to { }.
Also added missing copyright to some files.
2013-10-27 23:46:02 +01:00
Shauren ce55647c41 Core/Transports
* Rewritten path generation, now uses splines - timers are a lot more accurate now
* Implemented stopping transports
* Implemented spawning transports in instances
* Implemented spawning gameobjects as transport passengers
* Transport passengers are now stored in creature/gameobject table using gameobject_template.data6 from transport's template as map id
2013-10-16 18:37:29 +02:00
jackpoz 0450b74e96 Core/Movement: Fix uninitialized MovementInfo fields
Fix uninitialized fallTime and splineElevation fields of MovementInfo.

Valgrind log:
 Conditional jump or move depends on uninitialised value(s)
   at 0x5FBEB50: deflate (in /lib/x86_64-linux-gnu/libz.so.1.2.7)
   by 0x1269883: UpdateData::Compress(void*, unsigned int*, void*, int) (UpdateData.cpp:85)
   by 0x1269BB6: UpdateData::BuildPacket(WorldPacket*) (UpdateData.cpp:133)
   by 0x130E9B3: Trinity::VisibleNotifier::SendToSelf() (GridNotifiers.cpp:68)
   by 0x117A89D: Player::UpdateVisibilityForPlayer() (Player.cpp:22344)
   by 0x117B334: Player::SendInitialPacketsAfterAddToMap() (Player.cpp:22567)
   by 0x15A48BC: WorldSession::HandlePlayerLogin(LoginQueryHolder*) (CharacterHandler.cpp:937)
   by 0x141D04B: WorldSession::ProcessQueryCallbacks() (WorldSession.cpp:1106)
   by 0x141994D: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:391)
   by 0x14E289C: World::UpdateSessions(unsigned int) (World.cpp:2629)
   by 0x14E0613: World::Update(unsigned int) (World.cpp:1986)
   by 0x100B37F: WorldRunnable::run() (WorldRunnable.cpp:60)
 Uninitialised value was created by a heap allocation
   at 0x4C286E7: operator new(unsigned long) (vg_replace_malloc.c:287)
   by 0x159E64F: void LoadHelper<Creature>(std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> > const&, CoordPair<512u>&, GridRefManager<Creature>&, unsigned int&, Map*) (ObjectGridLoader.cpp:94)
   by 0x159DECF: ObjectGridLoader::Visit(GridRefManager<Creature>&) (ObjectGridLoader.cpp:150)
   by 0x159F092: void VisitorHelper<ObjectGridLoader, Creature>(ObjectGridLoader&, ContainerMapList<Creature>&) (TypeContainerVisitor.h:64)
   by 0x159EFF5: void VisitorHelper<ObjectGridLoader, Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > >(ObjectGridLoader&, ContainerMapList<TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > >&) (TypeContainerVisitor.h:70)
2013-09-03 23:05:02 +02:00
jackpoz 1417f62453 Core/Spell: Fix farsight log error "Player requests non-existing seer"
Partially revert 167ca565d0 which wrongly used TYPEMASK_UNIT to denote Creatures and Players, so when a Player sent farsight opcode with another Player as target HandleFarSightOpcode() couldn't find the right Unit filtering by typemask TYPEMASK_SEER.
2013-09-01 22:35:48 +02:00
Vincent-Michael da1e466bd5 Core/Misc: Implemented GetObjectScale function 2013-08-17 23:47:43 +02:00
Shauren 89ec907539 Core/Objects: Refactored MovementInfo structure 2013-06-18 18:15:33 +02:00
Shauren fa75fe78bd Core/Objects
* Split BuildValuesUpdate into separate virtual methods for every object type that does something special with update fields
* Removed _SetCreateBits/_SetUpdateBits to halve the amount of checks if field needs to be sent
2013-06-15 15:16:36 +02:00
Shauren a8a5239aad Core/Objects: Added missed change to 9ec22fffa0 2013-06-15 14:45:28 +02:00
Malcrom ec474a62e5 Core: More Function Renaming. 2013-06-11 21:25:12 -02:30
Shauren cbd69f12bd Core/Movement: Refactored removing transport part of movement info structure into a separate method. Also corrects seat set after exiting vehicle 2013-06-04 14:52:38 +02:00
Spp 1a6a23ec96 Core/Misc: Minor optimizations (+code changes to reduce differences with 4.3.4 branch)
Core/Logging: Create new logger type "Cheat". Will be used to log all cheat attempts
2013-03-25 13:26:48 +01:00
Spp 7c36e3a298 Core/Misc: Minor optimizations (+ code changes to reduce differences with 4.3.4 branch) 2013-03-25 10:36:30 +01:00
Spp 69e81d46b1 Core/Misc: Define multiple functions const (+ code cleanup here and there) 2013-03-20 14:20:17 +01:00
QAston 3439084082 Move complex functions from Object.h to Object.cpp 2013-03-04 11:45:57 +01:00
horn badcce45d8 Core/Summons: Pack the TempSummonGroupKey structure so it is being compared correctly and make the second parameter of SummonCreatureGroup() optional 2013-02-26 02:51:55 +01:00
horn ba549ddc30 Core/Summons: Implement summon groups system to be able to summon multiple NPCs at once without need of hardcoding the positions. Almost all hardcoded positions can now be moved to DB.
Thx to @Shauren for his help.
2013-02-24 17:10:02 +01:00
Shauren 653557d335 Core/Objects: Some optimizations to object updatemask building 2013-02-03 12:16:10 +01:00
Shauren 10d4d2e5b7 Core/Objects: Changed how update fields marked for sending are stored serverside to use our UpdateMask class 2013-01-22 18:45:09 +01:00
Vincent_Michael cc65aba789 Update copyright note for 2013.
Happy new year.
2013-01-01 00:41:01 +01:00
Spp 2251d1bfae Core/Misc: Set mode 0644 for files 2012-11-27 13:03:12 +01:00
Spp 9fbc4c0ae2 Core/Misc: reduced amount of string memory allocations (Step II) 2012-10-24 15:34:48 +02:00
Spp 013fb1f4d9 Core/Misc: reduced amount of string memory allocations (Step I) 2012-10-24 15:34:48 +02:00
Nay b30aeb8d51 Core/Objects: Method to get nearest GO of type X, FindNearestGameObjectOfType
Thanks Subv for the idea
2012-09-08 23:16:35 +01:00
Shauren 1fd37ac61b Core/Object: Use updatefield flags extracted from client to determine whether to send or not a field value instead of sending all data to client for non-player objects 2012-07-22 14:20:26 +02:00
Chaplain 716e2db0e1 Core/Misc: Code-style + some const methods. 2012-06-21 21:05:45 +03:00
kaelima c9efe05751 Core/Visibility: Change the default visibility distance for instances and battlegrounds to blizz-like values. 2012-06-03 05:36:27 +02:00
Vincent-Michael ab77e597b1 Add function for SetObjectScale
Author: NoFantasy
Source: Mangos
2012-05-26 23:14:57 +02:00
Shauren 4818c70dcb Core/Spells: Removed unneeded phase check from spell casts, its already done in canSeeOrDetect for spells that need it. Probably more phase checks are not needed either 2012-04-18 22:27:40 +02:00
Machiavelli bc96df1aae Core/Shared: Move container functions to shared project under Trinity::Container namespace. Also implement RandomResizeList which takes a predicate function as parameter.
Core/ScriptedAI: Extend SummonList::DoAction to take a predicate function as parameter and allow specifying a maximum number of units to be selected.
2012-04-08 17:40:05 +02:00
Gyx 360014856d Core/Game: Code style.
Signed-off-by: Gyx <2359980687@qq.com>
2012-03-29 13:42:04 +08:00
Gyx 1544b208da Core/Game: Code style again.
Signed-off-by: Gyx <2359980687@qq.com>
2012-03-28 20:00:29 +08:00
Machiavelli 41cc704bf8 Core/Movement:
- Don't abort relocation if movementflag restrictions were violated. There might be lag between client and server and even different parts of the core that made this approach improper.
- MOVEMENTFLAG_ROOT cannot be used in conjunction with MOVEMENTFLAG_MASK_MOVING, but it's a valid flag to receive from client.
- Fix falling to ground when unapplying fly/waterwalk aura. NOTE: This is a client-side initiated fall, in the future this should be initiated and updated by the server. (Working on it)
- Rename MOVEMENTFLAG_FALLING to MOVEMENTFLAG_FALLING_FAR
- Rename MOVEMENTFLAG_JUMPING to MOVEMENTFLAG_FALLING

Closes #5751
2012-03-17 20:36:12 +01:00
Machiavelli 65453620e8 Core/Movement: Do not process server side relocation if reading movementinfo from client resulted in violations (= hacking). 2012-03-16 18:15:08 +01:00
Machiavelli 03a24a84e4 Core/Units:
- Implement UNIT_FIELD_HOVERHEIGHT (requires DB data). This field, sent in update object packet, will determine the height at which a creature hovers if it has movementflag_hover applied. Note that hovering will now update the server-sided z-coordinate by the value of this field, and that all subsequent positional updates to the client will need to send z coordinate MINUS the hover height offset, or the hoverheight will be visually doubled client side.
- Correct our usage of movementflag_flying, movementflag_can_fly, movementflag_hover and movementflag_disable_gravity (previously levitate), and how they relate to InhabitType in the database. This fixes "flying creatures on steroids" bug (wings flapping too fast), and potentially a lot of visual issues in AI scripts. Note that a lot of scripts still set wrong movementflags, these need to be fixed on a case by case basis.
- Send correct packets for SPELL_AURA_FEATHER_FALL, SPELL_AURA_WATER_WALK and SPELL_AURA_HOVER apply/unapply.
- Send correct packet contents for movement update in Unit::SetSpeed.
- Misc. cleanup in affected scripts.
2012-03-12 00:53:45 +01:00