Commit Graph

2099 Commits

Author SHA1 Message Date
Treeston
b243a7929b Scripts/AzjolNerub: Hadronox is a big spider mommy, and needs more room to pet her spider pets properly. Hopefully this'll reduce the number of evades happening during the encounter. Tag #20310. 2018-02-12 03:08:34 +01:00
ariel-
477878630e Core/Scripts: implemented Combined Toxins proc only from poisons 2018-02-11 21:10:56 -03:00
jackpoz
5aba5c7aff Scripting/Obsidian Sanctum: Fix crash
Fix crash caused by calling Reset() in constructor (which is not allowed)
2018-02-11 15:53:30 +01:00
Keader
2994abeae6 Scripts/Icecrown Citadel: Fixed Sindragosa spawn after grid unload
ty sirikfoll :)
2018-02-09 16:02:00 -02:00
Keader
31ad6358fb Core/Scripts: Fixed tabs issues introduced in 5bef3e426a 2018-02-08 10:16:19 -03:00
Keader
5bef3e426a Core/Scripts: Fixed possible crashs related with JustDied 2018-02-08 10:05:08 -03:00
ariel-
b490d3f5ad Core/Scripts: fix non-functional Celestial Planetarium Access GO
- Client only sends CMSG_GAMEOBJ_REPORT_USE for this one

Closes #19982
2018-02-06 13:59:08 -03:00
Treeston
4bd2d28119 Revert "Scripts/Northrend: Malygos now uses modifiable threat list when teleporting after vortex. Fixes a crash. Closes #21315."
This reverts commit 6bbc95f3a0, which is made unnecessary by 65709e1c30.
2018-02-05 10:14:00 +01:00
Treeston
6bbc95f3a0 Scripts/Northrend: Malygos now uses modifiable threat list when teleporting after vortex. Fixes a crash. Closes #21315. 2018-02-05 01:38:56 +01:00
Treeston
b3e0c89238 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.
2018-02-04 21:27:48 +01:00
Treeston
aefc25482f 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.
2018-02-04 01:32:30 +01:00
sirikfoll
a217c0be92 Scripts/Icecrown Citadel: Corrected Val'kyr Shadowguard positioning on heroic mode (Lich King)
Movement was being prevented by spell cast
2018-01-31 00:59:14 -02:00
Shauren
aaab7ba9f4 Scripts/Icecrown Citadel: Added missing cosmetic colors and emotes to Big Ooze (Rotface) 2018-01-28 23:29:33 +01:00
ariel-
6dd465c441 Core/Scripts: reverted Auriaya spell script logic
Thanks Shauren for spotting it
2018-01-24 12:32:26 -03:00
ariel-
c099174ff7 Core/Misc: fix some /W4 warnings and some reported by GCC 6.3 2018-01-22 23:55:33 -03:00
ariel-
7c9722a4ae Core/Entities: killed Creature::SetInCombatWithZone and replaced with AI version
Closes #12108 (again)
2018-01-22 15:00:55 -03:00
joschiwald
5f54149107 Core/Battleground: Dropped battleground texts from trinity_string and replaced them with proper BroadcastText
(cherry picked from commit ed318fdc46)

Fixed nopch build
(cherry picked from commit 6eff69818b)

Fixed nopch build again
(cherry picked from commit 3039f4bf86)
2018-01-21 13:41:02 +01:00
ariel-
9f5d1e2b10 Core/Scripts: fix wrong uses of SetHitDamage hook.
This hook modifies damage AFTER it has been reduced by target auras/armor/resistances etc, it's useful if you want to scale damage by a factor, but not to add flat bonuses.
We're fixing those by moving calculation to Launch phase, where target taken bonuses haven't been used yet.

