Commit Graph

658 Commits

Author SHA1 Message Date
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-
7c9722a4ae Core/Entities: killed Creature::SetInCombatWithZone and replaced with AI version
Closes #12108 (again)
2018-01-22 15:00:55 -03:00
Kittnz
8f64612cb1 Scripts/Outland: Fix logical error in Hellfire event in Honor Hold 2018-01-21 14:40:56 +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
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
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-
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
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
jackpoz
ad56299846 Core/Misc: Fix static analysis issues 2017-12-25 16:34:36 +01:00
ariel-
7fb70e74f2 Core/Scripts: nopch fix 2017-12-15 20:19:55 -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
ariel-
5d91beb1db Core/Auras: periodics refactor part 1:
- Don't skip ticks if diff is greater than amplitude
- Fixed spells without ampltude in DBC
2017-12-15 00:25:58 -03: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
Andrew Letson
4d338b1d4d DB/Scripts: Terokkar Forest SAI migration 2017-11-20 19:36:37 +01:00
Shauren
805024a780 Scripts/Sethekk Halls: Added missing empty check before Trinity::Containers::SelectRandomContainerElement
Ref #20317
2017-11-16 20:25:02 +01:00
Keader
cb3627ca62 Core/Scripts: Fixed Charge behavior on Illidan encounter
"If any raid member is farther away than 25 yards from *both* Blades, one of the Flames charges that player and enrages"
2017-11-14 20:37:14 -03: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
jackpoz
7e73f5f1ed Core/Misc: Fix static analysis issues 2017-11-11 20:03:35 +01:00
Keader
78f4f54f81 Core/Scripts: Updated Black Temple to new Creature/Spell/Aura/GOB model
Fixed some codestyle issues.
Removed ENSUREAI
2017-11-10 11:28:59 -03:00
Andrew Letson
7822f058b0 DB/Creature: Coosh'coosh to SAI 2017-11-01 19:56:34 +01:00
tkrokli
bbd339370e Scripts: tabs2spaces cleanup after commit cc89428
Thanks to Wyreth for reporting the overlooked tabs.
2017-10-29 08:18:55 +01:00
Malleus
cc894288b7 Script/Quests: Fix some missing NPC spells and quest credit 2017-10-28 22:35:05 +02:00
Keader
90f07bd948 Scripts/BlackTemple: Updates on Illidan encounter
- Fixed issues related with Parasitic Shadowfiend
- Updated script to new model
- Fixed loop of Parasitic Shadowfiend Summon
- Added a new spell (SPELL_REMOVE_PARASITIC_SHADOWFIEND)
- Fixed illidari elite attacking players
- SPELL_PARASITIC_SHADOWFIEND now is a negative aura
2017-10-26 23:10:00 -03:00
Keader
b4d632e57d Core/Illidan: Parasitic Shadowfiend can target tanker 2017-10-22 15:02:52 -03:00
Wyreth
398e67cbca Scripts/Quest: Captain Tyralius improvements (#20419)
Update: #12352
2017-10-22 10:23:29 -02:00
Andrew Letson
7db70bf40b DB/Scripts: Migrate Raliq the Drunk and Sal'salabim to SAI 2017-10-21 12:16:54 +02:00
Andrew Letson
5558bd27c6 Scripts/Outland: Migrate Shattrath City NPCs to SAI (#20596)
- Zephyr and Flask Vendors to SAI
- Update gossip menu options to proper values
  (thx Killyana for digging into this)
2017-10-16 23:52:42 +02:00
Andrew Letson
ac63614016 Scripts/Outland: migrate Elder Kuruti to SAI
* Migrate Elder Kuruti to SAI
2017-10-13 19:12:59 +02:00
Treeston
971ed856a4 Core/Scripts: Implemented OnlyOnceAreaTriggerScript (#20288) 2017-09-14 22:53:02 -03:00
Treeston
37dff2b7a1 Core/Misc: random refactors 2017-08-27 13:35:03 +02:00
ccrs
91c0d49c18 Core/Creature: regenerate health
There are three possible scenarios regarding regenerating health
- db lock and curhealth set to > 0
- db lock and curhealth set to 0
- dynamic lock (set in scripts and such) overriding db lock
2017-08-21 20:28:18 +02:00
Treeston
165bc02889 Scripts/Auchindoun: Fix a super edge case crash bug with GM far teleports during Blackheart's charm phase. Follow-up to d80d7c6. 2017-08-21 16:44:33 +02: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
Treeston
184c45cfe0 Core/Scripts: dynamic_spawning follow-up, I had forgotten JustRespawned existed.
- Rename JustRespawned to JustAppeared, which better matches its behavior anyway.
- Properly invoke JustAppeared for new (re-)spawns - fixes #20111.
- Fix Thaddius script to work with dynamic_spawning (mostly unrelated to the above) - Feugen/Stalagg should really be a summon group, but I don't have time to fix that right now.
- Fix default value for DynamicEscortNPC to match worldserver.conf.dist.
2017-08-06 16:07:30 +02:00
Treeston
331e463de8 Core/PlayerAI: Some adjustments:
- Add a 2 second delay before the AI begins using spells. This should provide opportunity for counterplay before that rogue activates cloak and goes on an unstoppable rampage among your healers. (Sorry, guys.)
- Stopped the AI from attacking invalid targets under some conditions. It should now properly leash back and follow the charmer if we try to select an invalid target.
- Stopped the AI from constantly re-creating the follow movement generator (and thus spamming movesplines).
2017-07-21 23:00:14 +02:00
Treeston
c7896f3102 Core/Unit: For convenience, explicitly redirect CastSpell with nullptr as first argument to the Unit* overloads. No more ->CastSpell((Unit*)nullptr, ...) all over the place! 2017-07-21 18:02:48 +02:00
Treeston
42c993f8ad nopch fix 2017-07-21 17:36:04 +02:00
Treeston
d80d7c6685 Scripts/Auchindoun: Last one, hopefully. Remove reliance on large grid searchers by integrating with instance script. 2017-07-21 17:29:06 +02:00