Commit Graph

163 Commits

Author SHA1 Message Date
teyrnon 6cea446f22 Core/Objects: Encapsulated Postion::m_orientation field to ensure it is always normalized to 0-2pi range
Closes #7400.
2012-08-20 10:44:14 +02:00
Subv 61fcae113b Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/scripts/Kalimdor/moonglade.cpp
2012-08-12 13:18:19 -05:00
e000 65469c9ee9 Core/Gameobject: Properly toggle collision state when a gameobject is activated or spawned. 2012-08-12 20:04:02 +02:00
Nay d2dc60dc05 Core: Add missing include 2012-08-10 14:03:02 +01:00
Shauren 9538fb6d5a Core/Movement: Ensured object orientation is always within 0-2pi range, this fixes movement. 2012-08-10 14:10:57 +02:00
Subv d82266bc0e Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/authserver/Server/AuthSocket.cpp
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/Chat/Chat.h
	src/server/game/Chat/Commands/Level1.cpp
	src/server/game/Chat/Commands/Level2.cpp
	src/server/game/Chat/Commands/Level3.cpp
	src/server/game/DataStores/DBCStores.cpp
	src/server/game/DataStores/DBCStructure.h
	src/server/game/Entities/Object/Object.cpp
	src/server/game/Entities/Object/Updates/UpdateData.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Guilds/Guild.cpp
	src/server/game/Guilds/GuildMgr.cpp
	src/server/game/Handlers/AuctionHouseHandler.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/ChatHandler.cpp
	src/server/game/Handlers/GroupHandler.cpp
	src/server/game/Handlers/ItemHandler.cpp
	src/server/game/Handlers/MailHandler.cpp
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Handlers/PetHandler.cpp
	src/server/game/Handlers/QuestHandler.cpp
	src/server/game/Handlers/VehicleHandler.cpp
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Spells/Auras/SpellAuraEffects.cpp
	src/server/game/Spells/SpellEffects.cpp
	src/server/game/Spells/SpellMgr.cpp
	src/server/game/World/World.cpp
	src/server/scripts/Commands/cs_debug.cpp
	src/server/scripts/Commands/cs_modify.cpp
	src/server/scripts/Commands/cs_reload.cpp
	src/server/scripts/Kalimdor/azuremyst_isle.cpp
	src/server/shared/Logging/Log.cpp
	src/server/shared/Logging/Log.h
	src/server/worldserver/worldserver.conf.dist
2012-08-07 13:44:22 -05:00
Spp 55ce180f28 Core/Logging: Add Asyncronous logging with Loggers ("What to log") and Appenders ("Where to log") system. Will allow to select to full log some parts of core while others are not even logged.
- Logging System is asyncronous to improve performance.
- Each msg and Logger has a Log Type and Log Level assigned. Each msg is assigned the Logger of same Log Type or "root" Logger is selected if there is no Logger configured for the given Log Type
- Loggers have a list of Appenders to send the msg to. The Msg in the Logger is not sent to Appenders if the msg LogLevel is lower than Logger LogLevel.
- There are three (at the moment) types of Appenders: Console, File or DB (this is WIP, not working ATM). Msg is not written to the resource if msg LogLevel is lower than Appender LogLevel.
- Appender and Console Log levels can be changed while server is active with command '.set loglevel (a/l) name level'

Explanation of use with Sample config:

Appender.Console.Type=1       (1 = Console)
Appender.Console.Level=2      (2 = Debug)

Appender.Server.Type=2        (2 = File)
Appender.Server.Level=3       (3 = Info)
Appender.Server.File=Server.log

Appender.SQL.Type=2           (2 = File)
Appender.SQL.Level=1          (1 = Trace)
Appender.SQL.File=sql.log

