Commit Graph
1185 Commits
Author SHA1 Message Date
Ovahlord bb6a8ac297 Core/Units: moved CharmInfo class to an own file 2025-06-14 19:13:44 +02:00
Ovahlord 5c9ecf27e9 Core/Spells: dropped spell_bonus_data table and use the dbc internal data to calculate ap and sp bonus values
* some spells have a special formula in their tooltips, which need manual scripting via the CalcDamage and CalcHealing hooks respectively
2025-06-08 15:16:17 +02:00
Ovahlord 6eb73788f4 Core/Units: deprecate CREATURE_FLAG_EXTRA_NO_COMBAT and use CREATURE_STATIC_FLAG_IGNORE_COMBAT to turn creatures passive 2025-03-15 14:27:16 +01:00
Shauren 4ead80f388 Core/Auras: Minor optimization for Unit object creation with msvc (not allocating a list end sentinel node for all of the 500 lists stored in Unit for each aura type) 2025-03-14 16:57:04 +01:00
Ovahlord 164289b3b2 Core/Units: ported namings for UnitFlags and UnitFlags2 and added the check for forbidden flags in database 2025-03-11 18:06:35 +01:00
Ovahlord 2953efb7a3 Core/Movement: ported most movement updates from master branch and corrected behavior of CREATURE_STATIC_FLAG_4_PREVENT_SWIM 2025-03-09 20:49:41 +01:00
Ovahlord 1d25eabb4b Core/Server: restore AuthServer and grunt login 2025-03-08 15:20:14 +01:00
Ovahlord 0927c5af40 Core/Misc: backported most boost changes from master branch 2025-02-27 23:47:52 +01:00
Ovahlord 0f035fe940 Core/Units: refactor rage generation to reflect patch 4.0.1 changes:
* melee attacks will now send their awarded rage within SMSG_ATTACKER_STATE_UPDATE and moved the rage reward mechnic from Unit::DealDamage into Unit::AttackerStateUpdate

* killed CleanDamage struct and provide plain unmitigated damage values instead as since patch 4.0.1 the rage gained from damage taken is fully normalized and ignores any kind of damage reduction or negation
2023-12-10 18:26:24 +01:00
Shauren 8acfadc779 Core/Objects: Treat areas that have ParentAreaID filled but dont have IsSubzone flag as zones instead of areas 2023-10-09 21:05:00 +02:00
funjoker df32b341a5 DB/Creatures: Port master model system
Fixes incorrect displayid for creatures, due to probability
2023-09-15 23:52:51 +02:00
Shauren bfd31d59c2 Core/MMaps: Fixed pathing for objects that have terrain swaps active 2023-08-08 00:21:48 +02:00
Giacomo Pozzoni 8831cc1086 Core/DBLayer: Add QueueSize() method
Add QueueSize() method to database objects (Login, Character and World) that returns how many tasks are queued.
Include the queue size of the 3 databases in ".server debug" command

* Make the code less threadsafe

