Commit Graph
300 Commits
Author SHA1 Message Date
Carbenium 0ef220fca0 Battlefields: Move BF scripts out of game
This commit introduces the usual script interface
for battlefields.
2022-10-09 00:35:07 +02:00
Ovahlord b6f8a68d61 Core/Spells: fixed duration clamping for haste based periodic auras and added support for rolling any tick over
* roll over remaining time until next tick over into a refreshed periodic aura's duration
* this behavior is now being used for stackable spells, all HoTs and DoTs
* fixed adding extra ticks when at certain tick thresholds
* corrected implementation of SPELL_ATTR8_HASTE_AFFECTS_DURATION
* implemented SPELL_ATTR8_MELEE_HASTE_AFFECTS_PERIODIC
2022-10-01 13:47:14 +02:00
Ovahlord 5e7ee94ccc build fix 2022-09-12 09:49:09 +02:00
Ovahlord e3e4b2cf16 Core/Spells: dropped old dot clipping implementation and restored TC period and duration calculations in preparation of re-implementing it 2022-09-12 09:15:35 +02:00
Ovahlord 6a71b6d053 Core/Units: consider summoned units with a creator guid also as party or raid member
the old logic was built on the false assumption that all units like totems have a ownerguid - they do not. They only have a creatorguid. Ownerguids (as the name implies) is only applied on units that the player is actively controlling. 3.3.5 has this implemented in a wrong way while 4.x does not.

