Commit Graph

1992 Commits

Author SHA1 Message Date
ariel-
85a7d5ce9a Core: ported headers cleanup from master branch 2017-06-19 23:20:06 -03:00
Shauren
d6201e5dbb Core/Grids: Ported cmangos/mangos-wotlk@ea99457e50
(cherry picked from commit 9299e9bde0)
2017-06-19 13:16:13 -03:00
ariel-
08d0105396 Core/Scripts: fix array out of bounds in Pit of Saron doorData 2017-06-18 05:34:04 -03:00
ariel-
d6cae113c6 Core/Scripts: fix some /W4 warnings 2017-06-11 18:06:39 -03:00
ariel-
b3336cf943 Core/Scripts: remove non-player objects (ie corpses) from Sindragosa's Fury targetlist 2017-06-10 15:11:35 -03:00
treeston
d57307f63d So, I came in trying to fix gameobject LoS. So I restructured some stuff.
Then it turned out that gameobject LoS is already fixed. So all this does, really, is restructure some stuff.
And remove the hack from Sapphiron because I could.
2017-06-10 15:08:35 +02:00
jackpoz
f9cfc202e9 Core/Scripts: Simplify code
Partially revert 753e7074d8 and 12c680f9b1 to simplify the code and to only remove GMs from the target list.
2017-06-08 19:07:13 +02:00
ariel-
753e7074d8 Core/Scripts: filter out corpses from Sindragosa's Fury targetlist
- This would incur in a crash after attempting to convert the Corpse object into Player

Closes #19227
Closes #19862
2017-06-08 12:33:10 -03:00
ariel-
2335b9de1a Core/AI: segregate GameObject ReportUse from normal Use (lock open/normal click)
Closes #19819
2017-06-06 17:57:04 -03:00
Shauren
abac1b34bc Core/Utilities: Rename RandomResizeList->RandomResize as it is no longer restricted to a list
* Also fix gcc build

(cherry picked from commit f097e341f5)
2017-06-03 02:27:48 -03:00
sirikfoll
1cc0458b11 Core/Scripts Properly set Freya's BossState do DONE and avoid some loot exploits
Closes #19823
2017-05-29 19:20:13 -03:00
treeston
b6a4e9f3f9 Instances/Ulduar: Fix a super edge case bug where Algalon would evade if his tank successfully tanked a Cosmic Smash and got knocked up. Shadow priests everywhere rejoiced. 2017-05-27 20:49:24 +02:00
ariel-
d9a1c82ab4 Scripts/VioletHold: fix stack overflow when reflecting 'Splash'
Closes #19514
2017-05-27 00:39:32 -03:00
Aokromes
195db7c7bb Fix build 2017-05-23 12:53:11 +02:00
ForesterDev
abea8bf4cb Core/Defines: define faction templates and replace magic numbers from scripts 2017-05-23 12:30:27 +02:00
ccrs
7afe0b7fb0 Scripts/ICC: add missing cases for Dark Martyrdom difficulty entries
how come nobody noticed this?
2017-05-19 13:49:49 +02:00
ariel-
4a69f5bda5 Core/Scripts: improvements on the Thorim script
Improvements done to initial work by joschiwald:

