Commit Graph

592 Commits

Author SHA1 Message Date
Sorikoff d37547e769 Scripts/Borean Tundra: Plug the Sinkholes (#24085)
* Scripts/Borean Tundra: Plug the Sinkholes

* Scripts/Borean Tundra: Improve SQL

* Scripts/Borean Tundra: Remove item script

* Rename 9999_99_99_99_world.sql to 2020_01_26_03_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit 552a638e31)
2021-12-20 23:47:37 +01:00
Giacomo Pozzoni 493fe066f6 Core/Misc: Handle timezones for hour-specific events specifieds in worldserver.conf (#23540)
* Core/Misc: Handle timezones for hour-specific events specifieds in worldserver.conf

* Handle Respawn.RestartQuietTime too

* Handle XP.Boost.Daymask too

* Core/Misc: Code cleanup

* Core/Misc: Code cleanup

* Update Util.cpp

* Update boosted_xp.cpp

(cherry picked from commit aeddd417c4)
2021-12-16 22:35:44 +01:00
Wyrserth 96bca1fe2b Script/BoreanTundra: move Pile of Fake Furs' script (related to quest Unfit for Death) from ItemScript to SpellScript.
Closes #21890.

(cherry picked from commit e7cf24d263)
2021-12-16 21:20:39 +01:00
Treeston 2799cdc522 Scripts/World: Rewrite air force trigger bots script, add hostility check along the way. Closes #23307.
(cherry picked from commit 0ae2afe307)
2021-12-15 00:17:32 +01:00
ForesterDev 27886c7f5d Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender (#23520)
* 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

(cherry picked from commit b47bb59e2a)
2021-12-13 00:42:20 +01:00
ccrs 4e6c59dca7 Core/Unit: rename several getters to follow codestyle
uint8 GetLevel()
        uint8 GetLevelForTarget(WorldObject const* /*target*/)
        void SetLevel(uint8 lvl)
        uint8 GetRace()
        uint32 GetRaceMask()
        uint8 GetClass()
        uint32 GetClassMask()
        uint8 GetGender()

(cherry picked from commit 5c09ff51f7)
2021-12-13 00:42:20 +01:00
Wyrserth 819f8b1a2d Script/DarkmoonFaire: fix logical error in go_darkmoon_faire_music.
Closes #23548.

(cherry picked from commit 028d16a812)
2021-12-13 00:42:19 +01:00
Shauren 116285818b Core/Misc: Corrected file headers 2021-12-13 00:42:19 +01:00
Wyrserth b3e7be5387 Script/Creature: calculate Traveler's Tundra Mammoth's NPCs' exit position based on current player's position (#23344)
* Script/Creature: calculate Traveler's Tundra Mammoth's NPCs' exit position based on current player's position.

* Comment out unused argument.

(cherry picked from commit d71a0608bf)
2021-12-10 21:12:48 +01:00
Giacomo Pozzoni 5f545f5402 3.3.5 gameobject summoner (#23289)
* 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

(cherry picked from commit 797fba98e9)
2021-12-07 00:02:03 +01:00
Killyana 19ce65c01b Remove deprecated code
(cherry picked from commit fe311260f7)
2021-12-03 22:00:47 +01:00
jackpoz 98863659bb Scripts/Guards: Fix infinite loop in npc_air_force_bots
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.

(cherry picked from commit 844e7ee926)
2021-12-02 00:39:20 +01:00
Langerz82 e61266815f Spell/Script: Guard's Mark
Closes #16888

(cherry picked from commit e840d4967e)
2021-11-24 20:41:03 +01:00
Shauren 8cc6520b89 Core/Spells: SpellHistory updates
* Add duration override argument to StartCooldown (for cooldowns sent to client)
* Research new SMSG_SPELL_COOLDOWN flags
* Send interrupt school lockouts with newly defined SPELL_COOLDOWN_FLAG_LOSS_OF_CONTROL_UI
* Fixed packet structure of SMSG_MODIFY_COOLDOWN
* std::chorno-ification
2021-11-20 00:28:48 +01:00
Aokromes c44650502c Core/GameEvent: weekend xp rate (#17782)
* 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

(cherry picked from commit 538c5b8687)
2021-11-16 00:50:23 +01:00
Killyana a0bac8c53a DB/GameObject: Sacred Fire of Life
(cherry picked from commit 2dc28bc3a7)
2021-11-15 14:17:57 +01:00
Shauren f2456ff319 Scripts/Areatriggers: Fixed all areatrigger scripts triggering both on enter and exit instead of only on enter 2021-11-10 00:01:50 +01:00
DanVS 28cb2af1c5 Core/Scripts: Unify Chrono Literals (#22420)
* Unify Chrono Literals

* Retire IN_MILLISECONDS

* Build fix

* Build fix (sequel)

* Retire urand()

* Edge cases

* Build

* Whitespaces

* More edge cases

* Additional cases

(cherry picked from commit 5b0f4009df)
2021-11-09 00:26:59 +01:00
Treeston 7c062db94b Core/Player: Clean up duel related code. Fix a check for abusive client behavior, sanitize pointer usage, code style. Closes #22374.
(cherry picked from commit 003cc56d70)
2021-11-08 23:49:15 +01:00
ModoX faa182cb3b Scripts/Mechagnomes: Added areatrigger teleporter from Mechagon City to Stormwind (#27237) 2021-11-05 22:51:30 +01:00
PolarCookie 9dd2748618 DB: Naxxanar and Voltarus teleporters
Closes #22311

(cherry picked from commit 151ed6f684)
2021-10-23 02:14:04 +02:00
ModoX 6d9ce8e8ba Core/PacketIO: Implemented CMSG_CONVERSATION_LINE_STARTED (#27036)
* Added OnConversationLineStarted hook to ConversationScripts
* Added example for Defender of Azeroth conversation
2021-10-12 00:16:20 +02:00
Meji 5c287929b2 Core/Gossip: Update GossipOptionIcon enum (#26906) 2021-10-03 16:24:07 +02:00
ccrs 426f9f2f92 Core/Movement: MotionMaster reimplementation (#21888)
Internal structure and handling changes, nothing behavioural (or thats the intention at least).

(cherry picked from commit 982643cd96)
2021-09-28 00:15:13 +02:00
Treeston f1ac141f25 Core/Unit: UNIT_FLAG renames
[UNIT_FLAG_PLAYER_CONTROLLED -> UNIT_FLAG_POSSESSED]
[UNIT_FLAG_PVP_ATTACKABLE -> UNIT_FLAG_PLAYER_CONTROLLED]
Signed off by: Shauren, Warlockbugs.

(cherry picked from commit 081eab3cf5)
2021-09-26 16:07:09 +02:00
Shauren 9709643f50 Core/Misc: Fix copyright headers 2021-09-26 14:22:52 +02:00
ccrs d59a6af9c6 Core/Movement: move MoveSplineInit (#21857)
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.

(cherry picked from commit 2a45418032)
2021-09-26 14:19:36 +02:00
Treeston bc89e1cdb0 Core/Position: Refactor GetAngle -> GetAbsoluteAngle because code clarity is good.
(cherry picked from commit 4692e10ca2)
2021-09-23 22:21:29 +02:00
Shauren 8a4e1119ac Core/Spells: Unify spell effect access api in both branches 2021-09-04 15:13:15 +02:00
ariel- 62c571076e Core/Scripts: added nullptr checks to DamageTaken hooks
Since cb9e72e521 attacker may not be in world when hook is called

(cherry picked from commit 0db5c2df3f)
2021-06-16 12:02:14 +02:00
Treeston 4a65dcaecb Scripts/World: New target dummy AI, because I don't trust the existing one in light of #21187.
(cherry picked from commit a23c97a0fc)
2021-05-17 00:02:27 +02:00
Shauren b9d63c2009 Core/Scripts: Remove deprecated overload of QuestReward without LootItemType argument 2021-05-16 21:56:06 +02:00
Treeston 34c7810fe5 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.

(cherry picked from commit 532ab1c7f8)
2021-05-16 21:56:01 +02:00
Treeston bce43de7f3 Core/AI: Some more refactoring prep for #19930. CreatureAI::EnterCombat is now called CreatureAI::JustEngagedWith. There's also two new methods on UnitAI, though they're never invoked right now.
(cherry picked from commit 6113b9dec2)
2021-04-16 20:22:13 +02:00
Treeston 9b141207d1 [3.3.5] CastSpell unclusterfucking (that's a word now) (#21123)
Core/Spell: The giant CastSpell unclusterfucking (that's a word now) of this generation.

- CastSpell now always takes three arguments - target, spellId, and a struct containing extra arguments
- This struct (CastSpellExtraArgs, see SpellDefines.h) serves as a conglomerate of every previous combination of the 20 billion different CastSpell overloads, all merged into one
  - It has some great utility constructors - check them out! All of these can be used to implicitly construct the ExtraArgs object.
- A gajillion refactors to make everything behave the way it always has

(cherry picked from commit d507a7e338)
2021-04-16 15:22:42 +02:00
jackpoz e17e4e6f07 Core/Misc: Replace time(NULL) with GameTime::GetGameTime()
(cherry picked from commit 12701cb0c6)

 Conflicts:
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
	src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
	src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp
	src/server/game/Battlefield/Battlefield.cpp
	src/server/game/Battlefield/Zones/BattlefieldWG.cpp
	src/server/game/Battlegrounds/BattlegroundMgr.cpp
	src/server/game/Calendar/CalendarMgr.h
	src/server/game/DungeonFinding/LFGQueue.cpp
	src/server/game/Entities/Corpse/Corpse.cpp
	src/server/game/Entities/Creature/Creature.cpp
	src/server/game/Entities/Item/Item.cpp
	src/server/game/Entities/Pet/Pet.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Grids/ObjectGridLoader.cpp
	src/server/game/Guilds/Guild.cpp
	src/server/game/Handlers/AuctionHouseHandler.cpp
	src/server/game/Handlers/BattlefieldHandler.cpp
	src/server/game/Handlers/CalendarHandler.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/ChatHandler.cpp
	src/server/game/Handlers/LFGHandler.cpp
	src/server/game/Handlers/MailHandler.cpp
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Handlers/PetHandler.cpp
	src/server/game/Handlers/QueryHandler.cpp
	src/server/game/Handlers/TicketHandler.cpp
	src/server/game/Instances/InstanceSaveMgr.cpp
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Spells/Auras/SpellAuras.cpp
	src/server/game/Tickets/TicketMgr.cpp
	src/server/game/Tickets/TicketMgr.h
	src/server/game/World/World.cpp
	src/server/scripts/Commands/cs_gobject.cpp
	src/server/scripts/Commands/cs_instance.cpp
	src/server/scripts/Commands/cs_list.cpp
	src/server/scripts/Northrend/zone_wintergrasp.cpp
	src/server/scripts/Spells/spell_item.cpp
2021-04-15 05:53:27 +02:00
Shauren 6585666e6e Core/Spells: Define all spell modifier types and implement ProcCooldown mod and PeriodicHealingAndDamage for melee periodic damage 2021-03-15 21:03:06 +01:00
Shauren 624881bef5 Core/Spells: Refactor Player::ApplySpellMod to take SpellInfo argument instead of just spell id 2021-03-02 21:32:48 +01:00
Shauren 9011d690c9 Scripts/Events: Fixed memory leak in npc_bountiful_table added in 75df296bb6
(cherry picked from commit 95ea4b5090)
2021-02-15 19:13:25 +01:00
ccrs adb37f1a75 Fix build
(cherry picked from commit 5241c1ad71)
2021-02-15 19:13:25 +01:00
ccrs 92026abee1 Scripts/World: update guard scripts
Also remove deprecated method from Creature

(cherry picked from commit 299323ce5d)
2021-02-15 19:13:25 +01:00
sirikfoll da76a0db5b Core/Scripts Fix issues with Midsummer's Ribbon Pole
Closes #6876

Fixed achievement Burning Hot Pole Dance
Update scripts for quest Torch Tossing, using all correct spells and timers
Updated script register model

(cherry picked from commit 6e7e43172e)
2021-02-15 19:13:25 +01:00
Killyana f40b32a640 Creature/script: Add locales to innkeepers gossip options
(cherry picked from commit 7fd8603ec5)
2021-02-06 21:41:51 +01:00
Killyana a8483d05af Gameobject/Script: Remove outdated script
Ref https://github.com/TrinityCore/TrinityCore/commit/04da37c4fb0eeef6ea3bbbd205c9ffcc1005a86c

(cherry picked from commit 4455c50447)
2021-02-06 21:41:51 +01:00
jackpoz 1c24819741 Core/Misc: Fix static analysis issues
(cherry picked from commit 97f33dc779)
2021-02-06 21:41:51 +01:00
Osleyder Gonzalez Acosta d4ad987010 Core/Misc: Update a few enums from db2 to 9.0.2 (#25956) 2021-01-28 22:02:03 +01:00
Shauren 1b460d4929 Scripts/Chat log: Move LANG_ADDON_LOGGED to addon chat logger 2021-01-10 12:28:02 +01:00
Kyle Phelps ee6e71bbd3 Split all addon chat logs into separate log streams (#25816)
* Split all addon chat logs into separate log streams

* Add missing channels
2021-01-08 23:33:07 +01:00
Wyreth 7204bb35e3 Scripts/World: move Leviroth's item_script to SAI
(cherry picked from commit 17143938d7)
2021-01-08 21:12:11 +01:00
Kittnz 05ee64631d Event/Brewfest: Fix logic for Brewfest Music
Closes #20589

(cherry picked from commit f909d4f195)
2021-01-08 21:12:11 +01:00