Commit Graph
411 Commits
Author SHA1 Message Date
Aokromes 1a00fad992 Core/Scripts: Implemented OnlyOnceAreaTriggerScript 2017-12-11 16:15:22 +01:00
Aokromes 91affef0c6 Misc: Kill trailing white spaces 2017-11-25 01:36:21 +01:00
Aokromes 4326455788 build fix 2017-06-19 21:16:50 +02:00
Aokromes e17e5a1ba2 missing changes 2017-06-19 20:34:49 +02:00
Aokromes 1a5c0f5c3b Core/Grids: Ported cmangos/mangos-wotlk@ea99457
(cherry picked from commit 9299e9b)
2017-06-19 20:20:26 +02:00
Aokromes 9057cae219 So, I came in trying to fix gameobject LoS. So I restructured some stuff.
Then it turned out that gameobject LoS is already fixed. So all this does, really, is restructure some stuff.

And remove the hack from Sapphiron because I could.
2017-06-11 19:02:07 +02:00
Aokromes ec49af7b59 Build fix 2017-06-09 14:11:36 +02:00
Aokromes f8d9d954d1 Get zone/area IDs from vmap data in the liquid update
* Add new method Map::getFullVMapDataForPosition to get area info and liquid info in a single vmap lookup
* Use this lookup in Map:: relocation methods to update m_areaId and m_zoneId fields on WorldObject
* Adjust GetZoneId/GetAreaId on WorldObject to always return these cached fields
* Clean up liquid state handling on Unit and Player
* Hand floor's Z coord up through GetFullTerrainStatusForPosition, use it to update a new field in WorldObject, and use that to feed a new GetFloorZ call on WorldObject.
2017-06-09 13:20:37 +02:00
Ryan b1de58c7f8 Core/Phases: Fix area phase handling
Now honors the zone id as well as area id
2017-05-28 20:01:36 +01:00
Ryan 20726edec2 Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4 2017-05-19 23:49:46 +01:00
Aokromes a20788a8a8 Core/Misc: Fix dynamic linkin
By Krudor
2017-05-14 17:03:00 +02:00
Aokromes fc20b6934b build fix 2017-05-06 02:38:01 +02:00
Aokromes 0fbcdca05e Core/Collision: Replaced phasemask with proper phases in GameObject c…
…ollision calculation
2017-05-06 01:55:17 +02:00
xinef1 b88200cd58 Core/Misc: Various crash fixes 2017-05-05 01:59:34 +01:00
ariel- 7ccd58615a Fix dynamic linking 2017-05-04 00:28:36 +01:00
Aokromes c015a5cf10 Core/Misc: camelize GetFaction/SetFaction properly 2017-05-02 02:02:31 +02:00
roc13x d113ad883c Fixed gameobjects not always despawning after use/delete 2017-04-19 20:05:32 +01:00
Aokromes adae2fec26 Ensure that all actions are compared to fixed point in time (ie. world update start) 2017-04-14 15:02:49 +02:00
Aokromes 92816c0f17 Core/Gameobject: destroy test 2017-04-03 12:20:06 +02:00
Aokromes 9b378447f8 Core/Entities: GameObjectDespawn packet is only sent for GameObjects 2017-04-02 07:57:21 +02:00
Golrag e4b11f277b Core/Object: Fix Line of Sight issue with object edges
Fixes: https://github.com/TrinityCore/TrinityCore/pull/15807#issuecomment-268077802
2017-03-20 16:53:30 +01:00
xinef1 62111a8c4a Core/SmartAI: Various fixes and extensions for smart scripts: (#18673)
- Possible crashes fixed
- Memory leak fixed
- Implemented checking of vehicle conditions
- Extended eventphasemask to 12 bits (sql required to change DB field type)
- SMART_EVENT_GOSSIP_HELLO - added possibility to detect for gameobject reportUse call
- Renamed action SMART_ACTION_SET_FLY to SMART_ACTION_SET_DISABLE_GRAVITY (to reflect actual functionality)
- Added targetsLimit to action SMART_ACTION_CAST and SMART_ACTION_INVOKER_CAST to limit max amount of targets (selected randomly)
- Action SMART_ACTION_TALK corrected to always work as intended
- Properly call GroupEventHappens in action SMART_ACTION_CALL_GROUPEVENTHAPPENS if invoker was charmed or owned by the player
- Properly utilize followAngle in action SMART_ACTION_FOLLOW (db orientation should be in degrees), but keep backward compatibility
- Added action SMART_ACTION_SET_CAN_FLY (119) 0/1
- Added action SMART_ACTION_REMOVE_AURAS_BY_TYPE (120) AuraType, can be used to exit vehicle for example
- Added action SMART_ACTION_SET_SIGHT_DIST (121) sightDist
- Added action SMART_ACTION_FLEE (122) fleeTime
- Added action SMART_ACTION_ADD_THREAT (123) +threat, -threat
- Added action SMART_ACTION_LOAD_EQUIPMENT (124) equipmentId
- Added action SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT (125) minId, maxId
- Added action SMART_ACTION_REMOVE_ALL_GAMEOBJECTS (126), removes all owned gameobjects
- Added action SMART_ACTION_STOP_MOTION (127), stopMoving, movementExpired
- Extended target SMART_TARGET_HOSTILE_SECOND_AGGRO with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_LAST_AGGRO with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_RANDOM with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_RANDOM_NOT_TOP with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_THREAT_LIST with maxdist
- Extended target SMART_TARGET_OWNER_OR_SUMMONER to be able to get charmer/owner of current owner
- Added new target SMART_TARGET_FARTHEST with maxDist, playerOnly, isInLos restrictions
- Added SpellHit hook to GameObjectAI and extended SmartGameObjectAI to call SMART_EVENT_SPELLHIT when gameobject is hit by spell
- Call GameObjectAI Reset hook on gameobject respawn (for ex. to reset one time events in smart scripts)
- Fixed some logic errors in code
- SmartAI Escorts properly despawn escortee if no players are in range
- Disable Evading while charming creature with SmartAI
- Don't call SMART_EVENT_RESPAWN for dead units before they actually respawn
- Don't call SMART_EVENT_RESPAWN for not spawned gameobjects
- Properly call SMART_EVENT_RESPAWN for gameobject respawn
- Allow action SMART_ACTION_SET_IN_COMBAT_WITH_ZONE to utilize targetlist
- Allow action SMART_ACTION_CALL_FOR_HELP to utilize targetList
- Allow action SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL to utilize targetList
- Allow action SMART_ACTION_SET_VISIBILITY to utilize targetList
- Allow action SMART_ACTION_SET_ACTIVE to utilize targetList
- Allow action SMART_ACTION_ATTACK_START to select random attack target instead of first on the list
- Allow gameobjects to summon gameobjects with action SMART_ACTION_SUMMON_GO
- Properly store action invokers for action SMART_ACTION_WP_START, if no player invokers are found, distance despawn check won't be used
- Allow action SMART_ACTION_WP_RESUME to compensate for the state the unit actually is in (eg. combat)
- Allow action SMART_ACTION_MOVE_TO_POS to select random of the avaiable targets, not only the first one.
- Allow action SMART_ACTION_MOVE_TO_POS to utilize x, y, z parameters as an offset to calculated coordinates
- Action SMART_ACTION_RESPAWN_TARGET should never modify respawntime of already spawned gameobjects, use dedicated function
- Properly delete ontime events created by SMART_ACTION_CREATE_TIMED_EVENT
- If action could not be started because conditions were not satisfied, do not recalculate the waittime to action repeattime, use smaller value to recheck more frequently
- Allow target SMART_TARGET_CLOSEST_PLAYER to be used by gameobjects
- Allow target SMART_TARGET_OWNER_OR_SUMMONER to be used by gameobjects
- Fixed SMART_EVENT_COUNTER_SET to be only called for the id that was incremented
- Changed the way counters work
- Protect PhaseInc from surpassing maximum phase
- Added loading checks for missing NON_REPEATABLE flag if no repeatmin, repeatmax is set
- Added spell validation for SMART_ACTION_CROSS_CAST
2017-02-19 09:10:29 +01:00
Aokromes 78f4048f16 Core/Misc: fix one AnimKit crash
By Krudor closes #112
2017-02-18 11:14:19 +01:00
Aokromes 471918fd47 Core/Misc: Partialy fix one AnimKit crash
By Krudor
It still crashes at close client
updates #112
If anyone have idea i have one sniff comparing the values on retail 4.3.4, without this fix, without animkit and with this fix with animkit.

Join https://t.me/joinchat/AAAAAAiEtwpxLaE8MnmdeA
2017-02-18 04:40:17 +01:00
Aokromes 3938ee3be4 Add missing code 2017-02-12 10:58:25 +01:00
Shauren c7d5c24bfe fix typo 2017-02-10 05:26:49 +01:00
Shauren 9d4a1ddc10 Core/Maps: Adjusted WorldObject::GetGridActivationRange() to never be less than map visibility distance for active objects to ensure equal ranges for activation/deactivation of grids
Updates #19072
2017-02-10 05:26:38 +01:00
HelloKitty 927a73a7ef Core/Vmaps: Stop M2s from occluding for spellcast LoS
Closes #18528
2017-01-21 14:45:30 +01:00
ForesterDev 4ef8cda0d2 Core/Objects: Fixed trap visibility for enemies. (#18815)
Closes #18251
2017-01-14 06:45:23 +01:00
xinef1 ab6da5cd02 Fixed visual bug where accessory could detach from vehicle on client (#18590)
Closes #15153
2017-01-12 08:50:54 +01:00
Aokromes 719a317a67 Update copyright note for 2017 2017-01-02 07:26:38 +01:00
Aokromes cb052ff0f3 another compile fix try 2016-10-24 16:29:25 +02:00
Aokromes 3a4b951299 Core/Entities: extend available containers for WorldObject::GetxxxInGrid 2016-10-24 13:10:01 +02:00
Kittnz f5364cc5aa Core/Event: Add Brewfest Music during the event
Note: Dark Iron invasion music can be added with a trigger at a later stage
2016-10-21 08:46:21 +02:00
treeston 74c4c208c9 Entities/Object: Add some Position const& overloads to distance/angle methods for usability. 2016-09-10 14:27:00 +02:00
Aokromes d297f013f1 warning fixes and partial revert 2016-08-21 02:28:29 +02:00
Aokromes 32d3f380bb more picks 2016-08-21 01:33:04 +02:00
ariel- 30d4f70533 Core/Entities: debloat SummonGameObject parameter list using proper wrappers and enable GO rotation in scripts
- There's still an overload allowing for x, y, z, o to be passed directly
- Fixed default animstate for GameObject creation in many places, it should be 255, not 100 (checked in sniffs)

(cherry picked from commit 62bfee37cb21584cef631dda428feaf5eb829cda)

Conflicts:
	src/server/game/Entities/GameObject/GameObject.cpp
	src/server/game/Entities/Object/Object.cpp
	src/server/game/Spells/SpellEffects.cpp
	src/server/scripts/Commands/cs_gobject.cpp
	src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
	src/server/scripts/Kalimdor/zone_feralas.cpp
2016-08-01 01:23:47 -03:00
Aokromes b51adac24c Core/GameObjects: Gameobject rotation (from cmangos/mangos-wotlk@2bcbc0f)
cmangos/mangos-wotlk@0fe88f3: [11531] Normalize gameobject's quaternion, thanks to zergtmn for pointing
cmangos/mangos-wotlk@060dfb7: [11667] Implement transport path rotation
cmangos/mangos-wotlk@565f52c: [11806] A bit gameobject code refactoring
cmangos/mangos-wotlk@6874951: [11807] Add gameobject_addon table
2016-07-30 15:51:23 +02:00
P-Kito 33afe2d927 Game/Entities: Fix math problem "Disk Point Picking" in GetRandomPoint (#17577) 2016-07-20 19:20:09 +02:00
jackpoz d9f485273c Core/VMaps: Fix some vmap height edge cases
Fix Map::GetWaterOrGroundLevel() checking dynamic object only in phase 1 instead of current Unit phase.
Improve DynamicMapTree::getHeight() dynamic object check by casting the ray at +0.5f from the passed Z coordinate, this value will be tuned to improve even more the results.
2016-07-20 15:45:05 +02:00
treeston 330167da7a Seriously, who doesn't support std::string instead of char* in 2016? 2016-07-20 10:49:52 +02:00
treeston 7279304c7c Add a LOG_WARN when attempting to summon a non-existing summon group. 2016-07-20 10:49:36 +02:00
Aokromes a65ac56b74 Core/Entities: Ported byte field offset naming from 6.x 2016-07-19 15:08:35 +02:00
Golrag 9179cd478d Core/Object: Use object edges to calculate LoS 2016-07-19 11:06:20 +02:00
r00ty-tc 527654b512 [Core/Maps] Activate creatures and objects during opening cinematics
As well as other flyby cameras (like sunwell etc)

Requires re-running map extractor to extract camera m2 files from data
files. These are very small.
2016-05-18 21:31:07 +01:00
r00ty-tc f51e4e1ca7 Adjustments to spell facing - Adjusted HaveAtClient to accept Object* (still accepts all subordinates) - Use grid searcher to find players in visibility range for unit - Use client cache instead of "See or Detect" to decide who to send updates to - Adjusted SendUpdateToPlayer to send createobject packet only if not known to client
(cherry picked from commit c0693a6ee52d31840ab2ee878c4881884b857638)
2016-05-12 08:17:08 +02:00
ariel- 65aec5f8f7 Merge remote-tracking branch 'tc/3.3.5' into 4.3.4
Note: additional hand-picked ports from 6.x to fix build

Conflicts:
	sql/updates/world/2016_02_22_00_world.sql
	sql/updates/world/2016_02_22_01_world.sql
	sql/updates/world/2016_02_22_02_world.sql
	sql/updates/world/2016_03_07_00_world.sql
	src/server/authserver/Realms/RealmList.cpp
	src/server/authserver/Realms/RealmList.h
	src/server/authserver/Server/AuthSession.cpp
	src/server/game/Accounts/AccountMgr.cpp
	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
	src/server/game/Chat/Chat.cpp
	src/server/game/Conditions/ConditionMgr.cpp
	src/server/game/Conditions/ConditionMgr.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Scripting/ScriptLoader.cpp
	src/server/game/Scripting/ScriptLoader.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/World/World.cpp
	src/server/game/World/World.h
	src/server/scripts/CMakeLists.txt
	src/server/scripts/Commands/cs_gm.cpp
	src/server/scripts/Commands/cs_misc.cpp
	src/server/scripts/Commands/cs_rbac.cpp
	src/server/scripts/Commands/cs_ticket.cpp
	src/server/scripts/Commands/cs_wp.cpp
	src/server/scripts/EasternKingdoms/CMakeLists.txt
	src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
	src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
	src/server/scripts/Kalimdor/CMakeLists.txt
	src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
	src/server/scripts/Kalimdor/zone_orgrimmar.cpp
	src/server/scripts/OutdoorPvP/CMakeLists.txt
	src/server/scripts/Spells/spell_dk.cpp
	src/server/scripts/Spells/spell_hunter.cpp
	src/server/shared/CMakeLists.txt
	src/server/worldserver/CMakeLists.txt
	src/server/worldserver/Main.cpp
	src/tools/mmaps_generator/CMakeLists.txt
2016-03-11 18:32:07 -03:00
ariel- 691b0df6ae Core/Conditions: fix a memory leak for CONDITION_SOURCE_TYPE_TERRAIN_SWAP
Reported by Aokromes.

(cherry picked from commit 3a7f311547bd4301abd102eb785c050d5436dce9)

Conflicts:
	src/server/game/Entities/Object/Object.cpp
2016-03-06 04:08:04 -03:00
ccrs 6a339ed5c9 Core/TempSummons: avoid use MoveInLineOfSight before InitSummon 2016-03-01 21:20:47 +01:00