*also fixed up more cherrypick mistakes while at it
2022-09-12 09:15:31 +02:00
brotalnia 7cc33f1bb7 Core/Spells: Return CheckCast result from CastSpell (#23236)
* Return CheckCast result from CastSpell

* Return cast result from UnitAI methods too.
2022-09-12 09:15:23 +02:00
ariel- b3c8d78fa2 Core/Spell: fix SendSpellMiss requiring caster Unit 2022-09-12 09:15:16 +02:00
ariel- c889b81f2c Core/Spell: fix target checks
- Aura will be applied at last moment possible (after damage) to prevent regressions on #18395
- Partial revert of 9b38a6352c0fe2499de54fd769aa1c721a410bda as it wasnt handling correctly checks without spells
2022-09-12 09:15:15 +02:00
ariel- b6fac86b71 Core/Spells: rework part 5: GameObject casting 2022-09-12 09:15:14 +02:00
Shauren 25465699f7 Core/GameObjects: Transport (type 11) improvements
* Fully synchronize serverside animation progress with client
* Implemented updating passenger positions on elevators
* Removed visibility hack for elevators that always forced CreateObject packet to be sent to client
2022-06-18 21:36:17 +02:00
Shauren 2b7b0b0db1 Core/Scripts: Begin unifying triggering gameevents (not the game_event db stuff) 2022-06-18 19:05:57 +02:00
Ovahlord 6e9ec1a4bf Core/Transports: undo all custom transport changes as preparation for cherry picks 2022-06-18 18:37:14 +02:00
Shauren f2b4f2208e Core/Objects: ported master branch handling for properly destroying objects via out of range and destroy object opcode
# Conflicts:
#	src/server/game/Entities/Creature/Creature.cpp
2022-02-02 16:24:42 +01:00
ariel- af98e8516c Core/Auras: reworked multiplicative AuraEffects calculation 2021-11-28 12:14:05 +01:00
Shauren ddb50c2e3d Core/Objects: Pass privateObjectOwner guid directly to SummonCreature functions 2021-03-29 20:52:32 +02:00
Shauren 3ab52418ef Core/Objects: Refactor private object checks into separate function 2021-03-29 20:47:38 +02:00
Matan Shukry 434bc017c2 Core/Objects: Move personal summon handling from TemporarySummon/GameObject to WorldObject and check it using dedicated guid field 2021-03-29 20:45:13 +02:00
Ovahlord 0299fa4fe1 Core/Misc: replace boost::optional with std::optional 2021-02-19 14:07:43 +01:00
Ovahlord c3831d30e5 Core/Packets: converted SMSG_PARTY_MEMBER_STATE and SMSG_PARTY_MEMBER_FULL_STATE to packet class
* handle GROUP_UPDATE_FLAG_PHASE when changing phases
* define and implement GROUP_UPDATE_FLAG_WMO_GROUP_ID
2021-01-09 16:42:53 +01:00
Giacomo Pozzoni 8bbe17c684 Core/Creature: Ignore combat reach when looking for assisting creatures 2020-09-24 00:37:11 +02:00
Ovahlord 47ac0004c2 Core/Packets: converted SMSG_DESTROY_OBJECT to packet class 2020-08-23 23:09:34 +02:00
Treeston 942c3a77da Core: Combat/threat system rewrite (PR #19930)
- PvE combat is now always mutual. UNIT_FLAG_IN_COMBAT is backed by actual references to the units we're in combat with.
- PvP combat is now also tracked, and almost always mutual; spells like Vanish and Feign Death can break this rule. That means we can easily determine a list of players we're fighting.
- By extension, IsInCombatWith now has sensible behavior when invoked on nonplayers.
- Threat and combat systems are no longer the same.
  - They still have an enforced relationship (threat implies combat - clearing combat clears threat)...
  - ...but we can have combat without threat. A creature (with threat list) isn't considered to be engaged until it has an entry on its threat list...
  - ...which means we can now faithfully replicate retail engage behavior. Combat on projectile launch - engagement start on projectile impact. Yay for progress!
- AI method refactor, as already ported in 6113b9d - `JustEngagedWith`, `JustEnteredCombat` and `JustExitedCombat`.
- Vehicle threat is now properly pooled on the main vehicle body (fixes #16542).
- Various edge case bug fixes for threat redirects (Misdirection "cancelling" Vigilance and similar).
- Target re-selection is now significantly faster.
- Fixed a ton of other smaller edge case bugs, probably.

Closes #7951 and #19998.
2020-07-22 16:49:37 +02:00
Treeston ec04d3b2cd [3.3.5] Combat/Threat rewrite - prep & refactor (#19966)
* Combat/Threat rewrite (PR #19930) prep work. Mostly refactors, and a compatibility layer on ThreatManager/HostileReference that allows scripts to be changed already.
2020-07-22 13:43:23 +02:00
Ovahlord d31f19265d Core/Objects:
* store liquid status lookups from UpdatePositionData in a member and draw liquid status information from it instead of doing extra vmap lookups. This also fixes collision height based liquid status states which was leading to false positive movement speed selection for creatures
* remove redundant IsUnderWater helper override from player class as our object based liquid status also considers collision height
2020-04-05 20:41:15 +02:00
Ovahlord 9bfe43a88a Core/Entities: remove PhaseMask
* database fields and values will remain until they have been converted to their according phase IDs
2020-03-29 04:05:43 +02:00
Shauren 9ad9398f04 Core/PacketIO: Fixed SMSG_UPDATE_OBJECT packets going missing for new items
Closes #16906
2020-03-19 20:45:57 +01:00
Ovahlord 744ac00469 Core/Spells: converted SMSG_SPELL_START and SMSG_SPELL_GO to packet class 2020-01-21 06:03:02 +01:00
Ovahlord 7760d95962 Core/Creatures: backported trainer update and skill initialization 2020-01-12 23:53:35 +01:00
Aokromes d6d3f06f06 New year 2020-01-04 18:32:38 +01:00
funjoker 6c56916b29 Misc: Update copyright information
Happy new year
2020-01-01 18:47:28 +01:00
Ovahlord 7c9eb925c9 Core/Objects: ported helpers to determine object type ids easier 2019-12-03 18:55:32 +01:00
Ovahlord 15f09fb82b Core/Misc: fixed warnings and building connection patcher with boost versions below 1.61 2019-11-06 00:51:04 +01:00
Artamedes 57992c4f0d Core/PacketIO: Update UpdateFlags for SMSG_UPDATE_OBJECT movement update (#9)
* Core/PacketIO: Update UpdateFlags for SMSG_UPDATE_OBJECT movement update

* 1

* Core/NetworkOI: corrected connection type for SMSG_MOVE_UPDATE

* suggestions
2019-10-15 19:11:15 +02:00
sun c98c92b902 Core/PacketIO: Restore SMSG_DESTROY_OBJECT removed in 92816c0f17
- this packet was removed in WoD not 4.3.4...
2019-10-07 14:53:36 -04:00
Ovahlord c98be9d2d7 Core/Objects: merged new changes from undermap issue fixup PR 2019-03-17 12:29:08 +01:00
Ovahlord eb15db4522 Core/Movement: first part of porting the new creature hover handling 2019-02-18 01:52:15 +01:00
Ovahlord 50a91bd590 Core/Movement: merged Collision height handling from 335 branch to reduce the probability that creatures are falling under the map 2019-02-17 23:40:24 +01:00
Ovahlord d3aa72471e Core/Maps: removed GetBaseMap in order to fix a gridmap crash 2019-02-09 22:23:10 +01:00
Ovahlord 7543c45c7c Core/Objects: ported and implement custom visibility range functionality for creatures and gameobjects. Gameobjects will now get their visbility range read from their template data while creatures can be modified at will. The initial visbility distance changes has been parsed from MoP difficulty data by Kilyana 2019-01-02 15:51:56 +01:00
Ovahlord 5229a734dd Core/Transports: ported transport refactoring
* this implements full support for stoppable transports as well as serverside transport position tracking
* fixed several vehicle related issues
* fixed gameobject passengers not being displayed as transport passengers
* pets, dynamic objects and other summons are not added as transport passengers and will now properly be displayed
Todo:
- Deeprun Tram visual issues needs to be resolved
- Lady Deathwhisper's elevator needs some additional research
2018-11-21 12:04:26 +01:00
Ovahlord 3f53afd39e Core/Maps: fixed several issues with liquids by merging some 335 branch commits that are taking mopg flags into account 2018-08-07 12:35:02 +02:00
Ovahlord 6cea6eee77 Core/Objects: merged some CreateObject2 related commits and ported some transport changes from 335 branch 2018-07-25 15:58:27 +02:00
Ovahlord a0e288e761 Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4 2018-07-23 15:57:10 +02:00
Treeston f441d36d78 Misc: Pass std::chrono types by value everywhere. 2018-07-23 13:53:13 +02:00
Ovahlord 4692c0ff6f Core/Maps: restored some older codes until the corresponding commits has been merged and (fixed?) a crash regarding terrain swap map area id's 2018-07-22 00:49:23 +02:00
Ovahlord 59d169e8e4 Merge branch 'dynamicSpawnMerge' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4
# Conflicts:
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/Maps/Map.cpp
#	src/server/game/Maps/Map.h
2018-07-21 23:13:55 +02:00
Ovahlord b976bc1187 Core/Spawns: merged Dynamic Spawning 2018-07-21 20:44:41 +02:00
Ovahlord 0f32e2d263 Core/Spells: merged a radius calculation from 3.3.5 that covers the attempted fix from last commit 2018-07-13 15:17:54 +02:00
Ovahlord 0d46b893fc Core/Objects:
*merged 3.3.5 renaming of GetObjectSize() to GetCombatReach()
*made GetBoundaryRadius virtual and use it to determine the actual spell radius distance with it instead of using CombatReach
2018-07-13 14:50:10 +02:00
Ovahlord cfee8a09a1 Core/Maps: Fixed loading vmaps and mmaps in instances
(ported commit b773d9997bdd723cad8c646170e025a48f140f1d)
2018-05-06 18:47:51 +02:00