Commit Graph

5443 Commits

Author SHA1 Message Date
Keader
db80892a41 Build fix
(cherry picked from commit 3aadb72eaa)
2020-08-18 18:53:13 +02:00
Keader
251c1811ae Core/Custom: Fixed SPELLMOD_COOLDOWN exploit on Duel Reset system
Followup 0048d4b618
Closes #17419

(cherry picked from commit e254ebebbe)
2020-08-18 18:53:13 +02:00
Nyeriah
5b8d3ede7d Scripts/Karazhan: Fix Attumen and Midnight not moving towards each other on phase transition after latest changes
(cherry picked from commit 746fce30d9)
2020-08-18 18:53:13 +02:00
treeston
2c88d9f162 Some more refactoring prep for combat/threat (#19930).
(cherry picked from commit 2739a5c5f5)
2020-08-18 18:53:13 +02:00
Keader
04c303a7e5 Core/Custom: Fixed Duel Reset Exploits
Close #17419
*Fixed exploit with SPELLMOD_COOLDOWN
*Fixed exploit with some items (like Sylvanas' Music Box)
*Little cleanup

(cherry picked from commit 0048d4b618)
2020-08-14 17:38:52 +02:00
Shauren
1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
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
e9392ad287 Core/Authserver: Authserver cleanup (PR#25093)
- Fix a handful of 1/256 bugs with most significant byte zero in BigNumber
- Get rid of (most of) the C-style arrays in authserver
- CryptoRandom as a unified source for cryptographic randomness
- Bring our other crypto APIs into 2020
- BigNumber usability improvements
- Authserver is now actually readable as a result of all of the above

(cherry picked from commit 210176fd91)
2020-08-03 19:39:00 +02:00
Aokromes
c9e3356ba4 Core/Creatures: Fix typo 2020-07-31 12:37:31 +02:00
Shauren
1340f2cdb3 Core/Creatures: Move gossip trainer assignment to creature_trainer table - same gossip can open different trainers depending on which creature it is assigned to
Closes #21723
2020-07-31 11:21:24 +02:00
treeston
118e53f1b8 Combat/threat rewrite prep - merge RBAC/DB changes.
(cherry picked from commit e35092c6a1)
2020-07-16 22:06:56 +02:00
S.V
ced4820252 Core/Scripts: Fixed GAMEOBJECT_TYPE_DOOR closing automatically after being opened with .gobj act (#19342)
Closes #19261.

(cherry picked from commit 3eba093704)
2020-07-16 22:00:30 +02:00
ariel-
148dc34cb2 Core/Scripts: fix array out of bounds in Pit of Saron doorData
(cherry picked from commit 08d0105396)
2020-07-16 22:00:30 +02:00
treeston
f8fa4d734c Correct some missing auth DB changes from b59ca1c.
(cherry picked from commit 41eddd59aa)
2020-07-16 22:00:30 +02:00
treeston
29db04c3c9 Rename .debug uws to .debug worldstate (clarity change).
(cherry picked from commit b59ca1cc81)
2020-07-16 22:00:29 +02:00
treeston
64d8b183de Add new command 'npc showloot'. Does exactly what it says on the tin.
(cherry picked from commit 6f29aac936)
2020-07-16 22:00:29 +02:00
treeston
17a0139b0e - Add new commands .group set assistant, .group set maintank and .group set mainassist to toggle raid member flags.
- Fix 2017_05_29_00_auth.sql to be reapply safe.

(cherry picked from commit ac0f76f8c5)
2020-07-16 22:00:29 +02:00
treeston
7df8546d7e Removed a now-unused local (ca02629 follow-up)
(cherry picked from commit 4e41d3e6bd)
2020-07-16 22:00:29 +02:00
treeston
f543e570d6 Make some adjustments to .summon and .group summon behavior to make them more permissive:
- Now only requires the either target's group leader or target itself to be on your map
- Now summons all applicable group members even if one member fails checks
- No longer has some truly weird edge case instance unbind code that could cause exploit behavior (Really, I have no idea why this existed, because it certainly didn't do what it might've been meant to do.)

(cherry picked from commit ca02629950)
2020-07-16 22:00:29 +02:00
ariel-
8abbc097a0 Core/Scripts: fix some /W4 warnings
(cherry picked from commit d6cae113c6)
2020-07-16 22:00:29 +02:00
ariel-
47ca8cb021 Core/OutdoorPvP: fix another warning
(cherry picked from commit 6b49380806)
2020-07-16 22:00:29 +02:00
ariel-
66d66b00ee Core/OutdoorPvP: fix warning
(cherry picked from commit a05e1095c6)
2020-07-16 22:00:29 +02:00
ariel-
bd96262248 Core/OutdoorPvP: refactor using Position and Quat to pack parameters
- Moved statics to cpp
- Save scriptids into an array

(cherry picked from commit 3e7b64b2f7)
2020-07-16 22:00:29 +02:00
ariel-
ca5cbad6f0 Core/Scripts: remove non-player objects (ie corpses) from Sindragosa's Fury targetlist
(cherry picked from commit b3336cf943)
2020-07-16 22:00:28 +02:00
treeston
5392212799 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.

(cherry picked from commit d57307f63d)
2020-07-16 22:00:28 +02:00
jackpoz
a3dbf4b088 Core/Scripts: Simplify code
Partially revert 753e7074d8 and 12c680f9b1 to simplify the code and to only remove GMs from the target list.

(cherry picked from commit f9cfc202e9)
2020-07-16 22:00:28 +02:00
ariel-
e300d39562 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

(cherry picked from commit 753e7074d8)
2020-07-16 22:00:28 +02:00
Treeston
51ce3b1c1d [3.3.5] Get zone/area IDs from vmap data in the liquid update (#19840)
* Add new method Map::getFullVMapDataForPosition to get area info and liquid info in a single vmap lookup
* Use this lookup in Map:: relocation methods to update m_areaId and m_zoneId fields on WorldObject
* Adjust GetZoneId/GetAreaId on WorldObject to always return these cached fields
* Clean up liquid state handling on Unit and Player
* Hand floor's Z coord up through GetFullTerrainStatusForPosition, use it to update a new field in WorldObject, and use that to feed a new GetFloorZ call on WorldObject.

Closes #16489

(cherry picked from commit f6c849729b)
2020-07-16 22:00:24 +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
treeston
4179036bbe Some improvements to .debug raidreset command. Now supports heroic difficulty 5-man dungeons and outputs sensible text, as opposed to silently doing (or not doing) stuff.
(cherry picked from commit a3b198c7e1)
2020-07-16 21:47:15 +02:00
Shauren
deca201f77 Core/DataStores: Simplified string memory allocation in db2 files, dropped unneccessary level of indirection 2020-06-27 13:33:17 +02:00
Shauren
bbdabd7d77 Core/Players: Remove deprecated skill related config AlwaysMaxWeaponSkill and command .maxskill 2020-06-25 14:45:28 +02:00
ForesterDev
01d098830a DB/Account: update account_access table (#24788)
* DB/Account: update account_access table:

- rename fields id -> AccountID, gmlevel -> SecurityLevel
- add Comment field
- rename command .acc set gmlevel to .acc set seclevel

* Update auth database

* Fix primary key

* Temporary restore old command account set gmlevel with same handler as account set seclevel

Use Optional  for realmID - if not set, use -1 (for all realms)

* Rename 2020_XX_XX_00_auth.sql to 2020_06_20_00_auth.sql

* Update auth_database.sql

* Rename 2020_XX_XX_00_world.sql to 2020_06_20_06_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit 8e0365d8a6)
2020-06-22 11:03:31 +02:00
ariel-
7c2e83604c Core/Scripts: moved Wild Growth calculation to script and fixed formula
Thanks ccrs for the formula

(cherry picked from commit 96ee23487f)
2020-06-14 23:49:05 +02:00
ForesterDev
15609a197e Scripts/Gossip: fix go_ahune_ice_stone (#19835)
(cherry picked from commit f9a01c4b69)
2020-06-14 23:49:05 +02:00
Keader
e50a95839c Core/Scripts: Fixed some events that not should triggered by non-players on Illidan encounter
(cherry picked from commit 0c6829f7f2)
2020-06-14 23:49:05 +02:00
sirikfoll
c99963b023 Core/Scripts Properly set Freya's BossState do DONE and avoid some loot exploits
Closes #19823

(cherry picked from commit 1cc0458b11)
2020-06-14 23:49:04 +02:00
ForesterDev
7211c6e51d Scripts/Command: implement .debug play music command
Closes #19809

(cherry picked from commit dd4ff1fe54)
2020-06-14 23:49:04 +02:00
treeston
6f73960480 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.
(cherry picked from commit b6a4e9f3f9)
2020-06-14 23:49:04 +02:00
ariel-
b161447b47 Scripts/VioletHold: fix stack overflow when reflecting 'Splash'
Closes #19514

(cherry picked from commit d9a1c82ab4)
2020-06-14 23:49:03 +02:00
Aokromes
ce1dc8b3de Fix build
(cherry picked from commit 195db7c7bb)
2020-06-14 23:49:03 +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
ccrs
205d8bf591 Scripts/ICC: add missing cases for Dark Martyrdom difficulty entries
how come nobody noticed this?

(cherry picked from commit 7afe0b7fb0)
2020-06-14 23:49:03 +02:00
ariel-
e2bc8c5383 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

(cherry picked from commit 4a69f5bda5)
2020-06-14 23:49:01 +02:00
joschiwald
d50dccbfce 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.

(cherry picked from commit 5e90c76fd4)
2020-06-14 23:46:44 +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