- Bronjahm: Magic's Bane
- BPC: Shadow Prison
- Oculus: Shock Lance
- Ymiron: Dark Slash (extra fix, it was wrongly damaging half of total health, it's supposed to be half of CURRENT health!)
- DK: Raise Ally Thrash spell (also extra fix: corrected formula)
- Warrior: Bloodthirst (shouldn't matter much as it's damage class none and those don't get bonuses by default)
- Warrior: Concussion Blow
- Warlock: extra fix for Haunt, healing part shouldn't scale with spell power

Closes #9560
2018-01-20 21:09:22 -03:00
Keader
96983fc6bb Scripts/Utgarde Keep: Fixed Ingvar evade in phase 2 (again)
Closes #21264
2018-01-19 20:56:27 -02:00
ariel-
0db5c2df3f Core/Scripts: added nullptr checks to DamageTaken hooks
Since cb9e72e521 attacker may not be in world when hook is called
2018-01-18 13:58:40 -03:00
Treeston
d9d26200f7 Scripts/AzjolNerub: Missing nullptr check in Hadronox. Closes #21258. 2018-01-18 16:47:31 +01:00
Treeston
0319c713a4 DB/SpawnGroup: instance_spawn_group data for map 576 (The Nexus) 2018-01-18 16:06:08 +01:00
Keader
0b09e9ee4e Scripts/Pit of Saron: Tyrannus followup
fix new issue caused by 947cb6a453
2018-01-16 20:38:38 -02:00
Keader
947cb6a453 Scripts/Pit of Saron: Fixed Tyrannus not working after evade 2018-01-16 18:32:17 -02:00
Keader
a41cd41695 Scripts/Trial Of The Crusader: Lord Jaraxxus rework (#21216) 2018-01-15 19:47:15 -03:00
ariel-
3b01cccd7e Core/Spell: SpellValueOverrides encapsulation
- No sense to let scripts use SpellValueOverrides, we already have modifiers in CastSpellExtraArgs struct
2018-01-13 20:49:43 -03:00
ariel-
cb9e72e521 Core/Auras: removed caster dependency from core
- Decoupled Unit logic: split of spell critical chance into done (caster bonuses) and taken (target bonuses), this allows to precalculate caster bonuses on aura apply and then check victim's auras on damage/healing calc
- Made static a bunch of methods (they no longer have this pointer because they are now called from periodic handlers which may or may not have an active caster in world)
- Simplified all AuraEffect bonuses into AuraEffect::_amount, no more duplicated code
- Critical chance and whether or not caster is player owned unit (for resilience calcs) is now saved one level upper, on Aura itself (it's impossible as of 3.3.5 to have different effects with different critical chances)
- Minor cleanup of SPELL_DAMAGE_CLASS_NONE and Arcane Potency (#18813) crit handling

Closes #19876
2018-01-13 06:45:21 -03:00
Treeston
f0a394753a 9ad11e6 follow-up, prevent Halion respawn without loot
tagging #21198
2018-01-07 23:13:20 +01:00
Treeston
663a6f2f23 typo fix 2018-01-07 20:35:24 +01:00
Treeston
9ad11e67fb 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.
2018-01-07 20:32:30 +01:00
Treeston
3bb33e3108 Core/Map: New Map::ForceRespawn to override objections and force a respawn (equivalent to force = true). Use this to fix various GM commands.
Scripts/Valithria: Fix an issue that could get the encounter stuck in an unloaded state.
2018-01-07 19:53:39 +01:00
Moein
18f5eae835 MovementInform should overrides 2018-01-04 09:52:48 +01:00
Treeston
9f9507e6a1 Core/Misc: A variety of clean-up changes, mostly following up on 532ab1c to fix legacy bugs exposed by it:
- Triggers can no longer have a threat list (this may expose some ugliness in old legacy scripts)
- Threat entries are forced to OFFLINE if the AI refuses to attack the target
- Clean up passive creature evade behavior to be more consistent
- Fix a months old issue in spawn group management that would cause "Inactive" to incorrectly show in .list respawns for system groups outside of map 0
- Valithria script cleanups, remove old hacks and make it work with the new system. Closes #21174.
- Some strings cleanup
2018-01-04 04:46:41 +01:00
Treeston
532ab1c7f8 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.
2018-01-03 20:04:19 +01:00
ariel-
de3fd4d076 Core/Scripts: fix issues with 'Squeeze' on Yogg-Saron encounter
- Unassigned spell script for 25-man difficulty
- Didn't remove aura on 25-man when tentacle killed
2018-01-02 01:33:35 -03:00
tkrokli
f6b6f57a6d Update copyright note for 2018
Best wishes for the new year.
2018-01-01 01:55:29 +01:00
Treeston
6113b9dec2 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. 2017-12-31 03:23:42 +01:00
Treeston
d20b11cc5b nopch fix 2017-12-30 21:00:29 +01:00
Treeston
d507a7e338 [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
2017-12-30 20:28:41 +01:00
Jeremy
e42903ec16 Core/Entities: Fix some weird movement due to los issues (#21125)
* Core/Entities: Fix some weird movement due to los issues
- Made LoS check use collisionHeight instead of midsection. Value was too low.
- Gnomes will now have a breath bar more quickly than for example a tauren.
- Changes have been made to checking for ground z as well, some tweeking might be needed but removed most of the scattered +2.0f/+0.5f/we
* Add 0.05f to isInAir check in Creature::UpdateMovementFlags
2017-12-29 22:32:07 +01:00
ariel-
d13999c8d6 Core/Scripts: remove Quel'Delar from player inventory during "The Halls Of Reflection" quests (24480, 24561) 2017-12-28 12:16:38 -03:00
ariel-
c409ba8d9d Core/Scripts: fixed Festergut applying more than one stack of Inoculated at once 2017-12-28 12:16:36 -03:00
Keader
465b43fabe Core/AI: Making guid const& in SetGUID method (#21128) 2017-12-27 22:17:13 +01:00
jackpoz
ad56299846 Core/Misc: Fix static analysis issues 2017-12-25 16:34:36 +01:00
jackpoz
cbc7642edd Scripts/Trial of Crusader: Fix static analysis issues 2017-12-25 15:32:50 +01:00
jackpoz
12701cb0c6 Core/Misc: Replace time(NULL) with GameTime::GetGameTime() 2017-12-24 22:50:59 +01:00
Keader
2362e9c794 Scripts/Trial of Crusader: Northrend Beasts Rework (#21031)
* Rewritten Gormok encounter
* Rewritten Snobold Vassal Script
* Rewritten Jormungars encounter
* Rewritten Icehowl encounter
* Added missing texts
* Added missing spells
* Implemented berserk mechanic on heroic diffs.
* Implemented Achievement requirement to make heroic diffs.
* Rewritten Barrett Ramsay scripts
* Added Barrett gossips and ported everything to DB.
* Added right Barrett in each encounter
* Removed a lot of hacks
* Rewritten Tirion Fordring script
* Rewritten Varian Wrynn script
* Rewritten Garrosh script
* Rewritten Wilfred event
* Rewritten Lich King event
* Updated codestyle
* Added missing spawns
* Fixed combat behavior before Gormok
* Fixed some visual stuff
2017-12-23 22:03:57 -03:00
Keader
143b2aeac0 Scripts/Naxxramas: Fixed blizzards following same player in Sapphiron encounter (#21068)
Closes #18765
2017-12-18 08:39:35 -03:00
ariel-
ea0224e3bd Core/Scripts: travis fixes 2017-12-15 02:51:48 -03:00
ariel-
a36e804ae4 Core/Auras: periodics refactor part 5: ported periodic trigger spell auras to scripts 2017-12-15 01:46:52 -03:00