Commit Graph

2289 Commits

Author SHA1 Message Date
Aokromes
9057cae219 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-11 19:02:07 +02:00
ariel-
e05083ad4b Core/Scripts: remove non-player objects (ie corpses) from Sindragosa's Fury targetlist 2017-06-11 17:50:11 +02:00
jackpoz
2102bd28a3 Core/Scripts: Simplify code
Partially revert 753e7074d8 and 12c680f9b1 to simplify the code and to only remove GMs from the target list.
2017-06-09 13:25:59 +02:00
ariel-
307cc1e36f 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-09 13:22:40 +02:00
Aokromes
ac3dbcb880 Core/Utilities: Rename RandomResizeList->RandomResize as it is no longer restricted to a list 2017-06-07 09:53:04 +02:00
sirikfoll
519af6e6e6 Core/Scripts Properly set Freya's BossState do DONE and avoid some loot exploits
Closes #19823
2017-05-30 09:57:03 +02:00
Ryan
1442984686 Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4 2017-05-28 19:10:00 +01:00
treeston
3fa862ab38 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-28 03:18:18 +02:00
ariel-
f8a222aab9 Scripts/VioletHold: fix stack overflow when reflecting 'Splash'
Closes #19514
2017-05-28 03:11:40 +02:00
Aokromes
2f5086479f Fix build 2017-05-23 14:38:41 +02:00
Aokromes
f0e36b0863 Core/Defines: define faction templates and replace magic numbers from scripts 2017-05-23 14:37:54 +02:00
ccrs
b2b6d55cb4 Scripts/ICC: add missing cases for Dark Martyrdom difficulty entries
how come nobody noticed this?
2017-05-23 13:33:24 +02:00
Aokromes
092c566ad3 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
2017-05-23 13:31:44 +02:00
joschiwald
364dfc9c4c 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-23 13:26:10 +02:00
Ryan
20726edec2 Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4 2017-05-19 23:49:46 +01:00
Aokromes
0fbcdca05e Core/Collision: Replaced phasemask with proper phases in GameObject c…
…ollision calculation
2017-05-06 01:55:17 +02:00
roc13x
0242bd6f20 Build fix 2017-05-05 03:51:07 +01:00
ariel-
c62077237d Core/Spell: restore old proc system behaviour on auras self proc. 2017-05-04 02:21:58 +01:00
ariel-
b7b69b88ba Core/Unit: damage immune improvements 2017-05-04 01:48:16 +01:00
ariel-
a6b4f239a4 Add some DamageInfo null checks 2017-05-04 00:17:13 +01:00
ariel-
a40b85f8b2 Core/Scripts: convert some instance/item spells to scripts 2017-05-03 23:37:32 +01:00
ariel-
51f26dfe51 Core/Spells: Implementation of QAston proc system 2017-05-03 20:08:08 +01:00
Aokromes
c015a5cf10 Core/Misc: camelize GetFaction/SetFaction properly 2017-05-02 02:02:31 +02:00
ccrs
a17849bcfe Core/Unit: 2170541a51 followup
use true as default value since pretty much all the script calls will expect that
2017-04-28 12:57:38 +02:00
Keader
1a1fb6712c Core/Scripts: Re-hack Boss Loken. Followup 3a0cb90ea9
Loken still need ClearUnitState Hack to DoMeleeAttackifReady work
2017-04-28 12:57:27 +02:00
ccrs
8b62b4ff03 Core/CreatureAI: b6b0353bff followup 2017-04-28 12:57:06 +02:00
ariel-
e53e8b8437 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 13:08:01 +02:00
ariel-
04466823e1 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 13:33:38 +02:00
Keader
504653e796 Core/Scripts: Fix a typo in Blood Prince Council
Thanks ariel-
2017-04-25 13:32:03 +02:00
ariel-
8e16897073 Core/Spell: define channels without movement interrupt flags as allowed move
- Remove script hacks no longer needed
2017-04-25 13:30:58 +02:00
Aokromes
adae2fec26 Ensure that all actions are compared to fixed point in time (ie. world update start) 2017-04-14 15:02:49 +02:00
Keader
3769b5d149 Core/Scripts: Baltharus the Warborn preincrement _cloneCount 2017-04-09 18:20:18 +02:00
Keader
ce2f7cd948 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-09 18:11:37 +02:00
Keader
48a3bce712 Core/Scripts: Fixing Carbonion/Travis 2017-04-09 18:01:09 +02:00
Keader
de20b6eb80 Core/Scripts: Fixed Baltharus the Warborn clones
*Clones not working after wipe
*Changed Clone Action for a event (to check casting)
2017-04-09 18:01:00 +02:00
Keader
6e8345470e Core/Scripts: Typo in last commit 2017-04-09 18:00:43 +02:00
Keader
14332d61bf Core/Scripts: Fixed Volatile Ooze/Gas Cloud issues in Professor Putricide
Closes #18925
2017-04-09 18:00:34 +02:00
ariel-
66c0c634ad Core/AI: Build fix
- Stop exposing DoublePosition constructor versions, they're only used for internal representation
- Moved IsInBounds function to public scope
2017-04-01 07:06:53 +02:00
ariel-
d3151fed8c 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-04-01 07:06:35 +02:00
Aokromes
9c5e580c17 Core/Scripts: minor fixes in boss_the_lich_king 2017-03-26 06:13:21 +02:00
ariel-
828101aa2b 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-26 05:46:04 +02:00
ariel-
fc91921241 Core/Scripts: add condition check for npc_wyrmrest_defender
minor code refactors

