Commit Graph

604 Commits

Author SHA1 Message Date
Keader
609c1acc09 Build fix 2018-09-22 08:48:04 -03:00
Sarah Alexander
72f061f083 Scripts/TempleOfAhnQiraj: Despawn Skeram's images on death and fix an edge case where images would not spawn if he was casting during transition (#22474) 2018-09-21 08:54:58 -03:00
Sarah Alexander
c8f830ff2b Scripts/TempleOfAhnQiraj: Implement Battleguard Sartura's skip-preven… (#22475)
* Scripts/TempleOfAhnQiraj: Implement Battleguard Sartura's skip-prevention area trigger

* Sartura engages players if they try to skip her by walking past down the tunnel
* Clean up the instance script a bit
2018-09-21 08:54:29 -03:00
DanVS
5b0f4009df Core/Scripts: Unify Chrono Literals (#22420)
* Unify Chrono Literals

* Retire IN_MILLISECONDS

* Build fix

* Build fix (sequel)

* Retire urand()

* Edge cases

* Build

* Whitespaces

* More edge cases

* Additional cases
2018-09-17 18:38:22 +02:00
Treeston
042f5515e4 Core/AI: Clean up charm AI handling, we now have two unique_ptr instead of a crapton of booleans 2018-08-23 16:34:42 +02:00
ZenoX92
cbacc72d93 DB/Quest: The Missing Diplomat (Part 16)
Closes #22261
2018-08-15 20:14:16 +02:00
ZenoX92
25d7b7c819 DB/Quest: Cleansing Witch Hill
Closes #22262
2018-08-15 20:09:56 +02:00
Killyana
076c7a7b32 Creature/Script: Remove deprecated script 2018-07-08 15:09:14 +02:00
ccrs
982643cd96 Core/Movement: MotionMaster reimplementation (#21888)
Internal structure and handling changes, nothing behavioural (or thats the intention at least).
2018-06-03 10:06:57 -07:00
Treeston
081eab3cf5 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.
2018-05-02 19:09:37 +02:00
Treeston
2a84562dc8 Core/Movement: Replace old TargetedMovementGenerator into ChaseMovementGenerator and FollowMovementGenerator, full rewrite for both.
- Chase to angle is now functional. Pets use this to chase behind the target. Closes #19925.
- Chase to arbitrary range interval works. Not used anywhere, but you can technically make hunter-like mobs.
- Pets now follow the hunter cleanly and without stutter stepping. Also fix some other things. Closes #8924.
2018-04-06 18:09:55 +02:00
ariel-
bcc7427fbc Core/Misc: whitespace/tab cleanup 2018-04-02 20:37:44 -03:00
Treeston
ebc96af6bb Core/Object: Bump hover delta handling on nearpoints downstack into GetNearPoint2D (from movement generators); functionality should be unchanged 2018-04-01 18:27:29 +02:00
Treeston
4692e10ca2 Core/Position: Refactor GetAngle -> GetAbsoluteAngle because code clarity is good. 2018-04-01 13:52:36 +02:00
ariel-
8e853a82cc Scripts/Kalimdor: fix crash with Gordunni Trap 2018-03-14 03:43:59 -03:00
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
jackpoz
d3d0640a8d Core/Misc: Fix static analysis issues
Fix static analysis issues reported by Coverity
2018-02-16 21:39:52 +01:00
Keader
63c436f5fb Core/Scripts: Fixed some delayed enrage
Closes #15367
2018-02-14 17:32:29 -03:00
Treeston
0e401c7d96 Scripts/TheBarrens: Fix "The Escape" (863) - I don't think this one ever worked, honestly. 2018-02-13 17:49:40 +01:00
Keader
5bef3e426a Core/Scripts: Fixed possible crashs related with JustDied 2018-02-08 10:05:08 -03:00
Killyana
52fc5a572b Quest/script: Freedom to Ruul
Follows 4dc91429dd
2018-01-28 15:15:50 +01:00
Killyana
4dc91429dd DB/Quest: Freedom to Ruul
Closes #7262
2018-01-28 14:03:43 +01: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-
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
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
ariel-
f50a333418 Core/Misc: kill whitespace 2018-01-12 00:07:29 -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
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
ariel-
720ba9e973 Core/Scripts: prevent Arthas in CoS losing his gossip flag and halting instance progress 2017-12-28 12:16:37 -03:00
ariel-
deebac9639 Core/Scripts: more nopch 2017-12-15 20:23:50 -03:00
ariel-
7fb70e74f2 Core/Scripts: nopch fix 2017-12-15 20:19:55 -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
ccrs
0db5516a1a Core/AI: reorder methods in ScriptedEscortAI
plus ninja rename
2017-12-11 21:00:04 +01:00
jackpoz
0daa170a2c Core/Misc: Fix static analysis issues
Fix static analysis issues reported by 3rd party tools
2017-12-08 15:21:13 +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
06ea65b0e6 Core/Misc: Fix static analysis issues 2017-11-12 15:46:56 +01:00
jackpoz
9b7c73a19d Core/Misc: Fix static analysis issues 2017-11-12 12:38:18 +01:00
Wyreth
8888e6d96d Scripts/Tanaris: move Aquementas to SAI & improve related event (#20464)
* Script/Tanaris: move Aquementas to SAI and improve related event

Closes #11668
2017-11-02 05:36:27 +01:00
dr-j
3bb5f17ff5 Quest/Script: Conversion of Bristlelimb Cage/Stillpine Captive cpp to SAI
Closes #19868
2017-10-31 20:24:56 +01:00
Killyana
48ecd81d61 Creature/Scripts: Add Aggro sound to Cairne Bloodhoo, Sylvanas Windrunner and Thrall 2017-10-28 21:05:13 +02:00
Andrew Letson
9fe890744c [3.3.5] DB/Scripts: Rivern Frostwind 2017-10-21 13:28:57 +02:00
ZenoX92
bf376c3bca DB/SAI: SAI scripts for Silithus creatures
Closes #20585
2017-10-10 18:58:51 +02:00
ZenoX92
ef09ea484b Creature/Script: Convert Spitelash Naga cpp to SAI
Closes #20558
2017-10-10 17:11:34 +02:00
sirikfoll
e2565c2597 Core/Misc: Remove Whitespaces 2017-08-11 23:06:37 -03:00
ccrs
7fff83d675 Core/Movement: waypoint movement (#20121)
Following the work done in #19361 this is the cleanup and improvement of the related logic of waypoint management.

Ref 28050f3 #18020
(taking the good parts and ignoring the incomplete work)
2017-08-12 01:40:25 +02:00