Alex King
6494fbf916
[Bug Fix] Fix Discovered Items with Alternate Currency and LDoN Adventure Merchants ( #3026 )
...
* [Bug Fix] Fix Discovered Items with Alternate Currency Merchants
# Notes
- Before now, alternate currency merchants did not trigger item discovery.
* Update client_packet.cpp
2023-03-04 13:09:27 -05:00
Alex King
a97a9a0d1c
[Bug Fix] Fix npcfeature and playerfeature ( #3017 )
2023-03-01 20:42:37 -05:00
Alex King
ef214f91e9
[Bug Fix] Fix DoAnim quest method default speed ( #3016 )
...
# Notes
- Sets default speed to `0` which makes the animations run at normal speed instead of `1` that makes them run is slow motion.
2023-03-01 17:47:27 -05:00
Alex King
5702f7bcd1
[Quest API] Add IsFindable() and IsTrackable() to Perl/Lua ( #2996 )
...
# Perl
- Add `$mob->IsFindable()`.
- Add `$mob->IsTrackable()`.
# Lua
- Add `mob:IsFindable()`.
- Add `mob:IsTrackable()`.
# Notes
- Allows operators to see if a mob is findable or trackable.
2023-02-28 21:26:11 -05:00
Alex King
9a5bf53e11
[Quest API] Add IsUnderwaterOnly() to Perl/Lua ( #2995 )
...
# Perl
- Add `$npc->IsUnderwaterOnly()`.
# Lua
- Add `npc:IsUnderwaterOnly()`.
# Notes
- Allows operators to chec k if an NPC is underwater only.
2023-02-28 21:13:43 -05:00
Alex King
69c6a7b89a
[Quest API] Add IsBerserk() to Perl/Lua ( #2997 )
...
* [Quest API] Add IsBerserk() to Perl/Lua
# Perl
- Add `$client->IsBerserk()`.
# Lua
- Add `client:IsBerserk()`.
- Remove `mob:IsBerserk()` to move to client.
# Notes
- Allows operators to check if a client is berserk.
* Move to Mob.
* Update lua_client.cpp
2023-02-28 20:31:20 -05:00
Alex King
774a7fa779
[Cleanup] Delete unused zone/skills.h ( #3007 )
...
# Notes
- This is unused.
2023-02-26 21:35:49 -05:00
Alex King
1ff4541a9f
[Cleanup] Remove NumberOfAvailableTitles() from titles.h ( #3006 )
...
# Notes
- This is unused.
2023-02-26 21:35:43 -05:00
Alex King
3448758c03
[Quest API] Add HasSpecialAbilities() to Perl/Lua ( #2994 )
...
* [Quest API] Add HasSpecialAbilities() to Perl/Lua
# Perl
- Add `$mob->HasSpecialAbilities()`.
# Lua
- Add `mob:HasSpecialAbilities()`
# Notes
- Allows operators to check if a mob has special abilities
* Move to NPC.
* Update lua_mob.cpp
2023-02-26 21:35:10 -05:00
Alex King
ff4ccfa98f
[Quest API] Add GetDefaultRaceSize() to Perl/Lua ( #2993 )
...
# Perl
- Add `$mob->GetDefaultRaceSize()`.
# Lua
- Add `mob:GetDefaultRaceSize()`.
# Notes
- Allows operators to get the default race size of a race if they want to use it in a script.
2023-02-26 21:35:03 -05:00
Alex King
a470931fdd
[Cleanup] Remove class EGNode from mob.h ( #3003 )
...
# Notes
- This is unused.
2023-02-25 20:10:23 -05:00
Alex King
078db3460d
[Cleanup] Remove ReturnItemPacket from client.h/inventory.cpp ( #3002 )
...
# Notes
- This is unused.
2023-02-25 20:10:08 -05:00
Alex King
0980a780d0
[Cleanup] Remove GetDamageMultiplier() from client.h ( #3001 )
...
# Notes
- This is unused.
2023-02-25 19:50:42 -05:00
Alex King
7f01bb509c
[Cleanup] Remove DumpPacketProfile() from client.h ( #3000 )
...
# Notes
- This is unused.
2023-02-25 19:38:09 -05:00
Alex King
4bb189cbf4
[Cleanup] Remove GetCombinedAC_TEST() from client.h ( #2999 )
...
# Notes
- This is unused.
2023-02-25 19:38:03 -05:00
Alex King
b03e8ff0fb
[Cleanup] Remove unused ClientFactory in client.h ( #2998 )
...
# Notes
- This is unused.
2023-02-25 19:37:57 -05:00
Alex King
2a20c69c69
[Scaling] Add support for zone ID and instance version to NPC Scaling ( #2968 )
...
* [Scaling] Add support for zone ID and instance version to NPC Scaling
# Notes
- Adds `zone_id` and `instance_version` to `npc_scale_global_base` table to allow for zone and version-specific scaling.
- Defaults back to `zone_id` of `0` and `instance_version` of `0` for global scaling.
- Scaling load precedence is as follows:
- `zone_id` of current zone and `instance_version` of current instance
- `zone_id` of current zone and `instance_version` of `0`
- `zone_id` of `0` and `instance_version` of `0`
* Remove debug comment.
* Use zone not NPC.
* SQL
2023-02-24 20:17:07 -06:00
Alex King
b0d4f095ef
[Commands] Cleanup #peekinv Command ( #2969 )
...
* [Commands] Cleanup #peekinv Command
# Notes
- Cleanup messages and logic.
* Update peekinv.cpp
2023-02-23 02:38:37 -06:00
Alex King
0d72295cc9
[Quest API] Add IsAutoAttackEnabled() to Perl/Lua ( #2979 )
...
# Perl
- Add `$client->IsAutoAttackEnabled()`.
# Lua
- Add `client:IsAutoAttackEnabled()`.
# Notes
- Allows operators to check if a client has auto attack enabled.
2023-02-23 02:31:35 -06:00
Alex King
9d4f231619
[Quest API] Add IsAutoFireEnabled() to Perl/Lua ( #2978 )
...
# Perl
- Add `$client->IsAutoFireEnabled()`.
# Lua
- Add `client:IsAutoFireEnabled()`.
# Notes
- Allows operators to check if a client has auto fire enabled.
2023-02-22 23:30:04 -05:00
Alex King
df499b22ab
[Bug Fix] Fix MIR LDoN Theme Items on LDoN Merchants ( #2971 )
...
# Notes
- These items weren't showing as MIR due to this condition being typo'd in https://github.com/EQEmu/Server/pull/1611/files .
2023-02-19 21:51:37 -05:00
Alex King
7bc00cb466
[Bug Fix] Fix OOCMute not functioning ( #2970 )
...
# Notes
- #oocmute was not functioning as the packet wasn't being handled by the server.
2023-02-19 20:39:24 -05:00
Alex King
1556e05b2f
[Quest API] Add client->SignalClient() overload to Perl ( #2963 )
...
# Notes
- Fixes an issue with Guild Lobby quests not properly using `client` as first parameter in `mob->SignalClient(client, signal_id)` method.
2023-02-19 15:20:28 -05:00
Alex King
1d645aa5f6
[Quest API] Fix Perl SetSimpleRoamBox Overloads ( #2961 )
...
# Notes
- These overloads were non-functional as they didn't have a method to actually fall back to.
2023-02-19 11:17:35 -05:00
Alex King
19434197d4
[Bug Fix] Fix crash in EVENT_DISCOVER_ITEM ( #2933 )
...
* [Bug Fix] Fix crash in EVENT_DISCOVER_ITEM
# Notes
- `const` didn't like the `std::any_cast`, also was passing `EQ::ItemData*` instead of `EQ::ItemInstance*`.
* Update client.cpp
2023-02-15 10:49:14 -06:00
Alex King
97edb09fba
[Rules] Add Group/Raid Experience Rules ( #2850 )
...
# Notes
- Add `Character:EnableGroupMemberEXPModifier`, enables or disables member-based experience modifiers in groups, default `true`.
- Add `Character:EnableRaidEXPModifier`, enables or disables member-based experience modifiers in raids, default `true`.
- Add `Character:EnableRaidMemberEXPModifier`, enables or disables member-based experience modifiers in raids, default `true`.
2023-02-13 00:25:59 -06:00
Alex King
85f7b10f90
[Cleanup] Remove Unused Mod Hooks ( #2856 )
...
- Removes old `mod_` hooks that have gone unused for years in favor of Lua mods.
2023-02-13 00:24:23 -06:00
Alex King
4df9661903
[Quest API] Add EVENT_DROP_ITEM_CLIENT to Perl/Lua ( #2869 )
...
* [Quest API] Add EVENT_DROP_ITEM_CLIENT to Perl/Lua
- Add `EVENT_DROP_ITEM_CLIENT`, exports `$quantity,` $item_name`, `$item_id`, `$spell_id`, `$slot_id`, and `$item`.
- Add `event_drop_item_client`, exports `e.quantity`, `e.item_name`, `e.item_id`, `e.spell_id`, `e.slot_id`, and `e.item`.
* Update inventory.cpp
* Update inventory.cpp
* Update lua_general.cpp
* Update inventory.cpp
2023-02-13 00:15:19 -06:00
Alex King
8c363320d8
[Quest API] Export target to EVENT_TARGET_CHANGE in Perl/Lua. ( #2870 )
...
* [Quest API] Export target to EVENT_TARGET_CHANGE in Perl/Lua.
- Export `$target` to `EVENT_TARGET_CHANGE`.
- Export `e.other` to `event_target_change`.
- Allows operators to not have to grab bot, Client, or NPC's target in Perl with `GetTarget()`.
- Allows operators to not have to grab Client's target in Lua with `GetTarget()`.
* Update mob.cpp
* Update mob.cpp
* Update mob.cpp
2023-02-13 00:03:52 -06:00
Alex King
d4afc78982
[Quest API] Add EVENT_DESTROY_ITEM_CLIENT to Perl/Lua. ( #2871 )
...
* [Quest API] Add EVENT_DESTROY_ITEM_CLIENT to Perl/Lua.
- Add `EVENT_DESTROY_ITEM_CLIENT`, exports `$item_id`, `$item_name`, `$quantity`, and `$item`.
- Add `event_destroy_item_client`, exports `e.item_id`, `e.item_name`, `e.quantity`, and `e.item`.
- Allows operators to use player scripts for item destroys.
* Update lua_parser_events.h
* Update inventory.cpp
2023-02-12 23:58:27 -06:00
Alex King
ca0e85b4bc
[Quest API] Export $item to EVENT_PLAYER_PICKUP in Perl. ( #2875 )
...
* [Quest API] Export $item to EVENT_PLAYER_PICKUP in Perl.
# Notes
- Exports `$item` to `EVENT_PLAYER_PICKUP` in Perl so that you have access to the item itself.
* Optional parsing.
* Update object.cpp
* Update object.cpp
2023-02-12 23:52:47 -06:00
Alex King and Akkadius
5b24d38d1e
[Quest API] Export $item to Fishing and Forage Events in Perl ( #2876 )
...
* [Quest API] Export $item to Fishing and Forage Events in Perl
# Notes
- Exports `$item` to `EVENT_FISH_SUCCESS` in Perl.
- Exports `$item` to `EVENT_FORAGE_SUCCESS` in Perl.
* Add optional parsing to fish/forage events.
* Update forage.cpp
* Fix missing event param
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-02-12 23:50:21 -06:00
Alex King
4a1d026215
[Quest API] Export $spawned to EVENT_SPAWN_ZONE in Perl ( #2877 )
...
* [Quest API] Export $spawned to EVENT_SPAWN_ZONE in Perl
# Notes
- Exports `$spawned` to `EVENT_SPAWN_ZONE` in Perl.
- Allows operators to use the mob reference instead of having to grab it from entity list.
* Optional parsing.
2023-02-12 23:46:01 -06:00
Alex King and Akkadius
5ef8f8c3a8
[Quest API] Export $item and $corpse to EVENT_LOOT and EVENT_LOOT_ZONE in Perl ( #2878 )
...
* [Quest API] Export $item and $corpse to EVENT_LOOT and EVENT_LOOT_ZONE in Perl
# Notes
- Exports `$item` and `$corpse` to `EVENT_LOOT` in Perl.
- Exports `$item` and `$corpse` to `EVENT_LOOT_ZONE` in Perl.
* Optional parsing.
* Update corpse.cpp
* Cleanup
* Export changes
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-02-12 23:45:26 -06:00
Alex King
384de31989
[Quest API] (Performance) Check event exists before export and execute EVENT_BOT_CREATE ( #2886 )
...
* [Quest API] Optionally parse EVENT_BOT_CREATE
- Optionally parse this event instead of always doing so.
* Cleanup
* Cleanup
2023-02-12 23:40:03 -06:00
Alex King
5be3780a54
[Quest API] (Performance) Check event exists before export and execute EVENT_LEVEL_UP and EVENT_LEVEL_DOWN ( #2889 )
...
* [Quest API] Optionally parse EVENT_LEVEL_UP and EVENT_LEVEL_DOWN
- Optionally parses these events instead of always doing so.
* [Quest API] Optionally parse EVENT_LEVEL_UP and EVENT_LEVEL_DOWN
- Optionally parses these events instead of always doing so.
2023-02-12 23:36:45 -06:00
Alex King
21e42714eb
[Quest API] (Performance) Check merchant events exist before export and execute ( #2893 )
...
* [Quest API] Optionally parse merchant events
- Optionally parse these events instead of always doing so.
* Cleanup
2023-02-12 23:33:32 -06:00
Alex King
3474c00e7a
[Quest API] (Performance) Check event EVENT_LANGUAGE_SKILL_UP, EVENT_SKILL_UP, or EVENT_USE_SKILL exist before export and execute ( #2894 )
...
* [Quest API] Optionally parse EVENT_LANGUAGE_SKILL_UP, EVENT_SKILL_UP, and EVENT_USE_SKILL
- Optionally parse these events instead of always doing so.
* Cleanup
2023-02-12 23:30:48 -06:00
Alex King
3d6b0e5f74
[Quest API] (Performance) Check event EVENT_COMBINE, EVENT_COMBINE_SUCCESS, EVENT_COMBINE_FAILURE, or EVENT_COMBINE_VALIDATE exist before export and execute ( #2896 )
...
* [Quest API] Optionally parse EVENT_COMBINE_SUCCESS and EVENT_COMBINE_FAILURE
- Optionally parse these events instead of always doing so.
* Update tradeskills.cpp
* Update tradeskills.cpp
2023-02-12 23:28:27 -06:00
Alex King and Akkadius
9f619859d1
[Quest API] (Performance) Check spell or cast events exist before export and execute ( #2897 )
...
* [Quest API] Optionally parse spell/cast events
# Notes
- Optionally parses `EVENT_CAST`, `EVENT_CAST_BEGIN`, `EVENT_CAST_ON`, `EVENT_SPELL_EFFECT_NPC`, `EVENT_SPELL_EFFECT_CLIENT`, `EVENT_SPELL_EFFECT_BOT`, `EVENT_SPELL_EFFECT_BUFF_TIC_CLIENT`, `EVENT_SPELL_EFFECT_BUFF_TIC_NPC`, `EVENT_SPELL_EFFECT_BUFF_TIC_BOT`, `EVENT_SPELL_FADE`, and `EVENT_SPELL_EFFECT_TRANSLOCATE_COMPLETE`.
* Cleanup
* PR comment fixes
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-02-12 23:26:17 -06:00
Alex King and Akkadius
805a9c5f59
[Quest API] (Performance) Check event EVENT_DEATH, EVENT_DEATH_COMPLETE, or EVENT_DEATH_ZONE exist before export and execute ( #2909 )
...
* [Quest API] Optionally parse EVENT_DEATH and EVENT_DEATH_COMPLETE
- Optionally parse these events instead of always doing so.
* Update attack.cpp
* Update attack.cpp
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-02-12 23:15:57 -06:00
Alex King
43329dc583
[Quest API] (Performance) Check event exists before export and execute EVENT_KILLED_MERIT ( #2911 )
...
- Optionally parse this event instead of always doing so.
2023-02-12 23:09:34 -06:00
Alex King
66fee56c47
[Quest API] (Performance) Check event exists before export and execute EVENT_DISCOVER_ITEM ( #2912 )
...
- Optionally parse this event instead of always doing so.
2023-02-12 23:07:32 -06:00
Alex King
efb2ab57aa
[Quest API] Optionally parse EVENT_CONNECT and EVENT_DISCONNECT ( #2913 )
...
- Optionally parse these events instead of always doing so.
2023-02-12 23:01:48 -06:00
Alex King
0a7d482299
[Quest API] (Performance) Check event EVENT_ENVIRONMENTAL_DAMAGE exists before export and execute ( #2899 )
...
* [Quest API] Optionally parse EVENT_ENVIRONMENTAL_DAMAGE
# Notes
- Optionally parses this event instead of always doing so.
* Update client_packet.cpp
2023-02-12 23:00:04 -06:00
Alex King and Akkadius
de047fb851
[Quest API] (Performance) Check event EVENT_FEIGN_DEATH exists before export and execute ( #2916 )
...
* [Quest API] Optionally parse EVENT_FEIGN_DEATH
# Notes
- Optionally parse this event instead of always doing so.
* Remove unused reference, fix other PR
* Update task_client_state.cpp
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-02-12 22:59:14 -06:00
Alex King
c64591b8f7
[Quest API] Export $killed_npc to EVENT_NPC_SLAY to Perl ( #2879 )
...
# Notes
- Exports `$killed_npc` to `EVENT_NPC_SLAY` to Perl.
- Allows operators to use NPC reference in event instead of just NPC ID.
2023-02-12 22:49:16 -06:00
Alex King
3813162bac
[Quest API] (Performance) Check task events exist before export and execute ( #2883 )
...
* [Quest API] Optionally parse task events
- Optionally parses these events instead of always doing so.
* Update task_client_state.cpp
* Cleanup
* Update task_client_state.cpp
* [Quest API] Optionally parse task events
- Optionally parses these events instead of always doing so.
* Update task_client_state.cpp
* Cleanup
2023-02-12 22:48:51 -06:00
Alex King
7099e17c7e
[Quest API] Export $hate_entity to EVENT_HATE_LIST in Perl ( #2885 )
...
# Notes
- Exports `$hate_entity` to `EVENT_HATE_LIST`.
- Allows operators to see which mob is joining/leaving an NPC's hatelist.
2023-02-12 22:44:31 -06:00
Alex King
2c75e8fcd4
[Quest API] Add $target export to EVENT_INSPECT in Perl ( #2891 )
...
* [Quest API] Add $target export to EVENT_INSPECT in Perl
# Notes
- Exports `$target` to `EVENT_INSPECT`.
- Allows operators to get information from target directly instead of using entity list.
* Update client_packet.cpp
2023-02-12 22:43:38 -06:00
Alex King
e8f01fb6ac
[Quest API] Export $item and $augment to augment events in Perl ( #2895 )
...
* [Quest API] Export $item and $augment to augment events in Perl
# Notes
- Exports `$item` and `$augment` to `EVENT_AUGMENT_INSERT_CLIENT` in Perl.
- Exports `$item` and `$augment` to `EVENT_AUGMENT_REMOVE_CLIENT` in Perl.
- Allows operators to use item and augment reference instead of just item IDs.
* Cleanup
2023-02-12 22:42:27 -06:00
Alex King
fd0764d4cb
[Quest API] (Performance) Check event exists before export and execute EVENT_TIMER ( #2903 )
...
# Notes
- Parse this event optionally instead of always doing so.
2023-02-12 22:33:33 -06:00
Alex King
71b2bf6a64
[Quest API] (Performance) Check event exists before export and execute EVENT_ENTER_ZONE and EVENT_ZONE ( #2900 )
...
# Notes
- Optionally parse these events instead of always doing so.
2023-02-12 22:32:37 -06:00
Alex King
2dcff247c8
[Quest API] Export targets to EVENT_CONSIDER and EVENT_CONSIDER_CORPSE ( #2908 )
...
# Perl
- Export `$target` to `EVENT_CONSIDER`.
- Export `$corpse` to `EVENT_CONSIDER_CORPSE`.
# Lua
- Export `e.other` to `EVENT_CONSIDER`.
- Export `e.corpse` to `EVENT_CONSIDER_CORPSE`.
# Notes
- Allows operators to grab the target or corpse a player is considering.
2023-02-12 22:32:04 -06:00
Alex King
93f19d3971
[Quest API] (Performance) Check event EVENT_AGGRO, EVENT_ATTACK, or EVENT_COMBAT exist before export and execute ( #2901 )
...
* [Quest API] Optionally parse EVENT_COMBAT
# Notes
- Optionally parse this event instead of always doing so.
* Optional EVENT_ATTACK
* Update attack.cpp
2023-02-12 22:30:24 -06:00
Alex King
bad44f35e2
[Quest API] (Performance) Check event EVENT_PAYLOAD or EVENT_SIGNAL exist before export and execute ( #2902 )
...
* [Quest API] Optionally parse EVENT_PAYLOAD and EVENT_SIGNAL
# Notes
- Optionally parse these events instead of always doing so.
* Update bot.cpp
2023-02-12 22:28:50 -06:00
Alex King
4a339d49df
[Quest API] (Performance) Check event exists before export and execute EVENT_HP ( #2904 )
...
# Notes
- Optionally parse this event instead of always doing so.
2023-02-12 22:27:57 -06:00
Alex King
57d0420399
[Quest API] (Performance) Check event EVENT_WAYPOINT_ARRIVE or EVENT_WAYPOINT_DEPART exist before export and execute ( #2905 )
...
* [Quest API] Optionally parse EVENT_WAYPOINT_ARRIVE and EVENT_WAYPOINT_DEPART
# Notes
- Optionally parse these events instead of always doing so.
* [Quest API] Optionally parse EVENT_WARP
# Notes
- Optionally parse this event instead of always doing so.
* Revert "[Quest API] Optionally parse EVENT_WARP"
This reverts commit d8acb9883d .
2023-02-12 22:27:15 -06:00
Alex King
90def9b882
[Quest API] (Performance) Check event exists before export and execute EVENT_TRADE ( #2906 )
...
# Notes
- Optionally parse this event instead of always doing so.
2023-02-12 22:26:21 -06:00
Alex King
84156829a7
[Quest API] (Performance) Check event exists before export and execute EVENT_WARP ( #2907 )
...
# Notes
- Parse this event optionally instead of always doing so.
2023-02-12 22:25:42 -06:00
Alex King
d210b1e5ff
[Quest API] (Performance) Check event EVENT_SLAY exists before export and execute ( #2910 )
...
* [Quest API] Optionally parse EVENT_SLAY
# Notes
- Optionally parse this event instead of always doing so.
* Update attack.cpp
2023-02-12 22:24:38 -06:00
Alex King
086538754e
[Quest API] (Performance) Check event EVENT_ITEM_TICK or EVENT_WEAPON_PROC exist before export and execute ( #2914 )
...
* [Quest API] Optionally parse EVENT_ITEM_TICK
# Notes
- Optionally parse this event instead of always doing so.
* Update mob.cpp
2023-02-12 22:22:22 -06:00
Alex King
241f900dc4
[Quest API] (Performance) Check event exists before export and execute EVENT_DUEL_LOSE and EVENT_DUEL_WIN ( #2915 )
...
# Notes
- Optionally parse these events instead of always doing so.
2023-02-12 22:21:21 -06:00
Alex King
604256a223
[Quest API] (Performance) Check event exists before export and execute EVENT_RESPAWN ( #2917 )
...
# Notes
- Optionally parse this event instead of always doing so.
2023-02-12 22:19:23 -06:00
Alex King
2dffc66c6f
[Quest API] (Performance) Check event exists before export and execute EVENT_UNHANDLED_OPCODE ( #2918 )
...
# Notes
- Optionally parse this event instead of always doing so.
2023-02-12 22:18:57 -06:00
Alex King
1bf24273d2
[Quest API] (Performance) Check event exists before export and execute EVENT_TICK ( #2919 )
...
# Notes
- Optionally parse this event instead of always doing so.
2023-02-12 22:16:39 -06:00
Alex King
c060280417
[Quest API] Optionally parse EVENT_TEST_BUFF ( #2920 )
...
# Notes
- Optionally parse this event instead of always doing so.
2023-02-12 22:16:17 -06:00
Alex King
bc6efd5f74
[Quest API] (Performance) Check equip or scale item events exist before export and execute ( #2898 )
...
* [Quest API] Optional parse equip and scale item events
# Notes
- Optionally parse `EVENT_SCALE_CALC`, `EVENT_ITEM_ENTER_ZONE`, `EVENT_UNEQUIP_ITEM_BOT`, `EVENT_EQUIP_ITEM_BOT`, `EVENT_EQUIP_ITEM`, `EVENT_UNEQUIP_ITEM`, `EVENT_EQUIP_ITEM_CLIENT`, `EVENT_UNEQUIP_ITEM_CLIENT`
* Cleanup
2023-02-12 22:15:54 -06:00
Alex King
efd6d2f9b1
[Quest API] (Performance) Check event EVENT_AA_BUY or EVENT_AA_GAIN exist before export and execute ( #2892 )
...
* [Quest API] Optionally parse EVENT_AA_BUY and EVENT_AA_GAIN
# Notes
- Optionally parse these events instead of always doing so.
* Cleanup
2023-02-12 22:04:54 -06:00
Alex King
9dd4cf71f1
[Quest API] (Performance) Check event exists before export and execute EVENT_GM_COMMAND ( #2890 )
...
# Notes
- Optionally parse this event instead of always doing so.
2023-02-12 22:03:51 -06:00
Alex King
cfec31457c
[Quest API] (Performance) Check event exists before export and execute area events ( #2888 )
...
* [Quest API] Optionally parse area events
# Notes
- Optionally parse these events instead of always doing so.
* Update entity.cpp
2023-02-12 22:01:28 -06:00
Alex King
5ac5beb456
[Quest API] (Performance) Check event exists before export and execute EVENT_DESPAWN and EVENT_DESPAWN_ZONE ( #2887 )
...
# Notes
- Optionally parse these events instead of always doing so.
2023-02-12 21:59:01 -06:00
Alex King
0e51131d67
[Quest API] (Performance) Check event exists before export and execute EVENT_GROUP_CHANGE ( #2884 )
...
* [Quest API] Optionally parse EVENT_GROUP_CHANGE
# Notes
- Optionally parse this event instead of always doing so.
* Update embparser.cpp
2023-02-12 21:56:25 -06:00
Alex King
f9a87e26c9
[Quest API] (Performance) Check event exists before export and execute EVENT_AGGRO_SAY, EVENT_SAY, and EVENT_PROXIMITY_SAY ( #2882 )
...
* [Quest API] Add optional parsing to EVENT_AGGRO_SAY and EVENT_SAY
# Notes
- Optionally parse these events instead of always doing so.
* Optionally parse EVENT_PROXIMITY_SAY
2023-02-12 21:54:20 -06:00
Alex King
9e16cd8ae8
[Quest API] (Performance) Check event exists before export and execute EVENT_POPUP_RESPONSE ( #2881 )
...
# Notes
- Optionally parses this event instead of always doing so.
2023-02-12 21:48:23 -06:00
Alex King
9644f14746
[Quest API] (Performance) Check event exists before export and execute EVENT_CLICK_DOOR and EVENT_CLICK_OBJECT ( #2880 )
...
* [Quest API] Add optional parsing to EVENT_CLICK_DOOR.
# Notes
- Optional parses this event instead of always doing so.
* Update client_packet.cpp
2023-02-12 21:47:17 -06:00
Alex King
5a0a1b1ffd
[Quest API] Export $item to EVENT_DISCOVER_ITEM in Perl ( #2863 )
...
# Notes
- Exports `$item` to `EVENT_DISCOVER_ITEM`.
2023-02-10 23:56:50 -05:00
Alex King
a3bb7e7741
[Quest API] Export $item to Client/Bot Equip Events in Perl ( #2860 )
...
* [Quest API] Add $item Export to Client/Bot Equip Events
# Notes
- Adds `$item` export to `EVENT_ITEM_EQUIP_CLIENT`, `EVENT_ITEM_UNEQUIP_CLIENT`, `EVENT_ITEM_EQUIP_BOT`, and `EVENT_UNEQUIP_ITEM_BOT`.
* Update bot.cpp
* Update embparser.cpp
2023-02-10 23:56:36 -05:00
Alex King
a1251bdda8
[Quest API] Export $door to EVENT_CLICKDOOR in Perl ( #2861 )
...
# Notes
- Exports `$door` object to `EVENT_CLICKDOOR` in Perl so you don't have to grab it from entity list.
2023-02-10 23:56:24 -05:00
Alex King
b90082d694
[Quest API] Export $object to EVENT_CLICK_OBJECT in Perl ( #2862 )
...
# Notes
- Exports `$object` to `EVENT_CLICK_OBJECT` in Perl so you don't have to grab it from entity list.
2023-02-10 23:34:52 -05:00
Alex King
268879b414
[Quest API] Add Recipe-based methods to Perl/Lua. ( #2844 )
...
* [Quest API] Add Recipe-based methods to Perl/Lua.
# Perl
- Add `quest::get_recipe_component_item_ids(recipe_id)`.
- Add `quest::get_recipe_container_item_ids(recipe_id)`.
- Add `quest::get_recipe_fail_item_ids(recipe_id)`.
- Add `quest::get_recipe_salvage_item_ids(recipe_id)`.
- Add `quest::get_recipe_success_item_ids(recipe_id)`.
- Add `quest::get_recipe_component_count(recipe_id, item_id)`.
- Add `quest::get_recipe_fail_count(recipe_id, item_id)`.
- Add `quest::get_recipe_salvage_count(recipe_id, item_id)`.
- Add `quest::get_recipe_success_count(recipe_id, item_id)`.
# Lua
- Add `eq.get_recipe_component_item_ids(recipe_id)`.
- Add `eq.get_recipe_container_item_ids(recipe_id)`.
- Add `eq.get_recipe_fail_item_ids(recipe_id)`.
- Add `eq.get_recipe_salvage_item_ids(recipe_id)`.
- Add `eq.get_recipe_success_item_ids(recipe_id)`.
- Add `eq.get_recipe_component_count(recipe_id, item_id)`.
- Add `eq.get_recipe_fail_count(recipe_id, item_id)`.
- Add `eq.get_recipe_salvage_count(recipe_id, item_id)`.
- Add `eq.get_recipe_success_count(recipe_id, item_id)`.
# Notes
- Before these methods, you would have to use DBI from Perl or Lua in order to get the components and their counts, these methods allow easy access to these values via the scripting API.
- These should be used sparingly as they're each an individual database hit and could go crazy in a hot path.
* Update eq_constants.h
* Update zonedb.h
* Update tradeskills.cpp
* Reserve.
2023-02-07 21:42:34 -05:00
Alex King
4c6dc960e4
[Bug Fix] Fix CheckNumHitsRemaining() with 1H Blunt ( #2846 )
...
# Notes
- CheckNumHitsRemaining() wasn't working when skill ID was `0` (1H Blunt).
2023-02-06 23:41:32 -05:00
Alex King
c1584da9cc
[Quest API] Default ScaleNPC to always scale. ( #2818 )
...
* [Quest API] Default ScaleNPC to always scale.
# Notes
- ScaleNPC will now always override stats, with the option to override special abilities.
* Update npc_scale_manager.h
2023-02-05 22:52:52 -05:00
Alex King
ee6f6f683c
[Commands] Remove extraneous else from #weather ( #2819 )
...
# Notes
- Condition falls back to sending message and can't turn weather off.
2023-02-01 06:05:32 -05:00
Alex King
f410c89815
[Quest API] Add Override Parameters to ScaleNPC() in Perl/Lua. ( #2816 )
...
# Perl
- Add `$npc->ScaleNPC(level, always_scale_stats)`.
- Add `$npc->ScaleNPC(level, always_scale_stats, always_scale_special_abilities)`.
# Lua
- Add `npc:ScaleNPC(level, always_scale_stats)`.
- Add `npc:ScaleNPC(level, always_scale_stats, always_scale_special_abilities)`.
# Notes
- Allows operators to not have to set stats to 0 in order for scaling to kick in when scripting.
- Special ability override is separate in case you don't want to override some inherent special abilities the NPC has from a script or otherwise.
2023-01-31 21:11:05 -05:00
Alex King
040c092795
[Quest API] Add Augment Slot support to does_augment_fit ( #2813 )
...
* [Quest API] Add Augment Slot support to does_augment_fit
# Notes
- Allows you to check if the supplied augment ID fits in the specified augment slot of the item instance provided.
* Update item_instance.cpp
2023-01-30 21:18:16 -05:00
Alex King
a25952910a
[Quest API] Add EVENT_ITEM_CLICK_CLIENT and EVENT_ITEM_CLICK_CAST_CLIENT to Perl/Lua. ( #2810 )
...
* [Quest API] Add EVENT_ITEM_CLICK_CLIENT and EVENT_ITEM_CLICK_CAST_CLIENT to Perl/Lua.
# Perl
- Add `EVENT_ITEM_CLICK_CLIENT`.
- Add `EVENT_ITEM_CLICK_CAST_CLIENT`.
- Both events export `$item_id`, `$item_name`, `$slot_id`, and `$spell_id`.
# Lua
- Add `event_item_click_client`.
- Add `event_item_click_cast_client`.
- Both events export `e.item_id`, `e.item_name`, `e.slot_id`, `e.spell_id`, and `e.item`.
# Notes
- Allows operators to handle item clicks in player scripts instead of item-specific scripts.
* Update lua_parser_events.cpp
* Remove optional bool.
2023-01-30 05:01:12 -06:00
Alex King
1cde55c535
[Quest API] Add LDoN Methods to Perl/Lua ( #2799 )
...
# Perl
- Add `$npc->GetLDoNLockedSkill()`.
- Add `$npc->GetLDoNTrapType()`.
- Add `$npc->GetLDoNTrapSpellID()`.
- Add `$npc->IsLDoNLocked()`.
- Add `$npc->IsLDoNTrapped()`.
- Add `$npc->IsLDoNTrapDetected()`.
- Add `$npc->SetLDoNLocked(is_locked)`.
- Add `$npc->SetLDoNLockedSkill(skill_value)`.
- Add `$npc->SetLDoNTrapped(is_trapped)`.
- Add `$npc->SetLDoNTrapDetected(is_detected)`.
- Add `$npc->SetLDoNTrapSpellID(spell_id)`.
- Add `$npc->SetLDoNTrapType(trap_type)`.
# Lua
- Add `npc:GetLDoNLockedSkill()`.
- Add `npc:GetLDoNTrapType()`.
- Add `npc:GetLDoNTrapSpellID()`.
- Add `npc:IsLDoNLocked()`.
- Add `npc:IsLDoNTrapped()`.
- Add `npc:IsLDoNTrapDetected()`.
- Add `npc:SetLDoNLocked(is_locked)`.
- Add `npc:SetLDoNLockedSkill(skill_value)`.
- Add `npc:SetLDoNTrapped(is_trapped)`.
- Add `npc:SetLDoNTrapDetected(is_detected)`.
- Add `npc:SetLDoNTrapSpellID(spell_id)`.
- Add `npc:SetLDoNTrapType(trap_type)`.
# Notes
- Adds these methods to allow LDoN traps to be set by a script.
2023-01-29 14:29:31 -06:00
Alex King
bcc2e022dc
[Quest API] Cleanup string copies and push_backs. ( #2807 )
...
# Notes
- Several places use `push_back` instead of `emplace_back`.
- Several places use `std::string` instead of `const std::string&`.
2023-01-29 15:14:49 -05:00
Alex King
0fef46a6c1
[Feature] Add Min/Max Status to Merchants ( #2806 )
...
# Notes
- Allows operators to set a minimum and maximum status that an item will show for players.
- Allows operators to have items on a merchant that only a GM can see.
- Some servers may use status for different things, so having a minimum and a maximum will allow for more functionality.
- Default of `min_status` is `0` (Player) and default of `max_status` is `255` (Max).
2023-01-29 15:03:41 -05:00
Alex King
b867d40774
[Quest API] Add EVENT_DAMAGE_GIVEN and EVENT_DAMAGE_TAKEN to Perl/Lua. ( #2804 )
...
* [Quest API] Add EVENT_DAMAGE_GIVEN and EVENT_DAMAGE_TAKEN to Perl/Lua.
# Perl
- Add `EVENT_DAMAGE_GIVEN`.
- Add `EVENT_DAMAGE_TAKEN`.
- Both events export `$entity_id`, `$damage`, `$spell_id`, `$skill_id`, `$is_damage_shield`, `$is_avoidable`, `$buff_slot`, `$is_buff_tic`, `$special_attack`.
# Lua
- Add `event_damage_given`.
- Add `event_damage_taken`.
- Both events export `e.entity_id`, `e.damage`, `e.spell_id`, `e.skill_id`, `e.is_damage_shield`, `e.is_avoidable`, `e.buff_slot`, `e.is_buff_tic`, `e.special_attack`, and `e.other`.
# Notes
- These events allow operators to have events fire based on damage given or taken, as well as keep better track of a Bot, Client, or NPC's damage per second or otherwise.
- Special Attack is only useful for NPCs, but allows you to see if the attack is Rampage, AERampage, or Chaotic Stab.
* Cleanup.
2023-01-29 14:35:17 -05:00
Alex King
549d731849
[Bug Fix] Resolve issue with max buff count being 25 in ROF2. ( #2800 )
...
# Notes
- This allows ROF2 to properly utilize their max buff count.
- May cause issues with older clients.
2023-01-28 17:40:11 -06:00
Alex King
b71b3f5be0
[Bots] ^create and ^viewcombos popup messages fix. ( #2797 )
...
# Notes
- These messages were showing weirdly and inconsistently, cleaned them up to show at max 4 per line.
- `^viewcombos` now shows class name and ID in the popup title.
- `^create help` now shows proper class names and IDs instead of `{}`.
2023-01-26 18:44:21 -05:00
Alex King
e5dabe0afc
[Git] Add CMake Files to .gitignore ( #2792 )
...
* [Git] Add CMake Files to GitIgnore
* Update .drone.yml
2023-01-24 18:37:14 -06:00
Alex King
5720ffbcb6
[Release] 22.1.2 ( #2791 )
2023-01-24 17:18:42 -06:00
Alex King
2b0c778ad1
[Bug Fix] Fix nullptr spell in BCSpells::Load() ( #2790 )
...
* [Bug Fix] Fix nullptr spell in BCSpells::Load()
# Notes
- Fix possible `nullptr` where we didn't check if spell was valid before using it.
* Cleanup.
2023-01-24 17:57:12 -05:00
Alex King
bf39a0540c
[Cleanup] Cleanup #door Command. ( #2783 )
...
* [Cleanup] Cleanup #door Command.
# Notes
- Resolves an issue with `.1` versus `0.1`.
- Resolves an issue with updating a pre-existing door.
- Adds `heading` to the update/insert.
* Update doors.cpp
2023-01-24 16:37:21 -06:00
Alex King
8c12f7b431
[Bug Fix] Remove duplicate logic in GetActSpellHealing reducing HOT criticals ( #2786 )
...
# Notes
- Removes duplicate critical chance roll in `Mob::GetActSpellHealing`.
- Not sure if this was Live-like or an oversight, but it seems to drastically reduce the possibility of a HOT getting a critical.
- A 1% chance becomes a 0.01% chance being we have to roll twice.
2023-01-24 12:39:46 -06:00
Alex King
f7e4fba584
[Bug Fix] Fix bots equipping augments. ( #2772 )
...
# Notes
- Bots didn't check if the item was an augment before equipping, this stops them from equipping them.
2023-01-22 12:57:00 -05:00
Alex King
01a0f906e1
[Bots] Add Bot Command Reloading ( #2773 )
...
# Notes
- Adds `bot_command_init` to `#reload commands` so that operators can reload bot commands if they enable/disable bots while the server is running.
2023-01-22 12:56:55 -05:00