Appenders=Console Server      (NOTE: SQL has not been included here... that will make core ignore the config for "SQL" as it's not in this list)

Logger.root.Type=0            (0 = Default - if it's not created by config, server will create it with LogLevel = DISABLED)
Logger.root.Level=5           (5 = Error)
Logger.root.Appenders=Console

Logger.SQL.Type=26            (26 = SQL)
Logger.SQL.Level=3            (2 = Debug)
Logger.SQL.Appenders=Console Server SQL

Logger.SomeRandomName.Type=24 (24 = Guild)
Logger.SomeRandomName.Level=5 (5 = Error)
Loggers=root SQL SomeRandomName

* At loading Appender SQL will be ignored, as it's not present on "Appenders"

* sLog->outDebug(LOG_FILTER_GUILD, "Some log msg related to Guilds")
  - Msg is sent to Logger of Type LOG_FILTER_GUILD (24). Logger with name SomeRandomName is found but it's LogLevel = 5 and Msg LogLevel=2... Msg is not logged

* sLog->outError(LOG_FILTER_GUILD, "Some error log msg related to Guilds")
  - Msg is sent to Logger of Type LOG_FILTER_GUILD (24). Logger with name SomeRandomeName is found with proper LogLevel but Logger does not have any Appenders assigned to that logger... Msg is not logged

* sLog->outDebug(LOG_FILTER_SQL, "Some msg related to SQLs")
  - Msg is sent to Logger SQL (matches type), as it matches LogLevel the msg is sent to Appenders Console, Server and SQL
    - Appender Console has lower Log Level: Msg is logged to Console
    - Appender Server has higher Log Level: Msg is not logged to file
    - Appender SQL has lower Log Level: Msg is logged to file sql.log

* sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Some msg related to Battelgrounds")
  - Msg is sent to Logger root (Type 0) as no Logger was found with Type LOG_FILTER_BATTLEGROUND (13). As Logger has higher LogLevel msg is not sent to any appender

* sLog->outError(LOG_FILTER_BATTLEGROUND, "Some error msg related to Battelgrounds")
  - Msg is sent to Logger root (Type 0) as no Logger was found with Type LOG_FILTER_BATTLEGROUND (13). Msg has lower LogLevel and is sent to Appender Console
    - Appender Console has lower LogLevel: Msg is logged to Console
2012-08-03 14:20:18 +02:00
Shauren 04b30fd035 Core/Objects: Minor fixes to creature/gameobject data 2012-07-24 15:28:41 +02:00
Shauren 0b22b329d6 Core/PacketIO: Updated SMSG_UPDATE_OBJECT structure 2012-07-12 21:20:34 +02:00
Shauren ed6f3e2def Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.x 2012-07-04 22:20:21 +02:00
Shauren 28f8e42a69 Core/AI: Added EventInform hook for GameObjectAI and implemented it in SAI 2012-06-11 11:10:46 +02:00
Shauren c7775c8d72 Core/Maps: Moved object respawn time storage from global to map level. This removes unneccessary locking since all objects run within its map's thread. 2012-06-07 23:20:57 +02:00
kaelima 3d14384c32 Merge git://github.com/TrinityCore/TrinityCore into 4.x
Conflicts:
	dep/PackageList.txt
	sql/base/auth_database.sql
	src/server/authserver/Server/AuthSocket.cpp
	src/server/game/Battlegrounds/BattlegroundMgr.cpp
	src/server/game/Chat/Commands/Level1.cpp
	src/server/game/Chat/Commands/Level3.cpp
	src/server/game/DataStores/DBCEnums.h
	src/server/game/DataStores/DBCStores.cpp
	src/server/game/DataStores/DBCStores.h
	src/server/game/DataStores/DBCStructure.h
	src/server/game/DataStores/DBCfmt.h
	src/server/game/Entities/Corpse/Corpse.cpp
	src/server/game/Entities/Creature/Creature.cpp
	src/server/game/Entities/DynamicObject/DynamicObject.cpp
	src/server/game/Entities/GameObject/GameObject.cpp
	src/server/game/Entities/Item/Item.cpp
	src/server/game/Entities/Object/Object.cpp
	src/server/game/Entities/Object/Updates/UpdateData.h
	src/server/game/Entities/Pet/Pet.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Entities/Transport/Transport.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Globals/ObjectMgr.h
	src/server/game/Guilds/Guild.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Handlers/QuestHandler.cpp
	src/server/game/Loot/LootMgr.cpp
	src/server/game/Miscellaneous/SharedDefines.h
	src/server/game/Quests/QuestDef.cpp
	src/server/game/Server/Protocol/Opcodes.cpp
	src/server/game/Server/Protocol/Opcodes.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Spells/Auras/SpellAuraEffects.cpp
	src/server/game/Spells/Spell.cpp
	src/server/game/Spells/Spell.h
	src/server/game/Spells/SpellEffects.cpp
	src/server/game/Tickets/TicketMgr.cpp
	src/server/scripts/Commands/cs_gps.cpp
	src/server/scripts/Commands/cs_modify.cpp
	src/server/shared/Database/Implementation/CharacterDatabase.cpp
	src/server/shared/Logging/Log.h
	src/tools/map_extractor/CMakeLists.txt
	src/tools/map_extractor/System.cpp
	src/tools/map_extractor/mpq_libmpq04.h
	src/tools/vmap4_extractor/CMakeLists.txt
2012-05-30 08:01:02 +02:00
Shocker fce6ec014d Merge pull request #6605 from Vincent-Michael/scale
Core/Misc: Add SetObjectScale function
2012-05-29 03:56:47 -07:00
Nay e83f913fc5 Core/Spells: Ignore LoS when spells are cast/triggered by gameobjects
... and this is why you shouldn't use the so called hacks. You will just
 keep adding sh*t on top of more sh*t (like this).
Currently, GO spell casts spawn an invisible WORLD_TRIGGER (npc 12999)
 inside of the gameobject (for certain forms of gameobjects) (and
 this is why the LoS check was failing).
It shouldn't be like that. GOs should be able to cast the spells without
 having to spawn an auxiliary creature.

Fixes "Eye of Acherus" and others
2012-05-28 22:17:17 +01:00
Vincent-Michael ab77e597b1 Add function for SetObjectScale
Author: NoFantasy
Source: Mangos
2012-05-26 23:14:57 +02:00
Kandera c70792df02 Core/Scripting: add the ability to access loot/go state changed events for gameobjects from cpp scripting. (malcrom's idea) 2012-05-16 08:47:43 -04:00
kaelima 1fec4a5af2 Core/Gameobject: Set artkit once in GameObject::Create 2012-05-09 13:52:31 +02:00
Subv 5b80e7360b Core/Collision: Disable LoS check for destroyed destructible buildings.
More research has to be done.
Closes #6228
2012-04-18 13:57:12 -05:00
Subv a998e9e58a Collision/GameObjects: Corrected a possible logic fail
Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-04-10 20:12:13 -05:00
Subv 6c5cabcf8b Battlegrounds/WSG: Fixed door LoS in Warsong Gulch
Closes #6147
Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-04-10 20:06:40 -05: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 1544b208da Core/Game: Code style again.
Signed-off-by: Gyx <2359980687@qq.com>
2012-03-28 20:00:29 +08:00
leak c6cbe4c77c Core/DBLayer: Convert PAppend() queries to prepared statements No.1 2012-03-25 16:25:06 +02:00
Subv 21ccfb8e2e Collision/GameObjects: Fixed LoS for all doors (open and closed). Looks like data0 for type 0 is in fact startClosed instead of startOpen
closes #5660
Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-03-17 15:58:47 -05:00
Shauren 671fd4176a Core/GameObjects: Chests will now remain locked for players who left the group if loot from that boss is stored in it (note: this is just an implementation of locking the chest, they still need to be linked to a boss - not yet implemented) 2012-03-12 18:07:34 +01:00
Spp f1949b20a6 Some random cleanup here and there 2012-03-09 13:42:52 +01:00
kaelima eb1a2a3672 Core/Object:
- Corrected the flag and use of UPDATEFLAG_LOWGUID.
- Send proper positions for objects on transports.
- Rename UPDATEFLAG_HAS_POSITION -> UPDATEFLAG_STATIONARY_POSITION
- Added some comments
2012-02-29 12:43:59 +01:00
Spp 5cff9e0716 Merge branch 'master' into 4.x
Conflicts:
	sql/base/auth_database.sql
	src/server/authserver/Server/AuthSocket.cpp
	src/server/game/AI/CoreAI/CombatAI.cpp
	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
	src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
	src/server/game/DataStores/DBCStructure.h
	src/server/game/DataStores/DBCfmt.h
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Entities/Vehicle/Vehicle.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Globals/ObjectMgr.h
	src/server/game/Handlers/AuctionHouseHandler.cpp
	src/server/game/Miscellaneous/SharedDefines.h
	src/server/game/Movement/MotionMaster.cpp
	src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
	src/server/game/Quests/QuestDef.cpp
	src/server/game/Server/Protocol/Opcodes.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Spells/Spell.cpp
	src/server/game/Spells/SpellEffects.cpp
	src/server/game/Spells/SpellInfo.cpp
	src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
	src/server/scripts/Spells/spell_quest.cpp
	src/server/shared/Logging/Log.h
	src/server/worldserver/worldserver.conf.dist
	src/tools/vmap3_extractor/model.h
	src/tools/vmap4_extractor/CMakeLists.txt
	src/tools/vmap4_extractor/dbcfile.cpp
	src/tools/vmap4_extractor/dbcfile.h
	src/tools/vmap4_extractor/loadlib/loadlib.h
2012-02-23 13:06:35 +01:00
Spp 03c34ee507 Fix a lot of warnings 2012-02-16 13:56:28 +01:00
Subv a7f6c4f558 Fixed the logic on my last commit 2012-02-12 08:41:59 -05:00
Subv b0bcf1f67c Core/Collision: Fixed LoS for doors with data0 = 0 and state = 0
closes #5197

Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-02-11 21:47:00 -05:00
Shauren 806733550c Core/GameObjects: Fixed crashes in GameObject::SetLootState and GameObject::SetGoState for summoned objects
Closes #5166
2012-02-10 10:24:56 +01:00
Subv 9791bb599a Merge pull request #5160 from TrinityCore/dynamic_vmaps
Added Dynamic Vmaps, RE-EXTRACT YOUR VMAPS
2012-02-09 11:17:05 -08:00
Subv2112 93d199f043 Core/Collision: Ported dynamic line of sight patch by Silverice from MaNGOS and
added lots of improvements
Please re-extract vmaps
2012-02-09 13:58:22 -05:00
QAston 012be16796 Merge pull request #4726 from ille/baa2252bd31718e93ccc3e97aa81afeecb5ec9c3
Core/GameObject: implement stealth/invisibility for traps
2012-02-09 09:38:13 -08:00
Spp 37b66384f3 Merge branch 'master' into 4.x
Conflicts:
	src/server/authserver/Server/AuthSocket.cpp
	src/server/game/Entities/Object/Object.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Handlers/AuctionHouseHandler.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Miscellaneous/SharedDefines.h
	src/server/game/Spells/Spell.cpp
	src/server/game/Spells/SpellEffects.cpp
2012-01-31 11:49:53 +01:00
Subv2112 3d4f55723c Core/SAI: Linked events should be executed after the event that linked them is executed.
Core/SAI: Allow SMART_EVENT_GO_STATE_CHANGED to use ActionInvoker target

Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-22 20:36:01 -05:00
Machiavelli dbbac0bdaa Core/Movement: Implement spline movement subsystem.
Spline movement controls movements of server-side controlled units (monster movement, taxi movement, etc).
Proper implementation of effects such as charge, jump, cyclic movement will rely on it.
However, need improve our states system before.

Technical changes:

* Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation.
* Precission increased. There are no more position desync issues since client's position calculation formulas used.
* Now possible to move by paths with multiple points, send whole path to client.

--
Original author of research and implementation: SilverIce. Massive kudos.
Original port for Trinity (ref #4629) Chaplain and Venugh
With the following incremental fixes during my review:

- Restore flightmaster end grid pre-loading
- Fix uninitialized Creature::m_path_id
- Add missing trinity_string entries for .movegens command
- Fix a bug in WaypointMovementGenerator that would trigger unexpected pausing at waypoints for various amounts of time

Known issues:
- Errors like WaypointMovementGenerator::LoadPath creature XXX (Entry: YYYYY GUID: ZZZZZZ) doesn't have waypoint path id: 0.
This is caused by bad DB data. This commit didn't "break" it.

Do not forget to re-run CMake before compiling.
2012-01-14 15:36:07 +01:00
ille baa2252bd3 implement objectdetection 2012-01-08 18:22:46 +01:00
Nay 9c26ce8da5 Merge branch 'master' into 4.x
Conflicts:
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/Achievements/AchievementMgr.h
	src/server/game/Entities/Corpse/Corpse.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Quests/QuestDef.cpp
	src/server/shared/Database/Implementation/CharacterDatabase.cpp
	src/server/shared/Database/Implementation/CharacterDatabase.h
2012-01-07 17:13:42 +00:00
Subv2112 aaa255b83d Core/SAI: Implemented SMART_EVENT_GO_STATE_CHANGED and SMART_ACTION_GO_SET_LOOT_STATE
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-06 11:09:01 -05:00
kiper 8299627ed9 Update headers for 2012. HAPPY NEW YEAR!!! 2012-01-01 00:32:13 +01:00
Spp fa9daaf95b Merge branch 'master' into 4.x and some warning fixes 2011-12-27 10:15:27 +01:00
leak e646dbb3cd Core/DBLayer: Convert PExecute() queries to prepared statements No. 2 2011-12-27 00:29:48 +01:00
megamage 8cf2062c1f Update grid system. Try to fix some crashes and transport passengers (now they are despawned after a while). 2011-12-20 17:07:09 -05:00
Machiavelli fe69bd654a Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.x
Conflicts:
	src/server/game/Entities/Creature/GossipDef.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Quests/QuestDef.cpp
2011-12-06 12:01:51 +01:00
megamage 529af3cd09 Delete obj if it is not successfully added to grid. More to fix. 2011-11-28 14:05:25 -05:00
Rat 7fdefceb43 Core/Packets: updated update_object structure
Welcome ingame!
2011-11-27 16:06:29 +01:00
megamage 1b8d9ec7b4 Clean up summon/remove gameobject code. 2011-10-31 10:46:39 -04:00