* Core/AI: refactor SpellHit and SpellHitTarget.
- now caster/target is WorldObject instead of Unit
- remove SpellHitByGameObject / SpellHitTargetGameObject (handled by SpellHit / SpellHitTarget)
- rename parameters in scripts according parent methods
* Restore logic in Algalon script
* Changed check for REMORSELESS_WINTER hit to avoid dublicate call, because it has TARGET_UNIT_CASTER for effects 0/1 and TARGET_GAMEOBJECT_SRC_AREA for effect 2
* Fix build after merge
* Update SQL queries to insert realm id
* Insert the realm id when logging actions based on IP
* Adding the SQL update file
* Update 9999_99_99_99_auth.sql
* Update auth structure
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
* Scripts/Gameobject: Move Orb of Command script to SAI.
* Scripts/Gameobject: Move Orb of Command script to SAI.
* Rename 2020_12_23_00_world.sql to 2020_02_28_03_world.sql
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
* Scripts/Gameobject: Journal of Jandice Barov- Convert script to SAI. (Thanks to Sunwell)
* Scripts/Gameobject: Journal of Jandice Barov - Update script and move go spawn to bossscript
* Update boss_jandice_barov.cpp
Co-authored-by: Eridium <6587064+Killyana@users.noreply.github.com>
* Core/Vehicles: implement vehicle seat addon table to specify seat orientation offsets and exit positions in form of offsets or absolute positions
* converted Traveler's Tundra Mammoth to seat addon table data
* first follow batch
* whoopsie
* Core/Vehicles: go from local copies to pointers
* Update and rename 2020_99_99_99_world.sql to 2020_02_08_01_world.sql
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
* Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender and fix some cases, where we should get player gender, instead of modified by display gender
* fix merge
* Add virtual methods for Unit class
* Scripts/Misc: Change IsSummonedBy(Unit*) to IsSummonedBy(WorldObject*)
* Scripts/Misc: Fix build
* Core/TempSummons: Rename GetSummoner() to GetSummonerUnit()
* Core/TempSummons: Add support to TempSummons::GetSummoner() to return GameObject too
* Fix build
* Core/TempSummons: Allow GameObject to be owner of TempSummon
* Core/TempSummons: Add support to SAI for GameObject owner of TempSummon
* Scripts/Misc: Fix no-pch build
* Core/TempSummons: Implement PR comments
Fix infinite loop in npc_air_force_bots happening when aura 38067 was removed, triggering MoveInLineOfSight() that would add back the aura. Only 1 aura add/remove for guard for player is allowed now.
* Core/GameEvent: weekend xp rate
by kline
* Update to recent code
* compile fix try
things of copy and paste 4 years old code xd
* more code update
* forgot to change this
* Update worldserver.conf.dist
* Added function to calculate weekend event xp rates
By greenbagels
* Cleaning using scripts
* Implement daymask and rename variables etc.
* Rename script file weekend -> boosted
* Update src/server/game/World/World.cpp
Co-Authored-By: Aokromes <Aokromes@users.noreply.github.com>
* Fix xp multiplier not applying to quest rewards
* Disable xp boost script when no boosted days selected
The number of edge cases in which weirdness is seen on "effect movements" will be kinda reduced, plus consistency, plus movementInform on custom movement spline initalizations.
Core/Misc: Added helper function Unit::SetFullPower
Cherry-picked from 8199eef81c
Core/Creatures: Updated power type handling (#20981)
Cherry-picked from 16a7a414ab
- 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.