Commit Graph

851 Commits

Author SHA1 Message Date
ariel-
6e0b9a7916 Core/Creatures: port power type updates from master branch
Core/Misc: Added helper function Unit::SetFullPower
Cherry-picked from 8199eef81c

Core/Creatures: Updated power type handling (#20981)
Cherry-picked from 16a7a414ab
2018-03-07 03:34:45 -03:00
Wyreth
56874b44f0 Core/Entities: remove grid-wide visibility from setActive and implement another method for it (#20725) 2018-02-17 15:09:54 +01:00
Wilcalaf
0c1aaac219 Archaedas should properly start now when clicking on the altar. (#21401) 2018-02-12 21:38:08 +01:00
Treeston
f6bf9bc04d Revert "Scripts/ScarletEnclave: fix Massacre at Light's Point mine cart escort to work again (tag #20310)"
This reverts commit 6ff71dffbb.
2018-02-12 03:23:54 +01:00
Treeston
6ff71dffbb Scripts/ScarletEnclave: fix Massacre at Light's Point mine cart escort to work again (tag #20310) 2018-02-12 02:58:51 +01:00
Treeston
a4fc32dd86 Scripts/Instance: Transition Gnomeregan to boss states (instance spawn group prep) 2018-02-09 19:21:49 +01: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
sirikfoll
cfaa4e6caf Scripts/Magisters Terrace: Removed not allowed ENSURE_AI call from constructor
Closes #20727
2018-02-05 21:27:13 -02:00
sirikfoll
14b6e3bbb3 Scripts/Sunwell Plateau: Fixed and improved spell "Curse of Boundless Agony" target selection (Boss Kalecgos) 2018-02-05 21:14:26 -02:00
ariel-
7c9722a4ae Core/Entities: killed Creature::SetInCombatWithZone and replaced with AI version
Closes #12108 (again)
2018-01-22 15:00:55 -03:00
ariel-
73cc613dc8 Core/Formations: update codestyle and fix crash
Closes #21288
2018-01-22 02:43:34 -03: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
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
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
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
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
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
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
Keader
465b43fabe Core/AI: Making guid const& in SetGUID method (#21128) 2017-12-27 22:17:13 +01:00
Teppic1
ecc55c280c Scripts/Deadmines: New script for Edwin VanCleef (#20736)
* Scripts/Deadmines: New script for Edwin VanCleef

- Blackguards are now summoned properly as part of the encounter
- Blackguards will despawn on evade
- Fixed scripted actions/speech on health
- Removed Blackguards from world DB
- Corrected VanCleef's damage
2017-12-23 16:31:40 +01:00
Killyana
b08280fcfe Typo 2017-12-22 21:06:36 +01:00
Killyana
be56a4669e Scripts/Stratholme: Fix a DB error
Ref #20749
2017-12-22 20:20:14 +01:00
jackpoz
9a515c29ba Scripts/Stratholme: Add missing header for no-pch build 2017-12-21 21:17:07 +01:00
jackpoz
828c5d08e7 Scripts/Stratholme: Fix build 2017-12-21 21:12:56 +01:00
jackpoz
a98b2aa8c8 Scripts/Stratholme: Fix build 2017-12-21 21:05:37 +01:00
Riztazz
2a25d9d9a7 Scripts/Stratholme: Few changes to how Ysida behaves during the Baron run (#20749) 2017-12-21 20:57:29 +01:00
Keader
f560842b59 Build fix 2017-12-15 22:07:24 -03:00
Riztazz
56b0433b6d Scripts/UBRS: The Beast (#20751) 2017-12-15 21:58:45 -03:00
Aokromes
6c9c106d39 Misc: More cleanup 2017-11-25 03:00:05 +01:00
Aokromes
59e94fd9bb Misc: More cleanup 2017-11-25 02:39:27 +01:00
Aokromes
5f2c5f2ed3 Misc: Kill trailing white spaces 2017-11-25 01:05:15 +01:00
jackpoz
a80c95a1c7 Core/Misc: Fix static analysis issues 2017-11-12 14:55:11 +01:00
jackpoz
9b7c73a19d Core/Misc: Fix static analysis issues 2017-11-12 12:38:18 +01:00
Riztazz
c69825d96d Scripts/Stratholme: spawn Timmy the Cruel if conditions are met (#20750)
* Timmy the cruel
* Rename some variables and use sniffed spawn position
* codestyle
* Use areaboundary instead
* include order
* aokromes request
* remove static
* never cp on tc
2017-11-11 12:31:40 +01:00
Andrew Letson
a627b73c93 Scripts/EasternKingdoms: Ragged John 2017-11-08 18:04:31 +01:00
Aokromes
7196907b09 Update boss_illucia_barov.cpp 2017-10-30 12:37:04 +01:00
Killyana
48ecd81d61 Creature/Scripts: Add Aggro sound to Cairne Bloodhoo, Sylvanas Windrunner and Thrall 2017-10-28 21:05:13 +02:00
Treeston
4f5ec886d0 some more cleanup (cbd025f follow-up) 2017-10-26 12:55:19 +02:00
Treeston
cbd025f146 Scripts/MagistersTerrace: Fix some crashes in Selin Fireheart. His script is still a shitshow, though. Closes #20614. 2017-10-26 11:54:41 +02:00
Andrew Letson
c8a346a23c DB/Scripts: Greengill Slave 2017-10-25 21:24:56 +02:00
Wyreth
23329790d2 Scripts/EasternKingdoms: move Alchemist Arbington and Apothecary Dithers core script to DB 2017-10-21 12:09:10 +02:00
Andrew Letson
a7f3d5e59f DB/Scripts: Yenniku (move npc_yenniku to SAI) 2017-10-21 12:03:02 +02:00
Wyreth
b048cdd749 [3.3.5] Scripts/Quest: A Rogue's Deal improvements (#20418) 2017-09-27 22:19:04 -03:00
sirikfoll
05a101881c Core/Scripts: Minor fixes in boss Coren Direbrew
Update script register model
Fix number os Mole Machine spell targets
Fix Mole Machine timer
Fix minions summon
2017-09-20 17:39:30 -03:00