Commit Graph

21565 Commits

Author SHA1 Message Date
Wyrserth
65aea13c25 Script/GunDrak: fix order for yell and altar texts on death for two bosses (#23357) 2019-06-03 22:35:50 +02:00
Wyrserth
eb5d1d3248 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
2019-06-03 19:49:35 +02:00
Shauren
b64583b7c1 Build: Fixed dynamic PCH builds 2019-06-02 23:39:24 +02:00
Wyrserth
d71a0608bf 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.
2019-06-02 21:42:24 +02:00
Wyrserth
d365dd9157 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) 2019-06-02 21:40:55 +02:00
jackpoz
bda351d7f1 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
2019-06-01 15:59:52 +02:00
jackpoz
2d5387ea42 Scripts/HallsOfLightning: Fix Volkhan spamming in chat when wiping at 10% health
Ref #23082
2019-06-01 15:16:30 +02:00
Ovah
49a9cbf20a 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.
2019-06-01 08:39:06 +02:00
jackpoz
9c790e231e Core/Misc: Headers cleanup
Use simple std::string concatenation instead of stringstream to avoid including <sstream> header.
2019-05-31 21:45:37 +02:00
Giacomo Pozzoni
e12398afdc Core/Misc: Fix static analysis issues
Fix static analysis issues reported by Coverity Scan
2019-05-31 12:21:48 +02:00
Nitair
ee5101fbf7 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
2019-05-31 08:26:42 +02:00
Wyrserth
8bc5451864 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!
2019-05-30 20:07:46 +02:00
jackpoz
9da8123959 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
2019-05-30 19:50:00 +02:00
Wyrserth
88c6c61b95 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
2019-05-30 17:35:18 +02:00
jackpoz
7b8f294c02 Core/Channel: Sanitize channel names 2019-05-29 23:02:40 +02:00
jackpoz
f0bd90cc35 Core/Channel: Fix CRT Debug Assert triggered with invalid channel names 2019-05-29 21:12:50 +02:00
Giacomo Pozzoni
5d7f0eef6e 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
2019-05-29 14:16:20 +02:00
Ovah
635cefc67e 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
2019-05-27 16:37:47 -03:00
lactoseti
bfffa5d45e Creature/Script: npc_tallhorn_stag
Ref #2623
2019-05-27 03:21:36 +02:00
Wyrserth
d8ce37e0c9 Core/Console: start CliRunnable thread after all log messages have been printed. (#23321) 2019-05-26 23:01:50 +02:00
Ovah
a70845c93d 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
2019-05-26 21:54:09 +02:00
jackpoz
9e58ef6940 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
2019-05-26 12:44:58 +02:00
Kittnz
cf05c3dd2c Core/Weather: Define WEATHER_STATE_DRIZZLE state 2019-05-25 18:17:53 +02:00
Killyana
2829f5fb9c DB/Creature: Hydross the unstable npc triggers
Update the correct channel spell SPELL_BLUE_BEAM and spawn triggers used to cast it
2019-05-25 04:26:58 +02:00
Killyana
fdec429f18 DB/Creature: Dark Portal Dummy 1.30 2019-05-25 02:51:42 +02:00
Gildor
ad89472fe3 Core/Spells: Fix spells with Health Leech effect, now check damage absorb when calculate Heal (#23312)
Closes: #23311
2019-05-24 21:44:26 +02:00
jackpoz
507a56d627 Core/SmartAI: Implement SMART_EVENT_SUMMONED_UNIT and SMART_EVENT_SUMMON_DESPAWNED for GameObject owners 2019-05-24 20:52:54 +02:00
Ianislav Vasilev
45887846b6 Scripts/Zul'Gurub 22974 high priestess marli hatching eggs (#23212)
* Issue 22974: Initial bugfix suggestion.

* Fixed allignment.

* Removed unused call.

* Initial spider spawn targeting is done.

* Resolves issue 22874. Initial implementation suggestion.

* Commenting out dead code.

* Reordered private members to meet standards of member initializer list.

* Removing unused parameter and changing data structure from list to vector.

* Changed list to vector in the grid notifier.

* Removing comments and fixing identation.

* Stupid collapsed blocks.

* 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

* Cleaned up all the core changes and scripted eggs and spell according to pull request comments.

* Fix no-pch build.

* Fix no-pch build 2.

* Added sql file for the spell and gameobject script.

* Update 2019_05_20_00_world.sql

* Added conditions to spell thanks @xvywh and some minor changes to the code.

* Removed some strange leftovers.

* Removed obsolete brackets.

* Rename 2019_05_20_00_world.sql to 2019_05_24_00_world.sql
2019-05-24 08:45:37 +02:00
Giacomo Pozzoni
797fba98e9 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
2019-05-23 21:08:29 +02:00
jackpoz
457fc22473 Core/SmartAI: Fix SMART_EVENT_SUMMON_DESPAWNED
Fix SMART_EVENT_SUMMON_DESPAWNED not working when event_param1 was set to any value other than 0
2019-05-23 20:54:09 +02:00
Shauren
9dbedb6b64 Core/GameObjects: Validate rotation quaternion at startup
Ref #23306
2019-05-23 20:00:35 +02:00
ccrs
e4a1556e09 Core/PetAI: apply some movement related corrections
Unit::StopMoving() is evil, and so is MotionMaster::Clear()

the first can really mess up existing movement generators
the second can interrupt "controlled" movements... can do it literally mid-air
2019-05-19 23:59:52 +02:00
ccrs
c826ec0a3c Core/Handlers: apply some movement related corrections
Unit::StopMoving() is evil, and so is MotionMaster::Clear()

the first can really mess up existing movement generators
the second can interrupt "controlled" movements... can do it literally mid-air
2019-05-19 11:58:03 +02:00
ccrs
48208b8dde Core/Handlers: random PetHandler cosmetics & codestyle 2019-05-19 11:55:33 +02:00
ccrs
2b78c70810 Core/Movement: move DelayedAction into MotionMaster and add a couple defines 2019-05-19 11:38:10 +02:00
jackpoz
3828596847 Core/Packet: Clean up packet creation
Clean up packet creation by removing some unneeded checks to specify the exact packet size to reserve.
It's cheaper and easier to just always specify the max size as it's a matter of a few bytes only anyway.
2019-05-18 20:37:18 +02:00
jackpoz
a0bd68cf46 Core/Misc: Fix static analysis issues reported by Coverity 2019-05-18 16:12:23 +02:00
Killyana
a0d41c314f Spell/Scripts: Add cooldown for Arcano-Scorp spells
Closes #23287
2019-05-18 01:31:41 +02:00
Wyrserth
404c4f8091 Core/Scripts: implement a PlayerScript hook called when a quest's objective receives progress (#23286) 2019-05-17 20:38:15 +02:00
Ianislav Vasilev
908fbf48d2 Scripts/Blackrock Depths: High Priestess of Thaurissan (#23230)
* Initial fix suggestion for 22660.

* Removed todo related to the work done in this branch.

* Removing obsolete braces and added failfast check.

* Refactored the logic about having the quest.

* Removing obsolete braces.

* Adding reference to incomplete type.

* Switching from forward declaration to header where type is defined.

* Including Player type definition in order to work with nopch.

* Update src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp

Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com>

* Update src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp

Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com>

* Reverted mistakenly deleted todo
2019-05-17 14:50:27 +02:00
Wyrserth
4d04344b41 Core/Spell: add proper cooldowns to some spells used by vehicles (#23260)
* Core/Spell: add proper cooldowns to some spells used by vehicles, thanks to jackpoz and sirikfoll.

* Add Wing Buffet and Stampy's Stompy-Stomp.

* Add Tag Greater Felfire Diemetradon and Touch of Darkness.

* Rename 9999_99_99_99_world.sql to 2019_05_17_00_world.sql
2019-05-17 12:08:20 +02:00
ccrs
71e7394b74 Build: fix variable order initialization error
fatal error: field 'Action' will be initialized after field 'Validator' [-Wreorder]
2019-05-17 01:13:42 +02:00
ccrs
b2b85dedb6 Core/Movement: implement MotionMasterDelayedAction validator 2019-05-17 01:07:27 +02:00
ccrs
acbfac7b13 Core/AI: PetAI method reordering 2019-05-17 00:18:09 +02:00
Killyana
9435caa8d1 Instance/Script: Blood Furnace
Ref #23285
2019-05-16 19:31:54 +02:00
ccrs
74678b247e Core/PetAI: apply some movement related corrections
Unit::StopMoving() is evil, and so is MotionMaster::Clear()

the first can really mess up existing movement generators
the second can interrupt "controlled" movements... can do it literally mid-air
2019-05-16 01:11:13 +02:00
ccrs
a4e94dcf6b Core/PlayerAI: apply some movement related corrections
Unit::StopMoving() is evil, and so is MotionMaster::Clear()

the first can really mess up existing movement generators
the second can interrupt "controlled" movements... can do it literally mid-air
2019-05-16 00:44:50 +02:00
ccrs
79b90f9d3a Core/Misc: remove incorrect ClearUnitState calls related to movement
these unit states should never be removed outside motionmaster's handlings
2019-05-16 00:21:09 +02:00
Aokromes
61ba477c77 Core/Creature: equipment_id field on creature table is not working correctly, if it's set to 0 the npc still spawn with the equipement. (#23273)
By Malcrom
Closes #16416
2019-05-15 23:12:38 +02:00
ccrs
f309b49eb1 Core/AI: couple movement related corrections in FollowerAI
plus EnterEvadeMode streamline
2019-05-15 22:23:04 +02:00