Commit Graph
458 Commits
Author SHA1 Message Date
Golrag b8c8dcdbfc Core/Object: Fix Line of Sight issue with object edges
Fixes: https://github.com/TrinityCore/TrinityCore/pull/15807#issuecomment-268077802
(cherry picked from commit 020a6b984d6f6c04a57211e433a8d995514c6c0a)
2020-04-24 17:18:48 +02:00
Shauren bbfbb7d4bf Core/PacketIO: Implement building SMSG_UPDATE_OBJECT only for selected fields and use that to fix quest objects not glowing after accepting quests 2020-04-23 20:22:53 +02:00
Shauren 3700e0ef5d Core/Misc: Defined new summon properties titles 2020-04-07 17:27:40 +02:00
Shauren 38cc011af0 Core/PacketIO: Properly destroy objects clientside when removing from world 2020-02-09 17:47:25 +01:00
Aokromes b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren cbe294c20d Core/Movement: Fixed gravity type movement force direction sent in CreateObject 2019-09-08 12:19:16 +02:00
Shauren 8e98ceb293 Core/Movement: Implemented movement forces 2019-09-07 16:58:58 +02:00
xinef1 60663d1374 Ensure that all actions are compared to fixed point in time (ie. world update start) (#18910)
- Actions will not be dependent on processing moment
- Increased GameObjects cooldown resolution to milliseconds, fixes arming time of traps to be exactly one second and not something from range (1000, 1999)
- Created GameTime namespace and UpdateTime class and moved there some code out of world

(cherrypicked from 7567cafec84080d26ea513242a1f540a823b8f9d)
2019-08-17 20:04:14 +02:00
xinef1 a32d5cfa17 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

(cherrypicked from b0ae5fadd19fd172ec5154cde4f4fd14aa20ff88)
2019-08-17 20:04:14 +02:00
xinef1 89f728cd5b Core/Misc: Fixed player corpse looting, added player corpse loot and some more (#19122)
* Fixed corpse looting in wintergrasp
Added corpse loot for wintergrasp quests and To the Looter Go the Spoils (1166) achievement
Don't generate money for loot if no loot mode is available
Simplified few things

(cherrypicked from 2412886ef69d305df1bd6e6422ca3134c0ab1449)
2019-07-21 21:06:54 +02:00
xinef1 4f65dc5e20 Core/Misc: Various crash fixes (#19059)
* Replaced some FindPlayer calls with GetPlayer
Fixed some more crashes

* Correction

(cherrypicked from 14dfc377b48bc909894396e65d4e4ce89d9708b6)
2019-07-21 21:06:54 +02:00
Shauren be87c0e8b8 fix typo
(cherrypicked from 09cc6b3c33cbe7becfbeb47846253da5febfc5e6)
2019-06-15 18:41:09 +02:00
Shauren 48cc6f384d 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

(cherrypicked from 74bb92a5822d5a52aecc9cf117309ec1e21abd92)
2019-06-15 18:41:09 +02:00
Shauren 455959c606 Core/PacketIO: Rewrite updatefield handling 2019-06-08 17:06:57 +02:00
Shauren 31fda79556 Core/PacketIO: Updated packet structures to 8.1.5 2019-06-08 17:03:15 +02:00
Kittnz 83e6fde066 Core/Objects: increase sight range of all Infinite, Gigantic and Large objects & correct general default visibility distance (#22892)
Note: This does not make the object active.

Some info on range
https://trinitycore.atlassian.net/wiki/spaces/tc/pages/74950924/Lua+Scene+Script+Documentation#LuaSceneScriptDocumentation-ActorAOIRange

#21111 #21681 #22891

Thanks Kinzcool & Kelno
2019-01-16 20:48:01 +01:00
vincent-michael 5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
Shauren f94deace76 Merge branch 'bfa' 2018-12-09 14:45:03 +01:00
HelloKitty 46c69df3a7 Core/Vmaps: Stop M2s from occluding for spellcast LoS
Closes #18528

(cherry-picked from 01d715eaef99e91f0959dc85fb7f69eb26d01a22)
2018-12-09 14:18:42 +01:00
ForesterDev f2950f851e Core/Objects: Fixed trap visibility for enemies. (#18815)
Closes #18251

(cherry-picked from d4f8d41d08a48f88078a8bb2ad8df9ec5c3844ef)
2018-12-09 14:18:42 +01:00
xinef1 0d0dea6398 Fixed visual bug where accessory could detach from vehicle on client (#18590)
Closes #15153

(cherry-picked from 2e635cf3cf73577a0d65d19a4ddddffc4ebc33a2)
2018-12-09 14:18:42 +01:00
Shauren 0a779bd791 Core/PacketIO: Updated packet structures to 8.0.1 2018-11-05 00:00:34 +01:00
Shauren 7512ffb058 Core/Entities: Update updatefields to 8.0.1.27980 2018-10-10 22:11:41 +02:00
Traesh a8a071e9d9 Core/AreaTrigger: handle AREATRIGGER_FLAG_HAS_CIRCULAR_MOVEMENT (#21778) 2018-08-05 18:57:35 +02:00
Traesh 55a0a2d3f6 Core/Artifact Handle Artifact tiers + Artifact unlock (3rd relic bonus) (#21593) 2018-07-31 23:31:44 +02:00
Traesh b7bb5e6a98 Core/Spells: Implemented personal summons (#19231)
* By default determined by summon property flag SUMMON_PROP_FLAG_PERSONAL_SPAWN

Closes #18254
2018-04-08 21:35:33 +03:00
Shauren 42f9deb21e Core/Maps: Implemented getting area id from gameobject spawns
Yes, you can now spawn LK platform anywhere and it will treat you as inside Icecrown Citadel
2018-03-28 22:01:22 +02:00
Shauren 8f53ba3854 Core/Phasing: Rewrite GetTerrainMapId 2018-03-25 19:28:36 +03:00
Shauren bea7faa8f9 Core/Entities: Take terrain swaps into account when calculating LoS/height/area 2018-03-25 19:28:36 +03:00
Shauren 91be2332e2 Core/Entities: Phasing rewrite
* Optimized phase visibility checking
* Handle all phase flags

Closes #16758
Closes #21119
2018-03-25 19:28:36 +03:00
Shauren 007b5a68c5 Core/DataStores: Fixed db2 structures after 7.3.5 2018-03-12 23:11:49 +01:00
joschiwald 6226189a16 Core/Entities: Created factory methods to create new areatriggers, creatures and gameobjects 2018-01-27 23:02:46 +01:00
Shauren bb718b5578 Core/Entities: Remove phasemask 2018-01-10 22:01:40 +01:00
Traesh 5b90538919 Core/Entities: Improved UpdateAreaAndZonePhase() to allow easier building of database phase conditions (#21214)
Closes #18190
Closes #21196
2018-01-10 17:57:12 +01:00
vincent-michael 7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Shauren 331c70e695 Core/Players: Fixed DK runes and runic power
Closes #19595
2017-11-12 02:42:06 +01:00
funjoker c77e76fa61 Core/Gameobject: Add WorldEffectID to Gameobject (#20785) 2017-11-05 20:24:45 +01:00
ariel- f3e4f322b2 Core/Entities: fix dynamic linking
(cherry picked from commit 4b5350c0a64b3483959fa80794715b2a9e0a0c0c)
2017-09-06 13:36:05 +02:00
ariel- 0d22e4f3f4 Core/Entities: extend available containers for WorldObject::GetxxxInGrid
(cherry picked from commit 1667dd3b7ad93b67298d27d0b759f886188ebcfa)
2017-09-06 13:12:41 +02:00
Kittnz b8479333c2 Core/Event: Add Brewfest Music during the event
Note: Dark Iron invasion music can be added with a trigger at a later stage
(cherry picked from commit 002b0a7a65167d15969d98b41af7f91d222df664)

Update 2016_10_05_11_world_335.sql
(cherry picked from commit cccb1c5ddea21a4a457877aa698f2bdb162e2ab8)

Fix non PCH build.
(cherry picked from commit 81d4c02f34807f4e52689d0b99e9bb1f94f3bd96)
2017-08-20 23:23:47 +02:00
Seyden 5675902485 Core/Creatures: Implemented Basic Creature Scaling (#20026) 2017-07-29 21:40:28 +02:00
Shauren 0cd5179726 Core/Creatures: Rewrite trainer handling to properly support multiple trainers on the same creature
* Trainers are now defined as templates (sniffable), assigned by gossip options
2017-07-26 00:53:51 +02:00
Shauren 00862295e3 Core/Spells: Fixed fishing bobbers not being usable
Closes #19773
2017-07-04 20:30:16 +02:00
Shauren 312ec33f1c Fixed crash in Object::BuildMovementUpdate
Closes #19940
2017-06-23 22:53:49 +02:00
Shauren 777d839a5f Core/Objects: Fixed crash added in 410bc49976
Closes #19899
2017-06-16 20:08:29 +02:00
Shauren 410bc49976 Core: Updated to 7.2.5.24330 2017-06-15 15:23:08 +02:00
Shauren b453e12423 Core/Game: Include cleanup part 5
* ObjectMgr.h
* Player.h
* Unit.h
* G3D should no longer propagate everywhere from Spline/MotionMaster
2017-06-04 01:00:45 +02:00
Shauren a0a158b5b8 Core/Scripts: Include cleanup 2017-05-28 16:34:44 +02:00
Shauren c5d3dd90be Core/Game: Include cleanup
* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)
2017-05-18 23:53:25 +02:00
Shauren a12a34b1dc Core/Game: Include cleanup - removed G3D classes from packets
* Use our own Position class instead, with the coords written to packets being part of type
2017-05-16 22:16:21 +02:00