Closes #19299
2017-03-15 23:36:36 +01:00
Keader
458d91d3ec Core/Scripts: Fixed Ingvar evade issue 2017-03-13 10:09:25 +01:00
Aokromes
08a118c87e Compile fix 2017-03-03 12:48:37 +01:00
ariel-
04d3783664 Core/Scripts: Change null-check to assert
- ToPlayer() should never be null in this context
2017-03-03 01:31:04 +01:00
Keader
e90a90d760 Core/Scripts: Fixed crash in Sindragosa
Closes #19227
2017-03-03 01:30:54 +01:00
ariel-
c777589d70 Core/Scripts: kill a warning 2017-03-03 01:26:22 +01:00
ariel-
891b8369e6 Core/Scripts: Thrusting Hodir's Spear
- Everything is sniffed, enjoy this hell of a quest!

Closes #12808
2017-03-03 01:26:12 +01:00
Gustavo
d21bb8f5ca Core/Unit: Correct speed calculus when affected by SPELL_AURA_MOD_MINIMUM_SPEED (#18136) 2017-03-03 01:26:03 +01:00
xinef1
62111a8c4a Core/SmartAI: Various fixes and extensions for smart scripts: (#18673)
- Possible crashes fixed
- Memory leak fixed
- Implemented checking of vehicle conditions
- Extended eventphasemask to 12 bits (sql required to change DB field type)
- SMART_EVENT_GOSSIP_HELLO - added possibility to detect for gameobject reportUse call
- Renamed action SMART_ACTION_SET_FLY to SMART_ACTION_SET_DISABLE_GRAVITY (to reflect actual functionality)
- Added targetsLimit to action SMART_ACTION_CAST and SMART_ACTION_INVOKER_CAST to limit max amount of targets (selected randomly)
- Action SMART_ACTION_TALK corrected to always work as intended
- Properly call GroupEventHappens in action SMART_ACTION_CALL_GROUPEVENTHAPPENS if invoker was charmed or owned by the player
- Properly utilize followAngle in action SMART_ACTION_FOLLOW (db orientation should be in degrees), but keep backward compatibility
- Added action SMART_ACTION_SET_CAN_FLY (119) 0/1
- Added action SMART_ACTION_REMOVE_AURAS_BY_TYPE (120) AuraType, can be used to exit vehicle for example
- Added action SMART_ACTION_SET_SIGHT_DIST (121) sightDist
- Added action SMART_ACTION_FLEE (122) fleeTime
- Added action SMART_ACTION_ADD_THREAT (123) +threat, -threat
- Added action SMART_ACTION_LOAD_EQUIPMENT (124) equipmentId
- Added action SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT (125) minId, maxId
- Added action SMART_ACTION_REMOVE_ALL_GAMEOBJECTS (126), removes all owned gameobjects
- Added action SMART_ACTION_STOP_MOTION (127), stopMoving, movementExpired
- Extended target SMART_TARGET_HOSTILE_SECOND_AGGRO with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_LAST_AGGRO with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_RANDOM with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_RANDOM_NOT_TOP with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_THREAT_LIST with maxdist
- Extended target SMART_TARGET_OWNER_OR_SUMMONER to be able to get charmer/owner of current owner
- Added new target SMART_TARGET_FARTHEST with maxDist, playerOnly, isInLos restrictions
- Added SpellHit hook to GameObjectAI and extended SmartGameObjectAI to call SMART_EVENT_SPELLHIT when gameobject is hit by spell
- Call GameObjectAI Reset hook on gameobject respawn (for ex. to reset one time events in smart scripts)
- Fixed some logic errors in code
- SmartAI Escorts properly despawn escortee if no players are in range
- Disable Evading while charming creature with SmartAI
- Don't call SMART_EVENT_RESPAWN for dead units before they actually respawn
- Don't call SMART_EVENT_RESPAWN for not spawned gameobjects
- Properly call SMART_EVENT_RESPAWN for gameobject respawn
- Allow action SMART_ACTION_SET_IN_COMBAT_WITH_ZONE to utilize targetlist
- Allow action SMART_ACTION_CALL_FOR_HELP to utilize targetList
- Allow action SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL to utilize targetList
- Allow action SMART_ACTION_SET_VISIBILITY to utilize targetList
- Allow action SMART_ACTION_SET_ACTIVE to utilize targetList
- Allow action SMART_ACTION_ATTACK_START to select random attack target instead of first on the list
- Allow gameobjects to summon gameobjects with action SMART_ACTION_SUMMON_GO
- Properly store action invokers for action SMART_ACTION_WP_START, if no player invokers are found, distance despawn check won't be used
- Allow action SMART_ACTION_WP_RESUME to compensate for the state the unit actually is in (eg. combat)
- Allow action SMART_ACTION_MOVE_TO_POS to select random of the avaiable targets, not only the first one.
- Allow action SMART_ACTION_MOVE_TO_POS to utilize x, y, z parameters as an offset to calculated coordinates
- Action SMART_ACTION_RESPAWN_TARGET should never modify respawntime of already spawned gameobjects, use dedicated function
- Properly delete ontime events created by SMART_ACTION_CREATE_TIMED_EVENT
- If action could not be started because conditions were not satisfied, do not recalculate the waittime to action repeattime, use smaller value to recheck more frequently
- Allow target SMART_TARGET_CLOSEST_PLAYER to be used by gameobjects
- Allow target SMART_TARGET_OWNER_OR_SUMMONER to be used by gameobjects
- Fixed SMART_EVENT_COUNTER_SET to be only called for the id that was incremented
- Changed the way counters work
- Protect PhaseInc from surpassing maximum phase
- Added loading checks for missing NON_REPEATABLE flag if no repeatmin, repeatmax is set
- Added spell validation for SMART_ACTION_CROSS_CAST
2017-02-19 09:10:29 +01:00