Commit Graph
2475 Commits
Author SHA1 Message Date
Ovahlord b875d77dc8 Core/SAI: refactored SMART_EVENT_FRIENDLY_HEALTH_PCT to reflect the behavior of SMART_EVENT_FRIENDLY_HEALTH
* added radius event parameter to limit the search range of the executing creature
* moved the pct check to a macro and corrected the selection logic to support all target types
2021-02-25 15:40:05 +01:00
Giacomo Pozzoni 5e3b57bae7 Core/Unit: Fix movement hiccups in water
* Core/Unit: Allow to define Units which can enter water but cannot swim

Allow to define Units which can enter water but cannot swim, i.e. crabs walking at the bottom of a sea.

* Add UNIT_FLAG_SWIMMING to creatures when entering combat

* Fix charmed creatures not entering water

* Always allow Creatures controlled by players to enter water

* Add swimming flag when possessing a unit and remove it properly at the end, even if the creature engaged combat before and after.
When adding/removing UNIT_FLAG_SWIMMING manually calling Creature::RefreshSwimmingFlag(true) might be required.
2021-01-11 12:33:54 +01:00
Ovahlord 4f50bafd03 Scripts/Ulduar: apply stalker feedback
:)
2021-01-06 15:59:33 +01:00
Ovahlord 4bc9b50a76 Scripts/Ulduar:
* initialize Assembly of Iron's boss state on instance creation
* corrected the spell id usage for Steelbreaker's Static Disruption
* moved the Lightning Elemental Passive aura to the AI script instead of setting it in template addon
* Static Disruption will no longer target non-player targets to reflect its spell attributes
* apply the Shield of Runes buff only when the aura has been removed by breaking the absorb aura instead of when it has expired
* apply script naming consistency to Molgeim's Shield of Runes script name
* removed wrong instance bind extra flags from Assembly of Iron bosses
* corrected credit type for Assembly of Iron's instance encounter entry
* registered a missing spell script function
2021-01-06 15:32:33 +01:00
Ovahlord 754c138f89 Core/Spells: ported CastSpell unclusterfucking from 3.3.5 branch 2020-11-04 22:37:11 +01:00
Ovahlord 561cb13ceb Scripts/Ulduar: some codestyle improvements for Assembly of Iron 2020-10-22 11:51:12 +02:00
Ovahlord 90e5e85afd Core/Misc: updated a bunch of packets to packet class 2020-10-21 12:04:13 +02:00
Ovahlord 321a9d2b0a Scripts/Ulduar: added more cleanup mechanics to Runemaster Molgeim 2020-10-01 21:00:45 +02:00
Ovahlord 82a5ba527e Scripts/Ulduar: restored boundary functionality for Assembly of Iron encounter 2020-10-01 20:45:51 +02:00
Ovahlord af164c8ace Scripts/Ulduar: minor cleanup 2020-10-01 20:28:56 +02:00
Ovahlord d753df4ae9 Core/Spells: improved spell finish reason enum naming for finished channeled spells 2020-10-01 20:24:03 +02:00
Ovahlord e04389e539 Scripts/Ulduar: reworked Assembly of Iron encounter 2020-10-01 16:59:18 +02:00
Ovahlord c9afa1a6ed Core/Units: renamed SetInFront to SetOrientationTowards to clarify its actual functionality and added comments to SetOrientationTowards, SetFacingTo and SetFacingToObject 2020-09-23 20:48:44 +02:00
Wyrserth d2b27bc43c 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!

