Commit Graph

21578 Commits

Author SHA1 Message Date
jackpoz
12de860b4a Scirpts/Commands: Fix crash in ".reload creature_template <entry>" 2019-06-09 18:58:03 +02:00
jackpoz
72fc79a9e6 Core/Player: Remove all Motion Masters when teleporting
Fix #22859
2019-06-09 16:33:27 +02:00
jackpoz
50ed1bb5b3 Core/SmartAI: Rename SMART_EVENT_HEALT_PCT to SMART_EVENT_HEALTH_PCT 2019-06-07 21:57:32 +02:00
Keader
136964769d Scripts/Icecrown Citadel: Fixed Heroic Attempts logic (#23379) 2019-06-07 08:18:48 -03:00
jackpoz
dbd8b3fc63 Core/Logs: Allow to log startup logs into Database appender 2019-06-06 14:39:29 +02:00
Wyrserth
5016f588d5 Script/Dalaran: don't allow Dalaran faction guards to teleport a player that has the Trespasser! debuff. (#23373) 2019-06-06 11:40:53 +02:00
Wyrserth
41931c069d Script/ZulGurub: implement several RP texts (#23358) 2019-06-05 23:01:38 +02:00
ccrs
fb28cee6ee Core/Log: 1f85348 followup
add missing logger entries
2019-06-05 21:53:40 +02:00
Wyrserth
1cb01700b1 Script/ZulGurub: allow Hakkar to cast Mind Control only if more than one unit is currently fighting him.
Also fix target type - it should always target the current tank.
2019-06-05 21:49:52 +02:00
ccrs
7b2defe5a0 Scripts/ZulGurub: general instance related refactoring/updating
plus couple event-spells-ai related corrections
plus codestyle cleanup
2019-06-05 21:43:55 +02:00
ForesterDev
1f853480ee 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
2019-06-05 09:09:17 +02:00
Wyrserth
b5e04c8920 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
2019-06-04 19:21:40 +02:00
Killyana
7dd87e3df4 Spell/Script: Stasis Field
Closes #23355
2019-06-04 18:25:21 +02:00
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