* Send data to InfluxDB
2023-07-20 23:07:08 +02:00
Ovahlord b489a905e1 Core/Misc: fixed another bunch of GCC warnings 2023-07-08 21:33:08 +02:00
Shauren 07376de9fc Core/Spells: Always remove spell target from transport on teleport spells if spell destination does not target a position on the transport 2023-06-29 20:31:45 +02:00
Ovahlord acaf42798a Core/GameObjects: sync gameobject data field names with master branch and added some missing entries for Cataclysm 2023-01-17 19:45:56 +01:00
Shauren 5f8f854794 Core/Players: Allow teleporting to a specific instance id 2023-01-09 11:22:58 +01:00
Shauren eeb2f63b65 Core/Maps: Fixed retrieving terrain info when on child maps 2023-01-02 15:23:21 +01:00
Shauren 81b2ff0d94 Core/Maps: Removed MapInstanced - no longer neccessary for grid data reference counting (moved to TerrainInfo) 2022-12-29 22:10:44 +01:00
Shauren 0f0b283168 Core/Pools: Implemented pooling for instances 2022-12-29 11:56:56 +01:00
Ovahlord 72b3164552 Core/Datastores: adapt parts of master's logic for Zone2MapCoordinates 2022-12-26 13:49:47 +01:00
Shauren b732521f17 Core/Maps: Replace some Instanceable() checks with IsDungeon() 2022-12-26 13:40:18 +01:00
Shauren 265c2fa508 Core/Battlefields: Refactor Battlefield creation to be linked to host map creation instead of having globally accessible objects 2022-12-26 13:24:59 +01:00
ratkosrb 122b52b079 Core/Creature: Use proper name for wander distance 2022-12-20 15:48:37 +01:00
Ovahlord 554eb584b0 Core/Packets: updated internals for currency handling
* converted SMSG_SET_CURRENCY to packet class
* greatly simplified ModifyCurrency method
* handle CMSG_SET_CURRENCY_FLAGS packet
* fixed sending currency flags upon login. This fixes displaying them in the bagpack
* .modify currency is no longer affected by SPELL_AURA_MOD_CURRENCY_GAIN and can now bypass weekly limits
* defined all currency type flags
2022-12-05 10:10:45 +01:00
Shauren fe7e42b0b8 Core/WorldStates: Migrate Tol Barad worldstates to new system 2022-10-09 13:11:33 +02:00
Shauren 0ba58aeb6e Core/Maps: Move terrain data handling out of Map class
Partial port of cmangos/mangos-wotlk@ff5232c648
2022-10-08 00:25:32 +02:00
Shauren 21e9854686 Core/Maps & Extractors: Move copypasted map file headers into a single shared file and replace #defines with enums 2022-10-07 22:16:46 +02:00
ariel- 3fbbea61bd Core/Spells: rework part 3: spells only handle at most one UnitAura and one DynObjAura during its lifetime
# Conflicts:
#	src/server/game/Spells/Auras/SpellAuras.h
2022-09-12 09:15:13 +02:00
ariel- 1d3fbff332 Core/Auras: removed caster dependency from core
- Decoupled Unit logic: split of spell critical chance into done (caster bonuses) and taken (target bonuses), this allows to precalculate caster bonuses on aura apply and then check victim's auras on damage/healing calc
- Made static a bunch of methods (they no longer have this pointer because they are now called from periodic handlers which may or may not have an active caster in world)
- Simplified all AuraEffect bonuses into AuraEffect::_amount, no more duplicated code
- Critical chance and whether or not caster is player owned unit (for resilience calcs) is now saved one level upper, on Aura itself (it's impossible as of 3.3.5 to have different effects with different critical chances)
- Minor cleanup of SPELL_DAMAGE_CLASS_NONE and Arcane Potency (#18813) crit handling
2022-09-12 09:15:04 +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 43c1876970 Core/Transports: Store information about continent transports 2022-06-18 18:53:25 +02:00
Ovahlord 6e9ec1a4bf Core/Transports: undo all custom transport changes as preparation for cherry picks 2022-06-18 18:37:14 +02:00
Ovahlord ca9f34574d Core/Misc: fixed a bunch of GCC warnings 2022-03-21 21:32:41 +01:00
xinef1 f431459063 Core/Creatures: Various fixes for creatures, regarding combat conditions, despawning, and few others (#18998)
* Made some changes to kiting mechanics, simplified code and made taunt auras prolong combat no matter the distance from the spawn
Unified some creature despawning code, removed some brutal direct calls in scripts
Don't play death anim on forced despawn
Removed some redundant visibility changes on creature despawn
Fixed possible problem with pet initializing template info from difficulty greater than normal
Properly keep UNIT_FLAG_IN_COMBAT on UpdateEntry call
Moved RegenerateMana function to general Regenerate(Power) function
Fixed increased health regeneration from polymorph for pets
Implemented CREATURE_TYPE_FLAG_GHOST_VISIBLE, those creatures will be properly seen when player is dead also
Removed hackfix from Gaeriyan and Franclorn Forgewright, fixed properly
Simplified ForcedRespawnTime code in ForcedDespawn
Do not allow to assist unit while evading or when enemy is evading
Do not allow to attack other units when evading or when the unit is evading
Corrected distance checking code before creature is allowed to evade, should fix some common problems
Properly return summon position for summoned creatures as their respawn position
Properly stop all moving units on gossip hello, no matter their npc flags

(cherry picked from commit e1f14215d86fc9f0cd041f0e87bf0a689c086329)
2022-02-16 04:49:24 +01:00
Ovahlord 949f92e0a1 Core/AI: ported charm updates from 335 2021-09-16 16:48:07 +02:00
Ovahlord 6446541738 Core/Skills: ported master branch handling for learning skills on levelup 2021-05-14 14:52:52 +02:00
Ovahlord 0299fa4fe1 Core/Misc: replace boost::optional with std::optional 2021-02-19 14:07:43 +01:00
Giacomo Pozzoni 5e3b57bae7 Core/Unit: Fix movement hiccups in water
* Core/Unit: Allow to define Units which can enter water but cannot swim

Allow to define Units which can enter water but cannot swim, i.e. crabs walking at the bottom of a sea.

* Add UNIT_FLAG_SWIMMING to creatures when entering combat

* Fix charmed creatures not entering water

* Always allow Creatures controlled by players to enter water

* Add swimming flag when possessing a unit and remove it properly at the end, even if the creature engaged combat before and after.
When adding/removing UNIT_FLAG_SWIMMING manually calling Creature::RefreshSwimmingFlag(true) might be required.
2021-01-11 12:33:54 +01:00
Treeston f7a79750c9 Core/Maps: All RespawnInfo* handed to outside code are now RespawnInfo const*, to signify that outside code has zero business changing these. 2021-01-03 09:44:08 +01:00
Ovahlord 754c138f89 Core/Spells: ported CastSpell unclusterfucking from 3.3.5 branch 2020-11-04 22:37:11 +01:00
Ovahlord 27c1fd6aee Core/Movement: implement cyclic spline database support 2020-09-21 00:32:55 +02:00
Ovahlord e871d2f0eb Fixed build 2020-09-11 15:23:53 +02:00
Giacomo Pozzoni 6a8ecc3ee3 Core/Misc: Fix issues reported by static analysis (#25351)
* Core/Misc: Fix issues reported by static analysis

* Core/Vmaps: Code cleanup after e777161888
# Conflicts:
#	src/common/Collision/DynamicTree.cpp
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/World/World.cpp
2020-08-29 13:49:21 +02:00
Ovahlord 9d345f0d87 Core/Creatures: creature groups no longer unnecessarily throw their data on the heap and formations now support inversing angles when waypoint Ids are 0 2020-08-28 23:02:05 +02:00
Roc13x 0d95ea24bc Core/Command: Make new access take effect immediately on GM level change 2020-08-24 23:49:47 +02:00
Aokromes 34c7022378 Core/Creatures: Fix typo 2020-08-22 18:23:50 +02:00
Shauren fa6f081037 Core/Creatures: Move gossip trainer assignment to creature_trainer table - same gossip can open different trainers depending on which creature it is assigned to 2020-08-22 18:22:57 +02:00
Roc13x ac6604fba7 Core/Creature: Refactor vendor item code (#167)
* Fix loading referenced vendor items
* Refactored vendor item storage
2020-08-06 01:43:39 +02:00
Roc13x 5360da31a2 Core/Items: Fix some cases where items could be created without random properties (#166) 2020-08-04 10:19:24 +02:00