# Conflicts:
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/Unit/UnitDefines.h
#	src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp
#	src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp
2020-09-11 15:06:15 +02:00
Ovahlord b85168975f fixed a warning 2020-08-29 11:43:24 +02:00
kvipka e6e20bd574 Scripts/InstanceScript: Fix an issue where LoadAllGrids would load creatures before TeamInInstance was properly set (PR #25340)
# Conflicts:
#	src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
2020-08-29 00:48:20 +02:00
Warpten 2b2fc5fb8a Core/Spells: remove PrepareSpellScript and PrepareAuraScript macros and make Hooklist use emplace behaivior (#174) 2020-08-28 15:40:26 +02:00
Shauren 44e0d6c0f9 Scripts/Spells: Replace RegisterAuraScript with RegisterSpellScript and remove it 2020-08-23 17:44:48 +02:00
Ovahlord 52287e1f07 Core/SAI: ported set speed, weather and override light smart actions from 335 2020-08-22 18:16:03 +02:00
Ovahlord e1a678e529 Scripts/Naxxramas: cleaned up 'Frogger' event and use sniffed values for intervals, movement speeds and overall despawn behaivior 2020-08-06 17:38:19 +02:00
Gildor 4a611f5596 Scripts/Naxxramas: Frogger event improvements (#25202)
* Scripts/Naxxramas: Frogger event improvements
* Prevent Living Poison accumulation
* Now Living Poison cast Explode

* check for a nearby player

* move event to the frogger trigger's AI

* Initialize and removing unnecessary things

* applying suggestions

* remove unnecessary header

* Rename 9999_99_99_99_world.sql to 2020_08_05_00_world.sql
# Conflicts:
#	sql/updates/world/4.3.4/2020_08_05_00_world.sql
#	src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
2020-08-06 15:56:59 +02:00
Gildor 9b59fba528 Scripts/Naxxramas: Fix Kel'thuzad evade mode when he dies (#24763) 2020-07-27 21:30:11 +02:00
Ovahlord 9550c710a7 Scripts/ICC: remove Sindragosa's immune to pc flag when landing to enable attacks 2020-07-26 17:38:11 +02:00
Ovahlord d7d2144f19 fixed warnings 2020-07-24 13:30:16 +02:00
Shauren 07099840db Scripts: Fix rbac permission for skipping default boss sequencing check
# Conflicts:
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
#	src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
#	src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
#	src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
#	src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
#	src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
#	src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
#	src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
#	src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
#	src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
#	src/server/scripts/Northrend/Gundrak/boss_eck.cpp
#	src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
#	src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
#	src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
#	src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
#	src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
#	src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
#	src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
#	src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
#	src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
#	src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
#	src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
#	src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp
#	src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
#	src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp
#	src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
#	src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
#	src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
#	src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
#	src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp
#	src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_mennu_the_betrayer.cpp
#	src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_rokmar_the_crackler.cpp
#	src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
#	src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
#	src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
#	src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
#	src/server/scripts/Outland/TempestKeep/arcatraz/boss_dalliah_the_doomsayer.cpp
#	src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp
2020-07-24 13:08:04 +02:00
Ovahlord 75bb3f6f79 Scripts/ICC: ported some fixups for Valithria Dreamwalker and Deathbringer Saurfang 2020-07-24 00:02:32 +02:00
Ovahlord aec1d1a2fa Misc: fixed build 2020-07-23 17:00:54 +02:00
Treeston 5823afac9f Scripts/ICC: Professor Putricide no longer tries to add threat on units it cannot add threat on because of immunity flags. Instead, its AI manually controls the engagement state. Should close #23727. 2020-07-22 19:22:54 +02:00
Ovahlord 2c88471fe3 Scripts/Misc: more followups 2020-07-22 19:20:54 +02:00
Treeston c7c4f267c4 Core/AI: Finally move the "is creature engaged" flag to be a property of the creature AI, where it honestly always belonged. Fixes #17981 and #23602 for real this time. 2020-07-22 19:14:52 +02:00
Ovahlord 82d9fba979 Scripts/Naxxramas: ported several updates for Thaddius 2020-07-22 18:46:55 +02:00
Treeston db3282e65a Combat/Threat: Split ThreatManager::NotifyDisengaged off from ThreatManager::ClearAllThreat. NotifyDisengaged signifies intent to clear the engagement flag, and should only be called from AI. Fixes #23490.
# Conflicts:
#	src/server/game/AI/CreatureAI.cpp
#	src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
#	src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
#	src/server/scripts/Kalimdor/zone_desolace.cpp
#	src/server/scripts/Northrend/zone_borean_tundra.cpp
2020-07-22 18:38:35 +02:00
Ovahlord de6a514ec5 Core/Misc: fixed build 2020-07-22 18:35:41 +02:00
Treeston 7df7dcca7d Core/Threat: Threat system adjustments:
* Online states are now re-evaluated before victim update instead of continuously. Closes #22226. Tagging #21501.
* Victim update now happens every 1s as opposed to every server tick unless current target goes away.
* Suppressed threat is no longer re-established until the victim gains additional threat (by hitting the target, for instance).
* Assistance threat is now split between non-controlled units threatened by target, as opposed to all units threatened by target.

# Conflicts:
#	src/server/game/Combat/ThreatManager.cpp
2020-07-22 17:44:05 +02:00
Treeston 607069de36 Core/AI: Remove unnecessary parameter from DoZoneInCombat after eb1972f 2020-07-22 17:38:11 +02:00
Treeston 1d16b98d52 Core/AI: Some cleanup to DoZoneInCombat and Malygos' AI that I found while working out #22226.
# Conflicts:
#	src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
2020-07-22 17:37:49 +02:00
Treeston 31f3cb203b Core/Threat: My dictionary informs me that "fixtate" is not, in fact, a word. Corrected to "fixate".
fd33b1c follow-up
2020-07-22 17:33:27 +02:00
Treeston d9e6e82c7d 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.

# Conflicts:
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/Entities/Pet/Pet.cpp
#	src/server/game/Entities/Unit/UnitDefines.h
#	src/server/game/Spells/Auras/SpellAuraEffects.cpp
#	src/server/game/Spells/Spell.cpp
2020-07-22 17:32:51 +02:00
Treeston bd0408ff1a Core/Combat: Unify combat permitted checks between CvC and PvC - only require "not friendly" in all cases. Fixes Yogg-Saron encounter. Closes #21380.
Also some bonus cleanup to Yogg's script to make transition cleaner.

# Conflicts:
#	src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
2020-07-22 17:26:26 +02:00
Treeston 0d50435008 Scripts/AzjolNerub: Clean up Hadronox to hopefully avoid any further evade issues. Tag #20310. 2020-07-22 17:22:35 +02:00
Treeston fb83408023 Revert "Scripts/Northrend: Malygos now uses modifiable threat list when teleporting after vortex. Fixes a crash. Closes #21315."
This reverts commit 6bbc95f3a0078e5d121e7092a60fa85b24c725d9, which is made unnecessary by 65709e1c3081c97442792695cbc0f0826015d625.
2020-07-22 17:20:20 +02:00
Treeston 8cde9455b7 Scripts/Northrend: Malygos now uses modifiable threat list when teleporting after vortex. Fixes a crash. Closes #21315. 2020-07-22 17:20:11 +02:00
Treeston 18c944cfda Scripts/Ulduar: Flame Leviathan used a very weird mixture of victim logic and REACT_PASSIVE, which broke during transition to the new system. Replaced with a working version.
Closes #21265.
2020-07-22 17:19:07 +02:00
Treeston 0425a52d7e Scripts/ICC: Valithria Dreamwalker's script no longer despawns unrelated mobs in Frostwing Halls, and thus won't get them stuck in a despawned state due to linked_respawn.
Closes #21286.
2020-07-22 17:18:23 +02:00
Keader 24482e1398 Scripts/Utgarde Keep: Fixed Ingvar evade in phase 2 (again)
Closes #21264
2020-07-22 17:13:14 +02:00
Keader c3d957f90e Scripts/Pit of Saron: Fixed Tyrannus not working after evade
# Conflicts:
#	src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
2020-07-22 17:11:49 +02:00
Treeston 4411a5389c 9ad11e6 follow-up, prevent Halion respawn without loot
tagging #21198
2020-07-22 16:59:17 +02:00
Treeston c328eb6b10 typo fix 2020-07-22 16:59:08 +02:00
Treeston 523059f80e Core/Threat: Fix a potential exploit allowing players to damage a boss without them taking damage.
Scripts/Halion: General cleanup of old hacks no longer needed under new combat system.
2020-07-22 16:59:00 +02:00
Moein d82abd8256 MovementInform should overrides 2020-07-22 16:51:52 +02:00