Commit Graph

4305 Commits

Author SHA1 Message Date
Kitzunu
ebf5f6710a feat(Core/Chat): Provide a fully-formed protocol for addons to intera… (#19305)
* feat(Core/Chat): Provide a fully-formed protocol for addons to interact with GM commands

* Send success/fail state, allow interleaving, and indicate end of output. Add framework for supporting non-human-readable output in commands.

* cherry-pick commit (508c9d2fc1)

This PR implements a well-formed protocol for addons to communicate with the server, outlined below:

- All communication happens over the addon channel (`LANG_ADDON` in terms of the core, `CHAT_MSG_ADDON`/`SendAddonMessage` for the client). The prefix used for all messages is `AzerothCore` (in client terms - in core terms, every message starts with `AzerothCore\t`).
- In each message, the first character is the opcode. The following four characters are a unique identifier for the invocation in question, and will be echoed back by the server in every message related to that invocation. Following is the message body, if any.
- The following opcodes are supported:
    - Client to server:
        - `p` - Ping request. The core will always respond by ACKing with the passed identifier. No body.
        - `i` or `h` - Command invocation. The message body is the command text without prefix. `i` requests machine-readable output, `h` requests human-readable.
    - Server to client:
        - `a` - ACK. The first message sent in response to any invocation (before any output). No body.
        - `m` - Message. Sent once per line of output the server generates. Body = output line.
        - `o` - OK. Indicates that the command finished processing with no errors. No body.
        - `f` - Failed. Indicates that command processing is done, but there was an error. No body.

Expected overhead is minimal, and this integrates seamlessly with existing command scripts (no changes necessary).

PS: There's also a client-side addon library that exposes this protocol in a developer-friendly way over at https://github.com/azerothcore/LibAzerothCore-1.0

---------

Co-authored-by: Treeston <14020072+Treeston@users.noreply.github.com>
2024-07-06 19:13:24 +02:00
Kitzunu
3c50b1a135 fix(Core/Player): Vertical Message distance (#19302)
* cherry-pick commit (297541e9c9)

* Get rid of unused param

* Merge SendMessageToSetInRange_OwnTeam into SendMessageToSetInRange

Co-authored-by: Badgersson <83663557+dekz120@users.noreply.github.com>
2024-07-06 10:05:34 -03:00
Kitzunu
f42ed2efa5 feat(Core/SAI): SetData now has invoker (#19296)
* cherry-pick commit (cfc77fd843)

* cherry-pick commit (beb333738d)

* Move IsSmart function from headerfile

Co-authored-by: Treeston <14020072+Treeston@users.noreply.github.com>
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2024-07-06 13:46:10 +02:00
Kitzunu
9e6eca979b fix(Scripts/ShadeOfAran): Make immune to Mind-numbing and Cure of Tongue (#19309)
* closes https://github.com/chromiecraft/chromiecraft/issues/6900
2024-07-06 11:22:13 +02:00
Gultask
76b6da1b3f fix(Scripts/BlackTemple): Move Teron Gorefiend to scheduler and add Berserk (#19288)
Update boss_teron_gorefiend.cpp
2024-07-05 21:16:41 -03:00
Kitzunu
fc8b67bbe4 chore(Scripts/Commands): QOL server debug (#19297)
* chore(Scripts/Commands): QOL server debug

* England

* might as well do updatetime while we are at it. Consistency right?

* Hey let's sneak this ENGLAND in
2024-07-06 01:18:38 +02:00
Anton Popovichenko
04acfd96a0 fix(Core/Unit): Invalidate update object cache when changing health in the same world update tick. (#19287)
* fix(Core/Unit): Invalidate update object cache when changing health in the same world update tick.

Should fix an issue when the client sees dead NPCs when they are not.

* Fix styling

* Another codestyle fix
2024-07-05 15:42:22 -03:00
Gultask
89a6996628 fix(Scripts/SmartAI): Rewrite ACTION_MOVE_TO_POS (#19190)
* init

* Update SmartScript.cpp

* combatReach

* Update SmartScript.cpp
2024-07-05 15:07:56 -03:00
Kitzunu
172f73db92 fix(Core/Misc): unused param (#19286) 2024-07-05 15:06:03 -03:00
天鹿
34edcefc8b fix(Core/dbc): GlyphPropertiesfmt ERROR (#19284)
Add files via upload
2024-07-05 07:45:58 -03:00
Benjamin Jackson
620c40b010 fix(Core/Handlers): Adjust start swing handler. (#19267)
* Init.

* Flesh out packet info.

https: //github.com/TrinityCore/TrinityCore/commit/af6d207addfef177fb5ac3e7fa61ec93ced83d16
Co-Authored-By: ForesterDev <11771800+ForesterDev@users.noreply.github.com>

---------

Co-authored-by: ForesterDev <11771800+ForesterDev@users.noreply.github.com>
2024-07-05 07:45:26 -03:00
Andrew
d9f4ba5e1d fix(Scripts/Item): Fix Fel Mana Potion not benefiting from Alchemist'… (#19281)
fix(Scripts/Item): Fix Fel Mana Potion not benefiting from Alchemist's Stone
2024-07-05 06:32:33 -03:00
Jelle Meeus
37431cd7a6 fix(Core/Pets): Correct Pet size for bigger pets 2 (#18867)
* scale displayInfo, cap scale to maxScale

* prevent scaling with displayInfo if scale is already increasing the size
2024-07-04 16:34:14 -03:00
avarishd
7cf25c94ab fix(Scripts/Shattrath): Daily Dungeon quests holograms (#19233)
* fix(Scripts/Shattrath): Daily Dungeon quests holographs

* Move to single script + doaction SAI

* ocd

* use NEAR_PLAYER

* use only Wind Trader as SAI

* use creature_guid target

* rename action

* cleanup

* zzz

* Update zone_shattrath_city.cpp
2024-07-04 15:50:11 -03:00
Dan
b959d5cc87 refactor(Scripts/ZulAman): Nalorakk refactored (#19010)
* init

* update movement

* updates and debug

* stuck :/

scheduler doesn't seem to update when at the end of wp movement???

* fix wps and implement fight

* finalise

* unused

* Update boss_nalorakk.cpp

* keep oprientation

* ran_intro
2024-07-04 20:13:41 +02:00
Jelle Meeus
9de2178eb5 fix(Scripts/Naxxramas): Razuvious' Death Knight Understudy RP (#19183) 2024-07-04 14:59:53 -03:00
Kitzunu
8bca8a45ed chore(Core/Spells): Fix compile warning (#19278)
* chore(Core/Spells): Fix compile warning

* s
2024-07-04 14:47:36 -03:00
Benjamin Jackson
c3e22c0fe2 fix(Scripts/HyjalSummit): Couple Archimonde adjustments. (#19193)
* Init.

Co-Authored-By: cyberium <cyberium@users.noreply.github.com>
Co-Authored-By: killerwife <killerwife@users.noreply.github.com>

* Corrections.

* Adjust fear timer.

* Wrong spell.

* Whitespace.

* Use the much cooler and more hip scheduler.

* Correct teleport timers.

Matches up with sniffed 3.4.3 data.

* Swap magic number for constant.

Co-Authored-By: killerwife <killerwife@users.noreply.github.com>

* Adjust notation.

* Public.

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Kitzunu's fault.

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

---------

Co-authored-by: cyberium <cyberium@users.noreply.github.com>
Co-authored-by: killerwife <killerwife@users.noreply.github.com>
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2024-07-04 14:31:22 -03:00
Kitzunu
bd29e9e1b3 fix(Core/Spell): Implement SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT (#19254)
feat(Core/Spell): Implement SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/19248
2024-07-04 14:30:59 -03:00
Kitzunu
aebb99ecda fix(Core/Character): TeleportTo() in HandlePlayerLoginFromDB() causes… (#19237)
fix(Core/Character): TeleportTo() in HandlePlayerLoginFromDB() causes breakdown in the network communication

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/16307
2024-07-04 14:30:25 -03:00
Kitzunu
e8f7d70ee0 refactor(Script/Dalaran): Minigob Manabonk (#19244)
* refactor(Script/Dalaran): Minigob Manabonk

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/16841

* Update src/server/scripts/Northrend/zone_dalaran.cpp
2024-07-04 14:28:10 -03:00
Kitzunu
6031ae2eb9 chore(Core/Conf): Show better logging when fatal config options are m… (#19236)
chore(Core/Conf): Show better logging when fatal config options are missing

* Show better log when the server halts due to missing fatal config option

* Change error to warning for missing config options. As they are not errors

* Update output when autoupdater is disabled for all databases
2024-07-04 14:25:28 -03:00
Kitzunu
385d7fd515 chore(Core/DBC): define unused unknown dbc fields (#19262)
* chore(Core/DBC): define unused unknown dbc fields

* Name unused unknown dbc fields using WDBX and wowdev.wiki

* rename SpellShapeshiftEntry to SpellShapeshiftFormEntry to properly match the DBC used

* rename sSpellShapeshiftStore to sSpellShapeshiftFormStore to properly match the DBC used

* Comment out unused field for GlyphPropertiesEntry

* Comment out unused field for MapEntry

* forgot one

* SpellShapeshiftfmt to SpellShapeshiftFormfmt

* SpellShapeshiftFormEntryfmt
2024-07-04 14:23:25 -03:00
Kitzunu
193e906a84 fix(Core/Spells): Shapeshift should show in Old Hillsbrad Foothills a… (#19274)
fix(Core/Spells): Shapeshift should show in Old Hillsbrad Foothills as horde
2024-07-04 14:21:33 -03:00
Kitzunu
8745ac9c2e fix(Core/Loot): implement automatic pass in group loot for items that… (#19272)
* fix(Core/Loot): implement automatic pass in group loot for items that cannot be looted

* cherry-pick commit (00fdf6e99a)

* closes https://github.com/chromiecraft/chromiecraft/issues/4523

Co-Authored-By: Wyrserth <43747507+Wyrserth@users.noreply.github.com>

* whoopise

---------

Co-authored-by: Wyrserth <43747507+Wyrserth@users.noreply.github.com>
2024-07-04 14:21:00 -03:00
Kitzunu
e878cedb7f feat(Core/SAI): implement new removeObjectFromWorld param for SMART_A… (#19275)
feat(Core/SAI): implement new removeObjectFromWorld param for SMART_ACTION_FORCE_DESPAWN
2024-07-04 14:20:41 -03:00
Jelle Meeus
cf1185551d fix(Core/Pet): prevent LoadPetFromDB to trigger a fake summon spell cast in most cases (#19277)
* add CategoryRecoveryTime check

* add RecoveryTime check
2024-07-04 14:20:24 -03:00
avarishd
f84a4f1408 fix(Scripts/TK): Kael'thas mind control should reset threat (#19264)
* fix(Scripts/TK): Kael'thas mind control should reset threat

* lol

* -2 lines

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

---------

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2024-07-04 13:50:45 -03:00
Kitzunu
d5ba5e0168 fix(Core/Quest): typo in RewardQuest makes LFG quests not reward if dead (#19271)
fix(Core/Quest): typo in RewardQuest

* Allow LFG quests to be rewarded even when dead
2024-07-04 09:41:53 -03:00
Benjamin Jackson
e41080468f fix(Scripts/TheEye): Kael'thas adjustments. (#19213)
* Init.

* Update advisor phase timer.
2024-07-04 09:26:23 -03:00
thomasjteachey
fa8680746e fix(Core/Arena): Check to see if other members in your arena team are queued or in a r… (#18808)
* Check to see if other members in your arena team are queued or in a rated arena already and, if so, do not allow queue to go through

* Accidentally put team party check inside the for loop

* some basic logic efficiency changes

* minor syntax issue
2024-07-04 08:42:36 -03:00
sudlud
60be029e4c fix(Core/Scripting): fix OnBeforeCreateInstanceScript hook (#19252)
- to me this hook should obviously provide an option to overwrite
  the InstanceScript pointer
- this is e.g. beeing used by mod-eluna (but currently broken)
2024-07-03 14:54:45 -03:00
Kitzunu
e839581649 fix(Core/Player): Allow players to enter the world (#19261) 2024-07-03 12:06:48 +02:00
Kitzunu
0a8175ef03 refactor(Core/ObjectMgr): Handle Profanity & Reserved Names in load (#19259)
* refactor(Core/ObjectMgr): Handle Profanity & Reserved Names in load

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/18556

* Update ObjectMgr.cpp

* Update ObjectMgr.cpp

* I swear I am not drunk

* We already check all of these

* fix build

* Forgot we dont send the responsecode in senderrormessage

* last commit I swear
2024-07-03 00:23:32 +02:00
Kitzunu
f96d4c8670 Revert "Add (core\db): Support for Homebind Orientation (#13389)" (#19257)
* Revert "Add (core\db): Support for Homebind Orientation (#13389)"

This reverts commit 2e6f6e26da.

 Changes to be committed:
	modified:   src/server/database/Database/Implementation/CharacterDatabase.cpp
	modified:   src/server/game/DungeonFinding/LFGScripts.cpp
	modified:   src/server/game/Entities/Player/Player.cpp
	modified:   src/server/game/Entities/Player/Player.h
	modified:   src/server/game/Entities/Player/PlayerStorage.cpp
	modified:   src/server/game/Entities/Player/PlayerUpdates.cpp
	modified:   src/server/game/Handlers/CharacterHandler.cpp
	modified:   src/server/game/Handlers/MiscHandler.cpp
	modified:   src/server/game/Handlers/MovementHandler.cpp
	modified:   src/server/game/Maps/Map.cpp
	modified:   src/server/game/Spells/Spell.cpp
	modified:   src/server/scripts/Commands/cs_misc.cpp
	modified:   src/server/scripts/Commands/cs_tele.cpp
	modified:   src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp

 Untracked files:
	data/sql/updates/pending_db_world/rev_1719945200692175000.sql

* Revert "Add (core\db): Support for Homebind Orientation (#13389)"

* whoops
2024-07-02 22:02:15 +02:00
Kitzunu
5a4692e45a chore(Core/Misc): #include cleanup (#19255) 2024-07-02 15:52:02 +02:00
Jelle Meeus
47ad691c92 refactor(Scripts/EasternKingdoms): RegisterSpellScript macro (#19241)
* zone_undercity spell:spell_blight_worm_ingest

* zone_blasted_lands spell:spell_razelikh_teleport_group

* zone_isle_of_queldanas spell:spell_bh_cleanse_quel_delar
2024-07-01 23:28:03 +02:00
Kitzunu
1289e351a2 fix(Script/Commands): output lookup quest and npc near (#19243)
* close https://github.com/azerothcore/azerothcore-wotlk/issues/19216
2024-07-01 07:24:54 -03:00
Kitzunu
688d7e2fdf fix(Script/GunshipBattle): Wipe if no player is on the deck (#19239)
* fix(Script/GunshipBattle): Wipe if no player is on the deck

* reorder

* Update boss_icecrown_gunship_battle.cpp

* Update worldserver.conf.dist

* Update boss_icecrown_gunship_battle.cpp

* missed it!

* Update instance_icecrown_citadel.cpp
2024-06-30 18:30:44 -03:00
Andrew
8b81b1dad1 fix(Scripts/Hyjal): Workaround bosses getting stuck in progress (#19231) 2024-06-30 05:39:29 -03:00
Jelle Meeus
ed38e6e550 fix(Scripts/Naxxramas): Gothik missing visuals at minions death (#18666)
* add sql rev

* enable NPC_TRIGGER

* add npc_gothik_trigger

* add rest of script

* spell info correction

* fix compile issue

* fix desummon call

* remove comment

* access gothik by GUID

* add missing function overrides

* add braces

* add missing trigger, adjust CGUID value

* fixup! add missing trigger, adjust CGUID value

* select skulls based on coordinates

style

invert remove

remove CGUID comment

fix remove_if check, use correct def

* JustSummoned: target same side with mapLOS

* select random initial target on the same side

* add REACT_AGGRESSIVE and increase CallForHelp radius

* refactor spellscript

* style
2024-06-29 15:12:12 -03:00
Jelle Meeus
75582eb34b fix(Core/Spell): implement taunt DR CREATURE_FLAG_EXTRA_OBEYS_TAUNT_DIMINISHING_RETURNS (#19128)
* skip other effects in case of taunt DR

* set flags_extra creature_template

fe38b78c87

Co-authored-by: offl <offl@users.noreply.github.com>

* update query to only entries found in acore_world.creature_template

* add name as comment

* fix ci codestyle

---------

Co-authored-by: offl <offl@users.noreply.github.com>
2024-06-29 11:59:16 -03:00
Kitzunu
bc91074b14 fix(build): mac (#19229) 2024-06-29 11:48:58 -03:00
avarishd
63c8c6480e fix(Core/Spells): Eye of Grillok improvements (#19148)
* fix(Core/Spells): Eye of Grillok improvements

* my eyes

* discovery of RegisterSpellAndAuraScriptPair

* comment
2024-06-29 07:33:23 -03:00
Dinkledork
01f063e242 fix(Scripts/World): Emerald Dragons no longer have 0% health events (#18893)
Events happen at 75, 50 or 25 percent health and should not include 0%.
2024-06-29 06:13:14 -03:00
Jelle Meeus
64e92b9bb5 refactor(Scripts/Spells): Spell Scripts registry macros, rogue killing spree (#19226)
* spell_rogue pair:spell_rog_killing_spree move public AddTarget up

spell_rogue pair:spell_rog_killing_spree

* fixup! spell_rogue pair:spell_rog_killing_spree
2024-06-29 06:11:50 -03:00
Jelle Meeus
e3da4e4986 refactor(Scripts/World): Spell Scripts registry macros (#19224)
* boss_emerald_dragons spell:spell_dream_fog_sleep

* boss_emerald_dragons spell:spell_mark_of_nature
2024-06-29 06:06:59 -03:00
Jelle Meeus
0d7f4c43e8 refactor(Scripts/SunwellPlateau): Spell Scripts registry macros (#19223) 2024-06-29 06:06:38 -03:00
Walter Pagani
77be5bb19d fix(Spells/SpellInfoCorrections) Remove friendly mask on goblins (#18912)
Co-authored-by: Jelle Meeus <sogladev@gmail.com>
2024-06-29 00:28:29 -03:00
avarishd
7ae10d8ba6 fix(DB/Area): Horvon the Armorer & Greatfather Aldrimus phasing (#19138) 2024-06-29 00:24:50 -03:00