Commit Graph

1042 Commits

Author SHA1 Message Date
Treeston
8be23fcbbd [3.3.5] Combat/Threat rewrite - prep & refactor (#19966)
* Combat/Threat rewrite (PR #19930) prep work. Mostly refactors, and a compatibility layer on ThreatManager/HostileReference that allows scripts to be changed already.

(cherry picked from commit e2a1ccd118)
2020-08-13 22:46:44 +02:00
Artamedes
e85bd8fd39 Scripts/Stockades: Cleanup the scripts (#23524)
* Scripts/Stockades: Cleanup the scripts

Scripts looked ugly before, now they are less ugly
Move Mortimer Moloch and Warden Thelwater to use TaskScheduler rather than EventMap
Use new script registers
Cleanup some other code

Co-authored-by: Carbenium <carbenium@outlook.com>
2020-08-10 20:50:25 +02:00
Treeston
f7a7d02a7f Pet/Guardian AI hook re-organizing (#19824)
* Pet/Guardian AI hook re-organizing:
- Adjust OwnerAttacked/OwnerAttackedBy hooks on CreatureAI to fire for all owned units, not just player pets. This should allow guardians to more reliably recognize valid targets.
- Kill off the AttackedBy hook. While it was defined in CreatureAI.h as virtual, it was only ever invoked for player pets in specific situations. This makes it classic developer bait.
  - Adjust PetAI to use DamageTaken instead of AttackedBy.
  - Adjust behavior of AttackStart on PetAI to compensate.

(cherry picked from commit 1660bb7d27)
2020-07-16 21:47:28 +02:00
ariel-
5903a10a83 Core/AI: segregate GameObject ReportUse from normal Use (lock open/normal click)
Closes #19819

(cherry picked from commit 2335b9de1a)
2020-07-16 21:47:28 +02:00
TecDian
1aaf09b199 Core/Scripts: simplify speech for DK races quests
(cherry picked from commit 3f34c2f5eb)
2020-07-16 21:47:27 +02:00
sirikfoll
1d99860757 Core/Scripts: Updated Sunwell Plateau instance model
(cherry picked from commit 2984def452)
2020-07-16 21:47:27 +02:00
ForesterDev
c34b83a467 Core/Defines: define faction templates and replace magic numbers from scripts
(cherry picked from commit abea8bf4cb)
2020-06-14 23:49:03 +02:00
TecDian
4015c02a42 Scripts/Events: Add missing line for "Love is in the air" boss fight (#19521)
(cherry picked from commit 4b8644d6e6)
2020-06-14 22:48:17 +02:00
ccrs
55576d20d8 Core/Creature: drop method SetPosition
eeeevil, use UpdatePosition. It was there just for old scripts compatibility.

(cherry picked from commit 17579f8d91)
2020-06-14 20:04:17 +02:00
Shauren
c7306439e7 Core/Spells: Implement using different difficulty data from all spell related db2s, not just SpellEffect and SpellPower 2020-06-12 01:29:18 +02:00
Shauren
d1572327d2 Core/Misc: build fixes
Merges #24550
2020-05-03 14:53:18 +02:00
ariel-
e27d7049c3 Core/Misc: build fixes
(cherry picked from commit aa0b7dd152)
2020-05-03 03:06:37 +02:00
ariel-
6604849716 Core/Scripts: unified scripted gossip/quest api
- Changed self-accessor on GameObjectAI to "me", like UnitAI
- Moved all related functions to AI, now Unit and GameObject have the same function names with identical behaviour
- Remove "OnUpdate" from CreatureScript/GameObjectScript, was never used and we already have AI Update method
- Quest methods no longer return a bool, the return value was used to call the AI version if the ScriptMgr one returned false
- Implemented GameObjectAI::Destroyed hook (was never called), implemented Damaged method
- Rename OnStateChanged to OnLootStateChanged to reflect when it's really called, and created a new hook OnStateChanged that only gets called on GOState change
- Since the functions are now only getting called from AI, made GetAI methods full virtual. (CanSpawn method is anyways going to be used on creatures with AI)

(cherry picked from commit f913f3bb89)
2020-05-03 03:04:32 +02:00
ariel-
93c19c4194 Core/Misc: camelize GetFaction/SetFaction properly
(cherry picked from commit 4c4dca6d69)
2020-04-29 01:36:41 +02:00
ccrs
104e745edf Core/Misc: cleanup SetInFront uses
Set in front modifies only the serverside orientation, use with care.
Also check for current focus to prevent things like incorrect damage on casting creatures (ie dragon breath direction change in your face because of some taunt missclick)

(cherry picked from commit 229444b74a)
2020-04-28 17:51:25 +02:00
ccrs
2d4549023a Core/Unit: 2170541a51 followup
use true as default value since pretty much all the script calls will expect that

(cherry picked from commit c7a57e2a09)
2020-04-28 17:42:26 +02:00
tkrokli
b259614778 Scripts: minimize duplicated enum names in header files (#19377)
* Scripts: Minimize duplicated enum names in header files

This reduces the number of cache resets with the Zapcc compiler

- Standard followed is instance/raid TLA + DataTypes/CreaturesIds/etc
- Partial cherry-pick of master commit 7eb4512eee
- Removed unused defines in sunken_temple.h (the core scripts using these have been moved to SAI)

(cherry picked from commit f6f36be004)
2020-04-24 17:18:51 +02:00
Chaouki Dhib
5d076cfe29 Core/Spells: fix wrong distance calculations in AoE spells [Needs testing] (#16290)
Core/Spells: Fix wrong distance calculations in AoE spells.
Pull request #16290 by chaodhib.
God bless, finally.

(cherry picked from commit a1f2f30c14)
2020-04-24 17:18:49 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren
3ac790287a Core/DataStores: Updated db2 structures to 8.2.5 2019-10-27 00:12:45 +02:00
Shauren
3b004b2cfd Nopch fix2 2019-08-18 11:16:43 +02:00
Gustavo
1b85f62b96 Core/Scripts: implement boss Apothecary Hummel ("Love is in the Air" event boss) (#19076)
Closes #5114

(cherrypicked from 8c6fa411e8)
2019-08-17 20:04:14 +02:00
xinef1
4f65dc5e20 Core/Misc: Various crash fixes (#19059)
* Replaced some FindPlayer calls with GetPlayer
Fixed some more crashes

* Correction

(cherrypicked from 14dfc377b4)
2019-07-21 21:06:54 +02:00
xinef1
fe63cd3dbb Core/Creatures: Various fixes for creatures, regarding combat conditions, despawning, and few others (#18998)
* Made some changes to kiting mechanics, simplified code and made taunt auras prolong combat no matter the distance from the spawn
Unified some creature despawning code, removed some brutal direct calls in scripts
Don't play death anim on forced despawn
Removed some redundant visibility changes on creature despawn
Fixed possible problem with pet initializing template info from difficulty greater than normal
Properly keep UNIT_FLAG_IN_COMBAT on UpdateEntry call
Moved RegenerateMana function to general Regenerate(Power) function
Fixed increased health regeneration from polymorph for pets
Implemented CREATURE_TYPE_FLAG_GHOST_VISIBLE, those creatures will be properly seen when player is dead also
Removed hackfix from Gaeriyan and Franclorn Forgewright, fixed properly
Simplified ForcedRespawnTime code in ForcedDespawn
Do not allow to assist unit while evading or when enemy is evading
Do not allow to attack other units when evading or when the unit is evading
Corrected distance checking code before creature is allowed to evade, should fix some common problems
Properly return summon position for summoned creatures as their respawn position
Properly stop all moving units on gossip hello, no matter their npc flags

(cherrypicked from e1f14215d8)
2019-07-21 21:06:54 +02:00
xinef1
ad008c43b7 Core/Misc: Fix various crashes, also related to multithreading (#19012)
* When iterating groups we have to either do it not in multithreaded context (map updates) or start with checking maps (they are guaranteed to change in single thread update).
* Properly clear ComboPoint references on player remove
* remove some possible references item may have when it is deleted during save.
* Also clear all hostile references when unit is removed from map.

(cherrypicked from 86da1a19bb)
2019-07-21 21:06:54 +02:00
Shauren
1ce8bf22fc Nopch fix 2019-06-15 19:04:21 +02:00
Gustavo
7fbae7530d Core/Scripts Rework boss Terestian Illhoof (Karazhan) (#19057)
(cherrypicked from 87f2cb04ca)
2019-06-15 18:41:09 +02:00
Gustavo
c53df2adb0 Core/Scripts Update boss Maiden of Virtue (#19058)
(cherrypicked from d06391d062)
2019-06-15 18:41:09 +02:00
Gustavo
384f2d636c Core/Scripts: boss The Curator (Karazhan) rework (#19040)
Closes #16099
(cherrypicked from 169e150628)
2019-06-15 18:41:09 +02:00
Gustavo
2dcc2d0f05 Core/Scripts: boss Nightbane rework (Karazhan) (#18899)
Closes #10017
(cherrypicked from ad8a71c084)
2019-06-15 18:41:09 +02:00
Shauren
455959c606 Core/PacketIO: Rewrite updatefield handling 2019-06-08 17:06:57 +02:00
vincent-michael
5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
Traesh
9d210476e5 Core/Creatures: Update creature model handling with new display scale (#22567) 2018-11-07 20:23:30 +01:00
Shauren
9ffabae6bf Scripts/Misc: Use InstanceMap* in InstanceScript instead of Map* 2018-06-16 17:24:10 +02:00
Ovahlord
a6f91c9b81 Npc/Script: fixed Eye of Acherus action bar
Closes #18362
2018-06-11 20:24:08 +02:00
Shauren
921235b3e9 Core/Misc: Fixed rotation of many gameobjects summoned in tol barad, garrison and various scripts 2018-05-07 17:45:09 +02:00
joschiwald
32a131ac94 Fixed non pch build 2018-03-18 10:34:00 +01:00
joschiwald
c68f505460 Fixed build again 2018-03-18 10:30:50 +01:00
joschiwald
8a4a570510 Fixed build 2018-03-18 10:27:42 +01:00
Gustavo
bff89d9886 Core/Scripts: Implement Boss Coren Direbrew (#18137)
(cherry picked from commit d6a5477407)
2018-03-18 00:19:53 +01:00
Keader
83d0ba4b89 Core/Scripts: Gurtogg Bloodboil Rewrite (#18279)
(cherry picked from commit eb41194dbb)

Rename 9999_25_44_50_world.sql to 2016_11_26_02_world.sql
(cherry picked from commit 8975fb73f0)
2018-02-11 16:20:32 +01:00
Andrew Blakely
06e1990af2 Core/Scripts: Fixed Vaelastrasz bomb mechanic (#18260)
* Core/Scripts: Fixed Vaelastrasz bomb mechanic

Vaelstraz was suppose to bomb raid members that are mana users every 15
seconds. He was not doing that with the current implementation.

This implementation allows him to bomb the raid and to select the proper
targets. This is also done in a cleaner way.

* Added AuraScript for SPELL_BURNINGADRENALINE

Needed to define an AuraScript for custom behavior that would denatonate
the damaging aura when the debuff falls off.

SpellId - 18173

* Added SQL for Burning Adrenaline Script Ref

* Fixed Multiple Application of BA

* Add unit null check in lambda

* Remove DB name from sql query

* Added Newline in SQL update file.

* Added SQL delete query for potential existing spell

* Fix SQL newline again.

* As suggested a simpler SpellCast overload works

I don't know if there are any consequences but it seems to function fine
in in-game.

I'd like more information on the overload that involves an AuraEffect.

* Remove duplicate Unit null check in lambda

* Update boss_vaelastrasz.cpp

(cherry picked from commit 60ac53ff07)

# Conflicts:
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
2018-02-11 16:00:49 +01:00
Shauren
3d7af56f5c Warning fixes 2018-01-10 23:22:27 +01:00
Shauren
bb718b5578 Core/Entities: Remove phasemask 2018-01-10 22:01:40 +01:00
Mihapro
8199eef81c Core/Misc: Added helper function Unit::SetFullPower
* Also renamed Unit::getPowerType and Unit::setPowerType to follow style guidelines

Ref #20981
2018-01-03 16:39:32 +01:00
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Treeston
60c756d3f8 Scripts/Various: Bringing nullptr civilization to the savages of master branch. Merry Christmas.
(2a08556 follow-up)
2017-12-26 01:33:50 +01:00
Treeston
2a08556273 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!
(cherry picked from commits c7896f3102 and 40c78cac4c)
2017-12-26 01:10:26 +01:00
tkrokli
b74eba72f6 Core/Scripts: Archmage Arugal event script (#17922)
Implement boss script for Archmage Arugal
- add yells used in boss event to DB
- use proper spells instead of only melee fighting
- add DataType in shadowfang_keep.h
- add event scheduling in the script

By Riztazz
Closes issue #17916

(cherry picked from commit 2b26894eb1)
2017-12-10 17:29:54 +01:00
Dr-J
0338421543 DB/Creature: Augustus the Untouched
Move from cpp to db, also added some missing detail
(cherry picked from commit cefed89c38)

Remove obsolete file
(cherry picked from commit 9be0362606)

Remove reference to eastern plaguelands script
(cherry picked from commit 1fc8e2d5f2)
2017-11-26 16:18:01 +01:00