Commit Graph

4703 Commits

Author SHA1 Message Date
ariel-
b64c504314 Core/Globals: throw some RAII into ObjectMgr, and load templates into vectors
Ref #14274
2018-01-17 02:17:49 -03:00
sirikfoll
72ff2e30c3 Scripts/Scarlet Enclave: Quest The Endless Hunger will work correctly after Unworthy Initiate Respawn
Due to dynamic spawns, we need to be able to update the Npc GUID after the respawn, otherwise the quest can only be completed by the first player
2018-01-17 00:12:41 -02: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-
50a84f0b2b Core/Scripts: fix static analysis issue
CID 1384439
2018-01-14 17:28:10 -03:00
ariel-
f1986c6aaf Core/Entities: implement secondary damage for some weapons and removal of old voodoo
- Fixed correct Retaliation damage spell according to sniffs is 20240
- CalcArmorReducedDamage insisted on dealing a minimum of 1 damage even if damage was 0
- CalculateDamage was zero-phobic too: it defaulted to arbitrary max 5 damage

Closes #19081
2018-01-14 09:23:34 -03:00
ariel-
a305661785 Core/Scripts: fix Sanctified Wrath 2018-01-13 20:49:43 -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-
31a3a6f0c5 Core: fix non pch build, redux 2018-01-13 17:07:25 -03:00
Kittnz
46e1e35a88 fix non pch 2018-01-13 13:02:44 +01:00
Kittnz
a9c853ee3f Scripts/EasternKingdoms: implement Children of Goldshire event (#20745)
* Script: Implement Childeren of Goldshire

Notes: Need to update waypoints and default location of the childeren
http://wowwiki.wikia.com/wiki/Children_of_Goldshire
2018-01-13 12:22:36 +01: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
Kittnz
acc73d4693 Scripts/Outland: Implement Hellfire event in Honor Hold (#21110)
* Script/Outland: Implement Hellfire event in Honor Hold

This is hourly, event is only 60 seconds long.
2018-01-12 19:27:56 +01:00
ariel-
f50a333418 Core/Misc: kill whitespace 2018-01-12 00:07:29 -03:00
Treeston
a23c97a0fc Scripts/World: New target dummy AI, because I don't trust the existing one in light of #21187. 2018-01-09 23:34:50 +01:00
Treeston
45168f9612 nopch fix 2018-01-09 22:04:35 +01:00
Treeston
d283f96f70 missing return 2018-01-09 18:23:50 +01:00
Treeston
f45c211987 Scripts/Commands: New command: .debug threatinfo 2018-01-09 18:09:24 +01: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
Treeston
cbf5535b74 Revert "Scripts/Commands: Allow to use .tele in combat only to GMs"
This reverts commit 3ae5b72075 - see discussion on commit.
2018-01-06 13:32:11 +01:00
Shauren
b2b4f9d1e4 Core/Misc: Added compatibility layer for boost 1.66 and future std:: networking stuff
* Based on work done by @dimiandre in PR #21173

Closes #21171
Closes #21173

(cherry picked from commit dfd2660a85)
2018-01-06 12:30:28 +01:00
jackpoz
3ae5b72075 Scripts/Commands: Allow to use .tele in combat only to GMs
Allow to use .tele in combat only to players who can be GMs (even if they have .gm off)
2018-01-06 10:34:54 +01:00
Treeston
fdacf12739 Core/Combat: Some more sanity check asserts to try and track down #21187.
Also, some anti-annoyance treatment for dot tele.
2018-01-06 01:40:31 +01:00
Treeston
e0b609a178 Core/Map: Fix a crash that could happen if a player moved very far away from a creature they were in combat with. Closes #21177. 2018-01-04 15:19:37 +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
Treeston
137955d0d2 missing override 2018-01-02 19:26:31 +01:00
Treeston
129dd33067 Scripts/ZulGurub: Fix an issue that was causing Bloodlord Mandokir to keep casting Frenzy after a wipe despite Oghan being alive. Closes #21158. 2018-01-02 19:23:10 +01:00
ariel-
fd7fff80c9 Core/Scripts: fix Millhouse Manastorm resetting dialogs after Skyriss encounter
Closes #21159
2018-01-02 11:45:09 -03:00
ariel-
036a05458e Core/Scripts: cast "Trial of the Naaru: Tenacity" credit spell when criteria is achieved
Closes #21155
2018-01-02 03:35:02 -03:00
ariel-
f8b148c334 Core/Scripts: fixed npc immunity flags during Harbinger Skyriss encounter
- Added missing _Reset
- Properly register Skyriss summons in SummonList

Closes #21154

Who ordered up an extra large can of whoop-ass?
2018-01-02 03:24:37 -03:00
ariel-
a5d4f34c31 Core/Scripts: Implemented Shifting Naaru Sliver 2018-01-02 02:58:19 -03: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
joschiwald
2a5d3a64bc Scripts: Fixed typo
thanks @shenhuyong
2018-01-02 01:46:40 +01:00
Treeston
100ecf69f1 nopch fix 2 for d507a7e 2018-01-01 15:27:51 +01:00
tkrokli
f6b6f57a6d Update copyright note for 2018
Best wishes for the new year.
2018-01-01 01:55:29 +01:00
jackpoz
513e153a13 Core/Misc: Removed unneeded checks 2017-12-31 14:41:31 +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-
e2a97ba7e7 Core/Scripts: fix codestyle 2017-12-29 18:08:19 -03:00
Rochet2
4d9fa4ea5f Core/Commands: Fix .modify mount (#21137) 2017-12-29 21:47:53 +01:00
Keader
502864e86c Core/Scripts: Val'anyr Hammer of Ancient Kings should proc only with effective heal 2017-12-29 14:16:53 -03:00
ariel-
f4629d83c6 Core/Scripts: prevent applying Aspect of the Beast on pet load if owner has switched aspects 2017-12-28 12:16:39 -03:00