- Fixed stormhammer casting and visuals
- Fixed spell credits
- Implemented removal of Impale when HP is higher than 90%
- Corrected faction templates for the pre combat creatures
- Implemeted Leap on the arena adds (thanks to joschiwald for implementing conditions)
- Scripted lighting charge using AuraScript periodic
- Fixed timings
- Corrections on the hallway encounters (added knockback immunity to minibosses too)
- Fixed multiple blizzards issue
- Lever will now reset properly, should players fail to get inside. This allows the door to be opened more than once during the combat
- Corrections in the outro event
- Implemented paralytic field traps on the hallway.
- Implemented Ancient Gate of the Keepers opening.
- Changed blizzard bunny targetting to conditions entirely.
- Removed obsolete scripts
- Standards: delete spell script names by ScriptName instead of spell_id
- Swapped factions for pre-adds (alliance should get horde trash and vs)
- Fixed Leap setting home position for adds
- Removed a bunch of magic numbers
- Runic Colossus should finish current Runic Explosion before beginning to attack
- Fixed UpdateAI logic to put it in line with other scripts (ie don't stop casts)

Special thanks to:
- chaodhib for the blizzard trigger waypoints and investigation on spell radius
- Malcrom for creating the Conditions Creator :P

Closes #15008
Closes #17072
2017-05-16 20:23:52 -03:00
joschiwald
5e90c76fd4 Scripts/Ulduar: Initial implementation of the Thorim Encounter
Closes #7651

Fix logic fail in achievement:
SPELL_LIGHTNING_CHARGE aka 62279 is casted on Thorim itself to buff him, not the damage spell tracked by the achievement.
2017-05-16 20:17:58 -03:00
ccrs
17579f8d91 Core/Creature: drop method SetPosition
eeeevil, use UpdatePosition. It was there just for old scripts compatibility.
2017-05-02 14:18:42 +02:00
ariel-
f913f3bb89 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)
2017-05-01 18:19:36 -03:00
ariel-
4c4dca6d69 Core/Misc: camelize GetFaction/SetFaction properly 2017-04-28 18:37:38 -03:00
ccrs
229444b74a 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)
2017-04-27 15:34:01 +02:00
ccrs
c7a57e2a09 Core/Unit: 2170541a51 followup
use true as default value since pretty much all the script calls will expect that
2017-04-27 14:55:06 +02:00
Keader
4431a1149d Core/Scripts: Re-hack Boss Loken. Followup 3a0cb90ea9
Loken still need ClearUnitState Hack to DoMeleeAttackifReady work
2017-04-27 09:41:07 -03:00
ccrs
5fc366d03b Core/CreatureAI: b6b0353bff followup 2017-04-27 14:00:57 +02:00
ariel-
6892404b27 Core/AI: some tweaks on boundary functionality:
- Moved SetBoundary to public scope to allow for greater flexibility (ie set from external script)
- Extended to allow checking inverted boundaries
2017-04-26 04:20:38 -03:00
ariel-
85076dd799 Core/Scripts: fix gaseous bloat proc (again)
- UNIT_STATE_CASTING removal not needed for movement now, but it's needed for melee attacking
2017-04-25 02:57:58 -03:00
Keader
136f1e75aa Core/Scripts: Fix a typo in Blood Prince Council
Thanks ariel-
2017-04-24 08:48:34 -03:00
ariel-
3a0cb90ea9 Core/Spell: define channels without movement interrupt flags as allowed move
- Remove script hacks no longer needed
2017-04-23 21:48:06 -03:00
Keader
2921449a33 Core/Scripts: Baltharus the Warborn preincrement _cloneCount 2017-04-09 09:25:58 -03:00
Keader
58f2e62098 Core/Scripts: Baltharus the Warborn make clone count more readable
*Also fixed issue that make Baltharus summons alot of clones when he is casting
2017-04-03 10:02:13 -03:00
Keader
270a639678 Core/Scripts: Fixing Carbonion/Travis 2017-04-02 11:14:24 -03:00
Keader
6b8c4fb74f Core/Scripts: Fixed Baltharus the Warborn clones
*Clones not working after wipe
*Changed Clone Action for a event (to check casting)
2017-04-02 11:08:29 -03:00
Keader
a2a8ffe723 Core/Scripts: Typo in last commit 2017-04-01 21:18:15 -03:00
Keader
8d198cb360 Core/Scripts: Fixed Volatile Ooze/Gas Cloud issues in Professor Putricide
Closes #18925
2017-04-01 21:16:55 -03:00
tkrokli
f6f36be004 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)
2017-03-29 10:06:06 +02:00
ariel-
83162fafa4 Core/AI: Build fix
- Stop exposing DoublePosition constructor versions, they're only used for internal representation
- Moved IsInBounds function to public scope
2017-03-28 02:41:50 -03:00
ariel-
2f99fa09c9 Core/AI: AreaBoundary refactor
- Added an auxiliary function IsInBounds to base CreatureAI
- Changed container to vector. Set had no sense because we're storing new pointers, they have different addresses even if the boundary is the same
2017-03-28 01:52:49 -03:00
Gustavo
2792046dc7 Core/Scripts: minor fixes in boss_the_lich_king (#19311)
Closes #4427
Closes #7091
2017-03-24 08:59:04 -03:00
ariel-
b74cc80859 Core/Scripts: Updated Ulduar instance model
- Codestyle/indent fixes
- Added ObjectData for some GOs
- Added GetUlduarAI to creatures
- Fixed possible out-of-bounds access in boss_razorscale_controllerAI (boss AI number beyond allocated boss size)
2017-03-23 17:15:02 -03:00
Chaouki Dhib
a1f2f30c14 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.
2017-03-23 00:43:04 +01:00
ariel-
f7758954f7 Core/Scripts: add condition check for npc_wyrmrest_defender
minor code refactors

Closes #19299
2017-03-14 20:38:16 -03:00
Keader
bf5661e2fd Core/Scripts: Fixed Ingvar evade issue 2017-03-08 09:43:10 -03:00
xinef1
7567cafec8 Ensure that all actions are compared to fixed point in time (ie. world update start) (#18910)
- Actions will not be dependent on processing moment
- Increased GameObjects cooldown resolution to milliseconds, fixes arming time of traps to be exactly one second and not something from range (1000, 1999)
- Created GameTime namespace and UpdateTime class and moved there some code out of world
2017-03-01 22:19:25 -03:00
ariel-
12c680f9b1 Core/Scripts: Change null-check to assert
- ToPlayer() should never be null in this context
2017-03-01 19:35:39 -03:00
Keader
ecfb346d1a Core/Scripts: Fixed crash in Sindragosa
Closes #19227
2017-03-01 18:58:47 -03:00
ariel-
c69a7d1223 Core/Auras: reworked multiplicative AuraEffects calculation
- Splitted containers for flat modifiers and pct modifiers, as they now have different handling
- Amount is now multiplied only on apply; on unapply, iterate through auras and reset the counter
- Fixes many cases of rounding error due to applying/unapplying of small factors
- Allows amounts to be zeroed (ie with an AuraEffect of amount -100)
- Do a partial revert of 6dc37a9add, auras should update amounts only for items allowed (ie no more giving crit to a sword while having an axe in the other hand and being Poleaxe spec'd)
- SPELL_AURA_MOD_SCALE now scales additively, rather than multiplicatively (checked in sniffs)

Closes #18687
2017-02-27 14:24:20 -03:00
ariel-
ace2a75197 Core/Scripts: kill a warning 2017-02-25 05:17:33 -03:00
ariel-
01f5befcec Core/Scripts: Thrusting Hodir's Spear
- Everything is sniffed, enjoy this hell of a quest!

Closes #12808
2017-02-25 04:46:02 -03:00
Gustavo
4224259d83 Core/Unit: Correct speed calculus when affected by SPELL_AURA_MOD_MINIMUM_SPEED (#18136) 2017-02-24 12:20:20 +01:00