Commit Graph

605 Commits

Author SHA1 Message Date
Shauren
879c0cccfc Core/GameObjects: Implemented per player gameobject state and visibility for looted non-consumable chests 2022-10-21 22:11:00 +02:00
Gosha
c1a9d7a3bc Core/PacketIO: Use ByteBuffer from UpdateData instead of copying to it after (#28347)
(cherry picked from commit 81bf8de989)
2022-10-13 12:37:18 +02:00
Gosha
423f81fbda Core/Objects: Fix flags overflow for InvisibilityType because TOTAL_INVISIBILITY_TYPES (38) can't fit in 32 bits flag (#28343) 2022-10-07 16:08:20 +02:00
Meji
4b06b8ec1e Core/Units: Set UNIT_FLAG2_*_AOI dynamically according to the VisibilityDistanceType set on the creature (#28284) 2022-10-01 00:11:52 +02:00
Shauren
6713fa4c93 Core/Scripts: Added CalcCastTime spell script hook 2022-07-29 20:24:28 +02:00
Shauren
16a06346ae Core/Maps: Move terrain data handling out of Map class
Partial port of cmangos/mangos-wotlk@ff5232c648
2022-07-23 19:13:33 +02:00
Shauren
073a036d84 Core/Battlefields: Refactor Battlefield creation to be linked to host map creation instead of having globally accessible objects 2022-07-19 23:18:19 +02:00
Shauren
775be0682a Core/OutdoorPvP: Refactor OutdoorPvP creation to be linked to host map creation instead of having globally accessible objects 2022-07-18 22:45:03 +02:00
Shauren
61263bf74d Core/Spells: Corrected unit flag checked with SPELL_ATTR6_CAN_TARGET_UNTARGETABLE 2022-06-17 12:54:34 +02:00
Shauren
630b60eb0d 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-05-25 22:14:32 +02:00
Shauren
94aac14b4d Core/Spells: Rename SpellAttr6 to use official attribute names 2022-05-06 20:23:13 +02:00
Shauren
d71ca7a8f5 Core/Spells: Implemented SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK 2022-05-02 18:20:17 +02:00
Shauren
738f285432 Core/Spells: Rename SpellAttr5 to use official attribute names
* Implemented SPELL_ATTR8_HASTE_AFFECTS_DURATION
2022-05-02 01:11:38 +02:00
Shauren
88d7b58a3d Core/Spells: Rename SpellAttr3 to use official attribute names
* Implemented SPELL_ATTR3_NO_AVOIDANCE
* Implemented SPELL_ATTR3_ONLY_PROC_OUTDOORS
* Implemented SPELL_ATTR3_ONLY_PROC_ON_CASTER
* Implemented SPELL_ATTR3_PVP_ENABLING
* Implemented SPELL_ATTR3_SUPPRESS_CASTER_PROCS
* Implemented SPELL_ATTR3_SUPPRESS_TARGET_PROCS
2022-04-30 16:57:32 +02:00
Shauren
dda375b986 Core/Spells: Rename SpellAttr2 to use official attribute names
* Corrected implementation of SPELL_ATTR1_ALLOW_WHILE_STEALTHED
* Implemented SPELL_ATTR2_RETAIN_ITEM_CAST
* Implemented SPELL_ATTR2_ALLOW_WHILE_INVISIBLE
* Implemented SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE
* Implemented SPELL_ATTR2_PROC_COOLDOWN_ON_FAILURE
* Implemented SPELL_ATTR2_NO_TARGET_PER_SECOND_COSTS
* Implemented SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE
* Implemented SPELL_ATTR1_REQUIRE_ALL_TARGETS
* Implemented SPELL_ATTR2_CHAIN_FROM_CASTER
* Implemented SPELL_ATTR2_NO_ACTIVE_PETS
* Implemented SPELL_ATTR2_ENCHANT_OWN_ITEM_ONLY
2022-04-28 18:31:26 +02:00
Shauren
c88b602a2c Core/Spells: Rename SpellAttr1 to use official attribute names
* Implemented SPELL_ATTR1_NO_SKILL_INCREASE, SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT, SPELL_ATTR1_DISPEL_ALL_STACKS
2022-04-25 22:16:56 +02:00
Shauren
a31e681944 Core/Spells: Rename SpellAttr0 to use official attribute names 2022-04-24 18:40:10 +02:00
Shauren
41a04a0c49 Core/Scripts: Begin unifying triggering gameevents (not the game_event db stuff) 2022-04-24 00:16:13 +02:00
Shauren
5558769405 Core/Battlegrounds: Replaced overriding m_team with more fine grained approach 2022-04-16 12:15:37 +02:00
Shauren
b47185cabf Core/Misc: Rename AddXXXFlag updatefield functions to SetXXXFlag 2022-03-27 18:14:47 +02:00
HelloKitty
194a0daed5 Core/Object: Fix WorldObject::SetZoneScript unsafe cast to InstanceMap (#27877)
(cherry picked from commit e9992066a5)
2022-03-26 16:01:01 +01:00
offl
661a24b7b1 Core/Misc: Rename UNIT_FLAG_TAXI_FLIGHT to UNIT_FLAG_ON_TAXI
Ref #26912

(cherry picked from commit a50ce8755b)
2022-03-15 23:32:27 +01:00
offl
c4906ce60b Core/Misc: Rename UNIT_FLAG_NOT_SELECTABLE to UNIT_FLAG_UNINTERACTIBLE (#26913)
(cherry picked from commit c4741a131a)
2022-03-15 23:03:26 +01:00
ccrs
5b6bcbff1a Core/Game: include addtional parameter in Object::GetPlayerListInGrid
(cherry picked from commit d49b6af71f)
2022-03-12 14:48:32 +01:00
Meji
74645553be Core/Objects: Units possessing another ones must use the detection of the latter (#26702)
* Core/Objects: Units with invisibility auras can see units that cannot detect them

* Core/Objects: A unit that possess another one, uses the detection of the latter

* GCC: Avoid ambiguous 'else'

Closes #23528

(cherry picked from commit ad4bc7cc1f)
2022-03-12 01:17:00 +01:00
Giacomo Pozzoni
9bcff210f9 Core/Maps: Use a fixed offset instead of full collision height when retrieving floor Z (#26092)
Use a fixed offset 0.5f instead of full collision height when retrieving floor Z as a full collision height ended up on the floor above a few times. It makes more sense to cast the ray just a bit higher up than using a full collision height (which by default is 2.0f)

(cherry picked from commit f96aab2186)
2022-03-06 22:24:01 +01:00
Shauren
9f30afe352 Core/PacketIO: Updated packet structures to 9.2.0 2022-02-24 23:16:55 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Shauren
8e2d1e328e Core/Spells: Pass cast item level to triggered spells
* Fixes value on trinkets like Ignition Mage's Fuse
2022-02-08 21:36:31 +01:00
Seyden
79c6054369 Core/Objects: Use player as summoner for personal clones (#27716)
* This allows clones to properly inherit phases
2022-02-08 00:03:02 +01:00
Aqua Deus
d22d461633 Core/Spells: Implement SPELL_ATTR7_NO_ATTACK_DODGE, SPELL_ATTR7_NO_ATTACK_PARRY and SPELL_ATTR7_NO_ATTACK_MISS (#27715)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2022-02-07 20:53:32 +01:00
Seyden
20af35fd13 Core/Creatures: Add summoned creatures to summoners transport (#27708) 2022-02-07 12:49:45 +01:00
jackpoz
d561a69122 Scripts/Obsidian Sanctum: Fix portals not being visible
Change NearestGameObjectEntryInObjectRangeCheck to allow returning GameObject not spawned.
Fixes other occurrences where a similar issue exists.

(cherry picked from commit ca2159bf40)
2022-02-05 12:04:35 +01:00
Giacomo Pozzoni
99ee958e0a Core/Misc: Fix issues reported by static analysis (#25351)
* Core/Misc: Fix issues reported by static analysis

* Core/Vmaps: Code cleanup after e777161888

(cherry picked from commit cfc8f7b442)
2022-02-04 12:18:15 +01:00
Treeston
9f97fdd31a Core/Common: Tokenizer -> Trinity::Tokenize (PR: #25327)
(cherry picked from commit 534a2388b7)
2022-02-04 00:27:14 +01:00
Shauren
7044204130 Core/Objects: Cleanup SmoothPhasing code - move to separate files and better integrate it with visibility system 2022-01-29 20:35:25 +01:00
Seyden
a5c713eaf2 Core/Objects: Implement SmoothPhasing part of CreateObject and replacing visible objects 2022-01-29 20:35:25 +01:00
Shauren
5a82a0381d Core/Objects: Properly choose between "Destroyed" or "OutOfRange" during visibility update 2022-01-29 16:01:57 +01:00
Shauren
472384e757 Core/Objects: Add overridable function UpdateObjectVisibilityOnDestroy 2022-01-29 15:18:27 +01:00
Giacomo Pozzoni
864d775280 Core/Misc: Fix static analysis issues (#25194)
(cherry picked from commit 07fd84b679)
2022-01-26 14:06:40 +01:00
Shauren
c7899c1e76 Core/WorldObject: std::chrono-ify SummonPersonalClone 2022-01-24 12:57:40 +01:00
Carbenium
82fce41852 Core/WorldObject: Replace non-std::chrono SummonGameObject overloads
Also fix intended despawn time of GOs used by the "Engineering a Disaster" quest

(cherry picked from commit 8642aaaf92)
2022-01-24 12:55:43 +01:00
Carbenium
217c2d9ef3 Core/WorldObject: Replace non-std::chrono SummonTrigger overloads
(cherry picked from commit 3620b47c41)
2022-01-24 12:47:56 +01:00
Carbenium
3bba8d50b1 Core/WorldObject: Remove non-std::chrono SummonCreature overload
Remove
TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, uint32 vehId = 0, uint32 spellId = 0);

(cherry picked from commit a41f599be7)
2022-01-24 12:39:59 +01:00
Carbenium
310f996b1d Core/WorldObject: Partially std::chrono-ify SummonCreature overloads
TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0);
to
TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime = 0s);

(cherry picked from commit 1131229ee9)
2022-01-24 11:55:32 +01:00
Peter Keresztes Schmidt
1e1679a1f7 Core/DataStores: Port refactors from Update DBC field names to generated ones (#24999)
(cherry picked from commit c92950b3e1)
2022-01-23 00:06:16 +01:00
Gildor
054b62be3b Core/Gameobjects: Improve IsValidAttackTarget faction check for traps that hasn't owner or have NPC owner (#24931)
(cherry picked from commit 2a5f537d6a)
2022-01-21 18:50:43 +01:00
Gildor
fb39553831 Core/Gameobjects: Traps shouldn't ignore IsImmuneToNPC/IsImmuneToPC and IsInSanctuary rules if has owner (#24911)
(cherry picked from commit 4a4aac61d5)
2022-01-21 16:16:04 +01:00
Shauren
a270005de1 Core/SAI: Support SMART_TARGET_POSITION in SMART_ACTION_BECOME_PERSONAL_CLONE_FOR_PLAYER 2022-01-19 19:20:56 +01:00
Seyden
f383c0ea21 Core/SAI: Add SMART_ACTION_BECOME_PERSONAL_CLONE_FOR_PLAYER (#27581) 2022-01-18 20:51:23 +01:00