Commit Graph

26250 Commits

Author SHA1 Message Date
jackpoz 2d7ec53330 Core/Player: Fix teleporting FlyPath dismounting the player
Issue added in 72fc79a9e6

(cherry picked from commit 4019cae375)
2021-12-11 14:12:53 +01:00
Wyrserth ef4d4e3d98 Core/Loot: make Loot::AddItem() honor LootItem::AllowedForPlayer() so that items that cannot be looted don't prevent skinning. (#23408)
(cherry picked from commit a1b2aa97fc)
2021-12-11 14:12:53 +01:00
Wyrserth 1c8f94a14f Core/Loot: implement automatic pass in group loot for items that cannot be looted. (#23413)
(cherry picked from commit 00fdf6e99a)
2021-12-11 14:12:52 +01:00
Wyrserth 59da957165 Core/Spells: don't allow spells with SPELL_EFFECT_CREATE_LOOT to be cast if there isn't enough space in inventory (#23404)
* Core/Spells: don't allow spells with SPELL_EFFECT_CREATE_LOOT to be cast if there isn't enough space in inventory,

* Move GetFreeInventorySpace() to a better place, thanks ccrs!

(cherry picked from commit 218055280a)
2021-12-11 13:29:39 +01:00
Wyrserth 264373bb65 Core/Creature: prevent dead creatures from setting a focus target, so they won't turn when hit by certain spells. (#23367)
(cherry picked from commit 0a24a6571b)
2021-12-11 13:06:44 +01:00
Giacomo Pozzoni 7a8d15d63b Core/CreatureTemplate: Outsourced resistances and spells into creatur… (#23343)
* Core/CreatureTemplate: Outsourced resistances and spells into creature_template_spell and creature_template_resistance

* Rename 2019_99_99_00_world.sql to 2019_06_15_01_world.sql

(cherry picked from commit d5fb0a30ec)
2021-12-11 13:06:25 +01:00
Wyrserth cc141e9bad Core/Group: implement automatic party/raid leader change when the leader has been offline for two minutes (#23398)
* Core/Group: implement automatic party/raid leader change when the leader has been offline for two minutes.

* Add #23396 to make testing easier.

* Prioritize assistants in raids.

* Fix dumb mistake and apply suggested change, thanks VincentVanclef and jackpoz!

(cherry picked from commit e906a2fe7d)
2021-12-11 13:06:25 +01:00
Wyrserth 7b346bcf8d Core/Loot: fix some issues with master loot and don't allow players to see soulbound recipes that they already learned in the loot window. (#23410)
(cherry picked from commit e6ad9b10cf)
2021-12-11 13:06:25 +01:00
Giacomo Pozzoni 4e7727d575 3.3.5 game event respawn (#23391)
* Core/GameEvent: Remove respawn times of Creature and GameObjects when starting/stopping an event

* Add checks for pool

* Remove the check for pools

(cherry picked from commit 678f3dd687)
2021-12-11 13:06:13 +01:00
Wyrserth 6b7bc82641 Core/Spell: allow Northrend Inscription Research to unlock three recipes the first time it is cast. (#23401)
Also prevent double skill-up because of duplicate UpdateCraftSkill() calls.

(cherry picked from commit 2315d43b2c)
2021-12-11 12:06:54 +01:00
Giacomo Pozzoni 920a18c062 Core/Misc: Fix static analysis issues reported by Coverity Scan
(cherry picked from commit df92ceb9bc)
2021-12-11 12:03:43 +01:00
Wyrserth 81a8366ce5 Core/Player: allow AutoStoreLoot to specify if the looted item should be shown as if created by the player. (#23400)
(cherry picked from commit 8d53d16d16)
2021-12-11 12:03:31 +01:00
Keader 42ad1b86a1 Core/Misc: Implemented Icecrown Citadel buff disable (#23394)
Closes #8576
Closes #7940

(cherry picked from commit 94b60ff0ef)
2021-12-11 11:59:54 +01:00
jackpoz ab3edebb5d Core/Player: Remove all Motion Masters when teleporting
Fix #22859

(cherry picked from commit 72fc79a9e6)
2021-12-11 11:38:24 +01:00
jackpoz 1b6dee9990 Core/SmartAI: Rename SMART_EVENT_HEALT_PCT to SMART_EVENT_HEALTH_PCT
(cherry picked from commit 50ed1bb5b3)
2021-12-11 11:35:07 +01:00
Keader 79d4a0f8aa Scripts/Icecrown Citadel: Fixed Heroic Attempts logic (#23379)
(cherry picked from commit 136964769d)
2021-12-11 01:27:48 +01:00
jackpoz 6303c7bcb1 Core/Logs: Allow to log startup logs into Database appender
(cherry picked from commit dbd8b3fc63)
2021-12-10 22:49:10 +01:00
Wyrserth 88d5b91c05 Script/Dalaran: don't allow Dalaran faction guards to teleport a player that has the Trespasser! debuff. (#23373)
(cherry picked from commit 5016f588d5)
2021-12-10 22:47:33 +01:00
ccrs fb3b94dfe5 Core/Log: 1f85348 followup
add missing logger entries

(cherry picked from commit fb28cee6ee)
2021-12-10 22:46:25 +01:00
ccrs 41dba7c456 Scripts/ZulGurub: general instance related refactoring/updating
plus couple event-spells-ai related corrections
plus codestyle cleanup

(cherry picked from commit 7b2defe5a0)
2021-12-10 22:45:42 +01:00
ForesterDev dd4da6ce5b Core/Logging: Split logs for unknown and zero triggered spells (#23180)
* Core/Conditions: implement CONDITION_GAMEMASTER

* Split logs for unknown and zero triggered spells

* Update SpellAuraEffects.cpp

* Update SpellAuraEffects.cpp

* Update SpellAuraEffects.cpp

* Update SpellEffects.cpp

* Update SpellAuraEffects.cpp

* Update SpellAuraEffects.cpp

* Update SpellEffects.cpp

* Update SpellEffects.cpp

(cherry picked from commit 1f853480ee)
2021-12-10 21:41:50 +01:00
Wyrserth db6fdef3d7 Script/Quest: implement event for the quest Orabus the Helmsman (#23346)
* Script/Quest: implement event for the quest Orabus the Helmsman.

Thanks Wyreth for the original script.

* Fix coordinates that I inverted by mistake.

* Rename 9999_99_99_99_world.sql to 2019_06_04_04_world.sql

(cherry picked from commit b5e04c8920)
2021-12-10 21:38:27 +01:00
Killyana adb5535483 Spell/Script: Stasis Field
Closes #23355

(cherry picked from commit 7dd87e3df4)
2021-12-10 21:37:45 +01:00
Wyrserth b6d28b5497 Script/GunDrak: fix order for yell and altar texts on death for two bosses (#23357)
(cherry picked from commit 65aea13c25)
2021-12-10 21:16:10 +01:00
Wyrserth 647893597c Script/Creature: implement spell effect for the item Prototype Neural Needler used on Imprisoned Beryl Sorcerer (#23349)
* Script/Creature: implement spell effect for the item Prototype Neural Needler used on Imprisoned Beryl Sorcerer.

* Rename 9999_99_99_99_world.sql to 2019_06_03_02_world.sql

(cherry picked from commit eb5d1d3248)
2021-12-10 21:15:56 +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
Wyrserth d037c6b086 Core/SAI: add action_param3 to SMART_ACTION_REMOVEAURASFROMSPELL to allow it to remove only auras from spells that were cast by the entity itself. (#23345)
(cherry picked from commit d365dd9157)
2021-12-10 21:12:25 +01:00
Meji 0a8f79ad5a Core/BattlePets: Improvements when enabling battle pets (#27367) 2021-12-10 20:17:21 +01:00
Shauren 747da1f804 Core/Spells: Implemented SPELL_ATTR1_CAST_WHEN_LEARNED 2021-12-10 18:47:09 +01:00
jackpoz efbb6f5b7d Core/Map: Don't log errors about Area ID 0
Restore a check about Area ID 0 that would silently ignore this case instead of spamming log errors. Check removed in e79c595b69
Fix #23085

(cherry picked from commit bda351d7f1)
2021-12-09 00:32:48 +01:00
jackpoz 363f385fc0 Scripts/HallsOfLightning: Fix Volkhan spamming in chat when wiping at 10% health
Ref #23082

(cherry picked from commit 2d5387ea42)
2021-12-09 00:32:32 +01:00
Ovah 0feebcdf5b Core/Groups: do not allow lfg groups to change the loot mode (#23336)
While the UI does not allow changing the loot mode you can still trigger the opcode by running interface scripts which we will now block as well so nobody can ninja-loot anymore.

(cherry picked from commit 49a9cbf20a)
2021-12-09 00:32:17 +01:00
jackpoz b4652a38d3 Core/Misc: Headers cleanup
Use simple std::string concatenation instead of stringstream to avoid including <sstream> header.

(cherry picked from commit 9c790e231e)
2021-12-09 00:32:05 +01:00
Giacomo Pozzoni 33347c7d5f Core/Misc: Fix static analysis issues
Fix static analysis issues reported by Coverity Scan

(cherry picked from commit e12398afdc)
2021-12-09 00:24:41 +01:00
Nitair f6048aca9a Scripts/Stratholme: Baron Rivendare rewrite (#22572)
* Adding last state of rivendare rewrite

* Fix aura beeing removed on reset, fix death pact

* Not needed

* SQL: Changed remove/inset into update, fixed delete at conditions part

* Typo

* Remove link spell, fix blank lines, change magic numbers to enum

* Test changes with SpellScript and DoCastSelf

* Revert SpellScript and moved DoCastSelf for the aura into UpdateAI part

* Damn, copyright.

* Fix Unholy Aura

* Fix again (does attack now / does cast if encounter resets)

* Adding handling of the aura to the db

* Rename 2018_99_99_99_world_335.sql to 2019_05_31_02_world_335.sql

(cherry picked from commit ee5101fbf7)
2021-12-09 00:24:26 +01:00
Wyrserth 9d865f7536 Core/Misc: don't allow players to use/activate/loot non-allowed gameobjects while under the effect of a damage immunity aura (#23319)
* Core/Misc: don't allow players to use/activate/loot non-allowed gameobjects while under the effect of a damage immunity aura.

* Forgot to change this in last-second rename.

* Apply suggested changes, thanks Shauren!

(cherry picked from commit 8bc5451864)
2021-12-09 00:13:59 +01:00
jackpoz 049606e31e Core/MovementGenerator: Add more details to asserts
Implement GetDebugInfo in MovementGenerator, PathMovementBase, FlightPathMovementGenerator, WaypointMovementGenerator.
Add an additional assert in FlightPathMovementGenerator::DoEventIfAny(), the input node must not be null

(cherry picked from commit 9da8123959)
2021-12-08 23:51:21 +01:00
Wyrserth 1edd93bc0c Core/Script: add script hook to allow overriding of a vehicle passenger's exit position (#23322)
* Core/Script: add script hook to allow overriding of a vehicle passenger's exit position.

* Allow to change orientation, and fix nopch.

* Keep original orientation, thanks jackpoz!

* Update Unit.cpp

Code cleanup

* Update Unit.cpp

(cherry picked from commit 88c6c61b95)
2021-12-08 23:51:07 +01:00
jackpoz 2cade0e6e3 Core/Channel: Sanitize channel names
(cherry picked from commit 7b8f294c02)
2021-12-08 23:47:07 +01:00
jackpoz 97249ff7b4 Core/Channel: Fix CRT Debug Assert triggered with invalid channel names
(cherry picked from commit f0bd90cc35)
2021-12-08 23:43:19 +01:00
Giacomo Pozzoni 6e28ecd22e Core/Movement: Fix assertion triggered in SplineChainMovementGenerator
Fix an assertion triggered in SplineChainMovementGenerator happening when a new generator is added while last spline of the SplineChainMovementGenerator is being processed but is not finalized yet.
Fix #23077

(cherry picked from commit 5d7f0eef6e)
2021-12-08 23:35:01 +01:00
Ovah 0d433b1bc8 Core/Players: out of range group updates will now get sent every 5 seconds instead of as soon as they are available to reflect retail behaivior. (#23323)
* according to sniffs the group update packet for out of range members has a fixed 5 seconds interval instead of spaming packets like crazy for example when updating positions. On 4.x and above this will fix a very nasty and ugly fps drop
* validated with 4.3.4 and 3.3.5 sniffs

(cherry picked from commit 635cefc67e)
2021-12-08 23:22:12 +01:00
lactoseti 6b2e40257a Creature/Script: npc_tallhorn_stag
Ref #2623

(cherry picked from commit bfffa5d45e)
2021-12-08 23:20:51 +01:00
Wyrserth 2344671af5 Core/Console: start CliRunnable thread after all log messages have been printed. (#23321)
(cherry picked from commit d8ce37e0c9)
2021-12-08 21:55:04 +01:00
Ovah 09fe78dd59 Core/GameObjects: goober gameobjects may reset only if they have a lock id or a reset time specified (#23298)
* Core/GameObjects: goober gameobjects may reset only if they have a lock id

Tests have shown that Goobers without a lock id (Data0=0) are not allowed to reset their go state such as the teleporters in Ulduar and Icecrown Citadel. The tests has been expanded by checking 4.x goobers as well and the perfect example that confirms that result is the Ancient Bell for Atramedes' intro which also is not suposed to reset after using it.

* Core/GameObjects: allow to reset goobers without a lock id if a reset time is defined

* fixed a typo

(cherry picked from commit a70845c93d)
2021-12-08 21:54:41 +01:00
jackpoz e9aed3e442 Core/SmartAI: Improve SMART_EVENT_GOSSIP_HELLO
Add another value to event_param1 for SMART_EVENT_GOSSIP_HELLO to support all cases of OnGossipHello/OnReportUse in GameObjects:
- event_param1 set to 0: execute the action for both OnGossipHello and OnReportUse. This might result in the action being executed twice when clicking the GameObject
- event_param1 set to 1: execute the action for only OnGossipHello
- event_param1 set to 2: execute the action for only OnReportUse

(cherry picked from commit 9e58ef6940)
2021-12-08 21:33:58 +01:00
Kittnz 9c2ce24c8a Core/Weather: Define WEATHER_STATE_DRIZZLE state
(cherry picked from commit cf05c3dd2c)
2021-12-08 20:37:10 +01:00
Killyana 8f1020ec78 DB/Creature: Hydross the unstable npc triggers
Update the correct channel spell SPELL_BLUE_BEAM and spawn triggers used to cast it

(cherry picked from commit 2829f5fb9c)
2021-12-08 20:36:43 +01:00
Killyana 229d35adba DB/Creature: Dark Portal Dummy 1.30
(cherry picked from commit fdec429f18)
2021-12-08 20:31:38 +01:00
Shauren a937767289 Core/Misc: Exclude boost 1.78 and newer from boost_1_73_process_windows_nopch hack 2021-12-08 19:02:59 +01:00