JJ
871f320311
[Release] 22.35.0 ( #3754 )
...
### Bots
* Add BotHealOnLevel to fully heal/mana on level. ([#3745 ](https://github.com/EQEmu/Server/pull/3745 )) @nytmyr 2023-12-08
* Fix bots learning spells on level ([#3744 ](https://github.com/EQEmu/Server/pull/3744 )) @nytmyr 2023-12-08
### Bug
* Fix blocked spells regression from #3638 ([#3753 ](https://github.com/EQEmu/Server/pull/3753 )) @joligario 2023-12-11
* PR 3638 Missed the blocked spells repository updates ([#3748 ](https://github.com/EQEmu/Server/pull/3748 )) @fryguy503 2023-12-08
### CMake
* Update minimum version of CMake ([#3743 ](https://github.com/EQEmu/Server/pull/3743 )) @joligario 2023-12-08
### Code
* Remove hard-coded Status Checks ([#3727 ](https://github.com/EQEmu/Server/pull/3727 )) @Kinglykrab 2023-12-03
### Commands
* #guild set CharName 0 did not remove char from guild. ([#3717 ](https://github.com/EQEmu/Server/pull/3717 )) @noudess 2023-11-25
* #petname changes PC to Nobody if selected. ([#3720 ](https://github.com/EQEmu/Server/pull/3720 )) @noudess 2023-11-26
* Add #show aas Command ([#3710 ](https://github.com/EQEmu/Server/pull/3710 )) @Kinglykrab 2023-11-26
* Add #task complete Command ([#3711 ](https://github.com/EQEmu/Server/pull/3711 )) @Kinglykrab 2023-11-26
* Cleanup #acceptrules Command ([#3716 ](https://github.com/EQEmu/Server/pull/3716 )) @Kinglykrab 2023-11-26
* Cleanup #disarmtrap Command ([#3713 ](https://github.com/EQEmu/Server/pull/3713 )) @Kinglykrab 2023-11-26
* Cleanup #list Command ([#3714 ](https://github.com/EQEmu/Server/pull/3714 )) @Kinglykrab 2023-11-26
* Cleanup #movement Command ([#3715 ](https://github.com/EQEmu/Server/pull/3715 )) @Kinglykrab 2023-11-26
* Cleanup #object Command ([#3722 ](https://github.com/EQEmu/Server/pull/3722 )) @Kinglykrab 2023-12-03
* Cleanup #zonebootup and #zoneshutdown Commands ([#3729 ](https://github.com/EQEmu/Server/pull/3729 )) @Kinglykrab 2023-12-03
* Fix formatting of #wpinfo output. ([#3728 ](https://github.com/EQEmu/Server/pull/3728 )) @noudess 2023-12-01
### Database
* Add primary key to keyring table ([#3746 ](https://github.com/EQEmu/Server/pull/3746 )) @Kinglykrab 2023-12-08
* Consolidate Starting Items Table ([#3723 ](https://github.com/EQEmu/Server/pull/3723 )) @Kinglykrab 2023-11-30
* Extra whitespace in #3723 ([#3730 ](https://github.com/EQEmu/Server/pull/3730 )) @joligario 2023-12-02
* Minor adjustment to #3726 ([#3732 ](https://github.com/EQEmu/Server/pull/3732 )) @joligario 2023-12-03
* Modify `updated` column in `items` table with proper default. ([#3726 ](https://github.com/EQEmu/Server/pull/3726 )) @joligario 2023-12-02
* Pull Spell Group Cache from Content DB ([#3749 ](https://github.com/EQEmu/Server/pull/3749 )) @fryguy503 2023-12-08
### Faction
* Alliance line is only allowed 1 faction change at a time. ([#3718 ](https://github.com/EQEmu/Server/pull/3718 )) @noudess 2023-11-26
### Fixes
* Changing Group Leader Invalidated GetLeaderName() ([#3712 ](https://github.com/EQEmu/Server/pull/3712 )) @Kinglykrab 2023-11-26
* Fix 9245 SQL ([#3740 ](https://github.com/EQEmu/Server/pull/3740 )) @Kinglykrab 2023-12-05
* Fix Swarm Pets Requiring NPC Aggros Flag ([#3738 ](https://github.com/EQEmu/Server/pull/3738 )) @Kinglykrab 2023-12-05
* Guild Message Limits ([#3724 ](https://github.com/EQEmu/Server/pull/3724 )) @neckkola 2023-11-29
### Quest API
* Add EVENT_AA_GAIN to AddAAPoints() ([#3733 ](https://github.com/EQEmu/Server/pull/3733 )) @Kinglykrab 2023-12-03
* Add GMMove Overloads to Perl/Lua ([#3719 ](https://github.com/EQEmu/Server/pull/3719 )) @Kinglykrab 2023-11-25
### Scripts
* Import items into `items_new` table instead of writing directly to the existing `items` table. ([#3725 ](https://github.com/EQEmu/Server/pull/3725 )) @joligario 2023-11-30
* Revert database engine change from #3702 . ([#3736 ](https://github.com/EQEmu/Server/pull/3736 )) @joligario 2023-12-03
* Update 13th Floor Import Tool ([#3702 ](https://github.com/EQEmu/Server/pull/3702 )) @joligario 2023-11-26
2023-12-10 22:07:09 -05:00
JJ
a222128599
[Bug] Fix blocked spells regression from #3638 ( #3753 )
...
Fixes #3747
2023-12-10 21:40:06 -05:00
JJ
45b249e33d
[CMake] Update minimum version of CMake ( #3743 )
...
```
CMake Deprecation Warning at client_files/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
```
2023-12-08 12:48:59 -08:00
Fryguy
c24834de5d
[Database] Pull Spell Group Cache from Content DB ( #3749 )
2023-12-08 15:41:09 -05:00
Fryguy
841d7f2700
[Bug] PR 3638 Missed the blocked spells repository updates ( #3748 )
...
Ran generator to update blocked_spells Repo
2023-12-08 15:19:54 -05:00
Alex King
56c29154f0
[Database] Add primary key to keyring table ( #3746 )
...
* [Database] Add primary key to keyring table
# Notes
- Adds a primary key of `id` to `keyring` table so we can use it with repositories.
* Update version.h
* Update client.cpp
* Update client.cpp
2023-12-07 23:12:01 -05:00
nytmyr
6466c2ff21
[Bots] Add BotHealOnLevel to fully heal/mana on level. ( #3745 )
...
Adds the rule ***Bots, BotHealOnLevel***, default false, to control whether or not bots will gain full health and mana when their owner levels.
2023-12-07 22:25:17 -05:00
nytmyr
16dc210cd8
[Bots] Fix bots learning spells on level ( #3744 )
...
Previously bots would need to be zoned or camped/spawned to begin using new spells for their level.
2023-12-07 21:19:21 -05:00
Alex King
77045f558e
[Bug Fix] Fix 9245 SQL ( #3740 )
...
* [Bug Fix] Fix 9245 SQL
# Notes
- Should be a `;` not `,`.
* Update database_update_manifest.cpp
2023-12-04 22:21:31 -05:00
Alex King
e1fa2d5bc5
[Bug Fix] Fix Swarm Pets Requiring NPC Aggros Flag ( #3738 )
...
# Notes
- https://github.com/EQEmu/Server/pull/3595 made swarm pets require the `npc_aggro` flag to be set to attack.
2023-12-04 19:05:16 -05:00
Alex King
b03f52de18
[Commands] Cleanup #object Command ( #3722 )
...
* [Commands] Cleanup #object Command
# Notes
- Cleanup messages and logic.
- Introduce enum for object types.
- Set ground work for object manipulation similar to door manipulation.
* Update object_manipulation.cpp
* Final push
* Update client_packet.cpp
* Update object_manipulation.cpp
* Update object_manipulation.cpp
* Update object.h
* Update client_packet.cpp
* Update client_packet.cpp
* Push.
* Update version.h
* Update database_update_manifest.cpp
* Update zone.cpp
2023-12-03 17:42:27 -05:00
JJ
226cc3d6cb
[Scripts] Revert database engine change from #3702 . ( #3736 )
...
InnoDB doesn't like the lengths. Will need to address that in the future.
2023-12-03 14:17:58 -05:00
Alex King
7f54e26dec
[Quest API] Add EVENT_AA_GAIN to AddAAPoints() ( #3733 )
...
# Notes
- Using this method did not call `EVENT_AA_GAIN`.
2023-12-03 12:41:06 -05:00
Alex King
11a81d8e8a
[Commands] Cleanup #zonebootup and #zoneshutdown Commands ( #3729 )
...
# Notes
- Cleanup messages and logic.
2023-12-03 12:40:54 -05:00
Alex King
e719aa43cf
[Cleanup] Remove hard-coded Status Checks ( #3727 )
...
* [Cleanup] Remove hard-coded Status Checks
# Notes
- Removed the hard-coded GM status checks since if you have access to the command we can now limit access to subcommands if necessary.
* Update client_packet.cpp
2023-12-03 11:44:30 -05:00
JJ
22994e3264
[Database] Minor adjustment to #3726 ( #3732 )
2023-12-03 10:18:27 -05:00
JJ
cfbdecad19
[Database] Extra whitespace in #3723 ( #3730 )
2023-12-01 21:13:08 -05:00
JJ
2427f7e034
[Database] Modify updated column in items table with proper default. ( #3726 )
...
* [Database] Modify `updated` column in `items` table with proper default.
From https://mariadb.com/kb/en/datetime/ , `datetime` can be ZERO_DATE (`0000-00-00` with no time component) or between `1000-01-01 00:00:00.000000` and `9999-12-31 23:59:59.999999`. Currently, `updated` is the only datetime field that is `NOT NULL` and improperly defaulted to `0000-00-00 00:00:00`. This change matches existing structures of the other `datetime` columns.
* Update items_repository.h
* Update base_items_repository.h
* Revert "Update items_repository.h"
This reverts commit 3599f26818 .
2023-12-01 21:10:52 -05:00
Paul Coene
9a6403b196
[Commands] Fix formatting of #wpinfo output. ( #3728 )
2023-12-01 15:28:24 -05:00
JJ
d8953c5156
[Scripts] Import items into items_new table instead of writing directly to the existing items table. ( #3725 )
2023-11-30 17:21:00 -05:00
Alex King
33b40e83b7
[Database] Consolidate Starting Items Table ( #3723 )
...
* [Database] Consolidate Starting Items Table
# Notes
- Convert `class`, `deityId`, `race`, and `zoneid` columns to `|` separated columns.
- Consolidates up to 15 rows per item down to a singular row.
- Allows ease of use for operators.
- Entire process is automated and creates a backup of pre-existing table.
* Update shareddb.cpp
* Unnecessary.
2023-11-30 14:37:08 -05:00
Mitch Freeman
e75c31d524
[Bug Fix] Guild Message Limits ( #3724 )
...
Mail to 'Guild' was failing after after 50ish members.
The buffer was set at 512, which cut truncated the message and caused the issue.
Refactored to adjust the size of the buffer based on the inbound message size.
2023-11-28 19:03:32 -05:00
Paul Coene
cf1f8d5460
[Commands] #petname changes PC to Nobody if selected. ( #3720 )
2023-11-26 14:50:44 -05:00
Paul Coene
690cacdaab
[Faction] Alliance line is only allowed 1 faction change at a time. ( #3718 )
2023-11-26 01:13:16 -05:00
Alex King
f9f45eedcd
[Commands] Cleanup #acceptrules Command ( #3716 )
...
# Note
- Cleanup messages and logic.
- Utilize repositories in database methods.
2023-11-26 01:13:08 -05:00
Alex King
93ddffa57f
[Commands] Cleanup #movement Command ( #3715 )
...
# Notes
- Cleanup messages and logic.
2023-11-26 01:13:03 -05:00
Alex King
c9993fb698
[Commands] Cleanup #list Command ( #3714 )
...
* [Commands] Cleanup #list Command
# Notes
- Cleanup messages and logic.
- Introduce a struct so we don't have to duplicate so much code.
* Update list.cpp
2023-11-26 01:12:58 -05:00
Alex King
aa0fbb8b45
[Commands] Cleanup #disarmtrap Command ( #3713 )
...
# Notes
- Cleanup messages and logic.
2023-11-26 00:27:22 -05:00
Alex King
62532c6bdd
[Bug Fix] Changing Group Leader Invalidated GetLeaderName() ( #3712 )
...
# Notes
- Utilizes fixes posted in https://github.com/EQEmu/Server/issues/3706 to resolve https://github.com/EQEmu/Server/issues/368 .
- Changing group leader caused issues because we assumed `member[0]` was always leader.
2023-11-26 00:27:15 -05:00
Alex King
f8c3c03185
[Commands] Add #task complete Command ( #3711 )
...
# Notes
- `#task complete [Task ID]` allows operators to complete an entire task without updating individual activities.
2023-11-26 00:27:08 -05:00
Alex King
692a90f3f0
[Commands] Add #show aas Command ( #3710 )
...
# Notes
- Allows operators to view AAs a player has purchased from ingame and their ranks.
2023-11-26 00:27:02 -05:00
JJ
3a49d851ca
[Scripts] Update 13th Floor Import Tool ( #3702 )
2023-11-26 00:20:10 -05:00
Alex King
fdc5c27061
[Quest API] Add GMMove Overloads to Perl/Lua ( #3719 )
...
# Perl
- Add `$mob->GMMove(x, y, z, heading, save_guard_spot)`.
# Lua
- Add `mob:GMMove(x, y, z, heading, save_guard_spot)`.
# Notes
- Operators weren't able to disable saving guard spots, so moving with `GMMove` meant NPCs stayed where they were moved.
2023-11-25 18:15:37 -05:00
Paul Coene
56be69ddb1
[Commands] #guild set CharName 0 did not remove char from guild. ( #3717 )
...
* [Commands] #guild set CharName 0 did not remove char from guild.
* Fix cut-n-paste error on this branch
2023-11-25 11:27:43 -05:00
Alex King
9477ff72ac
[Release] 22.34.2 ( #3709 )
...
### Admin
* Update date in changelog ([#3698 ](https://github.com/EQEmu/Server/pull/3698 )) @joligario 2023-11-19
### Code
* Fix typo in #giveitem ([#3704 ](https://github.com/EQEmu/Server/pull/3704 )) @Kinglykrab 2023-11-22
### Fixes
* Add "IgnoreLevelBasedHasteCaps" rule to GetHaste() ([#3705 ](https://github.com/EQEmu/Server/pull/3705 )) @jcr4990 2023-11-23
* Fix bots/Mercenaries being removed from hatelist ([#3708 ](https://github.com/EQEmu/Server/pull/3708 )) @Kinglykrab 2023-11-23
* Fix some spell types failing IsValidSpellRange check ([#3707 ](https://github.com/EQEmu/Server/pull/3707 )) @nytmyr 2023-11-23
### Loginserver
* Update ticket login table structure ([#3703 ](https://github.com/EQEmu/Server/pull/3703 )) @KimLS 2023-11-22
2023-11-24 13:23:10 -05:00
Alex King
6d8e80b1e5
[Bug Fix] Fix bots/Mercenaries being removed from hatelist ( #3708 )
...
# Notes
- https://github.com/EQEmu/Server/pull/3595 caused bots, bot pets, and mercenaries to be removed from hate list because we were only checking for `IsClient()` not `IsOfClientBotMerc()`.
- Resolves an issue mentioned [here](https://discord.com/channels/212663220849213441/1177288302383079534 ) where NPCs would run past bots/mercenaries to attack the owner.
2023-11-23 12:36:54 -05:00
Joel
ebeaef598b
[Bug Fix] Add "IgnoreLevelBasedHasteCaps" rule to GetHaste() ( #3705 )
2023-11-22 22:45:53 -05:00
nytmyr
60b65da7f2
[Bug Fix] Fix some spell types failing IsValidSpellRange check ( #3707 )
...
Hate Reduction, Slow and DoT spells were failing IsValidSpellRange checks due to improper spell IDs being checked.
They were using the first spell in a bot's spell list by checking botSpell.id vs the proper spells in the loop.
2023-11-22 22:44:59 -05:00
Alex King
100e6698ea
[Cleanup] Fix typo in #giveitem ( #3704 )
2023-11-22 08:26:54 -05:00
Alex
2bd94ab7a2
[Loginserver] Update ticket login table structure ( #3703 )
...
* Updates login table to support tickets in a way that makes more sense.
* Change to snake_case as requested by Akka
---------
Co-authored-by: KimLS <KimLS@peqtgc.com >
2023-11-22 02:56:47 -06:00
Akkadius
4c8d68c24b
[Release] 22.34.1
2023-11-20 09:12:11 -06:00
Akkadius
1755678b1f
[Release] 22.34.1
2023-11-20 09:10:22 -06:00
JJ
39e2763968
[Admin] Update date in changelog ( #3698 )
2023-11-19 13:22:56 -05:00
Fryguy
f7780b0247
[Bug Fix] NPC Faction War prevention. ( #3595 )
...
* [Bug] NPC Faction War prevention.
This should assist with prevention of NPC Faction waring. I have been using this code on my server for over 5 years with no coredumps or any noted bugs. This was brought up as users have reported a few events where they can trigger NPC's to fight each other.
* Correct a few entries to line up with updated code.
* Re-add missing RestTimer functionality
2023-11-19 11:40:15 -05:00
JJ
c0fe0f11f7
[Release] 22.34.0 ( #3697 )
...
* Update CHANGELOG.md
* Update package.json
* Update version.h
* Update CHANGELOG.md
2023-11-19 11:21:39 -05:00
nytmyr
a1f1f11940
[Bots] Add ownerraid, byclass and byrace actionables and fix group-based arguments for raids. ( #3680 )
...
This adds raid support to actionables for bot commands.
This also addresses Issue #3567
If in a group, group based commands will function as normal, however if in a raid they will support raids and use the group of the bot that fits the criteria.
This adds new actionables as well; namely, **ownerraid**, **byclass** and **byrace**.
**byclass** and **byrace** use the int of the chosen class/race. IE Shadowknight is 5, Barbarian is 2. **^create help** is an easy way for players to identify numbers associated with classes and races.
**targetgroup** will now select all bots that meet the criteria within a raid group in addition to the current functionality of groups.
**namesgroup** will now select all bots that meet the criteria within a raid group in addition to the current functionality of groups.
**ownerraid** will select all bots in the raid owned by the player.
**byclass** will selects all bots in the group or raid owned by the player that match the class.
**byrace** will selects all bots in the group or raid owned by the player that match the race
This adds actionables to **^casterrange** and **^camp** as well.
2023-11-18 23:24:49 -05:00
Alex King
4c5013e09e
[Cleanup] Cleanup #giveitem and #summonitem ( #3692 )
...
# Notes
- Adds summoned messages for `#giveitem` and `#summonitem`.
- `#summonitem` did not stop you from summoning items beyond your status level.
2023-11-18 21:22:12 -05:00
Alex King
838ffbd8c7
[Commands] Add #show aa_points Command ( #3695 )
...
# Notes
- Adds a command to view a player's current, spent, and total AA Points.
2023-11-18 19:23:35 -05:00
JJ
42b41d973c
[GM Commands] Remove duplicate comment ( #3691 )
2023-11-18 19:08:56 -05:00
JJ
e7761133a9
[GM Commands] Add #takeplatinum ( #3690 )
...
* [GM Commands] Add `#takeplatinum`
* Revert database manifest change
* Revert database version change
* Remove duplicated messages
* Remove hint as to why `#takeplatinum` might fail.
2023-11-18 19:08:48 -05:00
Alex King
93f2bea96e
[Cleanup] Cleanup #show currencies Command ( #3693 )
...
* [Cleanup] Cleanup #show currencies Command
# Notes
- Cleans up messages.
- Adds `AA Points` as a viewable currency.
- Adds an enum for `MoneyTypes` and `MoneySubtypes` so we're not using magic numbers for `GetMoney` anymore.
- Converts money amounts to `uint64`.
* Update currencies.cpp
* Update currencies.cpp
2023-11-18 19:05:04 -05:00
regneq
ded82ac6d6
[Spawn] (imported from takp) Added min_time and max_time to spawnentry. This will prevent a NPC from… ( #3685 )
...
* Added mintime and maxtime to spawnentry. This will prevent a NPC from spawning outside of the times specified. NPCs spawned in this way will then behave like normal NPCs. They will not despawn on their own, unlike spawn_events/spawn_conditions. NPCs using this that are alone in their spawngroup will attempt to spawn after their respawn timer has expired if the time of day is outside their range. Otherwise, another NPC in the spawngroup will be chosen to spawn. The normal rules (chance, spawn_limit) still apply to these NPCs, this is just another rule added to the system.
mintime and maxtime both represent the in-game EQ Hour. Valid values are 1-24. If either or both of the values are 0, then the NPC will not have any time restriction.
Added a new rule World:BootHour. This allows server admins to specify the EQ hour the server will boot to. Valid options are 1-24. Setting this rule to 0 (default) disables it and world will use whatever time is specified in the DB.
* generated base_spawnentry_repository.h from script
* removed the rule insert from database_update_manifest.cpp.
* Add logging, initializers, minor cleanup
* Remove if/else branch
* Update eqtime.cpp
* Initializers, logging
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-11-18 14:23:04 -06:00
JJ
6ef182edfd
[Database] Pull pet power from content database ( #3689 )
2023-11-18 14:19:33 -06:00
Paul Coene
e466ca1c6d
[Illusions] RandomizeFeastures erased texture. ( #3686 )
2023-11-12 16:02:54 -05:00
Akkadius
fa5a3155fe
[Release] 22.33.0
2023-11-11 21:09:06 -06:00
Chris Miles
a20d333f9d
[Spawn2] Fix edge case with instances not copying disabled spawn state ( #3688 )
...
* [Spawn2] Fix edge case with instances not copying disabled spawn state
* Update spawn2.cpp
2023-11-11 21:00:50 -06:00
Alex King
853739b538
[Feature] Add Comment to Item Data/Quest API ( #3669 )
...
* [Feature] Add Comment to Item Data/Quest API
# Perl
- Add `quest::getitemcomment(item_id)`.
- Add `quest::getitemlore(item_id)`.
- Add `$questitemdata->GetComment()`.
# Lua
- Add `eq.get_item_comment(item_id)`.
- Add `eq.get_item_lore(item_id)`.
- Add `item:Comment()`.
# Notes
- Added the ability for operators to pull these fields from item data without a database hit.
- Fixed a bug in `embparser_api.cpp` where `GetZoneGravity` was connected to the wrong methods.
* Update embparser_api.cpp
2023-11-07 18:12:39 -05:00
Alex King
6094ec9c7b
[Bug Fix] Fix GetZoneGravity package.add ( #3684 )
...
# Notes
- This was incorrect and would cause `GetZoneGravity()` to function improperly in Perl.
2023-11-07 18:12:25 -05:00
Akkadius
9da1d6b397
[Release] 22.32.1
2023-11-06 18:38:21 -06:00
Chris Miles
8ea7299a57
[Release] 22.32.0 ( #3683 )
2023-11-06 17:56:51 -06:00
Chris Miles
0811a899d1
[Spawn] Split spawn2 enabled into its own state table ( #3664 )
...
* [Spawn] Split spawn2 enabled into its own state table
* Update spawn2.cpp
* Update repo
* Make spawn2 enabled/disabled instance aware
* Update questmgr.cpp
* Make sure packet stuff is aware of instance_id
* Update questmgr.cpp
* Update database_update_manifest.cpp
* Cleanup
* Revert "Cleanup"
This reverts commit 64b58bfc52 .
* Update database_instances.cpp
2023-11-06 17:34:42 -06:00
hg
fad9599642
[Quest API] Add details to Lua event dispatch errors ( #3679 )
2023-11-06 17:31:34 -06:00
Fryguy
62711b13d8
Revert "[Bug Fix] Fix Killed XYZH support in EVENT_DEATH in Perl. ( #3591 )" ( #3682 )
...
This reverts commit 9b992167f0 .
2023-11-06 17:30:55 -06:00
nytmyr
2702485206
[Bots] Fix invalid races from being created ( #3681 )
...
Previously this check allowed bots of invalid races to be created. If a race was neither a valid combination or a valid player race, it would pass the check and allow bots of any race to be created.
**^create 1 123 0** could create a Male Innoruuk Warrior
2023-11-06 17:03:34 -05:00
Mitch Freeman
0aadb891a1
[CRASH] Fix crash on CentOS when forming a raid with PCs or BOTs ( #3676 )
...
* [CRASH] Fix crash on CentOS
Update raid crash in CentOS. raid constructors and learnmembers used a memset that was overwriting std::string structure.
Added default initializers to RaidMember struct
* Update based on feedback
2023-11-06 13:36:59 -05:00
JJ
d812310c5b
[GCC] Compatibility fix for GCC 13 ( #3677 )
...
Fixes ` ‘uint64_t’ does not name a type ` error under GCC 13
2023-11-05 14:05:15 -05:00
regneq
1420983700
[Spells] Added IsNightTime() for Dance of the Fireflies ( #3667 )
...
* Added IsNightOnly for Dance of the Fireflies spell which should only be cast at night from 7pm to 4pm.
* Update to include IsDayTime and replace magic numbers.
2023-11-04 13:58:08 -04:00
Alex King
d25cc35f1b
[Bug Fix] Add IsTGBCompatibleSpell() to package.add ( #3675 )
...
# Notes
- `IsTGBCompatibleSpell` was not exported properly.
2023-11-04 13:55:47 -04:00
Alex King
ed7f395612
[Parser] Cleanup Spire Parsing for crosszonemoveplayerbycharid ( #3674 )
...
# Notes
- This formatting was causing Spire not to pick up the parameters.
2023-11-04 13:13:17 -04:00
Alex King
8dceb20dd8
[Parser] Cleanup Spire Parsing for crosszonemoveplayerbygroupid ( #3673 )
...
# Notes
- This formatting was causing Spire not to pick up the parameters.
2023-11-04 12:59:25 -04:00
Alex King
6929d180ca
[Parser] Cleanup Spire Parsing for crosszonemoveplayerbyguildid ( #3672 )
...
# Notes
- This formatting was causing Spire not to pick up the parameters.
2023-11-04 12:45:21 -04:00
Alex King
011a66a75e
[Parser] Cleanup Spire Parsing for crosszonemoveplayerbyexpeditionid ( #3671 )
...
# Notes
- This formatting was causing Spire not to pick up the parameters.
2023-11-04 12:31:47 -04:00
Alex King
07120563a2
[Bug Fix] Fix Perl__worldwideremovetask package ( #3670 )
...
# Notes
- Two lines were using the same parameters.
2023-11-04 12:18:25 -04:00
JJ
cc985cbcd5
[Quest API] Add GetBaseRaceName() to Perl and Lua ( #3668 )
2023-10-31 21:43:04 -04:00
JJ
97caa79472
[Release] 22.31.3 ( #3666 )
...
* Update package.json
* Update version.h
* Update CHANGELOG.md
2023-10-31 20:26:30 -05:00
Alex King
cfa575c756
[Logs] Convert Loot Messages to Error Logs ( #3663 )
...
* [Logs] Convert Loot Messages to Error Logs
# Notes
- These messages were sending to users and not being logged.
- `Message(Chat::Red, "Error: OP_EndLootRequest: Corpse not found (ent = 0)");` sends often when corpse expires right as you try to loot, so it makes the user think there's a true error.
* Update zoning.cpp
2023-10-31 18:58:06 -04:00
JJ
85063249b4
[Bug] Force raids off content database ( #3665 )
2023-10-31 18:46:03 -04:00
Akkadius
04d6f8feea
[Release] 22.31.2
2023-10-31 09:47:18 -05:00
Akkadius
dfc1bf0381
Revert "[Crash] Fix spell in AESpell related to beacons ( #3659 )"
...
This reverts commit 0b452f4ec1 .
2023-10-31 09:46:08 -05:00
Akkadius
2237c3a056
[Release] 22.31.1
2023-10-31 08:08:29 -05:00
Akkadius
4af191c593
[Hotfix] Fix issue with blocked spells not loading properly
2023-10-31 08:06:51 -05:00
Chris Miles
0a3972deb9
[Release] 22.31.0 ( #3662 )
2023-10-29 18:50:46 -05:00
Chris Miles
9d2f258390
[Database] Add id to variables table ( #3658 )
2023-10-29 18:45:30 -05:00
Chris Miles
0b452f4ec1
[Crash] Fix spell in AESpell related to beacons ( #3659 )
2023-10-29 18:45:24 -05:00
Chris Miles
fef629e1df
[Crash] Fix crash when client pointer does not exist during #hotfix ( #3661 )
2023-10-29 18:45:18 -05:00
Chris Miles
a5a51fbe44
[Linux] Add symbols to release builds ( #3660 )
...
* [Linux] Add symbols to release builds
* Update linux-build.sh
2023-10-29 18:45:11 -05:00
Paul Coene
47db92cdb6
[Trading] Fix part 3 of Issue 932. ( #3654 )
2023-10-29 09:50:04 -04:00
Akkadius
690301e80d
[Release] 22.30.2 - Hotfix perl loading
2023-10-26 16:23:55 -05:00
Akkadius
1887e48b76
Revert "[Perl] Reload perl quests on zone bootup ( #3648 )"
...
This reverts commit 0bbfcf7adc .
2023-10-26 16:21:06 -05:00
JJ
af2691eb12
[Release] 22.30.1 ( #3656 )
...
* Update package.json
* Update CHANGELOG.md
* Update version.h
2023-10-24 20:27:54 -04:00
Alex King
2df4289588
[Bug Fix] Fix empty InsertMany in bot starting items. ( #3653 )
...
Not checking if the vector is empty before it inserts still inserts when there’s nothing.
2023-10-24 18:15:42 -04:00
Akkadius
49d4d0acc3
[Release] 22.29.0
2023-10-23 22:41:58 -05:00
Paul Coene
5a663910a5
[Pets] Disallow effect of alliance line when cast on pets. ( #3650 )
...
* [Pets] Disallow effect of alliance line when cast on pets.
* Update spell_effects.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-10-23 22:40:24 -05:00
Chris Miles
b027edd21e
[API] Implement Zone Sidecar ( #3635 )
...
* Zone sidecar work
* Process management work
* Merge
* Sidecar work
* API config option
* Request proxy work
* Proxy headers and params
* Change port
* Remove code
* Sim work
* Sidecar work
* Update loot_simulator_controller.cpp
* Update loot_simulator_controller.cpp
* Formatting
* Post merge change
* Windows compile fix
* Update sidecar_api.cpp
* Update strings.cpp
2023-10-23 22:39:37 -05:00
hg
0bbfcf7adc
[Perl] Reload perl quests on zone bootup ( #3648 )
...
Perl wasn't implementing quest interface's Init which is called by
Zone::Bootup. This should fix zone's that were in standby not using the
latest version of perl plugin scripts.
2023-10-23 22:39:19 -05:00
Chris Miles
7962a0bd38
[Perl] Implement eqemu-perl for Linux ( #3652 )
...
* [Perl] Implement eqemu-perl for Linux
* Update embperl.cpp
2023-10-23 22:38:46 -05:00
JJ
4d9b51df0a
[Commands] Move #suspend from content database ( #3651 )
2023-10-23 20:01:49 -04:00
Alex King
508ecec6ea
[Bug Fix] Fix Bot Starting Items SQL ( #3649 )
2023-10-23 17:19:30 -04:00
JJ
f0c6fa2a26
[Release] 22.29.1 ( #3647 )
...
* Update version.h
* Update Changelog
* Update CHANGELOG.md
* Update package.json
2023-10-21 18:36:38 -05:00
JJ
ad6dbb7beb
[DB] Fix manifest for blocked spells ( #3646 )
2023-10-21 18:01:57 -04:00
JJ
6ddbb41617
[Bug Fix] Verifying mail keys when none exist ( #3645 )
...
No need to verify mail key when none exist.
Seen in http://spire.akkadius.com/dev/release/22.28.0?id=12069
2023-10-21 13:33:24 -04:00
JJ
8a558f6a29
[Bug Fix] Hotfix command without hotfix name ( #3644 )
...
If no hotfix name is provided, the hotfix command won't need the empty string.
2023-10-21 13:33:16 -04:00
Alex King
0585be0360
[Bug Fix] Fix issue with subcommand settings not working ( #3643 )
...
* [Bug Fix] Fix issue with subcommand settings not working
# Notes
- We were checking for `arguments >= 2` when we should just be checking for if there are any arguments and comparing `sep.arg[0]` (the command) and `sep.arg[1]` (the subcommand) to our `command_subsettings` to see if it exists and if we pass the requirements.
- This fix will let operators properly set a subcommand to a lower or higher status level than the parent command.
* Remove debug message.
2023-10-20 21:33:05 -04:00
Akkadius
6927baef7f
[Release] 22.29.0
2023-10-20 17:47:35 -05:00
Alex King
52d64781b5
[Feature] Add Expansion and Content Flag support to Blocked Spells ( #3638 )
...
* [Feature] Add Expansion and Content Flag support to Blocked Spells
# Notes
- Allows operators to filter blocked spells behind expansions or content flags.
- Requested in https://github.com/EQEmu/Server/issues/3582
* [Tradeskills] Add learned_by_item_id field (#3637 )
* [Feature] Add Expansion and Content Flag support to Blocked Spells
- Allows operators to filter blocked spells behind expansions or content flags.
- Requested in https://github.com/EQEmu/Server/issues/3582
---------
Co-authored-by: Chris Miles <akkadius1@gmail.com >
2023-10-20 17:45:58 -05:00
Aeadoin
0667fe435f
[Bug Fix] Fix crash when checking Bot Group/Raid membership ( #3641 )
...
* [Bug Fix] Fix crash when checking Bot Group/Raid membership
* Update bot.cpp
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-10-20 17:45:41 -05:00
Chris Miles
9959070f24
[Perl] Static linker fix on Linux ( #3642 )
...
* Update CMakeLists.txt
* Update linux-build.sh
* test
* Test
* test
* brute force
* !?!
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update CMakeLists.txt
* Remove testing
* Update linux-build.sh
2023-10-20 17:43:04 -05:00
Akkadius
2a91f08845
[22.28.1] Perl Linux build fix
2023-10-20 15:25:25 -05:00
Chris Miles
adc64005f1
[Rules] Add rule to configure max number of procs per round Combat:MaxProcs ( #3640 )
2023-10-20 14:57:50 -04:00
Alex King
605480f1c4
[Bug Fix] Fix Finishing Blow Proc Chance ( #3639 )
...
# Notes
- We were double adding `spellbonuses` and not adding `itembonuses` per https://github.com/EQEmu/Server/issues/3636 .
2023-10-19 16:19:43 -04:00
Chris Miles
3b95601c62
[Tradeskills] Add learned_by_item_id field ( #3637 )
2023-10-18 18:27:34 -05:00
Alex King
a4f2ed28f1
[Feature] Add Bot Starting Items ( #3634 )
...
* [Feature] Add Bot Starting Items
# Notes
- This table is similar to the player starting items table, however it uses bitmasks.
- Allows operators to give bots gear on creation.
- `races` of `0` for all races.
- `classes` of `0` for all classes.
* Update bot.cpp
* Update database_update_manifest_bots.cpp
2023-10-17 18:00:41 -04:00
Akkadius
e19b969541
[Release] 22.28.0 - Hotfix changelog
2023-10-15 21:56:55 -05:00
JJ
4241556f75
[Release] 22.28.0 ( #3633 )
...
* [Release] 22.28.0
* Update package.json
* Update CHANGELOG.md
2023-10-15 22:45:23 -04:00
Chris Miles
961332b40c
[Crash] Fix crash in Mob::ShowBuffs ( #3632 )
2023-10-15 21:14:55 -05:00
Chris Miles
a1a861e0c4
[Bots] Fix bot removal on zone, regression from #3611 ( #3631 )
2023-10-15 20:46:07 -04:00
JJ
4bbb1aa92f
[Scripts] Update 13th Floor importer ( #3630 )
...
* [Scripts] Update 13th Floor importer
Overhaul to script.
- Now uses `eqemu_config.json`
- More descriptive during the process
- Accounts for adjustments (`idfile`, `prockunk1`)
- No longer needs to adjust `UNK132`
* [DB] Adjust `items` structure for import (#3629 )
Our `items` table has 5 fields that need to adjust in order to pull data from 13th Floor.
* [DB] Update `version.h`
2023-10-15 20:45:50 -04:00
Alex King
1212ccefef
[Quest API] Add target ID and spell exports to events ( #3620 )
...
* [Quest API] Add target ID and spell exports to events
# Notes
- Add `$spell` export to `EVENT_CAST`, `EVENT_CAST_BEGIN`, `EVENT_CAST_BEGIN`, `EVENT_ITEM_CLICK`, `EVENT_ITEM_CLICK_CAST`, `EVENT_ITEM_CLICK_CLIENT`, `EVENT_ITEM_CLICK_CAST_CLIENT`, `EVENT_SPELL_EFFECT_BUFF_TIC_BOT`, `EVENT_SPELL_EFFECT_BUFF_TIC_CLIENT`, `EVENT_SPELL_EFFECT_BUFF_TIC_NPC`, `EVENT_SPELL_EFFECT_BOT`, `EVENT_SPELL_EFFECT_CLIENT`, `EVENT_SPELL_EFFECT_NPC`, `EVENT_SPELL_FADE`, `EVENT_DEATH`, `EVENT_DEATH_COMPLETE`, `EVENT_DEATH_ZONE`, `EVENT_DAMAGE_GIVEN`, and `EVENT_DAMAGE_TAKEN` in Perl.
- Add `$target_id` export to `EVENT_CAST`, `EVENT_CAST_BEGIN`, and `EVENT_CAST_ON` in Perl.
- Add `e.target_id` export to `EVENT_CAST`, `EVENT_CAST_BEGIN`, and `EVENT_CAST_ON` in Lua.
* Add $target/e.target exports.
* Update spells.cpp
2023-10-15 19:40:25 -04:00
Aeadoin
c203fec9b4
[Crash] Resolve crash when assigning empty raid note. ( #3628 )
...
* [Crash] Resolve crash when assigning empty raid note.
* const
2023-10-15 16:42:12 -04:00
Alex King
16ab1839e8
[Feature] Add Immune to Headshot Special Ability ( #3624 )
...
# Notes
- Allows mobs normally susceptible to Headshot to be made immune to it.
2023-10-13 21:43:33 -05:00
Mitch Freeman
f5e4c6a127
[Feature] Update Raid Functions for Titanium and Underfoot ( #3524 )
...
* Update Raid Functions
Updated various raid features for:
Titanium
- Raid window now functional, including with BOTS
- Raid delegate assist/mark work
- Raid notes work
- Raid /rmark, /clearmarks work
Underfoot
- Raid window was already functional
- Raid delegate assist/mark work
- Raid notes work
- Raid /rmark, /clearmarks work
* Updates to resolve feedback
* Slight update for overlooked case in encode for RaidUpdate for clients above Ti.
* Updates to further address feedback. Only updated translators for Ti/RoF2. Once ok, I will update the others.
* Update linux-build.sh
* Final updates for other translators and the strncpy_s issue.
* Fix for strn0cpy in raids.cpp, translators, and defines. Updated all in raids.cpp as well.
* Reveted defines change.
* Reverted accidental change
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-10-13 21:42:27 -05:00
Alex King
166c87c931
[Bots] Adjust Bot Movement Speed ( #3615 )
...
# Notes
- Bots were having a hard time keeping up with players.
- Part of this was due to using walk until a certain distance.
- Another part was their ctor only having `0.7f` run speed versus our Mob sanity check of `1.25f`.
- We check movement stuff now before idle checks so bots are more likely to start moving earlier.
2023-10-13 20:16:06 -05:00
Alex King
345dd442dd
[Quest API] Add GrantAllAAPoints() to Perl/Lua and Modify #grantaa ( #3616 )
...
# Command
- Add optional `level` argument to `#grantaa` so you can grant AAs up the specified level.
# Perl
- Add `$client->GrantAllAAPoints()`.
- Add `$client->GrantAllAAPoints(level)`.
# Lua
- Add `client:GrantAllAAPoints()`.
- Add `client:GrantAllAAPoints(level)`.
# Notes
- Grants all AA abilities up to client's current level or a specified level.
2023-10-13 20:13:55 -05:00
Alex King
565baec675
[Bug Fix] Fix #cast defaulting to cast time ( #3617 )
...
# Notes
- Defaulted to using cast time instead of instant.
2023-10-13 20:12:34 -05:00
Alex King
9884c442e9
[Crash] Fix Crash with #summon ( #3618 )
...
# Notes
- Not setting target to a default of `nullptr` or in this case `c` gave undefined behavior.
2023-10-13 20:12:01 -05:00
JJ
ad0b5d6a1c
[Scripts] Update 13th Floor script for legacy research tome bagtypes ( #3621 )
...
Legacy research tomes have the wrong bagtype (BACKPACK) blocking the clients from showing the combine button.
2023-10-13 20:10:35 -05:00
Alex King
b82b32e1d2
[Feature] Add Immune to Assassinate Special Ability ( #3622 )
...
# Notes
- Allows mobs normally susceptible to Assassinate to be made immune to it.
2023-10-13 21:01:06 -04:00
dependabot[bot]
2fb72e5729
Bump golang.org/x/net in /utils/scripts/build/should-release ( #3619 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.7.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.7.0...v0.17.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 19:52:58 -05:00
Alex King
3791bc788f
[Parser Fix] Fix SendIllusion Spire parsing ( #3623 )
...
# Notes
- Spire parses methods based on parameters being on the same line, so these were not being parse properly since they were newlines.
2023-10-13 19:41:28 -05:00
Alex King
833fa55fdf
[Feature] Add Extra Kick Classes ( #3613 )
...
* [Feature] Add Extra Kick Classes
# Notes
- Allows operators to add extra classes to the "Kick" skill.
- Without this only Warrior, Ranger, Monk, Beastlord, and Berserker could kick.
* Remove gotos.
2023-10-11 14:33:23 -04:00
Chris Miles
4fc3c27715
[Release] 22.27.0 ( #3614 )
...
* [Release] 22.27.0
* Update bot.cpp
2023-10-07 15:11:21 -05:00
Chris Miles
cea3ad6a42
[Crash] Fix crash in #movechar ( #3612 )
2023-10-07 14:00:27 -05:00
Chris Miles
d8926cd5f3
[Crash] Fix dangling pointer crash observed in SendHPPacketsFrom ( #3611 )
...
* [Crash] Fix dangling pointer crash observed in SendHPPacketsFrom
* Update bot.cpp
2023-10-07 14:00:19 -05:00
Chris Miles
efb03164c7
[Crash] Fix crash in CastSpell Quest API input cast ( #3610 )
2023-10-07 14:00:11 -05:00
Chris Miles
455eb2e6d9
[Crash] Fix CanUseAlternateAdvancementRank crash ( #3609 )
2023-10-07 14:00:04 -05:00
Chris Miles
b5b0e53da2
[Crash] Fix #summon crash ( #3608 )
...
* [Crash] Summon crash fix
* [Crash] Fix summon crash
2023-10-07 13:59:56 -05:00
Chris Miles
68cb94b39c
[Crash] Bot member zoned crash fix ( #3607 )
2023-10-07 13:59:47 -05:00
Chris Miles
3d95b6c184
[Crash] Fix rarer crash with File::Makedir ( #3606 )
2023-10-07 13:59:40 -05:00
Alex King
7db7631308
[Bug Fix] Fix #show group_info Popup ( #3605 )
...
# Notes
- Wasn't using `DialogueWindow::TableCell` so they weren't showing up.
- Fixed `red1` to `red_1` so it shows.
2023-10-04 14:40:05 -04:00
Akkadius
f053cd3b56
[Hotfix] Ensure Linux builds report failures
2023-10-03 11:59:50 -05:00
Alex King
cf27f2bc88
[Quest API] Add Caster ID Parameter to FindBuff in Perl/Lua ( #3590 )
...
* [Quest API] Add Caster ID Parameter to FindBuff in Perl/Lua
# Perl
- Add `$mob->FindBuff(spell_id, caster_id)`.
# Lua
- Add `mob:FindBuff(spell_id, caster_id)`.
# Notes
- Allows operators to check if the spell ID is cast by a specific entity ID.
- We don't use `Mob*` reference here since the mob may have died, left zone, etc.
* Formatting.
2023-09-29 19:38:36 -04:00
JJ
79918ebaba
[Logs] Change pathing log messages from Error to Pathing. ( #3604 )
...
Change pathing log messages from `Error` to `Pathing`.
2023-09-29 11:54:52 -04:00
Paul Coene
2a648507f2
[Bug Fix] Fix swarm pet names to use '_' instead of ' ' ( #3601 )
2023-09-19 18:21:47 -04:00
Clayton Dunwell
f395ee0508
[Bug Fix] Invis vs. Undead/Animal Breaks Charm for Pets ( #3587 )
...
* IVU & IVA break charm pets #2212
* fix typing
* fix tab spacing
* Formatting
* Formatting for CalcInvisibleLevel
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-09-19 10:16:12 -04:00
Akkadius
7166fcc650
[Hotfix] Fix an issue with schema versioning for the AA update
2023-09-18 12:19:56 -05:00
Alex King
ae8e58ddc5
[Release] 22.26.1 ( #3599 )
...
* [Release] 22.26.1
### Fixes
* Add Validation to #find, #set, and #show args ([#3598 ](https://github.com/EQEmu/Server/pull/3598 )) @Kinglykrab 2023-09-17
2023-09-17 23:15:38 -04:00
Alex King
26e72c6857
[Bug Fix] Add Validation to #find, #set, and #show args ( #3598 )
...
# Notes
- We were not validating `sep->arg[i]` so we could possibly be pushing a `nullptr` in.
2023-09-17 21:20:27 -05:00
Chris Miles
df1d740ae6
[Release] 22.26.0 ( #3596 )
2023-09-17 15:14:01 -05:00
Alex King
d7e810232a
[Bug Fix] Fix entity ID on death with #castspell ( #3592 )
...
# Notes
- Entities killed by a spell with #cast were not reporting their pre-death entity ID properly.
- Added an `entity_id_override` to `GetTargetDescription()` and added a pre-defined entity ID variable to the cast command so we can message the proper pre-death entity ID.
2023-09-17 13:40:31 -05:00
Alex King
9b992167f0
[Bug Fix] Fix Killed XYZH support in EVENT_DEATH in Perl. ( #3591 )
...
* [Bug Fix] Fix Killer XYZH support in EVENT_DEATH in Perl.
# Notes
- Fixes XYZH exports in Perl.
* Update embparser.cpp
2023-09-17 13:40:07 -05:00
Clayton Dunwell
65d4533568
[Bug Fix] Check for Song Skill Increase on Bard Pulse ( #3586 )
...
* check for song skill increase on bard pulse
* style changes
* fix spacing
2023-09-17 13:29:48 -05:00
Clayton Dunwell
eb545a18a4
[Feature] Cleanup Group Split Money Logic ( #3583 )
...
* addresses #2498
* fix some logic #2498
* fixes #2498
* derpy derp derp #2498
* leave default argument to appease build
* Formatting
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-09-17 13:22:26 -05:00
Alex King
f2f0228aa4
[Quest API] Add XYZ/XYZH Overloads to Cross Zone Move Methods ( #3581 )
...
# Perl
- Add `quest::crosszonemoveplayerbycharid(character_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbycharid(character_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveplayerbygroupid(group_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbygroupid(group_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveplayerbyraidid(raid_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbyraidid(raid_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveplayerbyguildid(guild_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbyguildid(guild_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveplayerbyexpeditionid(expedition_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbyexpeditionid(expedition_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveplayerbyclientname(client_name, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbyclientname(client_name, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebycharid(character_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebycharid(character_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebygroupid(group_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebygroupid(group_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebyraidid(raid_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebyraidid(raid_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebyguildid(guild_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebyguildid(guild_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebyexpeditionid(expedition_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebyexpeditionid(expedition_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebyclientname(client_name, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebyclientname(client_name, zone_short_name, x, y, z, heading)`.
# Lua
- Add `eq.cross_zone_move_player_by_char_id(character_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_char_id(character_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_player_by_group_id(group_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_group_id(group_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_player_by_raid_id(raid_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_raid_id(raid_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_player_by_guild_id(guild_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_guild_id(guild_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_player_by_expedition_id(expedition_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_expedition_id(expedition_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_player_by_client_name(client_name, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_client_name(client_name, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_char_id(character_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_char_id(character_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_group_id(group_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_group_id(group_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_raid_id(raid_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_raid_id(raid_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_guild_id(guild_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_guild_id(guild_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_expedition_id(expedition_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_expedition_id(expedition_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_client_name(client_name, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_client_name(client_name, zone_short_name, x, y, z, heading)`.
# Notes
- Allows operators to send players to specific coordinates across zones instead of always sending to safe coordinates.
2023-09-17 13:16:25 -05:00
Alex King
06337fe762
[Feature] Add Defensive Proc Rules for Level Gap Penalty ( #3580 )
...
# Notes
- Allows operators to modify the level gap penalty and level gap required for the penalty for defensive procs' level gap penalty.
- Setting `Spells:DefensiveProcPenaltyLevelGap` to `-1` will disable the penalty.
2023-09-17 13:15:51 -05:00
hg
604c7ad4ab
[Feature] Add opcodes for Cast and Scribe book buttons ( #3578 )
...
This is just the packet framework for the Scribe button on recipe books
and the Cast Spell button on books that allow casting spells on
targets. It will need to be hooked up to a content implementation
2023-09-17 13:14:38 -05:00
Alex King
bab16771aa
[Quest API] Add ApplySpell() and SetBuffDuration() overloads to Perl/Lua ( #3576 )
...
# Perl
- Add `$bot->ApplySpell(spell_id, duration, level)`.
- Add `$bot->ApplySpell(spell_id, duration, level, allow_pets)`.
- Add `$bot->ApplySpellGroup(spell_id, duration, level)`.
- Add `$bot->ApplySpellGroup(spell_id, duration, level, allow_pets)`.
- Add `$bot->ApplySpellRaid(spell_id)`.
- Add `$bot->ApplySpellRaid(spell_id, duration)`.
- Add `$bot->ApplySpellRaid(spell_id, duration, level)`.
- Add `$bot->ApplySpellRaid(spell_id, duration, level, allow_pets)`.
- Add `$bot->ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `$bot->SetSpellDuration(spell_id, duration, level)`.
- Add `$bot->SetSpellDuration(spell_id, duration, level, allow_pets)`.
- Add `$bot->SetSpellDurationGroup(spell_id, duration, level)`.
- Add `$bot->SetSpellDurationGroup(spell_id, duration, level, allow_pets)`.
- Add `$bot->SetSpellDurationRaid(spell_id)`.
- Add `$bot->SetSpellDurationRaid(spell_id, duration)`.
- Add `$bot->SetSpellDurationRaid(spell_id, duration, level)`.
- Add `$bot->SetSpellDurationRaid(spell_id, duration, level, allow_pets)`.
- Add `$bot->SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `$client->ApplySpell(spell_id, duration, level)`.
- Add `$client->ApplySpell(spell_id, duration, level, allow_pets)`.
- Add `$client->ApplySpellGroup(spell_id, duration, level)`.
- Add `$client->ApplySpellGroup(spell_id, duration, level, allow_pets)`.
- Add `$client->ApplySpellRaid(spell_id, duration, level)`.
- Add `$client->ApplySpellRaid(spell_id, duration, level, allow_pets)`.
- Add `$client->ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `$client->ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`.
- Add `$client->SetSpellDuration(spell_id, duration, level)`.
- Add `$client->SetSpellDuration(spell_id, duration, level, allow_pets)`.
- Add `$client->SetSpellDurationGroup(spell_id, duration, level)`.
- Add `$client->SetSpellDurationGroup(spell_id, duration, level, allow_pets)`.
- Add `$client->SetSpellDurationRaid(spell_id, duration, level)`.
- Add `$client->SetSpellDurationRaid(spell_id, duration, level, allow_pets)`.
- Add `$client->SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `$client->SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`.
- Add `$mob->ApplySpellBuff(spell_id, duration, level)`.
- Add `$mob->SetSpellDuration(spell_id, duration, level)`.
# Lua
- Add `bot:ApplySpell(spell_id, duration, level)`.
- Add `bot:ApplySpell(spell_id, duration, level, allow_pets)`.
- Add `bot:ApplySpellGroup(spell_id, duration, level)`.
- Add `bot:ApplySpellGroup(spell_id, duration, level, allow_pets)`.
- Add `bot:ApplySpellRaid(spell_id)`.
- Add `bot:ApplySpellRaid(spell_id, duration)`.
- Add `bot:ApplySpellRaid(spell_id, duration, level)`.
- Add `bot:ApplySpellRaid(spell_id, duration, level, allow_pets)`.
- Add `bot:ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `bot:SetSpellDuration(spell_id, duration, level)`.
- Add `bot:SetSpellDuration(spell_id, duration, level, allow_pets)`.
- Add `bot:SetSpellDurationGroup(spell_id, duration, level)`.
- Add `bot:SetSpellDurationGroup(spell_id, duration, level, allow_pets)`.
- Add `bot:SetSpellDurationRaid(spell_id, duration, level)`.
- Add `bot:SetSpellDurationRaid(spell_id, duration, level, allow_pets)`.
- Add `bot:SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `client:ApplySpell(spell_id, duration, level)`.
- Add `client:ApplySpell(spell_id, duration, level, allow_pets)`.
- Add `client:ApplySpellGroup(spell_id, duration, level)`.
- Add `client:ApplySpellGroup(spell_id, duration, level, allow_pets)`.
- Add `client:ApplySpellRaid(spell_id, duration, level)`.
- Add `client:ApplySpellRaid(spell_id, duration, level, allow_pets)`.
- Add `client:ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `client:ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`.
- Add `client:SetSpellDuration(spell_id, duration, level)`.
- Add `client:SetSpellDuration(spell_id, duration, level, allow_pets)`.
- Add `client:SetSpellDurationGroup(spell_id, duration, level)`.
- Add `client:SetSpellDurationGroup(spell_id, duration, level, allow_pets)`.
- Add `client:SetSpellDurationRaid(spell_id, duration, level)`.
- Add `client:SetSpellDurationRaid(spell_id, duration, level, allow_pets)`.
- Add `client:SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `client:SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`.
- Add `mob:ApplySpellBuff(spell_id, duration, level)`.
- Add `mob:SetSpellDuration(spell_id, duration, level)`.
# Notes
- This allows operators to override the spell level.
2023-09-17 13:14:13 -05:00
Alex
d3a414a048
[Fixes] AA System Fixes ( #3572 )
...
* -Always load AAs beyond our current expansion (Will need this for refunding invalid AAs).
-AAs beyond our current expansion will no longer be buyable or sendable to clients.
* #reload aa will now reload character aa data.
* Base Implementation of auto grant AA
* -Add DB manifest entry
-Made has already purchased fn a bit better
-Added auto grant to db entry
* -Added grantaa command.
-Reworked grantaa to not spam the client with packets, it still does spam messages because the feedback is important.
* Port suggested changes for Finish AA purchase.
---------
Co-authored-by: KimLS <KimLS@peqtgc.com >
2023-09-17 13:12:43 -05:00
Paul Coene
e85a8db8c4
[Messages] Swarm pet normal damage messages were missing ( #3594 )
2023-09-17 08:26:09 -04:00
Fryguy
12cc3c90ea
[Bug] Additional Wild Ramp param was causing an overflow it appears at least on local testing. ( #3589 )
...
* [Logging] Add logging to track down Wild Ramp issue
* [Bug] Additional Wild Ramp param was causing an overflow it appears at least on local testing.
2023-09-11 15:57:04 -05:00
Paul Coene
9c656bc498
[Messages] Remove duplicate message on tracking begin ( #3574 )
2023-09-11 08:27:25 -04:00
Fryguy
bc337979bb
[Logging] Add logging to track down Wild Ramp issue ( #3588 )
2023-09-10 21:02:44 -05:00
Paul Coene
a64425ebe6
[Commands] npc_edit faction and #setfaction duplicate and incorrect. ( #3577 )
...
* [Commands] npc_edit faction and #setfaction duplicate and incorrect.
* Fix assignment
2023-09-02 21:21:48 -04:00
Alex King
ca933fce45
[Bug Fix] Fix #set faction/#setfaction Command ( #3575 )
...
# Notes
- This was an oversight on my part in `#set` command consolidation.
2023-09-02 17:30:40 -04:00
Akkadius
9c3498b431
[Release] 22.25.0
2023-08-28 19:51:37 -05:00
Akkadius
d7e09a1f3b
[Hotfix] Zoning logging edge case safety
2023-08-28 19:51:11 -05:00
Akkadius
1652e7a976
[Hotfix] Fix to zoning logging exception
2023-08-28 19:44:56 -05:00
JJ
37dda9bf41
[Instances] Refine id selection ( #3568 )
...
* [Instances] Refine id selection
Since the IDs start above the minimum, we needed to check if the first slot was available.
* Remove else by returning early, add validation before accessing row
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-08-28 19:28:15 -05:00
Paul Coene
a2b78ff4e6
[Combat Messages] Fix issue where pet proc damage was not showing up ( #3551 )
...
* [Combat Messages] Fix issue where pet proc damage was not showing up
* Put back needed "skip" for some melee messages.
* spacing
2023-08-24 16:52:18 -04:00
Aeadoin
79a3ce8d7e
[Bots] Add Support for Mana Pool AA Bonuses. ( #3571 )
2023-08-21 18:35:14 -04:00
Paul Coene
d857fb3c48
[HotFix] Clearing target window on CHARM wear off had a side effect ( #3570 )
...
* [HotFix] Clearing target window on CHARM wear off had a side effect
* erroneous change removed
2023-08-21 18:16:22 -04:00
Chris Miles
2b4cd292e4
[Rules] Also reload rules in world when #reload rules invoked ( #3566 )
2023-08-21 17:43:55 -04:00
Aeadoin
3b7cfa6454
[Rules] Correct explanation of Bots:ManaRegen ( #3569 )
...
* [Rules] Correct explanation of Bots:ManaRegen
* update
* update
2023-08-21 17:43:02 -04:00
Vayle
c5fa7e28c8
[Bug Fix] Minor adjustment to formula calc position to fix modifier bug. ( #3565 )
...
* Fix logic error in recent PR
* Adjust formula position
2023-08-20 22:18:08 -05:00
Akkadius
5d133a2b47
[Hotfix] Instance GetUnusedInstanceID crash fox
2023-08-20 21:30:37 -05:00
Chris Miles
7122ac33b2
[Quest API] Reload content flags globally when a content flag is set ( #3564 )
2023-08-20 20:56:40 -05:00
JJ
c47644ea46
[Instances] Honor reserved instances ( #3563 )
...
* [Instances] Honor reserved instances
Logic to select next available instance id was incorrect.
The correct logic selected the max id + 1 or max reserved + 1, but then it would overwrite if we enabled recycling ids.
Additionally, it was incrementing the reserved ids and assigning ids to the max reserved id vice the next available.
Finally, it was running the logic twice.
* Fix updated SQL to use fmt
2023-08-20 19:21:51 -05:00
Vayle
a61f951d0e
[Rules] Add FinalRaidExpMultiplier Rule ( #3554 )
...
* FlatRaidExpModifierRule
* Formatting
* Remove enabled toggle
Enabled toggle not necessary as default value is 1.0
* Formatting
* Formatting
* Formatting
2023-08-20 16:31:36 -05:00
Paul Coene
4357b8c731
[Charm] Fix to update target windows on charm on/off ( #3549 )
...
* [Charm] Fix to update target windows on charm on/off
* Removed accidental change
* Removed magic #
* reformated brace style in function that was modified
* Use better names for clear variables
* Forgot header with name change
* More header name changes
2023-08-20 15:43:10 -05:00
Alex King
9cbe25f712
[Feature] Change #reload zone to reload zone headers globally. ( #3557 )
...
* [Feature] Change #reload zone to reload zone headers globally.
# Notes
- This allows operators to globally reload zone headers without going to every zone individually to do so.
* Update worldserver.cpp
* Update worldserver.cpp
2023-08-20 15:42:45 -05:00
Chris Miles
c14a17e4de
[Database] Extend dumper CLI utility to export static instance data ( #3562 )
...
* [Database] Extend dumper CLI utility to export static instance data
* Append
* Append
2023-08-20 15:42:23 -05:00
hg
ab04a4c6df
Remove hard limit on currency merchant ( #3560 )
2023-08-20 15:37:15 -05:00
Chris Miles
c0cf9bb5aa
[Expansions] Expansion settings tweaks ( #3556 )
...
* Expansion tweaks testing on PEQ
* Update zoning.cpp
* Update aa.cpp
* Update aa.cpp
* Tweak
2023-08-20 15:37:08 -05:00
JJ
b5d23389ee
[Database] Change primary key entry to NOT NULL ( #3559 )
...
Needed for MySQL 8 compatibility.
2023-08-20 15:36:51 -05:00
Alex King
dc35ab5251
[Bug Fix] Fix #motd/#set motd Command ( #3558 )
...
# Notes
- This command was non-functional since the consolidation due to an oversight on my part.
2023-08-20 09:31:26 -04:00
Chris Miles
9cbfd5c8f0
[Logging] Add detailed zoning logging ( #3555 )
...
* WIP: Add zoning logging
* Update zoning.cpp
2023-08-19 23:53:34 -05:00
Fryguy
5631a0711f
[Feature] Add adjustability for AERampage Range. ( #3548 )
...
* [Feature] Add adjustability for AERampage Range.
This functionality is needed for fights like Ture to be accurate, where their ramp range was 101% of their melee safe range.
Example in lua of utilizing this scripting
```
e.self:SetSpecialAbilityParam(SpecialAbility.area_rampage,8,101;
```
* Updates to address comments
2023-08-19 23:36:06 -05:00
Aeadoin
00e02b61ca
[Bug Fix] Fix Bot::CheckDataBucket to work with Owner Buckets. ( #3552 )
2023-08-18 16:41:24 -04:00
regneq
108397b138
[Feature] Change money type to all lower case as EQ live money shares and split has it that way. ( #3550 )
2023-08-18 15:19:58 -04:00
Aeadoin
9a07142a9b
[Bug Fix] Bots will now load AAs properly when spawned. ( #3544 )
...
* [Bug Fix] Bots will now load AAs properly when spawned.
* formatting
* formatting
* formatting
* formatting
* formatting (for real this time)
* formatting (for real this time)
* Formatting
2023-08-13 15:57:27 -04:00
Aeadoin
919a92bda3
[Bots] Remove In-Game Command References to Bot Groups ( #3545 )
2023-08-13 15:41:30 -04:00
Chris Miles
140aba9f69
[Spawns] Fixes a rarer issue where spawn2 is not being properly content filtered
2023-08-13 02:17:00 -05:00
Aeadoin
c3d41e08f4
[Bug Fix] Bots no longer drop group on death, and raid fixes. ( #3542 )
2023-08-12 21:49:01 -04:00
Vayle
5d6a1aad50
[Rules] Add rule to restrict hand in of quest items to quest flagged NPCs. ( #3536 )
...
* Add rule to restrict handin of quest items to quest flagged npcs
* Minor format tweak
* Formatting
2023-08-12 21:48:40 -04:00
hg
af91b2b41c
[CMake] Define perlbind option for all targets ( #3538 )
...
This isn't designed well and wasn't handled correctly since the perlbind
library was getting built and linked with default options while zone was
using PERLBIND_NO_STRICT_SCALAR_TYPES. This was probably leading to some
unspecified behavior.
2023-08-12 21:48:08 -04:00
hg
2660aa79ab
[CMake] Add cmake option to re-enable MSVC warnings ( #3537 )
2023-08-12 21:47:38 -04:00
Fryguy
730738faf9
[Bug] Escape item name in trader audit. ( #3540 )
...
* [Bug] Escape item name in trader audit.
Quick fix to escape the item names in Trader Audit.
* Update trading.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-08-12 21:47:22 -04:00
catapultam-habeo
2bb7bba724
[Rules] Add a rule to adjust the randomization range for Wizard\Caster Merc innate critical ratio. ( #3543 )
...
* initial commit
* oops.
* that wasn't supposed to be committed.
* Update effects.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-08-12 21:19:22 -04:00
Akkadius
e93081dde0
[Hotfix] Add character_stats_record to player tables
2023-08-11 01:46:30 -05:00
Vayle
3a46bf7383
[Rules] Add rule to toggle pets accepting quest items ( #3533 )
...
* Add rule to disable handing quests items to pets
* Logic tweak
* Tweaks
Updated formatting and minor logic change
* Minor tweaks
2023-08-06 15:32:25 -04:00
Chris Miles
aa6421afdf
[Release] 22.24.0 ( #3534 )
...
* [Release] 22.24.0
* Update CHANGELOG.md
2023-08-05 13:58:51 -05:00
Chris Miles
6a7eaae122
[Fix] Bugs table should not target content database ( #3535 )
2023-08-05 13:53:54 -05:00
Chris Miles
714b474d2c
[Character] Record character stats to character_stats_record table ( #3522 )
...
* [Character] Record character stats to
* Record stats on disconnect as well
* Record later in connect process
* Move enter zone code path so we're after bonuses
* Ok this spot for real
* Adjust recording
* Update client_packet.cpp
* Timestamps
* Update database_update_manifest.cpp
* Update client_packet.cpp
* Fix stat bonuses
2023-08-05 12:55:59 -05:00
Mitch Freeman
e24d82f0fe
[Bug Fix] Bug fix for raid mark NPC across zones ( #3525 )
...
* Fix for GENERIC_9_STRINGS
* Add Bot Heal Message Display
Creates a new rule to display Bot heal messages to the Bot Owner
* 2021-03-25 11L04pm
Spell and Heal Rule added to allow for Bot spell and heal damage to be sent to the Bot Owner's Group. Also added a check to remove duplicate message for #damage on self.
* Update .gitignore
* BOT work
Added BOT logging damage/heals to owner
Added BOT message to owner for harmony fails
Made var Critical global to remove duplicate crit messages
Added a NULL check to Mob:GetCleanname()
* Bot Group Work
Fixed botid=charid spawn on zone issue
Added a group_list update on zone to refresh from database to fix a dangling pointer to a Bot object that was camped but was previously in a group within the zone being entered.
Modified Bot::ProcessBotGroupInvite to use the client of the bot when doing the Bot initialization so that a leader can invite another owner's Bot
* Jan 4
Basic structure in place for Raid::AddBot though not working
* Basement Jan 5
* End of day Jan 5
Working Raid Invite to a Bot.
* Update to Client::QueuePacket to not attempt to send a packet to a BoT. Not clean, but a broad solution.
* Updated Raid::VerifyRaid
* Some Bot Raid working
* Before VS Crash
* Use Case 1, 2, 3,4,7 working.
Need to fix 5, 6, 8
* Work on usecase 5
* A few more use cases working
* New work on Raid invite with a invitor having a group
* Bot Raid inviting working for all use cases
* A few changes
* end of day jan 10
* Jan 11
* end of day Jan 11
* Bot Invite/Accept cleanup
* Start of moving raid bot functions to their own methods
* More bot raid changes
* More raid spell work
* end of day Jan 16
* spawn work
* Spawn on login working
* End of Day Jan 18
* Raid leader and mana/hp updates fixed
* Spell Tracking
* Issue with Bot Death in raid when casted upon. 1741 raid.cpp
* Bot Death fixed and few other crashes
* Working on botgroup removal
* Bot Disbanding Work 90%
* Looks like BOTs are working
* Fixed a bot crash
* bug tracing on entity list mismatch
* safe_delete resoves problem. No to track down leak
* seems to be working
* Memory corruption found - sending packets to BoTs using Client class
* added Raid::IsRaidMemberBot()
* Update p_raid_instance
* g3
* Final - Bot Raid Working
* Fixed IsRaidMemberBot to remove memory leak
Fixed altcombat crash though RaidMainAssist (428) needs fixing
* add RaidMember.IsBot
* Repaired IsBot function to be more preformant. Now works on standard performance machine
* Fixed Bard AE Target Spells
Removed assert for buffs
* updated based on Feb 2022 master updates
* Added bot_db_updates and version increment
* Cleanup of bot raid work and inclusion of bot_raid in cmake
* Fix repop crash
* Bot databse change to not use view
* Revert "Merge branch 'master' of https://github.com/neckkola/Server "
This reverts commit 1826830637 , reversing
changes made to 7c1a139991 .
* Updated syntax for 9230
Updated this syntax as to run on maria 10.1
* Revert "Updated syntax for 9230"
This reverts commit ffdd46c8b2 .
* Fix for cross zone mark npc when entity ids are reused.
* Fixed and tested
added db change
and tested across zones
* Transition to direct attributes instead of encode
Update the pattern to utilize direct raid object attributes for entity id, zone id and instance id instead of an encoded single field.
2023-08-05 12:23:33 -05:00
Chris Miles
33a375677e
[Fix] Fix issue with mob scanning when trying to use EVENT_SPAWN ( #3529 )
2023-08-04 13:05:33 -05:00
Chris Miles
8fce86c396
[Quest API] Adjust GetCloseMobList calls internally ( #3530 )
...
* [Quest API] Adjust GetCloseMobList calls internally
* Tweaks
2023-08-04 13:05:22 -05:00
Alex King
68b40f0239
[Cleanup] Cleanup #view zone_loot Command ( #3523 )
...
* [Cleanup] Cleanup #view zone_loot Command
# Notes
- An item ID was being required, we don't want to do that.
- Cleanup messages to only show item name/item ID
* Update zone_loot.cpp
2023-08-02 19:58:25 -04:00
Alex King
2dc2bac456
[Cleanup] Remove Strings::Commify from all identifier values ( #3528 )
...
# Notes
- Removes commification from unique identifiers.
2023-08-01 22:59:47 -05:00
Alex King
00a8a0cf88
[Bug Fix] Fix +/- 0.1 XYZ Door Manipulation ( #3527 )
...
# Notes
- We were checking if this was a number, not a float.
2023-08-01 22:16:29 -05:00
Alex King
5a466da96c
[Feature] Add Support for Drakkin Heritage Illusions ( #3521 )
...
# Notes
- Fixes an issue where Drakkin illusions that used different Drakkin Heritages were not properly applying the Drakkin Heritage due to not sending the Face Appearance.
2023-08-01 14:28:13 -05:00
Akkadius
de4f5ae491
[Release] 22.23.0
2023-07-31 20:17:17 -05:00
Alex King
fb20d92166
[Bug Fix] Fix Appearance Issues ( #3520 )
...
* [Bug Fix] Fix Appearance Issues
# Notes
- Changing race, gender, or texture of a Mob could result in it changing sizes due to use not sending the size as part of the appearance packet.
- Also converts the parameterized method to a struct parameter so that we can optionally send things without back-filling multiple arguments.
* Gender cleanup.
* Fix.
* Formatting.
2023-07-31 20:15:13 -05:00
Paul Coene
6cff433d23
[Scaling/Bug Fix] Scaling where min and max damage was bugged ( #3514 )
...
* [Scaling/Bug Fix] Scaling where min and max damage were both 0 tossed out min_dmg
* Clamp values so independant calls dont leave us in odd state
2023-07-31 20:00:48 -05:00
Alex King
2da7ddad57
[Bug Fix] Fix NPC Cast Events not parsing properly. ( #3518 )
...
* [Bug Fix] Fix NPC Cast Events not parsing properly.
# Notes
- We were not using separated values.
* Update lua_parser_events.cpp
2023-07-31 19:59:56 -05:00
Chris Miles
55161e18c8
[Databuckets] Improvements to distributed cache, reload commands ( #3519 )
...
* [Databuckets] Improvements to distributed cache, reload commands
* Add to reload_types
2023-07-31 19:58:57 -05:00
Alex King
063d4fbd1a
[Bug Fix] Fix #gm top level alias for #set gm ( #3517 )
...
# Notes
- Typo lead to `#gm on` and `#gm off` not functioning.
2023-07-30 13:20:17 -04:00
Akkadius
c25cb0cc23
[Release] 22.22.1
2023-07-30 01:36:49 -05:00
Chris Miles
ddac326239
[Doors] Add door blacklist ( #3516 )
...
* [Doors] Add door blacklist
* Renaming to simplify
2023-07-30 01:35:44 -05:00
Akkadius
14fe396510
[Database] Hotfix: Add command_subsettings to server tables
2023-07-28 22:22:43 -05:00
Chris Miles
c968a0acdc
[Release] 22.22.0 ( #3513 )
...
* [Release] 22.22.0
* Version other areas
2023-07-28 11:35:40 -05:00
Alex King
8c4cd34e01
[Quest API] Add GetMobTypeIdentifier() to Perl/Lua ( #3512 )
...
# Perl
- Add `$mob->GetMobTypeIdentifier()`.
# Lua
- Add `mob:GetMobTypeIdentifier()`.
# Notes
- Gets unique identifier independent of mob type.
2023-07-27 23:16:41 -05:00
Akkadius
0dbcf83a11
[Database] Fix console output in database:dump --dump-output-to-console
2023-07-25 11:45:26 -05:00
Alex King
a75648f73f
[Data Buckets] Distributed Databucket Caching ( #3500 )
...
* [Data Buckets] Zone-Based Data Bucket Caching
# Notes
- Adds a data bucket cache so we're not needlessly hitting the database every time we need to read a data bucket value.
* Cleanup and unify GetData access patterns
* Cache work
* Push
* Add to cache when we fetch and do a db hit
* Handle bucket misses in cache
* Formatting
* Logging
* [Data Buckets] Zone-Based Data Bucket Caching
- Adds a data bucket cache so we're not needlessly hitting the database every time we need to read a data bucket value.
* Cleanup and unify GetData access patterns
* Cache work
* Push
* Add to cache when we fetch and do a db hit
* Handle bucket misses in cache
* Formatting
* Remove redundant fetches from cache since GetData does the same thing
* Push progress
* Distributed cache work
* Logging
* Fix issue with scoping where same named keys could return overlapping results
* Misses cache tweak, logging, comments
* Add bot, client, and NPC bucket methods to Lua.
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-07-24 12:22:50 -05:00
Alex King
6c2886a71d
[Cleanup] Fix casing in corpse money and decay time. ( #3511 )
...
# Notes
- These were uppercase and should be lowercase.
2023-07-23 16:19:07 -04:00
Alex King
1d96ddb60d
[Bug Fix] Escape search string in #find item ( #3510 )
2023-07-22 18:20:00 -04:00
Vayle
c30074be66
[Crash Fix] Guard against Spells:MaxTotalSlotsPET being set above client allowed maximum. ( #3507 )
...
* Guard against MaxTotalSlotsPET being set too high
This prevents a crash from MaxTotalSlotsPET being set too high.
* Tweak
2023-07-22 10:20:22 -04:00
Chris Miles
b5652e6010
[Saylink] Fix cases where saylinks were not being cached ( #3508 )
...
* [Saylink] Fix cases where saylinks were not being cached
* Update say_link.cpp
2023-07-19 23:57:04 -05:00
Akkadius
202d2ed496
[Release] 22.21.2
2023-07-19 23:50:47 -05:00
Chris Miles
81cee49ea1
[Databuckets] Fix rarer same bucket name scoping overlap issue ( #3509 )
2023-07-19 23:49:11 -05:00
Akkadius
2d61cd2b9a
[Release] 22.21.1
2023-07-18 20:50:56 -05:00
Vayle
b06505b80a
[Cleanup] Remove arbitrary teleport blocking in Tutorial and Load zones ( #3506 )
2023-07-18 20:56:21 -04:00
Chris Miles
4c2f9a4423
[Databuckets] Fix issue with expired databuckets not being expired and returned properly ( #3504 )
2023-07-18 17:18:36 -05:00
Alex King
fb3159b657
[Bug Fix] #set title_suffix Argument Position ( #3505 )
...
# Notes
- Off by one on argument index.
2023-07-18 18:02:25 -04:00
Michael
8ebf5bbb78
[Bug] Show Petition and Show Petition_Info fix ( #3503 )
...
Where Statement was using incorrect field name.
2023-07-18 17:15:21 -04:00
Akkadius
d2aae4d79c
[Release] 22.21.0
2023-07-18 02:54:20 -05:00
Chris Miles
f9dc9da42b
[Pathing] Improvements to roambox logic, pathing ( #3502 )
...
* [Roambox] Improvements to roambox logic
* Update npc.cpp
* Update npc.cpp
* More pathing fixes
2023-07-18 02:52:04 -05:00
Chris Miles
3f3bbe98b5
[Data Buckets] Implement scoped data buckets ( #3498 )
...
* [Data Buckets] Implement scoped data buckets
* Update database_update_manifest.cpp
* Update data_bucket.cpp
* Update data_bucket.cpp
* Update data_bucket.cpp
* Update data_bucket.h
* Update database_update_manifest.cpp
* Add GetScopedDbFilters references
* Scope transfer
2023-07-16 14:52:28 -04:00
Chris Miles
59537ae977
[Z Clipping] Don't issue zclip adjustments when NPC is not moving ( #3499 )
2023-07-16 14:52:17 -04:00
Alex King
ee45a28efe
[Quest API] Add SetLDoNPoints() to Perl/Lua ( #3496 )
...
# Perl
- Add `$client->SetLDoNPoints(theme_id, points)`.
# Lua
- Add `client:SetLDoNPoints(theme_id, points)`.
# Notes
- Allows operators to directly set LDoN Points.
2023-07-15 21:46:49 -05:00
Jonathan Sider
70ce81fb0a
[Bug Fix] Fix rule check and add rule for pickpocket command ( #3492 )
...
* Fix bugs in skills
-Add rule for allowing pickpocket
-Fix method that is supposed to check rule
-Changed Z axis range for pickpocket (was failing on giants)
* Add zoffset to account for taller models
2023-07-15 21:46:26 -05:00
Akkadius
e06d28ad20
[Release] 22.20.1
2023-07-15 13:30:36 -05:00
Mitch Freeman
d57489781c
[Database] Fix database manifest entry for #3443
...
Updates the syntax for mariadb 10.1
2023-07-15 13:29:34 -05:00
Chris Miles
21d65c73b7
[Release] 22.20.0 ( #3495 )
2023-07-15 00:46:42 -05:00
Alex King
8f6d606f53
[Bug Fix] Fix Tradeskill Combines with augmented items ( #3490 )
...
* [Bug Fix] Fix Tradeskill Combines with augmented items
# Notes
- Keeps players from doing tradeskill combines with augmented items.
- Behavior is Live-like, we don't need a rule since `EVENT_COMBINE` is separate and processed prior to the recipe check.
* Update tradeskills.cpp
* Update tradeskills.cpp
* Cleanup
* Update tradeskills.cpp
2023-07-15 00:39:19 -05:00
Alex King
f25e37d0c5
[Commands] Consolidate #set-like commands into a singular #set command ( #3486 )
...
* First push
* Final push.
* Consolidate zone commands in to one.
* Update command.cpp
* Remove debug messages.
* Test
* Add support for sub command status levels.
* Update command.cpp
* Update client.cpp
* Update database_update_manifest.cpp
* Update version.h
* Update item.cpp
* Update version.h
* Update database_update_manifest.cpp
* Fix command arguments.
* Help message.
* Update command.cpp
* Do DB injection/deletion
* Indent
* Update server_locked.cpp
* Update set.cpp
* Lock aliases
* Update command_subsettings_repository.h
* Update set.cpp
* Fix
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-07-15 00:37:51 -05:00
Alex King
e55f9b9d27
[Feature] Add Support for item textures higher than 65,535 ( #3494 )
...
* [Feature] Add Support for item textures higher than 65,535
# Notes
- We were previously using `uint16` which has a max of `65,535`, but some of the new Live textures that are being used have values way beyond this.
- Updates quest API, commands, and database tables that also used `uint16`.
* Update version.h
2023-07-14 18:49:59 -04:00
Mitch Freeman
b01486d767
[Feature] Update raid features ( #3443 )
...
* [RAID] Add Raid Features
[RAID] Add Raid Features
- Add delegate main assist
- Add delegate main marker
- Add target ring for main assisters. Uses MA1, then MA2, then MA3
- Add /assist raid respecting /assist on and /assist off
- Add Raid Notes. Functions across zones
- Add Raid XTarget functional
- Raid Leader can mark without being delegated Main Marker. Must have the appropriate AA
* Update to new db routines
* Updated several formatting issues based on review
* Update to pp->tribute_time_remaining to avoid edge case. Unrelated to raid updates.
* Updates to resolve comments/review.
Added a few edge case updates as well.
* Refactored to use database repositories for raid_details and raid_members. Other updates as noted in review.
* Updated database manifest and fixed potential leak within Client::Handle_OP_AssistGroup
* Update for remaining review items
* Refactor SendAssistTarget to use struct/vector loop
* Have IsAssister use range based for loop and return bool
* General cleanup
* Simplify SendRaidAssistTarget to use struct / vector
* Formatting in Handle_OP_RaidDelegateAbility
* Format SendRemoveRaidXTargets and clean up error statements
* Format SendRemoveAllRaidXTargets
* Formatting
* Default return FindNextRaidDelegateSlot to -1
* Change fields to marked_npc_1/2/3 (missing last underscore)
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-07-12 22:04:50 -05:00
Jonathan Sider
50ce99ce3e
[Bug Fix] Update bot naming check and add more explanation ( #3491 )
...
* Refactor my original PR
Block all puncation,numbers, and _
* Add error message
2023-07-12 21:59:17 -05:00
Alex King
4854201b2a
[Quest API] Add Mob/Entity type check methods to Perl/Lua ( #3493 )
...
* [Quest API] Add Mob/Entity type check methods to Perl/Lua
# Perl
- Add `$mob->IsAura()`.
- Add `$mob->IsEncounter()`.
- Add `$mob->IsMerc()`.
- Add `$mob->IsOfClientBot()`.
- Add `$mob->IsOfClientBotMerc()`.
- Add `$mob->IsTemporaryPet()`.
# Lua
- Add `entity:IsAura()`.
- Add `entity:IsOfClientBot()`.
- Add `entity:IsOfClientBotMerc()`.
- Add `mob:IsTemporaryPet()`.
* Update lua_entity.cpp
* Update lua_mob.cpp
2023-07-12 21:20:07 -05:00
Jonathan Sider
c81d05940a
[Bots] Remove orphaned commands related to botgroup ( #3489 )
2023-07-09 00:00:28 -04:00
Paul Coene
47be17e2af
[Bug Fix] Fix charmed pets to follow when charmed. ( #3488 )
...
* [Bug Fix] Fix charmed pets to follow when charmed.
* Added STOP (missed this on a local merge)
2023-07-08 19:58:45 -04:00
Chris Miles
809b3b6099
[Release] 22.19.0 ( #3487 )
2023-07-08 16:54:15 -05:00
Jonathan Sider
f06c7e8834
[Bots] Add Pickpocket Command ( #3484 )
...
* Add Pickpocket Command
* Formatting
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-07-08 16:51:52 -05:00
Alex King
096448d23c
[Commands] Add #itemsearch alias to #find aliases ( #3485 )
...
# Notes
- `#itemsearch` did not exist in this alias list.
2023-07-08 16:33:29 -05:00
Alex King
e55fb1cafd
[Commands] Consolidate #show commands into a singular #show command ( #3478 )
...
* [Cleanup] Consolidate #show commands into a singular #show command
# Notes
- All `#show` commands like `#showbuffs` are now subcommands of `#show`.
- All aliases like `#showbuffs` still function.
* Push up progress.
* Final push.
* Cleanup.
* Update ip_lookup.cpp
* emotes not emote
* Cleanup
* Update servertalk.h
* Update show.cpp
* Fix
* Final push.
* #aggro
* #who
2023-07-08 11:06:25 -04:00
Alex King
d4962bb2ab
[Cleanup] Move #find item summon links to front ( #3483 )
...
# Notes
- Move the summon links to the front so they're in a consistent location.
2023-07-04 23:08:29 -04:00
Jasdac
98e56bdfe9
[Rules] Add Skills:TrivialTradeskillCombinesNoFail Rule ( #3481 )
...
* Add TrivialNoFail rule
* feedback fixes
* Update tradeskills.cpp
* Update 1392_recipe_learning.sql
* Update ruletypes.h
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-07-04 22:47:56 -04:00
Akkadius
5c1be3643e
[Release] 22.18.0
2023-07-04 15:21:35 -05:00
Alex King
c2fa61b3a2
[Bug Fix] Add chatchannel_reserved_names to a new manifest ( #3482 )
...
# Notes
- This should resolve issues where the old query fails because it's adding an already existing column to another table.
2023-07-04 15:19:24 -05:00
Alex King
01a1186e63
[Commands] Add #emotesearch to #find command ( #3480 )
...
# Notes
- Missed this with initial `#find` command consolidation.
2023-07-04 14:17:42 -05:00
Alex King
7427318213
[Commands] Cleanup #copycharacter Command ( #3479 )
...
# Notes
- Cleanup messages and logic.
2023-07-04 14:14:33 -05:00
Alex King
d3c3d7b384
[Bug Fix] Fix issue in zone store of returning reference to local variable ( #3477 )
...
# Notes
- Compiler did not like possibly returning a reference to a local variable.
2023-07-04 03:08:44 -05:00
Alex King
e9e8143778
[Release] 22.17.0 ( #3476 )
...
## [22.17.0] - 07/03/2023
### Cleanup/Feature
* Add support for bots to #showstats/#mystats ([#3427 ](https://github.com/EQEmu/Server/pull/3427 )) @Kinglykrab 2023-07-01
### Code
* Remove LoadItemDBFieldNames() from common/misc.cpp and common/misc.h ([#3473 ](https://github.com/EQEmu/Server/pull/3473 )) @Kinglykrab 2023-07-04
* Remove handle_npc_single_npc from zone/lua_parser_events.cpp and zone/lua_parser_events.h ([#3467 ](https://github.com/EQEmu/Server/pull/3467 )) @Kinglykrab 2023-07-03
### Database
* Set multi statements off when returning early ([#3462 ](https://github.com/EQEmu/Server/pull/3462 )) @Akkadius 2023-07-01
### Feature
* Add Strings::BeginsWith() and Strings::EndsWith() ([#3471 ](https://github.com/EQEmu/Server/pull/3471 )) @Kinglykrab 2023-07-03
### Fixes
* Add check for underscores in botcreate command ([#3458 ](https://github.com/EQEmu/Server/pull/3458 )) @tuday2 2023-06-29
* EVENT_LANGUAGE_SKILL_UP in Lua was using EVENT_SKILL_UP logic ([#3466 ](https://github.com/EQEmu/Server/pull/3466 )) @Kinglykrab 2023-07-03
* Fix _PutItem having a slot_id of -1 on mobs with no items ([#3474 ](https://github.com/EQEmu/Server/pull/3474 )) @Kinglykrab 2023-07-04
* Fix data type of GetAggroCount() ([#3470 ](https://github.com/EQEmu/Server/pull/3470 )) @Kinglykrab 2023-07-03
### Logging
* Fix logging crash when % are sent through query logs ([#3461 ](https://github.com/EQEmu/Server/pull/3461 )) @Akkadius 2023-07-01
### Quest API
* Add ClearAccountFlag() and GetAccountFlags() to Perl/Lua ([#3469 ](https://github.com/EQEmu/Server/pull/3469 )) @Kinglykrab 2023-07-03
* Add GetClassAbbreviation() and GetRaceAbbreviation() to Perl/Lua ([#3463 ](https://github.com/EQEmu/Server/pull/3463 )) @Kinglykrab 2023-07-02
* Add GetClassPlural() and GetRacePlural() to Perl/Lua ([#3468 ](https://github.com/EQEmu/Server/pull/3468 )) @Kinglykrab 2023-07-03
* Add GetCloseMobList() and CalculateDistance() overload to Perl/Lua ([#3455 ](https://github.com/EQEmu/Server/pull/3455 )) @Kinglykrab 2023-07-02
* Add Hate Entry Methods to Perl ([#3459 ](https://github.com/EQEmu/Server/pull/3459 )) @Kinglykrab 2023-07-02
* Add ItemData Class to Perl ([#3465 ](https://github.com/EQEmu/Server/pull/3465 )) @Kinglykrab 2023-07-02
* Add Spawn2 Class to Perl ([#3456 ](https://github.com/EQEmu/Server/pull/3456 )) @Kinglykrab 2023-07-02
* Add StatBonuses Class to Perl ([#3460 ](https://github.com/EQEmu/Server/pull/3460 )) @Kinglykrab 2023-07-02
* Add missing Item Methods to Perl/Lua. ([#3464 ](https://github.com/EQEmu/Server/pull/3464 )) @Kinglykrab 2023-07-02
2023-07-03 19:46:15 -05:00
Alex King
bc71997518
[Bug Fix] Fix _PutItem having a slot_id of -1 on mobs with no items ( #3474 )
...
# Notes
- This was causing an insane amount of error logs because we were always using `PutItem`, even with a `slot_id` of `-1`.
2023-07-03 20:33:21 -04:00
Alex King
4a9a9fa197
[Cleanup] Remove LoadItemDBFieldNames() from common/misc.cpp and common/misc.h ( #3473 )
...
# Notes
- This is unused.
2023-07-03 19:20:34 -05:00
Alex King
ee14aed8de
[Feature] Add Strings::BeginsWith() and Strings::EndsWith() ( #3471 )
...
* [Strings] Add Strings::BeginsWith() and Strings::EndsWith()
# Notes
- These are useful so that we don't have to manually calculate size or perform a substring.
* Update questmgr.cpp
* Update client.cpp
2023-07-03 09:40:44 -04:00
Alex King
2717fcc339
[Quest API] Add ClearAccountFlag() and GetAccountFlags() to Perl/Lua ( #3469 )
...
* [Quest API] Add ClearAccountFlag() and GetAccountFlags() to Perl/Lua
# Perl
- Add `$client->ClearAccountFlag(flag)`.
- Add `$client->GetAccountFlags()`.
# Lua
- Add `client:ClearAccountFlag(flag)`.
- Add `client:GetAccountFlags()`.
# Notes
- Made use of repositories and cleaned up existing code.
* Update lua_client.cpp
* Don't use auto.
2023-07-03 01:19:48 -05:00
Alex King
dc28c8d485
[Bug Fix] Fix data type of GetAggroCount() ( #3470 )
...
# Notes
- This is an `unsigned int`, not an `int`, so this fixes that.
2023-07-03 00:10:27 -05:00
Alex King
a633784f78
[Quest API] Add GetClassPlural() and GetRacePlural() to Perl/Lua ( #3468 )
...
* [Quest API] Add GetClassPlural() and GetRacePlural() to Perl/Lua
# Perl
- Add `$mob->GetClassPlural()`.
- Add `$mob->GetRacePlural()`.
# Lua
- Add `mob:GetClassPlural()`.
- Add `mob:GetRacePlural()`.
# Notes
- Allows operators to get the plural of a player class or race, example being `Warrior` as `Warriors` or `Dark Elf` as `Dark Elves`.
* Update mob.cpp
2023-07-03 00:08:04 -05:00
Alex King
5519c3e781
[Cleanup] Remove handle_npc_single_npc from zone/lua_parser_events.cpp and zone/lua_parser_events.h ( #3467 )
...
# Notes
- This is unused.
2023-07-02 23:56:04 -05:00
Alex King
9401323708
[Bug Fix] EVENT_LANGUAGE_SKILL_UP in Lua was using EVENT_SKILL_UP logic ( #3466 )
...
# Notes
- `EVENT_LANGUAGE_SKILL_UP` only takes `3` values whereas `EVENT_SKILL_UP` takes `4`.
2023-07-02 20:41:53 -04:00
Alex King
251993c61b
[Quest API] Add ItemData Class to Perl ( #3465 )
...
* [Quest API] Add ItemData Class to Perl
- Add `$questitem->GetItem()`.
- Add `$questitem->GetUnscaledItem()`.
- Add `$questitemdata->GetAGI()`.
- Add `$questitemdata->GetAC()`.
- Add `$questitemdata->GetCHA()`.
- Add `$questitemdata->GetDEX()`.
- Add `$questitemdata->GetINT()`.
- Add `$questitemdata->GetSTA()`.
- Add `$questitemdata->GetSTR()`.
- Add `$questitemdata->GetAWis()`.
- Add `$questitemdata->GetAccuracy()`.
- Add `$questitemdata->GetArtifactFlag()`.
- Add `$questitemdata->GetAttack()`.
- Add `$questitemdata->GetAttuneable()`.
- Add `$questitemdata->GetAugmentDistiller()`.
- Add `$questitemdata->GetAugmentRestrict()`.
- Add `$questitemdata->GetAugmentSlotType(slot_id)`.
- Add `$questitemdata->GetAugmentSlotUnk2(slot_id)`.
- Add `$questitemdata->GetAugmentSlotVisible(slot_id)`.
- Add `$questitemdata->GetAugmentType()`.
- Add `$questitemdata->GetAvoidance()`.
- Add `$questitemdata->GetBackstabDamage()`.
- Add `$questitemdata->GetBagSize()`.
- Add `$questitemdata->GetBagSlots()`.
- Add `$questitemdata->GetBagType()`.
- Add `$questitemdata->GetBagWeightReduction()`.
- Add `$questitemdata->GetBaneDamageAmount()`.
- Add `$questitemdata->GetBaneDamageBody()`.
- Add `$questitemdata->GetBaneDamageRace()`.
- Add `$questitemdata->GetBaneDamageRaceAmount()`.
- Add `$questitemdata->GetBardEffect()`.
- Add `$questitemdata->GetBardLevel()`.
- Add `$questitemdata->GetBardLevel2()`.
- Add `$questitemdata->GetBardType()`.
- Add `$questitemdata->GetBardSkillType()`.
- Add `$questitemdata->GetBardSkillValue()`.
- Add `$questitemdata->GetBenefitFlag()`.
- Add `$questitemdata->GetBook()`.
- Add `$questitemdata->GetBookType()`.
- Add `$questitemdata->GetCR()`.
- Add `$questitemdata->GetCastTime()`.
- Add `$questitemdata->GetCastTime_()`.
- Add `$questitemdata->GetCharmFile()`.
- Add `$questitemdata->GetCharmFileID()`.
- Add `$questitemdata->GetClairvoyance()`.
- Add `$questitemdata->GetClasses()`.
- Add `$questitemdata->GetClickName()`.
- Add `$questitemdata->GetClickEffect()`.
- Add `$questitemdata->GetClickLevel()`.
- Add `$questitemdata->GetClickLevel2()`.
- Add `$questitemdata->GetClickType()`.
- Add `$questitemdata->GetColor()`.
- Add `$questitemdata->GetCombatEffects()`.
- Add `$questitemdata->GetCorruption()`.
- Add `$questitemdata->GetDR()`.
- Add `$questitemdata->GetDSMitigation()`.
- Add `$questitemdata->GetDamage()`.
- Add `$questitemdata->GetDamageShield()`.
- Add `$questitemdata->GetDeity()`.
- Add `$questitemdata->GetDelay()`.
- Add `$questitemdata->GetDOTShielding()`.
- Add `$questitemdata->GetElementalDamageAmount()`.
- Add `$questitemdata->GetElementalDamageType()`.
- Add `$questitemdata->GetEliteMaterial()`.
- Add `$questitemdata->GetEndurance()`.
- Add `$questitemdata->GetEnduranceRegen()`.
- Add `$questitemdata->GetExpendableArrow()`.
- Add `$questitemdata->GetExtraDamageAmount()`.
- Add `$questitemdata->GetExtraDamageSkill()`.
- Add `$questitemdata->GetFR()`.
- Add `$questitemdata->GetFVNoDrop()`.
- Add `$questitemdata->GetFactionAmount1()`.
- Add `$questitemdata->GetFactionAmount2()`.
- Add `$questitemdata->GetFactionAmount3()`.
- Add `$questitemdata->GetFactionAmount4()`.
- Add `$questitemdata->GetFactionModifier1()`.
- Add `$questitemdata->GetFactionModifier2()`.
- Add `$questitemdata->GetFactionModifier3()`.
- Add `$questitemdata->GetFactionModifier4()`.
- Add `$questitemdata->GetFavor()`.
- Add `$questitemdata->GetFilename()`.
- Add `$questitemdata->GetFocusEffect()`.
- Add `$questitemdata->GetFocusName()`.
- Add `$questitemdata->GetFocusLevel()`.
- Add `$questitemdata->GetFocusLevel2()`.
- Add `$questitemdata->GetFocusType()`.
- Add `$questitemdata->GetFulfilment()`.
- Add `$questitemdata->GetGuildFavor()`.
- Add `$questitemdata->GetHP()`.
- Add `$questitemdata->GetHaste()`.
- Add `$questitemdata->GetHealAmount()`.
- Add `$questitemdata->GetHeroicAGI()`.
- Add `$questitemdata->GetHeroicCR()`.
- Add `$questitemdata->GetHeroicCHA()`.
- Add `$questitemdata->GetHeroicCorruption()`.
- Add `$questitemdata->GetHeroicDR()`.
- Add `$questitemdata->GetHeroicDEX()`.
- Add `$questitemdata->GetHeroicFR()`.
- Add `$questitemdata->GetHeroicINT()`.
- Add `$questitemdata->GetHeroicMR()`.
- Add `$questitemdata->GetHeroicPR()`.
- Add `$questitemdata->GetHeroicSTA()`.
- Add `$questitemdata->GetHeroicSTR()`.
- Add `$questitemdata->GetHeroicWIS()`.
- Add `$questitemdata->GetID()`.
- Add `$questitemdata->GetIDFile()`.
- Add `$questitemdata->GetIcon()`.
- Add `$questitemdata->GetItemClass()`.
- Add `$questitemdata->GetItemType()`.
- Add `$questitemdata->GetLDoNPrice()`.
- Add `$questitemdata->GetLDoNSellBackRate()`.
- Add `$questitemdata->GetLDoNSold()`.
- Add `$questitemdata->GetLDoNTheme()`.
- Add `$questitemdata->GetLight()`.
- Add `$questitemdata->GetLore()`.
- Add `$questitemdata->GetLoreFlag()`.
- Add `$questitemdata->GetLoreGroup()`.
- Add `$questitemdata->GetMR()`.
- Add `$questitemdata->GetMagic()`.
- Add `$questitemdata->GetMana()`.
- Add `$questitemdata->GetManaRegen()`.
- Add `$questitemdata->GetMaterial()`.
- Add `$questitemdata->GetMaximumCharges()`.
- Add `$questitemdata->GetMinimumStatus()`.
- Add `$questitemdata->GetName()`.
- Add `$questitemdata->GetNoDrop()`.
- Add `$questitemdata->GetNoPet()`.
- Add `$questitemdata->GetNoRent()`.
- Add `$questitemdata->GetNoTransfer()`.
- Add `$questitemdata->GetPR()`.
- Add `$questitemdata->GetPendingLoreFlag()`.
- Add `$questitemdata->GetPointType()`.
- Add `$questitemdata->GetPotionBelt()`.
- Add `$questitemdata->GetPotionBeltSlots()`.
- Add `$questitemdata->GetPrice()`.
- Add `$questitemdata->GetProcEffect()`.
- Add `$questitemdata->GetProcName()`.
- Add `$questitemdata->GetProcRate()`.
- Add `$questitemdata->GetProcLevel()`.
- Add `$questitemdata->GetProcLevel2()`.
- Add `$questitemdata->GetProcType()`.
- Add `$questitemdata->GetPurity()`.
- Add `$questitemdata->GetQuestItemFlag()`.
- Add `$questitemdata->GetRaces()`.
- Add `$questitemdata->GetRange()`.
- Add `$questitemdata->GetRecLevel()`.
- Add `$questitemdata->GetRecSkill()`.
- Add `$questitemdata->GetRecastDelay()`.
- Add `$questitemdata->GetRecastType()`.
- Add `$questitemdata->GetRegen()`.
- Add `$questitemdata->GetReqLevel()`.
- Add `$questitemdata->GetScriptFileID()`.
- Add `$questitemdata->GetScrollEffect()`.
- Add `$questitemdata->GetScrollName()`.
- Add `$questitemdata->GetScrollLevel()`.
- Add `$questitemdata->GetScrollLevel2()`.
- Add `$questitemdata->GetScrollType()`.
- Add `$questitemdata->GetSellRate()`.
- Add `$questitemdata->GetShielding()`.
- Add `$questitemdata->GetSize()`.
- Add `$questitemdata->GetSkillModifierType()`.
- Add `$questitemdata->GetSkillModifierValue()`.
- Add `$questitemdata->GetSlots()`.
- Add `$questitemdata->GetSpellDamage()`.
- Add `$questitemdata->GetSpellShield()`.
- Add `$questitemdata->GetStackSize()`.
- Add `$questitemdata->GetStackable()`.
- Add `$questitemdata->GetStrikeThrough()`.
- Add `$questitemdata->GetStunResist()`.
- Add `$questitemdata->GetSummonedFlag()`.
- Add `$questitemdata->GetTradeskills()`.
- Add `$questitemdata->GetWeight()`.
- Add `$questitemdata->GetWornName()`.
- Add `$questitemdata->GetWornEffect()`.
- Add `$questitemdata->GetWornLevel()`.
- Add `$questitemdata->GetWornLevel2()`.
- Add `$questitemdata->GetWornType()`.
- Fixed data type of parameters in a handful of methods.
- Allows operators to directly interact with item data without the need for `quest::getitemstat` or DBI or anything of the sort.
* Update perl_questitem.cpp
* Update lua_iteminst.cpp
* Update lua_iteminst.h
* Update lua_iteminst.h
2023-07-02 11:26:49 -04:00
Alex King
728ce0c519
[Quest API] Add GetCloseMobList() and CalculateDistance() overload to Perl/Lua ( #3455 )
...
* [Quest API] Add GetCloseMobList() and CalculateDistance() overload to Perl/Lua
# Perl
- Add `$entity_list->GetCloseMobList(mob)`.
- Add `$entity_list->GetCloseMobList(mob, distance)`.
- Add `$mob->CalculateDistance(mob)`.
- Add `$mob->GetCloseMobList()`.
- Add `$mob->GetCloseMobList(distance)`.
# Lua
- Add `eq.get_entity_list():GetCloseMobList(mob)`.
- Add `eq.get_entity_list():GetCloseMobList(mob, distance)`.
- Add `mob:CalculateDistance(mob)`.
- Add `mob:GetCloseMobList()`.
- Add `mob:GetCloseMobList(distance)`.
* Ignore Self
* Update lua_entity_list.cpp
* Cleanup
2023-07-02 10:55:27 -04:00
Alex King
6a80bcecc7
[Quest API] Add missing Item Methods to Perl/Lua. ( #3464 )
...
# Perl
- Add `$questitem->AddEXP(exp)`.
- Add `$questitem->ClearTimers()`.
- Add `$questitem->Clone()`.
- Add `$questitem->DeleteCustomData(identifier)`.
- Add `$questitem->GetAugmentItemID(slot_id)`.
- Add `$questitem->GetAugmentType()`.
- Add `$questitem->GetColor()`.
- Add `$questitem->GetCustomData(identifier)`.
- Add `$questitem->GetCustomDataString()`.
- Add `$questitem->GetEXP()`.
- Add `$questitem->GetItem(slot_id)`.
- Add `$questitem->GetItemID(slot_id)`.
- Add `$questitem->GetItemScriptID()`.
- Add `$questitem->GetKillsNeeded()`.
- Add `$questitem->GetMaxEvolveLevel()`.
- Add `$questitem->GetPrice()`.
- Add `$questitem->GetTotalItemCount()`.
- Add `$questitem->IsAmmo()`.
- Add `$questitem->IsAugmentable()`.
- Add `$questitem->IsAugmented()`.
- Add `$questitem->IsEquipable(slot_id)`.
- Add `$questitem->IsEquipable(race_bitmask, class_bitmask)`.
- Add `$questitem->IsExpendable()`.
- Add `$questitem->IsInstanceNoDrop()`.
- Add `$questitem->IsWeapon()`.
- Add `$questitem->SetAttuned(is_attuned)`.
- Add `$questitem->SetColor(color)`.
- Add `$questitem->SetCustomData(identifier, bool_value)`.
- Add `$questitem->SetCustomData(identifier, float_value)`.
- Add `$questitem->SetCustomData(identifier, int_value)`.
- Add `$questitem->SetCustomData(identifier, string_value)`.
- Add `$questitem->SetEXP(exp)`.
- Add `$questitem->SetInstanceNoDrop(is_attuned)`.
- Add `$questitem->SetPrice(price)`.
- Add `$questitem->SetScaling(is_scaling)`.
- Add `$questitem->SetTimer(timer_name, timer)`.
- Add `$questitem->StopTimer(timer_name)`.
# Lua
- Add `iteminst:GetName()`.
- Add `iteminst:IsAttuned()`.
- Add `iteminst:ItemSay(text)`.
- Add `iteminst:ItemSay(text, language_id)`.
- Add `iteminst:SetAttuned(is_attuned)`.
# Notes
- Cleaned up return types and parameter types that were mismatched.
- Removed `SetItem` from Lua as it wasn't used.
- Removed unused parameter in `GetUnscaledItem` in Lua.
- I plan to add Perl ItemData support after this makes its way in, so the missing methods like the `GetItem` overload will be added then.
2023-07-02 10:27:05 -04:00
Alex King
6324e3687a
[Quest API] Add GetClassAbbreviation() and GetRaceAbbreviation() to Perl/Lua ( #3463 )
...
# Perl
- Add `$bot->GetClassAbbreviation()`.
- Add `$bot->GetRaceAbbreviation()`.
- Add `$client->GetClassAbbreviation()`.
- Add `$client->GetRaceAbbreviation()`.
# Lua
- Add `bot:GetClassAbbreviation()`.
- Add `bot:GetRaceAbbreviation()`.
- Add `client:GetClassAbbreviation()`.
- Add `client:GetRaceAbbreviation()`.
# Notes
- Allows operators to easily get a player race/class abbreviation, example being `Warrior` as `WAR`.
2023-07-02 10:26:51 -04:00
Alex King
d16ac99033
[Quest API] Add StatBonuses Class to Perl ( #3460 )
...
* [Quest API] Add StatBonuses Class to Perl
# Perl
- Add `$mob->GetAABonuses()`.
- Add `$mob->GetItemBonuses()`.
- Add `$mob->GetSpellBonuses()`.
- Add `$statbonuses->GetAbsorbMagicAttack(slot)`.
- Add `$statbonuses->GetAC()`.
- Add `$statbonuses->GetAccuracy(slot)`.
- Add `$statbonuses->GetAdjustedCastingSkill()`.
- Add `$statbonuses->GetAggroRange()`.
- Add `$statbonuses->GetAGI()`.
- Add `$statbonuses->GetAGICapModifier()`.
- Add `$statbonuses->GetAlterNPCLevel()`.
- Add `$statbonuses->GetAmbidexterity()`.
- Add `$statbonuses->GetAmplification()`.
- Add `$statbonuses->GetAntiGate()`.
- Add `$statbonuses->GetArcheryDamageModifier()`.
- Add `$statbonuses->GetAssassinate(slot)`.
- Add `$statbonuses->GetAssassinateLevel(slot)`.
- Add `$statbonuses->GetAssistRange()`.
- Add `$statbonuses->GetAStacker(slot)`.
- Add `$statbonuses->GetATK()`.
- Add `$statbonuses->GetAvoidMeleeChance()`.
- Add `$statbonuses->GetAvoidMeleeChanceEffect()`.
- Add `$statbonuses->GetBaseMovementSpeed()`.
- Add `$statbonuses->GetBerserkSPA()`.
- Add `$statbonuses->GetBindWound()`.
- Add `$statbonuses->GetBlockBehind()`.
- Add `$statbonuses->GetBrassModifier()`.
- Add `$statbonuses->GetBStacker(slot)`.
- Add `$statbonuses->GetBuffSlotIncrease()`.
- Add `$statbonuses->GetCHA()`.
- Add `$statbonuses->GetCHACapModifier()`.
- Add `$statbonuses->GetChannelChanceItems()`.
- Add `$statbonuses->GetChannelChanceSpells()`.
- Add `$statbonuses->GetCharmBreakChance()`.
- Add `$statbonuses->GetClairvoyance()`.
- Add `$statbonuses->GetCombatStability()`.
- Add `$statbonuses->GetConsumeProjectile()`.
- Add `$statbonuses->GetCorrup()`.
- Add `$statbonuses->GetCorrupCapModifier()`.
- Add `$statbonuses->GetCR()`.
- Add `$statbonuses->GetCRCapModifier()`.
- Add `$statbonuses->GetCripplingBlowChance()`.
- Add `$statbonuses->GetCriticalDamageModifier(slot)`.
- Add `$statbonuses->GetCriticalDoTChance()`.
- Add `$statbonuses->GetCriticalDOTDecay()`.
- Add `$statbonuses->GetCriticalHealChance()`.
- Add `$statbonuses->GetCriticalHealDecay()`.
- Add `$statbonuses->GetCriticalHealOverTime()`.
- Add `$statbonuses->GetCriticalHitChance(slot)`.
- Add `$statbonuses->GetCriticalMend()`.
- Add `$statbonuses->GetCriticalRegenDecay()`.
- Add `$statbonuses->GetCriticalSpellChance()`.
- Add `$statbonuses->GetCStacker(slot)`.
- Add `$statbonuses->GetDamageModifier(slot)`.
- Add `$statbonuses->GetDamageModifier2(slot)`.
- Add `$statbonuses->GetDamageShield()`.
- Add `$statbonuses->GetDamageShieldSpellID()`.
- Add `$statbonuses->GetDamageShieldType()`.
- Add `$statbonuses->GetDeathSave(slot)`.
- Add `$statbonuses->GetDelayDeath()`.
- Add `$statbonuses->GetDEX()`.
- Add `$statbonuses->GetDEXCapModifier()`.
- Add `$statbonuses->GetDistanceRemoval()`.
- Add `$statbonuses->GetDivineAura()`.
- Add `$statbonuses->GetDivineSaveChance(slot)`.
- Add `$statbonuses->GetDodgeChance()`.
- Add `$statbonuses->GetDOTCriticalDamageIncrease()`.
- Add `$statbonuses->GetDoTShielding()`.
- Add `$statbonuses->GetDoubleAttackChance()`.
- Add `$statbonuses->GetDoubleRangedAttack()`.
- Add `$statbonuses->GetDoubleRiposte()`.
- Add `$statbonuses->GetDoubleSpecialAttack()`.
- Add `$statbonuses->GetDR()`.
- Add `$statbonuses->GetDRCapModifier()`.
- Add `$statbonuses->GetDSMitigation()`.
- Add `$statbonuses->GetDSMitigationOffHand()`.
- Add `$statbonuses->GetDStacker(slot)`.
- Add `$statbonuses->GetDualWieldChance()`.
- Add `$statbonuses->GetEffectiveCastingLevel()`.
- Add `$statbonuses->GetEndurancePercentCap(slot)`.
- Add `$statbonuses->GetEndurance()`.
- Add `$statbonuses->GetEnduranceReduction()`.
- Add `$statbonuses->GetEnduranceRegen()`.
- Add `$statbonuses->GetExtraXTargets()`.
- Add `$statbonuses->GetExtraAttackChance()`.
- Add `$statbonuses->GetFactionModifierPercent()`.
- Add `$statbonuses->GetFearless()`.
- Add `$statbonuses->GetFeignedCastOnChance()`.
- Add `$statbonuses->GetFinishingBlow(slot)`.
- Add `$statbonuses->GetFinishingBlowLevel(slot)`.
- Add `$statbonuses->GetFlurryChance()`.
- Add `$statbonuses->GetFocusEffects(slot)`.
- Add `$statbonuses->GetFocusEffectsWorn(slot)`.
- Add `$statbonuses->GetForageAdditionalItems()`.
- Add `$statbonuses->GetFR()`.
- Add `$statbonuses->GetFRCapModifier()`.
- Add `$statbonuses->GetFrenziedDevastation()`.
- Add `$statbonuses->GetFrontalBackstabChance()`.
- Add `$statbonuses->GetFrontalBackstabMinimumDamage()`.
- Add `$statbonuses->GetFrontalStunResist()`.
- Add `$statbonuses->GetGiveDoubleAttack()`.
- Add `$statbonuses->GetGiveDoubleRiposte(slot)`.
- Add `$statbonuses->GetGivePetGroupTarget()`.
- Add `$statbonuses->GetGravityEffect()`.
- Add `$statbonuses->GetHaste()`.
- Add `$statbonuses->GetHasteType2()`.
- Add `$statbonuses->GetHasteType3()`.
- Add `$statbonuses->GetHateModifier()`.
- Add `$statbonuses->GetHeadShot(slot)`.
- Add `$statbonuses->GetHeadShotLevel(slot)`.
- Add `$statbonuses->GetHealAmt()`.
- Add `$statbonuses->GetHealRate()`.
- Add `$statbonuses->GetHeroicAGI()`.
- Add `$statbonuses->GetHeroicCHA()`.
- Add `$statbonuses->GetHeroicCorrup()`.
- Add `$statbonuses->GetHeroicCR()`.
- Add `$statbonuses->GetHeroicDEX()`.
- Add `$statbonuses->GetHeroicDR()`.
- Add `$statbonuses->GetHeroicFR()`.
- Add `$statbonuses->GetHeroicINT()`.
- Add `$statbonuses->GetHeroicMR()`.
- Add `$statbonuses->GetHeroicPR()`.
- Add `$statbonuses->GetHeroicSTA()`.
- Add `$statbonuses->GetHeroicSTR()`.
- Add `$statbonuses->GetHeroicWIS()`.
- Add `$statbonuses->GetHitChance()`.
- Add `$statbonuses->GetHitChanceEffect(slot)`.
- Add `$statbonuses->GetHP()`.
- Add `$statbonuses->GetHPPercentCap(slot)`.
- Add `$statbonuses->GetHPRegen()`.
- Add `$statbonuses->GetHPToManaConvert()`.
- Add `$statbonuses->GetHundredHands()`.
- Add `$statbonuses->GetIllusionPersistence()`.
- Add `$statbonuses->GetImmuneToFlee()`.
- Add `$statbonuses->GetImprovedReclaimEnergy()`.
- Add `$statbonuses->GetImprovedTauntslot()`.
- Add `$statbonuses->GetIncreaseBlockChance()`.
- Add `$statbonuses->GetIncreaseChanceMemoryWipe()`.
- Add `$statbonuses->GetIncreaseRunSpeedCap()`.
- Add `$statbonuses->GetInhibitMelee()`.
- Add `$statbonuses->GetINT()`.
- Add `$statbonuses->GetINTCapModifier()`.
- Add `$statbonuses->GetIsBlind()`.
- Add `$statbonuses->GetIsFeared()`.
- Add `$statbonuses->GetItemATKCap()`.
- Add `$statbonuses->GetItemHPRegenCap()`.
- Add `$statbonuses->GetItemManaRegenCap()`.
- Add `$statbonuses->GetLimitToSkill(slot)`.
- Add `$statbonuses->GetMagicWeapon()`.
- Add `$statbonuses->GetMana()`.
- Add `$statbonuses->GetManaAbsorbPercentDamage(slot)`.
- Add `$statbonuses->GetManaPercentCap(slot)`.
- Add `$statbonuses->GetManaRegen()`.
- Add `$statbonuses->GetMasteryOfPast()`.
- Add `$statbonuses->GetMaxBindWound()`.
- Add `$statbonuses->GetMaxHP()`.
- Add `$statbonuses->GetMaxHPChange()`.
- Add `$statbonuses->GetMeleeLifetap()`.
- Add `$statbonuses->GetMeleeMitigation()`.
- Add `$statbonuses->GetMeleeMitigationEffect()`.
- Add `$statbonuses->GetMeleeRune(slot)`.
- Add `$statbonuses->GetMeleeSkillCheck()`.
- Add `$statbonuses->GetMeleeSkillCheckSkill()`.
- Add `$statbonuses->GetMeleeThresholdGuard(slot)`.
- Add `$statbonuses->GetMetabolism()`.
- Add `$statbonuses->GetMinimumDamageModifier(slot)`.
- Add `$statbonuses->GetMitigateDOTRune(slot)`.
- Add `$statbonuses->GetMitigateMeleeRune(slot)`.
- Add `$statbonuses->GetMitigateSpellRune(slot)`.
- Add `$statbonuses->GetMovementSpeed()`.
- Add `$statbonuses->GetMR()`.
- Add `$statbonuses->GetMRCapModifier()`.
- Add `$statbonuses->GetNegateAttacks(slot)`.
- Add `$statbonuses->GetNegateEffects()`.
- Add `$statbonuses->GetNegateIfCombat()`.
- Add `$statbonuses->GetNoBreakAESneak()`.
- Add `$statbonuses->GetOffhandRiposteFail()`.
- Add `$statbonuses->GetPackrat()`.
- Add `$statbonuses->GetParryChance()`.
- Add `$statbonuses->GetPCPetFlurry(slot)`.
- Add `$statbonuses->GetPCPetRampage(slot)`.
- Add `$statbonuses->GetPercussionModifier()`.
- Add `$statbonuses->GetPersistentCasting()`.
- Add `$statbonuses->GetPetAvoidance()`.
- Add `$statbonuses->GetPetCriticalHit()`.
- Add `$statbonuses->GetPetFlurry()`.
- Add `$statbonuses->GetPetMaxHP()`.
- Add `$statbonuses->GetPetMeleeMitigation()`.
- Add `$statbonuses->GetPR()`.
- Add `$statbonuses->GetPRCapModifier()`.
- Add `$statbonuses->GetProcChance()`.
- Add `$statbonuses->GetProcChanceSPA()`.
- Add `$statbonuses->GetRaiseSkillCap(slot)`.
- Add `$statbonuses->GetReduceFallDamage()`.
- Add `$statbonuses->GetReduceTradeskillFail(slot)`.
- Add `$statbonuses->GetReflectChance()`.
- Add `$statbonuses->GetResistFearChance()`.
- Add `$statbonuses->GetResistSpellChance()`.
- Add `$statbonuses->GetReverseDamageShield()`.
- Add `$statbonuses->GetReverseDamageShieldSpellID()`.
- Add `$statbonuses->GetReverseDamageShieldType()`.
- Add `$statbonuses->GetRiposteChance()`.
- Add `$statbonuses->GetRoot(slot)`.
- Add `$statbonuses->GetRootBreakChance()`.
- Add `$statbonuses->GetSalvageChance()`.
- Add `$statbonuses->GetSanctuary()`.
- Add `$statbonuses->GetScreech()`.
- Add `$statbonuses->GetSecondaryDamageIncrease()`.
- Add `$statbonuses->GetSeeInvis()`.
- Add `$statbonuses->GetSEResist(slot)`.
- Add `$statbonuses->GetShieldBlock()`.
- Add `$statbonuses->GetShieldEquipDamageModifier()`.
- Add `$statbonuses->GetShroudOfStealth()`.
- Add `$statbonuses->GetSingingModifier()`.
- Add `$statbonuses->GetSkillAttackProc(slot)`.
- Add `$statbonuses->GetSkillDamageAmount(slot)`.
- Add `$statbonuses->GetSkillDamageAmount2(slot)`.
- Add `$statbonuses->GetSkillDamageTaken(slot)`.
- Add `$statbonuses->GetSkillModifier(slot)`.
- Add `$statbonuses->GetSkillModifierMax(slot)`.
- Add `$statbonuses->GetSkillProc(slot)`.
- Add `$statbonuses->GetSkillProcSuccess(slot)`.
- Add `$statbonuses->GetSkillReuseTime(slot)`.
- Add `$statbonuses->GetSlayUndead(slot)`.
- Add `$statbonuses->GetSongModifierCap()`.
- Add `$statbonuses->GetSongRange()`.
- Add `$statbonuses->GetSpellCriticalDamageIncreaseNOStack()`.
- Add `$statbonuses->GetSpellCriticalDamageIncrease()`.
- Add `$statbonuses->GetSpellDamageShield()`.
- Add `$statbonuses->GetSpellDamage()`.
- Add `$statbonuses->GetSpellOnDeath(slot)`.
- Add `$statbonuses->GetSpellOnKill(slot)`.
- Add `$statbonuses->GetSpellProcChance()`.
- Add `$statbonuses->GetSpellShield()`.
- Add `$statbonuses->GetSpellThresholdGuard(slot)`.
- Add `$statbonuses->GetSpellTriggers(slot)`.
- Add `$statbonuses->GetSTA()`.
- Add `$statbonuses->GetSTACapModifier()`.
- Add `$statbonuses->GetSTR()`.
- Add `$statbonuses->GetSTRCapModifier()`.
- Add `$statbonuses->GetStrikeThrough()`.
- Add `$statbonuses->GetStringedModifier()`.
- Add `$statbonuses->GetStunBashChance()`.
- Add `$statbonuses->GetStunResist()`.
- Add `$statbonuses->GetTradeSkillMastery()`.
- Add `$statbonuses->GetTriggerMeleeThreshold()`.
- Add `$statbonuses->GetTriggerOnValueAmount()`.
- Add `$statbonuses->GetTriggerSpellThreshold()`.
- Add `$statbonuses->GetTripleAttackChance()`.
- Add `$statbonuses->GetTripleBackstab()`.
- Add `$statbonuses->GetTwoHandBluntBlock()`.
- Add `$statbonuses->GetUnfailingDivinity()`.
- Add `$statbonuses->GetVampirism()`.
- Add `$statbonuses->GetVoiceGraft()`.
- Add `$statbonuses->GetWindModifier()`.
- Add `$statbonuses->GetWIS()`.
- Add `$statbonuses->GetWISCapModifier()`.
- Add `$statbonuses->GetXPRateModifier()`.
# Notes
- Adds methods to get mob's stat bonuses to Mob methods.
- Adds support for stat bonuses class to Perl similar to Lua.
* Update perl_stat_bonuses.cpp
* Update perl_stat_bonuses.cpp
2023-07-02 10:26:46 -04:00
Alex King
e12368f002
[Quest API] Add Hate Entry Methods to Perl ( #3459 )
...
# Perl
- Add `$hate_entry->GetFrenzy()`.
- Add `$hate_entry->SetDamage(value)`.
- Add `$hate_entry->SetEnt(mob)`.
- Add `$hate_entry->SetFrenzy(is_frenzy)`.
- Add `$hate_entry->SetHate(value)`.
# Lua
- Convert `hate_entry:GetFrenzy()` to `bool` instead of `int`, as `is_entity_frenzy` is a `bool`.
2023-07-02 10:26:37 -04:00
Alex King
a13fa07e68
[Quest API] Add Spawn2 Class to Perl ( #3456 )
...
# Perl
- Add `$spawn->Depop()`.
- Add `$spawn->Disable()`.
- Add `$spawn->Enable()`.
- Add `$spawn->ForceDespawn()`.
- Add `$spawn->GetCurrentNPCID()`.
- Add `$spawn->GetHeading()`.
- Add `$spawn->GetID()`.
- Add `$spawn->GetKillCount()`.
- Add `$spawn->GetRespawnTimer()`.
- Add `$spawn->GetSpawnCondition()`.
- Add `$spawn->GetSpawnGroupID()`.
- Add `$spawn->GetVariance()`.
- Add `$spawn->GetX()`.
- Add `$spawn->GetY()`.
- Add `$spawn->GetZ()`.
- Add `$spawn->IsEnabled()`.
- Add `$spawn->IsNPCPointerValid()`.
- Add `$spawn->LoadGrid()`.
- Add `$spawn->Repop()`.
- Add `$spawn->Repop(delay)`.
- Add `$spawn->Reset()`.
- Add `$spawn->SetCurrentNPCID(npc_id)`.
- Add `$spawn->SetNPCPointer(npc_pointer)`.
- Add `$spawn->SetRespawnTimer(new_respawn_time)`.
- Add `$spawn->SetTimer(duration)`.
- Add `$spawn->SetVariance(variance)`.
# Notes
- Adds support for Spawn2 class to Perl.
2023-07-02 10:26:32 -04:00
Chris Miles
7873ad3771
[Database] Set multi statements off when returning early ( #3462 )
2023-07-01 19:49:09 -04:00
Chris Miles
dfadc237e5
[Logging] Fix logging crash when % are sent through query logs ( #3461 )
2023-07-01 19:49:01 -04:00
Alex King
a1f2764978
[Cleanup/Feature] Add support for bots to #showstats/#mystats ( #3427 )
...
* Initial Push
* Update classes.cpp
* Update mob.cpp
* Update mob.cpp
* Update showstats.cpp
* Update mystats.cpp
* Remove unused variables.
* Update mob.cpp
* Update class.cpp
* Update race.cpp
* Update mob.h
2023-07-01 19:47:54 -04:00
Jonathan Sider
927d379e75
[Bug Fix] Add check for underscores in botcreate command ( #3458 )
...
* Update bot_command.cpp with botcreate check
Check for underscores in bot names as the server will replace with a space and add to the database. The bot can't be deleted/summoned or changed except by editing the database
* Update bot_command.cpp
* Update bot_command.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-06-28 20:18:44 -04:00
Chris Miles
a1f154749c
[Release] 22.16.0 ( #3457 )
2023-06-28 17:51:05 -04:00
Alex King
42a2e19e73
[Commands] Consolidate #findX commands to a singular #find Command ( #3452 )
...
* Push up example for Kingly
* Update aa.cpp
* Update find.cpp
* Bulk push.
* Update aa.cpp
* Cleanup
* Repository method.
* Static aliasing
* Aliases
* Fix alias error.
* Update zone.cpp
* Update command.cpp
* Update find.cpp
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-06-27 21:53:20 -05:00
mibastian
c56b2e3e03
[Fix] Fix error in 023_01_21_bots_raid_members.sql ( #3453 )
...
world process did not start. An strace showed something wrong in 023_01_21_bots_raid_members.sql. Seemed like a snap&paste error.
2023-06-27 21:52:27 -05:00
Alex King
b05f1d3218
[Bug Fix] Merchant Open Flag set only for regular Merchants ( #3454 )
...
* [Bug Fix] Merchant Open Flag set only for regular Merchants
* Update npc.cpp
2023-06-27 16:23:48 -04:00
Alex King
a004924112
[Bug Fix] Fix NPC Item Stat Bonuses ( #3444 )
...
* [Bug Fix] Fix NPC Item Stat Bonuses
# Notes
- Due to https://github.com/EQEmu/Server/pull/3136 NPCs/Mercs were not receiving stat bonuses from their items, this fixes that.
* Update npc.h
* Changes.
* Cleanup
* Cleanup
* Update loottables.cpp
* Update npc.cpp
* Update loottables.cpp
2023-06-26 00:22:10 -04:00
Alex King
8d986c95cd
[Commands] Add #finddeity Command ( #3435 )
...
# Notes
- Add `#finddeity` command.
- Remove `ConvertDeityTypeBitToDeityType` as it's unused.
- Rename `ConvertDeityTypeToDeityTypeBit` to `GetDeityBitmask`.
2023-06-25 23:00:32 -05:00
Alex King
ef7a3cae17
[Commands] Cleanup #showbuffs Command ( #3439 )
...
* [Commands] Cleanup #showbuffs Command
# Notes
- Cleaned up messages and logic.
- Removed unnecessary itembonuses/spellbonuses stuff.
- Removed `Mob::ShowBuffList` as it's just a copy of this method.
* Update mob.cpp
* Further cleanup.
* Update mob.cpp
* Update mob.cpp
2023-06-25 22:59:47 -05:00
Alex King
050aba65b6
[Commands] Cleanup #viewcurrencies Command ( #3441 )
...
# Notes
- Utilize Dialogue Window table for cleanliness and readability.
2023-06-24 20:26:41 -04:00
Alex King
9154c90418
[Commands] Add #findlanguage Command ( #3434 )
...
# Notes
- Add `#findlanguage` command.
2023-06-24 20:26:29 -04:00
Alex King
d558f9ece2
[Rules] Add ClientPetsUserOwnerNameInLastName rule ( #3442 )
...
* [Rules] Add ClientPetsUserOwnerNameInLastName rule
# Notes
- This rule defaults to `true` and maintains `Kinglykrab's Pet` as my pet's name, disabling allows you to manually modify the last name or have pets with no last name.
* Update npc.cpp
2023-06-24 20:01:40 -04:00
Alex King
327dacdbe1
[Cleanup] Remove GetACAvoid() from zone/merc.h ( #3447 )
...
- This is unused.
2023-06-24 20:00:56 -04:00
Alex King
f2ff4245c0
[Commands] Consolidate #merchant_close_shop and #merchant_open_shop to #merchantshop ( #3433 )
...
* [Commands] Consolidate #merchant_close_shop and #merchant_open_shop to #merchantshop
# Notes
- `#merchant_close_shop` and `#merchant_open_shop` are now consolidated into `#merchantshop`.
- Command now works on any type of merchant instead of just regular merchants.
- Can be used on Merchants, Discord Merchants, Adventure Merchants, Norrath's Keepers Merchants, Dark Reign Merchants, and Alternate Currency Merchants.
* Update merchantshop.cpp
* Update merchantshop.cpp
* Update merchantshop.cpp
2023-06-24 13:14:19 -05:00
Alex King
3ceb743195
[Commands] Add #showspells Command ( #3429 )
...
* [Commands] Add #showspells Command
# Notes
- Add `#showspells` command to show your or your target's memorized spells or learned disciplines.
* Update client.cpp
2023-06-24 13:13:02 -05:00
Alex King
021f04c17d
[Cleanup] Remove command_unlock from zone/command.h ( #3431 )
...
# Notes
- This is unused.
2023-06-24 13:10:19 -05:00
Alex King
f7e2dbdce6
[Cleanup] Remove command_packetprofile from zone/command.h ( #3432 )
...
* [Cleanup] Remove command_packetprofile from zone/command.h
# Notes
- This is unused.
* Update command.h
2023-06-24 13:10:05 -05:00
Alex King
2a679f1002
[Cleanup] Remove command_showpetspell in zone/command.h ( #3430 )
...
# Notes
- This is unused.
2023-06-24 13:09:51 -05:00
Alex King
8c9849ec73
[Commands] Delete #showbonusstats Command ( #3437 )
...
# Notes
- Never seen this used, also missing 99% of the bonuses data.
2023-06-24 13:09:39 -05:00
Alex King
10086ce97c
[Commands] Delete #spellinfo Command ( #3438 )
...
# Notes
- Never seen this used, also missing 99% of the spell data.
2023-06-24 13:09:23 -05:00
Alex King
223ae22f73
[Cleanup] Delete common/worldconn.cpp ( #3436 )
...
# Notes
- This is unused.
2023-06-24 13:05:45 -05:00
Alex King
4330494f57
[Commands] Cleanup #shownpcgloballoot and #showzonegloballoot Commands ( #3440 )
...
# Notes
- Cleanup messages and logic.
- Utilize Dialogue Window tables.
2023-06-24 13:03:37 -05:00
Alex King
64ae7e4529
[Cleanup] Remove _ClearWaypints() from zone/npc.h ( #3445 )
...
# Notes
- This is unused.
2023-06-24 12:58:28 -05:00
Alex King
58c3e267e1
[Cleanup] Remove GetACMit() from zone/merc.h ( #3446 )
...
# Notes
- This is unused.
2023-06-24 12:58:13 -05:00
Alex King
598483a1a4
[Cleanup] Remove acmod() from zone/merc.h ( #3448 )
...
# Notes
- This is unused.
2023-06-24 12:57:43 -05:00
Alex King
c1122022b9
[Cleanup] Remove DatabaseCastAccepted() from zone/npc.cpp and zone/npc.h ( #3449 )
...
* [Cleanup] Remove DatabaseCastAccepted() from zone/npc.cpp and zone/npc.h
# Notes
- This is unused.
* Update npc.h
2023-06-24 12:57:21 -05:00
Chris Miles
f2c4babd8d
[Database] Fix database version checking edge case issue ( #3428 )
2023-06-22 18:00:23 -05:00
Akkadius
5249b065d3
[Release] 22.15.3
2023-06-19 19:15:42 -05:00
Alex King
9312261444
[Bug Fix] Fix improper condition in Water LOS checks ( #3426 )
...
# Notes
- Oversight on my part, should've been `==`, not `&&`.
2023-06-19 18:53:19 -04:00
Akkadius
85054fedf8
[Release] 22.15.2 (Hotfix)
2023-06-19 12:00:41 -05:00
Chris Miles
6d7beb1796
[Database] Fix multi-statement error reporting ( #3425 )
2023-06-19 11:55:32 -05:00
JJ
66e377fd4a
[Readme] Update new location of database updates ( #3424 )
2023-06-19 12:12:59 -04:00
Akkadius
67c4c26f70
[Release] 22.15.1
2023-06-19 02:21:09 -05:00
Akkadius
b1c8e3890a
[Release] 22.15.0
2023-06-19 01:41:55 -05:00
Alex King
d6e06a19a7
[Commands] Add missing subcommands to #npcedit ( #3423 )
...
# Notes
- Add `#npcedit model [Race ID]` to edit an NPC's race model.
- Add `#npcedit heroic_strikethrough [Heroic Strikethrough]` to edit an NPC's heroic strikethrough.
- Add `#npcedit faction_amount [Faction Amount]` to edit an NPC's faction amount.
2023-06-19 01:40:27 -05:00
Akkadius
4092b3a2cb
[Release] 22.15.0
2023-06-19 01:38:12 -05:00
Alex King
f4f0619618
[Bug Fix] Fix possible crash with #npcedit weapon ( #3421 )
...
# Notes
- Using `#npcedit weapon` without the secondary model had a chance to crash the zone you were in, i.e `#npcedit weapon 1`.
# Crash Logs
```txt
[06-18-2023 16:26:55] [Zone] [Crash] [New LWP 802548]
[06-18-2023 16:26:55] [Zone] [Crash] [New LWP 802549]
[06-18-2023 16:26:55] [Zone] [Crash] [New LWP 802550]
[06-18-2023 16:26:55] [Zone] [Crash] [New LWP 802551]
[06-18-2023 16:26:55] [Zone] [Crash] [Thread debugging using libthread_db enabled]
[06-18-2023 16:26:55] [Zone] [Crash] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[06-18-2023 16:26:55] [Zone] [Crash] 0x00007f22b2b14207 in __GI___wait4 (pid=819104, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
[06-18-2023 16:26:55] [Zone] [Crash] [Current thread is 1 (Thread 0x7f22b29eab00 (LWP 802540))]
[06-18-2023 16:26:55] [Zone] [Crash] #0 0x00007f22b2b14207 in __GI___wait4 (pid=819104, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
[06-18-2023 16:26:55] [Zone] [Crash] #1 0x000055e4451b6b6e in print_trace () at /home/eqemu/code/common/crash.cpp:281
[06-18-2023 16:26:55] [Zone] [Crash] #2 <signal handler called>
[06-18-2023 16:26:55] [Zone] [Crash] #3 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
[06-18-2023 16:26:55] [Zone] [Crash] #4 0x00007f22b2a6e537 in __GI_abort () at abort.c:79
[06-18-2023 16:26:55] [Zone] [Crash] #5 0x00007f22b2e067ec in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:26:55] [Zone] [Crash] #6 0x00007f22b2e11966 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:26:55] [Zone] [Crash] #7 0x00007f22b2e119d1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:26:55] [Zone] [Crash] #8 0x00007f22b2e11c65 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:26:55] [Zone] [Crash] #9 0x00007f22b2e08faa in std::__throw_logic_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:26:55] [Zone] [Crash] #10 0x000055e444216b48 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=0x7fff9bd06620, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.tcc:212
[06-18-2023 16:26:55] [Zone] [Crash] #11 0x000055e44420dd09 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> (this=0x7fff9bd06620, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.h:247
[06-18-2023 16:26:55] [Zone] [Crash] #12 0x000055e444203977 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=0x7fff9bd06620, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.h:266
[06-18-2023 16:26:55] [Zone] [Crash] #13 0x000055e4441f93ef in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> > (this=0x7fff9bd06620, __s=0x0, __a=...) at /usr/include/c++/10/bits/basic_string.h:527
[06-18-2023 16:26:55] [Zone] [Crash] #14 0x000055e4445469df in command_npcedit (c=0x55e448292480, sep=0x7fff9bd09a20) at /home/eqemu/code/zone/gm_commands/npcedit.cpp:540
[06-18-2023 16:26:55] [Zone] [Crash] #15 0x000055e4444e2039 in command_realdispatch (c=0x55e448292480, message="#npcedit weapon 1", ignore_status=false) at /home/eqemu/code/zone/command.cpp:602
[06-18-2023 16:26:55] [Zone] [Crash] #16 0x000055e4443b03d3 in Client::ChannelMessageReceived (this=0x55e448292480, chan_num=8 '\b', language=0 '\000', lang_skill=100 'd', orig_message=0x55e44a69e314 "#npcedit weapon 1", targetname=0x55e44a69e280 "a_willowisp000", is_silent=false) at /home/eqemu/code/zone/client.cpp:1122
[06-18-2023 16:26:55] [Zone] [Crash] #17 0x000055e444454597 in Client::Handle_OP_ChannelMessage (this=0x55e448292480, app=0x55e449156a70) at /home/eqemu/code/zone/client_packet.cpp:4478
[06-18-2023 16:26:55] [Zone] [Crash] #18 0x000055e44443c5d2 in Client::HandlePacket (this=0x55e448292480, app=0x55e449156a70) at /home/eqemu/code/zone/client_packet.cpp:495
[06-18-2023 16:26:55] [Zone] [Crash] #19 0x000055e4444b7add in Client::Process (this=0x55e448292480) at /home/eqemu/code/zone/client_process.cpp:587
[06-18-2023 16:26:55] [Zone] [Crash] #20 0x000055e44472df12 in EntityList::MobProcess (this=0x55e445df07c0 <entity_list>) at /home/eqemu/code/zone/entity.cpp:510
[06-18-2023 16:26:55] [Zone] [Crash] #21 0x000055e444c149b0 in operator() (__closure=0x55e448dc9170, t=0x7fff9bd0c4a0) at /home/eqemu/code/zone/main.cpp:562
[06-18-2023 16:26:55] [Zone] [Crash] #22 0x000055e444c19fd2 in std::__invoke_impl<void, main(int, char**)::<lambda(EQ::Timer*)>&, EQ::Timer*>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
[06-18-2023 16:26:55] [Zone] [Crash] #23 0x000055e444c19da1 in std::__invoke_r<void, main(int, char**)::<lambda(EQ::Timer*)>&, EQ::Timer*>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
[06-18-2023 16:26:55] [Zone] [Crash] #24 0x000055e444c19ac8 in std::_Function_handler<void(EQ::Timer*), main(int, char**)::<lambda(EQ::Timer*)> >::_M_invoke(const std::_Any_data &, EQ::Timer *&&) (__functor=..., __args#0=@0x7fff9bd0bea0: 0x7fff9bd0c4a0) at /usr/include/c++/10/bits/std_function.h:291
[06-18-2023 16:26:55] [Zone] [Crash] #25 0x000055e444c1f4c5 in std::function<void (EQ::Timer*)>::operator()(EQ::Timer*) const (this=0x7fff9bd0c4a8, __args#0=0x7fff9bd0c4a0) at /usr/include/c++/10/bits/std_function.h:622
[06-18-2023 16:26:55] [Zone] [Crash] #26 0x000055e444c1d265 in EQ::Timer::Execute (this=0x7fff9bd0c4a0) at /home/eqemu/code/zone/../common/net/../event/timer.h:61
[06-18-2023 16:26:55] [Zone] [Crash] #27 0x000055e444c1d023 in EQ::Timer::Start(unsigned long, bool)::{lambda(uv_timer_s*)#1}::operator()(uv_timer_s*) const (__closure=0x0, handle=0x55e44832b570) at /home/eqemu/code/zone/../common/net/../event/timer.h:38
[06-18-2023 16:26:55] [Zone] [Crash] #28 0x000055e444c1d043 in EQ::Timer::Start(unsigned long, bool)::{lambda(uv_timer_s*)#1}::_FUN(uv_timer_s*) () at /home/eqemu/code/zone/../common/net/../event/timer.h:39
[06-18-2023 16:26:55] [Zone] [Crash] #29 0x000055e4454afb5d in uv__run_timers (loop=loop@entry=0x7f22b29ea7a8) at /home/eqemu/code/submodules/libuv/src/timer.c:178
[06-18-2023 16:26:55] [Zone] [Crash] #30 0x000055e4454b3182 in uv_run (loop=0x7f22b29ea7a8, mode=UV_RUN_DEFAULT) at /home/eqemu/code/submodules/libuv/src/unix/core.c:393
[06-18-2023 16:26:55] [Zone] [Crash] #31 0x000055e444c1ceeb in EQ::EventLoop::Run (this=0x7f22b29ea7a8) at /home/eqemu/code/zone/../common/net/../event/event_loop.h:25
[06-18-2023 16:26:55] [Zone] [Crash] #32 0x000055e444c18b6e in main (argc=1, argv=0x7fff9bd0d568) at /home/eqemu/code/zone/main.cpp:591
[06-18-2023 16:26:55] [Zone] [Crash] [Inferior 1 (process 802540) detached]
```
```txt
[06-18-2023 16:29:51] [Zone] [Crash] [New LWP 819434]
[06-18-2023 16:29:51] [Zone] [Crash] [New LWP 819436]
[06-18-2023 16:29:51] [Zone] [Crash] [New LWP 819438]
[06-18-2023 16:29:51] [Zone] [Crash] [New LWP 819440]
[06-18-2023 16:29:51] [Zone] [Crash] [Thread debugging using libthread_db enabled]
[06-18-2023 16:29:51] [Zone] [Crash] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[06-18-2023 16:29:51] [Zone] [Crash] 0x00007f489d185207 in __GI___wait4 (pid=819646, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
[06-18-2023 16:29:51] [Zone] [Crash] [Current thread is 1 (Thread 0x7f489d05bb00 (LWP 819417))]
[06-18-2023 16:29:51] [Zone] [Crash] #0 0x00007f489d185207 in __GI___wait4 (pid=819646, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
[06-18-2023 16:29:51] [Zone] [Crash] #1 0x000055d58e442b6e in print_trace () at /home/eqemu/code/common/crash.cpp:281
[06-18-2023 16:29:51] [Zone] [Crash] #2 <signal handler called>
[06-18-2023 16:29:51] [Zone] [Crash] #3 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
[06-18-2023 16:29:51] [Zone] [Crash] #4 0x00007f489d0df537 in __GI_abort () at abort.c:79
[06-18-2023 16:29:51] [Zone] [Crash] #5 0x00007f489d4777ec in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:29:51] [Zone] [Crash] #6 0x00007f489d482966 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:29:51] [Zone] [Crash] #7 0x00007f489d4829d1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:29:51] [Zone] [Crash] #8 0x00007f489d482c65 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:29:51] [Zone] [Crash] #9 0x00007f489d479faa in std::__throw_logic_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:29:51] [Zone] [Crash] #10 0x000055d58d4a2b48 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=0x7ffdbbca2500, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.tcc:212
[06-18-2023 16:29:51] [Zone] [Crash] #11 0x000055d58d499d09 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> (this=0x7ffdbbca2500, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.h:247
[06-18-2023 16:29:51] [Zone] [Crash] #12 0x000055d58d48f977 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=0x7ffdbbca2500, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.h:266
[06-18-2023 16:29:51] [Zone] [Crash] #13 0x000055d58d4853ef in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> > (this=0x7ffdbbca2500, __s=0x0, __a=...) at /usr/include/c++/10/bits/basic_string.h:527
[06-18-2023 16:29:51] [Zone] [Crash] #14 0x000055d58d7d29df in command_npcedit (c=0x55d59219f080, sep=0x7ffdbbca5900) at /home/eqemu/code/zone/gm_commands/npcedit.cpp:540
[06-18-2023 16:29:51] [Zone] [Crash] #15 0x000055d58d76e039 in command_realdispatch (c=0x55d59219f080, message="#npcedit weapon 1", ignore_status=false) at /home/eqemu/code/zone/command.cpp:602
[06-18-2023 16:29:51] [Zone] [Crash] #16 0x000055d58d63c3d3 in Client::ChannelMessageReceived (this=0x55d59219f080, chan_num=8 '\b', language=0 '\000', lang_skill=100 'd', orig_message=0x55d591b59b44 "#npcedit weapon 1", targetname=0x55d591b59ab0 "a_whiskered_bat002", is_silent=false) at /home/eqemu/code/zone/client.cpp:1122
[06-18-2023 16:29:51] [Zone] [Crash] #17 0x000055d58d6e0597 in Client::Handle_OP_ChannelMessage (this=0x55d59219f080, app=0x55d592711c60) at /home/eqemu/code/zone/client_packet.cpp:4478
[06-18-2023 16:29:51] [Zone] [Crash] #18 0x000055d58d6c85d2 in Client::HandlePacket (this=0x55d59219f080, app=0x55d592711c60) at /home/eqemu/code/zone/client_packet.cpp:495
[06-18-2023 16:29:51] [Zone] [Crash] #19 0x000055d58d743add in Client::Process (this=0x55d59219f080) at /home/eqemu/code/zone/client_process.cpp:587
[06-18-2023 16:29:51] [Zone] [Crash] #20 0x000055d58d9b9f12 in EntityList::MobProcess (this=0x55d58f07c7c0 <entity_list>) at /home/eqemu/code/zone/entity.cpp:510
[06-18-2023 16:29:51] [Zone] [Crash] #21 0x000055d58dea09b0 in operator() (__closure=0x55d591a07f10, t=0x7ffdbbca8380) at /home/eqemu/code/zone/main.cpp:562
[06-18-2023 16:29:51] [Zone] [Crash] #22 0x000055d58dea5fd2 in std::__invoke_impl<void, main(int, char**)::<lambda(EQ::Timer*)>&, EQ::Timer*>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
[06-18-2023 16:29:51] [Zone] [Crash] #23 0x000055d58dea5da1 in std::__invoke_r<void, main(int, char**)::<lambda(EQ::Timer*)>&, EQ::Timer*>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
[06-18-2023 16:29:51] [Zone] [Crash] #24 0x000055d58dea5ac8 in std::_Function_handler<void(EQ::Timer*), main(int, char**)::<lambda(EQ::Timer*)> >::_M_invoke(const std::_Any_data &, EQ::Timer *&&) (__functor=..., __args#0=@0x7ffdbbca7d80: 0x7ffdbbca8380) at /usr/include/c++/10/bits/std_function.h:291
[06-18-2023 16:29:51] [Zone] [Crash] #25 0x000055d58deab4c5 in std::function<void (EQ::Timer*)>::operator()(EQ::Timer*) const (this=0x7ffdbbca8388, __args#0=0x7ffdbbca8380) at /usr/include/c++/10/bits/std_function.h:622
[06-18-2023 16:29:51] [Zone] [Crash] #26 0x000055d58dea9265 in EQ::Timer::Execute (this=0x7ffdbbca8380) at /home/eqemu/code/zone/../common/net/../event/timer.h:61
[06-18-2023 16:29:51] [Zone] [Crash] #27 0x000055d58dea9023 in EQ::Timer::Start(unsigned long, bool)::{lambda(uv_timer_s*)#1}::operator()(uv_timer_s*) const (__closure=0x0, handle=0x55d590f6a610) at /home/eqemu/code/zone/../common/net/../event/timer.h:38
[06-18-2023 16:29:51] [Zone] [Crash] #28 0x000055d58dea9043 in EQ::Timer::Start(unsigned long, bool)::{lambda(uv_timer_s*)#1}::_FUN(uv_timer_s*) () at /home/eqemu/code/zone/../common/net/../event/timer.h:39
[06-18-2023 16:29:51] [Zone] [Crash] #29 0x000055d58e73bb5d in uv__run_timers (loop=loop@entry=0x7f489d05b7a8) at /home/eqemu/code/submodules/libuv/src/timer.c:178
[06-18-2023 16:29:51] [Zone] [Crash] #30 0x000055d58e73f182 in uv_run (loop=0x7f489d05b7a8, mode=UV_RUN_DEFAULT) at /home/eqemu/code/submodules/libuv/src/unix/core.c:393
[06-18-2023 16:29:51] [Zone] [Crash] #31 0x000055d58dea8eeb in EQ::EventLoop::Run (this=0x7f489d05b7a8) at /home/eqemu/code/zone/../common/net/../event/event_loop.h:25
[06-18-2023 16:29:51] [Zone] [Crash] #32 0x000055d58dea4b6e in main (argc=1, argv=0x7ffdbbca9448) at /home/eqemu/code/zone/main.cpp:591
[06-18-2023 16:29:51] [Zone] [Crash] [Inferior 1 (process 819417) detached]
```
2023-06-19 01:32:36 -05:00
Alex King
71ca7f9b39
[Cleanup] Default skill type to Hand to Hand in #npcedit meleetype ( #3422 )
...
# Notes
- We default to `28` in the database, so we need to default to this in `#npcedit meleetype` in case the operator only sets the first melee type this avoids the NPC hitting with `1H Blunt (Skill ID 0)`.
2023-06-19 01:32:13 -05:00
Chris Miles
5fcc83b4b6
[Database] Implement native database migrations in server ( #2857 )
...
* [Database] Implement native database updates in server
* Cleanup
* Delete db_update_manifest.txt
* Bots updates
* Final tweaks
* Revert manifest
* Tweaks
* Remove code from eqemu_server.pl
* Update database_update.cpp
* Add user prompt update skipping with timeouts
* Add termcolor IS_TTY is check
* Update database_conversions.cpp
* Remove large migrations
* Push
* fix headers.
* Remove last of non-bot large migrations
* Update database_update_manifest.cpp
* More purging
* Tweaks
* Bot migrations
* More work
* Tweaks
* Implement multi-statement query execution only for migrations
* Add CLI database:updates
* Add bootstrap commands
* Upload bootstrap sql's
* Update bot_tables_bootstrap.sql
* Update bot_tables_bootstrap.sql
* Add mercs:bootstrap and bots:bootstrap
* Update bot_tables_bootstrap.sql
* Update database.cpp
* Update bot_tables_bootstrap.sql
* More cleanup
* Add mercs:disable and bots:disable
* Update eqemu_server.pl
* Update eqemu_server.pl
* Update eqemu_server.pl
* Test cases
* Update eqemu_server.pl
* Delete 2023_05_08_character_tribute_primary_key.sql
* Post rebase fixes
* Post rebase tweaks
* Delete errant files
* Rebase files from master
* More adjustments
* Delete files no longer used
* Add missing migrations
* bots:bootstrap is now bots:enable
---------
Co-authored-by: Aeadoin <109764533+Aeadoin@users.noreply.github.com >
2023-06-19 01:31:07 -05:00
Chris Miles
1f25639dd3
[Release] 22.14.1 ( #3420 )
2023-06-18 15:38:50 -05:00
Chris Miles
2a176835b1
[CI] Build static linux binaries ( #3419 )
...
* [CI] Build static linux binaries
* Fix tests
* Update linux-build.sh
2023-06-18 15:19:25 -05:00
Chris Miles
fff3e77a6e
[Binaries] Add support for static linking (portable) binaries ( #3417 )
...
* [Binaries] Add support for static linking (portable) binaries
* Update CMakeLists.txt
2023-06-18 14:41:39 -05:00
Alex King
6efb9ec228
[Quest API] Add convert_money_to_string() to Perl/Lua ( #3418 )
...
* [Quest API] Add convert_money_to_string() to Perl/Lua
# Perl
- Add `quest::convert_money_to_string(money_hash)`.
# Lua
- Add `eq.convert_money_to_string(money_table)`.
# Notes
- Allows operators to convert money in to a readable string using `Strings::Money`.
# Examples
## Perl
```pl
sub EVENT_SAY {
if ($text=~/#a/i) {
my %money_data = (
"platinum" => 3123,
"gold" => 5692,
"copper" => 9
);
quest::message(315, quest::convert_money_to_string(%money_data));
}
}
```
## Lua
```lua
function event_say(e)
if e.message:find("#a") then
local money_data = {
gold = 12,
silver = 523904,
copper = 3
}
eq.message(315, "Lua: " .. eq.convert_money_to_string(money_data))
end
end```
* Update lua_general.cpp
2023-06-18 15:29:14 -04:00
Chris Miles
a663c822e8
[CLI] Add mercs:enable and mercs:disable commands ( #3416 )
...
* [CLI] Add `mercs:enable` and `mercs:disable` commands
* Update descriptions
2023-06-17 19:30:36 -05:00
Chris Miles
cf49b2fe49
[CLI] Add bots:enable and bots:disable commands ( #3415 )
...
* [CLI] Add `bots:enable` and `bots:disable` commands
* Add input warning
2023-06-17 18:48:47 -05:00
Chris Miles
b45e0e80b5
[Database] Add query multi statement execution support ( #3414 )
2023-06-17 18:20:13 -05:00
Chris Miles
3200145d01
[CLI] Console menu validation fixes ( #3413 )
2023-06-17 18:19:55 -05:00
Chris Miles
53563b9720
[Backups] Move world database:dump to use MySQL credentials file ( #3410 )
2023-06-17 18:16:29 -05:00
Chris Miles
1e22baf267
[Logging] Logging improvements, console silencing, terminal coloring ( #3412 )
2023-06-17 18:16:21 -05:00
Chris Miles
d99c3145ad
[Strings] Add more test cases for string utils ( #3411 )
2023-06-17 18:16:14 -05:00
Alex King
57243c6799
[Telnet] Add cross zone/world wide cast and move functionality to Telnet ( #3409 )
...
* [Telnet] Add cross zone/world wide cast and move functionality to Telnet
# Notes
- Add `czcast`, `czmove`, `wwcast`, and `wwmove` to Telnet functionality.
- Allows operators to cast spells across zone/world-wide and move players across zone/world-wide from telnet.
* Update console.cpp
* Update console.cpp
* Validation
* Update console.cpp
2023-06-17 17:50:37 -05:00
Paul Coene
1100668f21
[Targeting] Fix bug when using /tar on invalid target ( #3407 )
...
* [Targetting] Fix bug when using /tar on invalid target
* Removed instrumentation.
2023-06-17 16:53:59 -05:00
nytmyr
0cf454dc29
[Feature] Add Water Line of Sight Checks ( #3408 )
...
* [Feature] Add Water Line of Sight Checks
This adds rules to enable or disable checks for spells and autofire to prevent casting or autofire from landing if the player or bot do not match their targets plane in regards to water.
Currently players and bots can cast or autofire if they are not in the water but their target is and vice versa, this should not be possible.
RuleB(Combat, WaterMatchRequiredForAutoFireLoS) set to True (default) checks that both parties are in or out of the water for AutoFire to work.
RuleB(Spells, WaterMatchRequiredForLoS) set to True (default) checks that both parties are in or out of the water for spells to land.
* Cleanup.
* Cleanup.
* Cleanup.
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-06-17 12:32:15 -05:00
Paul Coene
75391d96f4
[Release] 22.13.1 ( #3406 )
...
* Update version.h for /target Emergency release 22.13.1
* Update CHANGELOG.md for 22.13.1 release
* Update package.json for 22.13.1 emergency patch release
* Update CHANGELOG.md using tool as instructed
2023-06-13 17:50:33 -04:00
Paul Coene
81b07a5aa0
[Targeting] Revert #3383 ( #3405 )
2023-06-13 15:48:35 -05:00
Alex King
774aa99b29
[Release] 22.13.0 ( #3404 )
...
* [Release] 22.13.0
* Update CHANGELOG.md
2023-06-12 20:56:43 -04:00
Alex King
756e835144
[Quest API/Cleanup] Add several spell methods to Perl/Lua ( #3379 )
...
* [Quest API/Cleanup] Add several spell methods to Perl/Lua
- Add `quest::CalculateCorruptionCounters(spell_id)`.
- Add `quest::CalculateCounters(spell_id)`.
- Add `quest::CalculateCurseCounters(spell_id)`.
- Add `quest::CalculateDiseaseCounters(spell_id)`.
- Add `quest::CalculatePoisonCounters(spell_id)`.
- Add `quest::GetSpellEffectDescriptionNumber(spell_id)`.
- Add `quest::GetSpellEffectIndex(spell_id, effect_id)`.
- Add `quest::GetSpellFuriousBash(spell_id)`.
- Add `quest::GetSpellMinimumLevel(spell_id)`.
- Add `quest::GetSpellNimbusEffect(spell_id)`.
- Add `quest::GetSpellPartialMagicRuneAmount(spell_id)`.
- Add `quest::GetSpellPartialMagicRuneReduction(spell_id)`.
- Add `quest::GetSpellPartialMeleeRuneAmount(spell_id)`.
- Add `quest::GetSpellPartialMeleeRuneReduction(spell_id)`.
- Add `quest::GetSpellProcLimitTimer(spell_id)`.
- Add `quest::GetSpellResistType(spell_id)`.
- Add `quest::GetSpellResurrectionSicknessCheck(spell_id_one, spell_id_two)`.
- Add `quest::GetSpellTargetType(spell_id)`.
- Add `quest::GetSpellTriggerSpellID(spell_id)`.
- Add `quest::GetSpellViralMaximumSpreadTime(spell_id)`.
- Add `quest::GetSpellViralMinimumSpreadTime(spell_id)`.
- Add `quest::GetSpellViralSpreadRange(spell_id)`.
- Add `quest::IsAEDurationSpell(spell_id)`.
- Add `quest::IsAENukeSpell(spell_id)`.
- Add `quest::IsAERainNukeSpell(spell_id)`.
- Add `quest::IsAllianceSpell(spell_id)`.
- Add `quest::IsBardOnlyStackEffect(effect_id)`.
- Add `quest::IsBardSong(spell_id)`.
- Add `quest::IsBlankSpellEffect(spell_id, effect_index)`.
- Add `quest::IsBlindSpell(spell_id)`.
- Add `quest::IsBuffSpell(spell_id)`.
- Add `quest::IsCastNotStandingSpell(spell_id)`.
- Add `quest::IsCastOnFadeDurationSpell(spell_id)`.
- Add `quest::IsCastRestrictedSpell(spell_id)`.
- Add `quest::IsCastTimeReductionSpell(spell_id)`.
- Add `quest::IsCastWhileInvisibleSpell(spell_id)`.
- Add `quest::IsCharmSpell(spell_id)`.
- Add `quest::IsCombatSkill(spell_id)`.
- Add `quest::IsCompleteHealDurationSpell(spell_id)`.
- Add `quest::IsCompleteHealSpell(spell_id)`.
- Add `quest::IsCureSpell(spell_id)`.
- Add `quest::IsDamageSpell(spell_id)`.
- Add `quest::IsDeathSaveSpell(spell_id)`.
- Add `quest::IsDebuffSpell(spell_id)`.
- Add `quest::IsDetrimentalSpell(spell_id)`.
- Add `quest::IsDiscipline(spell_id)`.
- Add `quest::IsDisciplineBuff(spell_id)`.
- Add `quest::IsDiseaseCounterSpell(spell_id)`.
- Add `quest::IsDistanceModifierSpell(spell_id)`.
- Add `quest::IsEffectIgnoredInStacking(effect_id)`.
- Add `quest::IsFastHealSpell(spell_id)`.
- Add `quest::IsFearSpell(spell_id)`.
- Add `quest::IsFocusLimit(effect_id)`.
- Add `quest::IsFullDeathSaveSpell(spell_id)`.
- Add `quest::IsGateSpell(spell_id)`.
- Add `quest::IsImprovedDamageSpell(spell_id)`.
- Add `quest::IsImprovedHealingSpell(spell_id)`.
- Add `quest::IsIncreaseDurationSpell(spell_id)`.
- Add `quest::IsIncreaseRangeSpell(spell_id)`.
- Add `quest::IsInstrumentModifierAppliedToSpellEffect(spell_id, effect_id)`.
- Add `quest::IsInvisibleSpell(spell_id)`.
- Add `quest::IsInvulnerabilitySpell(spell_id)`.
- Add `quest::IsLDoNObjectSpell(spell_id)`.
- Add `quest::IsLifetapSpell(spell_id)`.
- Add `quest::IsMagicRuneSpell(spell_id)`.
- Add `quest::IsManaCostReductionSpell(spell_id)`.
- Add `quest::IsManaTapSpell(spell_id)`.
- Add `quest::IsMesmerizeSpell(spell_id)`.
- Add `quest::IsNoDetrimentalSpellAggroSpell(spell_id)`.
- Add `quest::IsPBAENukeSpell(spell_id)`.
- Add `quest::IsPartialDeathSaveSpell(spell_id)`.
- Add `quest::IsPartialResistableSpell(spell_id)`.
- Add `quest::IsPercentalHealSpell(spell_id)`.
- Add `quest::IsPersistDeathSpell(spell_id)`.
- Add `quest::IsPetSpell(spell_id)`.
- Add `quest::IsPoisonCounterSpell(spell_id)`.
- Add `quest::IsPulsingBardSong(spell_id)`.
- Add `quest::IsPureNukeSpell(spell_id)`.
- Add `quest::IsRegularGroupHealSpell(spell_id)`.
- Add `quest::IsRegularSingleTargetHealSpell(spell_id)`.
- Add `quest::IsResistDebuffSpell(spell_id)`.
- Add `quest::IsResistableSpell(spell_id)`.
- Add `quest::IsRestAllowedSpell(spell_id)`.
- Add `quest::IsResurrectionEffects(spell_id)`.
- Add `quest::IsRuneSpell(spell_id)`.
- Add `quest::IsRunning(spell_id)`.
- Add `quest::IsSacrificeSpell(spell_id)`.
- Add `quest::IsSelfConversionSpell(spell_id)`.
- Add `quest::IsShadowStepSpell(spell_id)`.
- Add `quest::IsShortDurationBuff(spell_id)`.
- Add `quest::IsSpellUsableInThisZoneType(spell_id)`.
- Add `quest::IsSpellUsableInThisZoneType(spell_id, zone_type)`.
- Add `quest::IsStackableDOT(spell_id)`.
- Add `quest::IsStunSpell(spell_id)`.
- Add `quest::IsSuccorSpell(spell_id)`.
- Add `quest::IsSummonItemSpell(spell_id)`.
- Add `quest::IsSummonPCSpell(spell_id)`.
- Add `quest::IsSummonPetSpell(spell_id)`.
- Add `quest::IsSummonSkeletonSpell(spell_id)`.
- Add `quest::IsSummonSpell(spell_id)`.
- Add `quest::IsSuspendableSpell(spell_id)`.
- Add `quest::IsTargetRequiredForSpell(spell_id)`.
- Add `quest::IsTargetableAESpell(spell_id)`.
- Add `quest::IsTeleportSpell(spell_id)`.
- Add `quest::IsTranslocateSpell(spell_id)`.
- Add `quest::IsValidSpell(spell_id)`.
- Add `quest::IsVeryFastHealSpell(spell_id)`.
- Add `quest::IsVirusSpell(spell_id)`.
- Add `eq.calculate_corruption_counters(spell_id)`.
- Add `eq.calculate_counters(spell_id)`.
- Add `eq.calculate_curse_counters(spell_id)`.
- Add `eq.calculate_disease_counters(spell_id)`.
- Add `eq.calculate_poison_counters(spell_id)`.
- Add `eq.get_spell_effect_description_number(spell_id)`.
- Add `eq.get_spell_effect_index(spell_id, effect_id)`.
- Add `eq.get_spell_furious_bash(spell_id)`.
- Add `eq.get_spell_level(spell_id, class_id)`.
- Add `eq.get_spell_minimum_level(spell_id)`.
- Add `eq.get_spell_nimbus_effect(spell_id)`.
- Add `eq.get_spell_partial_magic_rune_amount(spell_id)`.
- Add `eq.get_spell_partial_magic_rune_reduction(spell_id)`.
- Add `eq.get_spell_partial_melee_rune_amount(spell_id)`.
- Add `eq.get_spell_partial_melee_rune_reduction(spell_id)`.
- Add `eq.get_spell_proc_limit_timer(spell_id)`.
- Add `eq.get_spell_resist_type(spell_id)`.
- Add `eq.get_spell_resurrection_sickness_check(spell_id_one, spell_id_two)`.
- Add `eq.get_spell_target_type(spell_id)`.
- Add `eq.get_spell_trigger_spell_id(spell_id)`.
- Add `eq.get_spell_viral_maximum_spread_time(spell_id)`.
- Add `eq.get_spell_viral_minimum_spread_time(spell_id)`.
- Add `eq.get_spell_viral_spread_range(spell_id)`.
- Add `eq.is_ae_duration_spell(spell_id)`.
- Add `eq.is_ae_nuke_spell(spell_id)`.
- Add `eq.is_ae_rain_nuke_spell(spell_id)`.
- Add `eq.is_alliance_spell(spell_id)`.
- Add `eq.is_bard_only_stack_effect(spell_id)`.
- Add `eq.is_bard_song(spell_id)`.
- Add `eq.is_beneficial_spell(spell_id)`.
- Add `eq.is_blank_spell_effect(spell_id)`.
- Add `eq.is_blind_spell(spell_id)`.
- Add `eq.is_buff_spell(spell_id)`.
- Add `eq.is_cast_not_standing_spell(spell_id)`.
- Add `eq.is_cast_on_fade_duration_spell(spell_id)`.
- Add `eq.is_cast_restricted_spell(spell_id)`.
- Add `eq.is_cast_time_reduction_spell(spell_id)`.
- Add `eq.is_cast_while_invisible_spell(spell_id)`.
- Add `eq.is_charm_spell(spell_id)`.
- Add `eq.is_combat_skill(spell_id)`.
- Add `eq.is_complete_heal_duration_spell(spell_id)`.
- Add `eq.is_complete_heal_spell(spell_id)`.
- Add `eq.is_cure_spell(spell_id)`.
- Add `eq.is_damage_spell(spell_id)`.
- Add `eq.is_death_save_spell(spell_id)`.
- Add `eq.is_debuff_spell(spell_id)`.
- Add `eq.is_detrimental_spell(spell_id)`.
- Add `eq.is_discipline(spell_id)`.
- Add `eq.is_discipline_buff(spell_id)`.
- Add `eq.is_disease_counter_spell(spell_id)`.
- Add `eq.is_distance_modifier_spell(spell_id)`.
- Add `eq.is_effect_ignored_in_stacking(effect_id)`.
- Add `eq.is_effect_in_spell(spell_id, effect_id)`.
- Add `eq.is_fast_heal_spell(spell_id)`.
- Add `eq.is_fear_spell(spell_id)`.
- Add `eq.is_focus_limit(effect_id)`.
- Add `eq.is_full_death_save_spell(spell_id)`.
- Add `eq.is_gate_spell(spell_id)`.
- Add `eq.is_group_complete_heal_spell(spell_id)`.
- Add `eq.is_group_heal_over_time_spell(spell_id)`.
- Add `eq.is_group_only_spell(spell_id)`.
- Add `eq.is_group_spell(spell_id)`.
- Add `eq.is_harmony_spell(spell_id)`.
- Add `eq.is_haste_spell(spell_id)`.
- Add `eq.is_heal_over_time_spell(spell_id)`.
- Add `eq.is_health_spell(spell_id)`.
- Add `eq.is_illusion_spell(spell_id)`.
- Add `eq.is_improved_damage_spell(spell_id)`.
- Add `eq.is_improved_healing_spell(spell_id)`.
- Add `eq.is_increase_duration_spell(spell_id)`.
- Add `eq.is_increase_range_spell(spell_id)`.
- Add `eq.is_instrument_modifier_applied_to_spell_effect(spell_id, effect_id)`.
- Add `eq.is_invisible_spell(spell_id)`.
- Add `eq.is_invulnerability_spell(spell_id)`.
- Add `eq.is_ldon_object_spell(spell_id)`.
- Add `eq.is_lifetap_spell(spell_id)`.
- Add `eq.is_magic_rune_spell(spell_id)`.
- Add `eq.is_mana_cost_reduction_spell(spell_id)`.
- Add `eq.is_mana_tap_spell(spell_id)`.
- Add `eq.is_mesmerize_spell(spell_id)`.
- Add `eq.is_no_detrimental_spell_aggro_spell(spell_id)`.
- Add `eq.is_partial_death_save_spell(spell_id)`.
- Add `eq.is_partial_resistable_spell(spell_id)`.
- Add `eq.is_pbae_nuke_spell(spell_id)`.
- Add `eq.is_percental_heal_spell(spell_id)`.
- Add `eq.is_persist_death_spell(spell_id)`.
- Add `eq.is_pet_spell(spell_id)`.
- Add `eq.is_poison_counter_spell(spell_id)`.
- Add `eq.is_pulsing_bard_song(spell_id)`.
- Add `eq.is_pure_nuke_spell(spell_id)`.
- Add `eq.is_regular_group_heal_spell(spell_id)`.
- Add `eq.is_regular_single_target_heal_spell(spell_id)`.
- Add `eq.is_resist_debuff_spell(spell_id)`.
- Add `eq.is_resistable_spell(spell_id)`.
- Add `eq.is_rest_allowed_spell(spell_id)`.
- Add `eq.is_resurrection_effects(spell_id)`.
- Add `eq.is_rune_spell(spell_id)`.
- Add `eq.is_sacrifice_spell(spell_id)`.
- Add `eq.is_self_conversion_spell(spell_id)`.
- Add `eq.is_shadow_step_spell(spell_id)`.
- Add `eq.is_short_duration_buff(spell_id)`.
- Add `eq.is_spell_usable_in_this_zone_type(spell_id)`.
- Add `eq.is_spell_usable_in_this_zone_type(spell_id, zone_type)`.
- Add `eq.is_stackable_dot(spell_id)`.
- Add `eq.is_stun_spell(spell_id)`.
- Add `eq.is_succor_spell(spell_id)`.
- Add `eq.is_summon_item_spell(spell_id)`.
- Add `eq.is_summon_pc_spell(spell_id)`.
- Add `eq.is_summon_pet_spell(spell_id)`.
- Add `eq.is_summon_skeleton_spell(spell_id)`.
- Add `eq.is_summon_spell(spell_id)`.
- Add `eq.is_suspendable_spell(spell_id)`.
- Add `eq.is_target_required_for_spell(spell_id)`.
- Add `eq.is_targetable_ae_spell(spell_id)`.
- Add `eq.is_teleport_spell(spell_id)`.
- Add `eq.is_tgb_compatible_spell(spell_id)`.
- Add `eq.is_translocate_spell(spell_id)`.
- Add `eq.is_valid_spell(spell_id)`.
- Add `eq.is_very_fast_heal_spell(spell_id)`.
- Add `eq.is_virus_spell(spell_id)`.
- A lot of cleanup in the logic and naming of these methods was done.
- Missing GM restricted spells like Guide spells and GM Health buffs were added as defines.
- Good effect values were added as defines.
- Resurrection effects non-stacking value was added as a define.
- Max fast heal casting time and max very fast heal casting time were added as defines.
- `SE_Display` was uncommented so we could use it instead of the magic number `425`.
- `IsEvacSpell(spell_id)` was removed as it was unnecessary since `IsSuccorSpell(spell_id)` checks for `SE_Succor` as well.
- `GetMorphTrigger(spell_id)` was removed as it was unused.
- `GroupOnlySpell(spell_id)` was removed as it was unnecessary since `IsGroupOnlySpell(spell_id)` exists.
- `CanUseSpell(spell_id)` was removed as it was unnecessary since `GetSpellLevel(spell_id, class_id)` exists.
- `BeneficialSpell(spell_id)` was removed as it was unnecessary since `IsBeneficialSpell(spell_id)` exists.
* Update spell_effects.cpp
* Update spdat.cpp
2023-06-12 20:27:22 -04:00
Alex King
c5c575b028
[Quest API] Add GetEXPForLevel() to Perl/Lua ( #3403 )
...
# Perl
- Add `$client->GetEXPForLevel(check_level)`.
# Lua
- Add `client:GetEXPForLevel(check_level)`.
# Notes
- This allows operators to see the required experience for a level based on the client provided, this takes race/class modifiers into account as well if enabled.
2023-06-12 19:18:39 -05:00
Alex King
152e99444c
[Cleanup] Remove GetClientCount() from zone/entity.cpp and zone/entity.h ( #3392 )
...
* [Cleanup] Remove GetClientCount() from zone/entity.cpp and zone/entity.h
# Notes
- This is unused.
* Update entity.cpp
2023-06-12 19:18:17 -05:00
Alex King
795df5c597
[Cleanup] Remove CountTempPets() from zone/entity.cpp and zone/entity.h ( #3390 )
...
* [Cleanup] Remove CountTempPets() from zone/entity.cpp and zone/entity.h
# Notes
- This is unused.
* Update entity.h
2023-06-12 19:17:53 -05:00
Alex King
18eff726d0
[Commands] Assign #opcode to a #reload alias ( #3401 )
...
* [Commands] Assign #opcode to a #reload alias
# Notes
- Can use `#reload opcodes
* Add ServerOP_ReloadOpcodes
2023-06-12 18:42:39 -04:00
Alex King
f06a37a009
[Cleanup] Add GMFind_Struct to packet structures ( #3402 )
...
* [Cleanup] Add GMFind_Struct to packet structures
# Notes
- X and Y were swapped in GMSummon_Struct so it displayed XYZ incorrectly in /find, adding its own struct fixes this.
* Update eq_packet_structs.h
* Update eq_packet_structs.h
2023-06-12 18:35:04 -04:00
Paul Coene
ae53efc52c
[Targeting] /tar <bad target> should not untarget existing target ( #3383 )
...
* [Targeting] /tar <bad target> should not untarget existing target
* Forgot string Id file.
* removed unneeded this->
2023-06-12 16:40:09 -05:00
Alex King
548eb65e1d
[Cleanup] Remove InteractiveChat() and TakenAction() from zone/npc.h ( #3382 )
...
# Notes
- These are unimplemented and unused.
2023-06-12 15:14:34 -05:00
Alex King
fede8760d4
[Cleanup] Remove CheckCoordLosNoZLeaps() from zone/entity.cpp and zone/entity.h ( #3384 )
...
# Notes
- This is unused.
2023-06-12 15:13:03 -05:00
Alex King
6faa202b57
[Cleanup] Remove pDBAsyncWorkID from zone/entity.h ( #3385 )
...
# Notes
- This is unused.
2023-06-12 15:12:47 -05:00
Alex King
c406710623
[Cleanup] Remove GetClient(ip, port) from zone/entity.h ( #3386 )
...
# Notes
- This is unused.
2023-06-12 15:12:22 -05:00
Alex King
662c4012db
[Cleanup] Remove GetGroupByBot(), GetRaidByMob(), and GetRaidByLeaderName() from zone/entity.cpp and zone/entity.h ( #3387 )
...
# Notes
- These are unused.
2023-06-12 15:12:00 -05:00
Alex King
849e7b910d
[Cleanup] Remove SendAATimer() from zone/entity.h ( #3388 )
...
# Notes
- This is unused.
2023-06-12 15:11:32 -05:00
Alex King
8e33755f02
[Cleanup] Remove RemoveMob() and RemoveRaid() from zone/entity.cpp and zone/entity.h ( #3389 )
...
# Notes
- These are unused.
2023-06-12 15:11:17 -05:00
Alex King
dfaa929778
[Cleanup] Remove GateAllClients() from zone/entity.cpp and zone/entity.h ( #3391 )
...
# Notes
- This is unused.
2023-06-12 15:10:36 -05:00
Alex King
306b06745f
[Cleanup] Remove LimitCheckBoth() from zone/entity.cpp and zone/entity.h ( #3393 )
...
# Notes
- This is unused.
2023-06-12 15:05:39 -05:00
Alex King
108fc82ee0
[Cleanup] Remove Evade() from zone/entity.cpp and zone/entity.h ( #3394 )
...
# Notes
- This is unused.
2023-06-12 15:05:23 -05:00
Alex King
577f61b082
[Cleanup] Remove WriteEntityIDs() from zone/entity.cpp and zone/entity.h ( #3395 )
...
# Notes
- This is unused.
2023-06-12 15:05:09 -05:00
Alex King
a01cf0718d
[Cleanup] Remove struct DynamicZoneSafeReturn from zone/entity.h ( #3396 )
...
# Notes
- This is unused.
2023-06-12 15:04:54 -05:00
Alex King
90412ba61b
[Cleanup] Remove struct TradeEntity from zone/common.h ( #3397 )
...
# Notes
- This is unused.
2023-06-12 15:04:38 -05:00
Alex King
5cbc380c62
[Cleanup] Remove CHECK_LOS_STEP from zone/common.h ( #3398 )
...
# Notes
- This is unused.
2023-06-12 15:04:25 -05:00
Alex King
6c289a7c71
[Cleanup] Remove _BECOMENPCPET() and _NPCPET() from zone/common.h ( #3399 )
...
# Notes
- These are unused.
2023-06-12 15:04:09 -05:00
Alex King
57335b188f
[Cleanup] Remove SPECIALIZE_MANA_REDUCE from zone/common.h ( #3400 )
...
# Notes
- This is unused.
2023-06-12 15:03:55 -05:00
Alex King
056e429100
[Cleanup] Remove NPC::AddCash() from npc.cpp/npc.h ( #3380 )
...
# Notes
- This is unused.
2023-06-09 11:50:52 -04:00
Paul Coene
f548aeddb2
[Logging] Fixed statements that logged incorrect data ( #3381 )
2023-06-07 08:26:04 -04:00
Paul Coene
4ff9faa4e6
[Illusions] RandomizeFeatures and SetGender were killing db texture ( #3376 )
...
* [Illusions] RandomizeFeatures and SetGender were killing db texture
* Found actual source of the problem.
2023-06-06 08:30:41 -04:00
Alex King
17fc350d46
[Quest API] Add SendChannelMessage() to Perl/Lua ( #3378 )
...
* [Quest API] Add SendChannelMessage() to Perl/Lua
# Perl
- Add `quest::send_channel_message(channel_number, guild_id, language_id, language_skill, message)`.
- Add `quest::send_channel_message(from, channel_number, guild_id, language_id, language_skill, message)`.
- Add `quest::send_channel_message(from, to, channel_number, guild_id, language_id, language_skill, message)`.
# Lua
- Add `eq.send_channel_message(channel_number, guild_id, language_id, language_skill, message)`.
- Add `eq.send_channel_message(from, channel_number, guild_id, language_id, language_skill, message)`.
- Add `eq.send_channel_message(from, to, channel_number, guild_id, language_id, language_skill, message)`.
# Notes
- This allows operators to send channel messages from scripts like a broadcast or tell.
* Update zoneserver.cpp
* Update lua_general.cpp
* Update questmgr.h
2023-06-03 19:06:40 -05:00
Chris Miles
b18bc66b42
[Release] 22.12.0 ( #3377 )
2023-05-30 00:10:44 -05:00
Alex King
324bfd448e
[Commands] Add entity variable command ( #3345 )
...
* [Commands] Add entity variable commands
# Commands
- Add `#clearentityvariables` to clear all entity variables from yourself or your target.
- Add `#deleteentityvariable [Variable Name]` to delete an entity variable from yourself or your target.
- Add `#setentityvariable [Variable Name] [Variable Value]` to set an entity variable for yourself or your target.
- Add `#viewentityvariables [Search Criteria]` to view your or your target's entity variables.
# Notes
- `#setentityvariable` can use multi-word names/values by using double quotes like `#setentityvariable "Test Variable" "Test Value"`.
- `#viewentityvariable` does not require a search criteria, not using one shows all entity variables on yourself or your target.
* Update viewentityvariables.cpp
* Unnecessary parameter.
* Consolidate commands.
* Update entityvariable.cpp
* Update command.cpp
* Proper arguments.
2023-05-25 19:49:09 -04:00
Alex King
75560ee830
[Performance] Character tribute is now bulk saved ( #3340 )
...
* [Performance] Character tribute is now bulk saved
This pull request combines individual `character_tribute` queries during `Save()` into one.
This pull request also adds a primary key of `id` to `character_tribute` and renames the pre-existing `id` column to `character_id`, this allows us to use repositories for this table.
* Update zonedb.cpp
* Update zonedb.cpp
2023-05-25 19:21:18 -04:00
Alex King
50db7637aa
[Quest API] Add Memorize and Scribe Spell Events to Perl/Lua ( #3363 )
...
* [Quest API] Add Memorize and Scribe Spell Events to Perl/Lua
# Perl
- Add `EVENT_MEMORIZE_SPELL`.
- Add `EVENT_UNMEMORIZE_SPELL`.
- Add `EVENT_SCRIBE_SPELL`.
- Add `EVENT_UNSCRIBE_SPELL`.
# Lua
- Add `event_memorize_spell`.
- Add `event_unmemorize_spell`.
- Add `event_scribe_spell`.
- Add `event_unscribe_spell`.
# Notes
- Allows operators to perform events on memorization, unmemorization, scribe, or unscribe.
- Cleaned up target description messages for `#unscribespell`.
* Update client.cpp
2023-05-25 18:18:14 -05:00
Alex King
67fdc75df3
[Commands] Cleanup #setanim ( #3350 )
...
# Notes
- Make use of constants instead of hard-coded strings.
2023-05-25 18:04:09 -05:00
Chris Miles
9993022418
[Pets] Fix saving inconsistencies with pets ( #3375 )
2023-05-25 11:33:34 -04:00
Alex King
bd95ed44fd
[Cleanup] Remove GetMaxRank() from aa_ability.cpp/aa_ability.h ( #3347 )
...
# Notes
- This is unused.
2023-05-24 22:44:53 -05:00
Alex King
65fd323eab
[Cleanup] Remove LoadSpawn2() and PopulateZoneSpawnListClose() from spawn2.cpp/zonedb.h ( #3344 )
...
# Notes
- These are unused.
2023-05-24 22:42:20 -05:00
Aeadoin
290c58741e
[Bug Fix] Fix issue with Group Pointers/Member roles ( #3374 )
...
* [Bug Fix] Fix issue with Group Corruption
* cleanup
* Fix for Group Roles
* Fix for Group Roles
2023-05-24 22:40:59 -05:00
Alex King
39d0772a01
[Cleanup] Remove IsRaid() from raids.h ( #3361 )
...
# Notes
- This is unused.
2023-05-24 22:40:32 -05:00
Alex King
622fe50479
[Cleanup] Remove numMembers from raids.h ( #3362 )
...
# Notes
- This is unused.
2023-05-24 22:40:20 -05:00
Alex King
f41a219309
[Cleanup] Remove CalcPetHp from spdat.h ( #3364 )
...
# Notes
- This is unused.
2023-05-24 22:37:04 -05:00
Alex King
23bc3c7fd6
[Cleanup] Remove Z_AGGRO from spdat.h ( #3365 )
...
# Notes
- This is unused.
2023-05-24 22:36:52 -05:00
Alex King
3144ac1a28
[Cleanup] Cleanup #setskill and #setskillall Commands ( #3367 )
...
# Notes
- No need to cap at 400 for max skill.
- When setting skill/skills, if we go over cap, set to cap.
2023-05-24 22:36:38 -05:00
Alex King
a5106420e8
[Commands] Add #findcurrency Command ( #3368 )
...
* [Commands] Add #findcurrency Command
# Notes
- Allows you to find alternate currencies by item ID or name.
- Has a saylink for summoning a stack of the currency if the GM can use the `#summonitem` command.
* Update findcurrency.cpp
* Update findcurrency.cpp
2023-05-24 22:30:06 -05:00
Alex King
5a42c4f667
[Quest API] Add zone data methods to Perl/Lua ( #3342 )
...
# Perl
- Add `quest::GetZoneSafeX(zone_id)`.
- Add `quest::GetZoneSafeX(zone_id, version)`.
- Add `quest::GetZoneSafeY(zone_id)`.
- Add `quest::GetZoneSafeY(zone_id, version)`.
- Add `quest::GetZoneSafeZ(zone_id)`.
- Add `quest::GetZoneSafeZ(zone_id, version)`.
- Add `quest::GetZoneSafeHeading(zone_id)`.
- Add `quest::GetZoneSafeHeading(zone_id, version)`.
- Add `quest::GetZoneMinimumLevel(zone_id)`.
- Add `quest::GetZoneMinimumLevel(zone_id, version)`.
- Add `quest::GetZoneMaximumLevel(zone_id)`.
- Add `quest::GetZoneMaximumLevel(zone_id, version)`.
- Add `quest::GetZoneMinimumStatus(zone_id)`.
- Add `quest::GetZoneMinimumStatus(zone_id, version)`.
- Add `quest::GetZoneTimeZone(zone_id)`.
- Add `quest::GetZoneTimeZone(zone_id, version)`.
- Add `quest::GetZoneMaximumPlayers(zone_id)`.
- Add `quest::GetZoneMaximumPlayers(zone_id, version)`.
- Add `quest::GetZoneRuleSet(zone_id)`.
- Add `quest::GetZoneRuleSet(zone_id, version)`.
- Add `quest::GetZoneNote(zone_id)`.
- Add `quest::GetZoneNote(zone_id, version)`.
- Add `quest::GetZoneUnderworld(zone_id)`.
- Add `quest::GetZoneUnderworld(zone_id, version)`.
- Add `quest::GetZoneMinimumClip(zone_id)`.
- Add `quest::GetZoneMinimumClip(zone_id, version)`.
- Add `quest::GetZoneMaximumClip(zone_id)`.
- Add `quest::GetZoneMaximumClip(zone_id, version)`.
- Add `quest::GetZoneFogMinimumClip(zone_id)`.
- Add `quest::GetZoneFogMinimumClip(zone_id, slot)`.
- Add `quest::GetZoneFogMinimumClip(zone_id, slot, version)`.
- Add `quest::GetZoneFogMaximumClip(zone_id)`.
- Add `quest::GetZoneFogMaximumClip(zone_id, slot)`.
- Add `quest::GetZoneFogMaximumClip(zone_id, slot, version)`.
- Add `quest::GetZoneFogRed(zone_id)`.
- Add `quest::GetZoneFogRed(zone_id, slot)`.
- Add `quest::GetZoneFogRed(zone_id, slot, version)`.
- Add `quest::GetZoneFogGreen(zone_id)`.
- Add `quest::GetZoneFogGreen(zone_id, slot)`.
- Add `quest::GetZoneFogGreen(zone_id, slot, version)`.
- Add `quest::GetZoneFogBlue(zone_id)`.
- Add `quest::GetZoneFogBlue(zone_id, slot)`.
- Add `quest::GetZoneFogBlue(zone_id, slot, version)`.
- Add `quest::GetZoneSky(zone_id)`.
- Add `quest::GetZoneSky(zone_id, version)`.
- Add `quest::GetZoneZType(zone_id)`.
- Add `quest::GetZoneZType(zone_id, version)`.
- Add `quest::GetZoneExperienceMultiplier(zone_id)`.
- Add `quest::GetZoneExperienceMultiplier(zone_id, version)`.
- Add `quest::GetZoneWalkSpeed(zone_id)`.
- Add `quest::GetZoneWalkSpeed(zone_id, version)`.
- Add `quest::GetZoneTimeType(zone_id)`.
- Add `quest::GetZoneTimeType(zone_id, version)`.
- Add `quest::GetZoneFogDensity(zone_id)`.
- Add `quest::GetZoneFogDensity(zone_id, version)`.
- Add `quest::GetZoneFlagNeeded(zone_id)`.
- Add `quest::GetZoneFlagNeeded(zone_id, version)`.
- Add `quest::GetZoneCanBind(zone_id)`.
- Add `quest::GetZoneCanBind(zone_id, version)`.
- Add `quest::GetZoneCanCombat(zone_id)`.
- Add `quest::GetZoneCanCombat(zone_id, version)`.
- Add `quest::GetZoneCanLevitate(zone_id)`.
- Add `quest::GetZoneCanLevitate(zone_id, version)`.
- Add `quest::GetZoneCastOutdoor(zone_id)`.
- Add `quest::GetZoneCastOutdoor(zone_id, version)`.
- Add `quest::GetZoneHotzone(zone_id)`.
- Add `quest::GetZoneHotzone(zone_id, version)`.
- Add `quest::GetZoneInstanceType(zone_id)`.
- Add `quest::GetZoneInstanceType(zone_id, version)`.
- Add `quest::GetZoneShutdownDelay(zone_id)`.
- Add `quest::GetZoneShutdownDelay(zone_id, version)`.
- Add `quest::GetZonePEQZone(zone_id)`.
- Add `quest::GetZonePEQZone(zone_id, version)`.
- Add `quest::GetZoneExpansion(zone_id)`.
- Add `quest::GetZoneExpansion(zone_id, version)`.
- Add `quest::GetZoneBypassExpansionCheck(zone_id)`.
- Add `quest::GetZoneBypassExpansionCheck(zone_id, version)`.
- Add `quest::GetZoneSuspendBuffs(zone_id)`.
- Add `quest::GetZoneSuspendBuffs(zone_id, version)`.
- Add `quest::GetZoneRainChance(zone_id)`.
- Add `quest::GetZoneRainChance(zone_id, slot)`.
- Add `quest::GetZoneRainChance(zone_id, slot, version)`.
- Add `quest::GetZoneRainDuration(zone_id)`.
- Add `quest::GetZoneRainDuration(zone_id, slot)`.
- Add `quest::GetZoneRainDuration(zone_id, slot, version)`.
- Add `quest::GetZoneSnowChance(zone_id)`.
- Add `quest::GetZoneSnowChance(zone_id, slot)`.
- Add `quest::GetZoneSnowChance(zone_id, slot, version)`.
- Add `quest::GetZoneSnowDuration(zone_id)`.
- Add `quest::GetZoneSnowDuration(zone_id, slot)`.
- Add `quest::GetZoneSnowDuration(zone_id, slot, version)`.
- Add `quest::GetZoneGravity(zone_id)`.
- Add `quest::GetZoneGravity(zone_id, version)`.
- Add `quest::GetZoneType(zone_id)`.
- Add `quest::GetZoneType(zone_id, version)`.
- Add `quest::GetZoneSkyLock(zone_id)`.
- Add `quest::GetZoneSkyLock(zone_id, version)`.
- Add `quest::GetZoneFastRegenHP(zone_id)`.
- Add `quest::GetZoneFastRegenHP(zone_id, version)`.
- Add `quest::GetZoneFastRegenMana(zone_id)`.
- Add `quest::GetZoneFastRegenMana(zone_id, version)`.
- Add `quest::GetZoneFastRegenEndurance(zone_id)`.
- Add `quest::GetZoneFastRegenEndurance(zone_id, version)`.
- Add `quest::GetZoneNPCMaximumAggroDistance(zone_id)`.
- Add `quest::GetZoneNPCMaximumAggroDistance(zone_id, version)`.
- Add `quest::GetZoneMaximumMovementUpdateRange(zone_id)`.
- Add `quest::GetZoneMaximumMovementUpdateRange(zone_id, version)`.
- Add `quest::GetZoneMinimumExpansion(zone_id)`.
- Add `quest::GetZoneMinimumExpansion(zone_id, version)`.
- Add `quest::GetZoneMaximumExpansion(zone_id)`.
- Add `quest::GetZoneMaximumExpansion(zone_id, version)`.
- Add `quest::GetZoneContentFlags(zone_id)`.
- Add `quest::GetZoneContentFlags(zone_id, version)`.
- Add `quest::GetZoneContentFlagsDisabled(zone_id)`.
- Add `quest::GetZoneContentFlagsDisabled(zone_id, version)`.
- Add `quest::GetZoneUnderworldTeleportIndex(zone_id)`.
- Add `quest::GetZoneUnderworldTeleportIndex(zone_id, version)`.
- Add `quest::GetZoneLavaDamage(zone_id)`.
- Add `quest::GetZoneLavaDamage(zone_id, version)`.
- Add `quest::GetZoneMinimumLavaDamage(zone_id)`.
- Add `quest::GetZoneMinimumLavaDamage(zone_id, version)`.
# Lua
- Add `eq.get_zone_safe_x(zone_id)`.
- Add `eq.get_zone_safe_x(zone_id, version)`.
- Add `eq.get_zone_safe_y(zone_id)`.
- Add `eq.get_zone_safe_y(zone_id, version)`.
- Add `eq.get_zone_safe_z(zone_id)`.
- Add `eq.get_zone_safe_z(zone_id, version)`.
- Add `eq.get_zone_safe_heading(zone_id)`.
- Add `eq.get_zone_safe_heading(zone_id, version)`.
- Add `eq.get_zone_minimum_level(zone_id)`.
- Add `eq.get_zone_minimum_level(zone_id, version)`.
- Add `eq.get_zone_maximum_level(zone_id)`.
- Add `eq.get_zone_maximum_level(zone_id, version)`.
- Add `eq.get_zone_minimum_status(zone_id)`.
- Add `eq.get_zone_minimum_status(zone_id, version)`.
- Add `eq.get_zone_time_zone(zone_id)`.
- Add `eq.get_zone_time_zone(zone_id, version)`.
- Add `eq.get_zone_maximum_players(zone_id)`.
- Add `eq.get_zone_maximum_players(zone_id, version)`.
- Add `eq.get_zone_rule_set(zone_id)`.
- Add `eq.get_zone_rule_set(zone_id, version)`.
- Add `eq.get_zone_note(zone_id)`.
- Add `eq.get_zone_note(zone_id, version)`.
- Add `eq.get_zone_underworld(zone_id)`.
- Add `eq.get_zone_underworld(zone_id, version)`.
- Add `eq.get_zone_minimum_clip(zone_id)`.
- Add `eq.get_zone_minimum_clip(zone_id, version)`.
- Add `eq.get_zone_maximum_clip(zone_id)`.
- Add `eq.get_zone_maximum_clip(zone_id, version)`.
- Add `eq.get_zone_fog_minimum_clip(zone_id)`.
- Add `eq.get_zone_fog_minimum_clip(zone_id, slot)`.
- Add `eq.get_zone_fog_minimum_clip(zone_id, slot, version)`.
- Add `eq.get_zone_fog_maximum_clip(zone_id)`.
- Add `eq.get_zone_fog_maximum_clip(zone_id, slot)`.
- Add `eq.get_zone_fog_maximum_clip(zone_id, slot, version)`.
- Add `eq.get_zone_fog_red(zone_id)`.
- Add `eq.get_zone_fog_red(zone_id, slot)`.
- Add `eq.get_zone_fog_red(zone_id, slot, version)`.
- Add `eq.get_zone_fog_green(zone_id)`.
- Add `eq.get_zone_fog_green(zone_id, slot)`.
- Add `eq.get_zone_fog_green(zone_id, slot, version)`.
- Add `eq.get_zone_fog_blue(zone_id)`.
- Add `eq.get_zone_fog_blue(zone_id, slot)`.
- Add `eq.get_zone_fog_blue(zone_id, slot, version)`.
- Add `eq.get_zone_sky(zone_id)`.
- Add `eq.get_zone_sky(zone_id, version)`.
- Add `eq.get_zone_ztype(zone_id)`.
- Add `eq.get_zone_ztype(zone_id, version)`.
- Add `eq.get_zone_experience_multiplier(zone_id)`.
- Add `eq.get_zone_experience_multiplier(zone_id, version)`.
- Add `eq.get_zone_walk_speed(zone_id)`.
- Add `eq.get_zone_walk_speed(zone_id, version)`.
- Add `eq.get_zone_time_type(zone_id)`.
- Add `eq.get_zone_time_type(zone_id, version)`.
- Add `eq.get_zone_fog_density(zone_id)`.
- Add `eq.get_zone_fog_density(zone_id, version)`.
- Add `eq.get_zone_flag_needed(zone_id)`.
- Add `eq.get_zone_flag_needed(zone_id, version)`.
- Add `eq.get_zone_can_bind(zone_id)`.
- Add `eq.get_zone_can_bind(zone_id, version)`.
- Add `eq.get_zone_can_combat(zone_id)`.
- Add `eq.get_zone_can_combat(zone_id, version)`.
- Add `eq.get_zone_can_levitate(zone_id)`.
- Add `eq.get_zone_can_levitate(zone_id, version)`.
- Add `eq.get_zone_cast_outdoor(zone_id)`.
- Add `eq.get_zone_cast_outdoor(zone_id, version)`.
- Add `eq.get_zone_hotzone(zone_id)`.
- Add `eq.get_zone_hotzone(zone_id, version)`.
- Add `eq.get_zone_instance_type(zone_id)`.
- Add `eq.get_zone_instance_type(zone_id, version)`.
- Add `eq.get_zone_shutdown_delay(zone_id)`.
- Add `eq.get_zone_shutdown_delay(zone_id, version)`.
- Add `eq.get_zone_peqzone(zone_id)`.
- Add `eq.get_zone_peqzone(zone_id, version)`.
- Add `eq.get_zone_expansion(zone_id)`.
- Add `eq.get_zone_expansion(zone_id, version)`.
- Add `eq.get_zone_bypass_expansion_check(zone_id)`.
- Add `eq.get_zone_bypass_expansion_check(zone_id, version)`.
- Add `eq.get_zone_suspend_buffs(zone_id)`.
- Add `eq.get_zone_suspend_buffs(zone_id, version)`.
- Add `eq.get_zone_rain_chance(zone_id)`.
- Add `eq.get_zone_rain_chance(zone_id, slot)`.
- Add `eq.get_zone_rain_chance(zone_id, slot, version)`.
- Add `eq.get_zone_rain_duration(zone_id)`.
- Add `eq.get_zone_rain_duration(zone_id, slot)`.
- Add `eq.get_zone_rain_duration(zone_id, slot, version)`.
- Add `eq.get_zone_snow_chance(zone_id)`.
- Add `eq.get_zone_snow_chance(zone_id, slot)`.
- Add `eq.get_zone_snow_chance(zone_id, slot, version)`.
- Add `eq.get_zone_snow_duration(zone_id)`.
- Add `eq.get_zone_snow_duration(zone_id, slot)`.
- Add `eq.get_zone_snow_duration(zone_id, slot, version)`.
- Add `eq.get_zone_gravity(zone_id)`.
- Add `eq.get_zone_gravity(zone_id, version)`.
- Add `eq.get_zone_type(zone_id)`.
- Add `eq.get_zone_type(zone_id, version)`.
- Add `eq.get_zone_sky_lock(zone_id)`.
- Add `eq.get_zone_sky_lock(zone_id, version)`.
- Add `eq.get_zone_fast_regen_hp(zone_id)`.
- Add `eq.get_zone_fast_regen_hp(zone_id, version)`.
- Add `eq.get_zone_fast_regen_mana(zone_id)`.
- Add `eq.get_zone_fast_regen_mana(zone_id, version)`.
- Add `eq.get_zone_fast_regen_endurance(zone_id)`.
- Add `eq.get_zone_fast_regen_endurance(zone_id, version)`.
- Add `eq.get_zone_npc_maximum_aggro_distance(zone_id)`.
- Add `eq.get_zone_npc_maximum_aggro_distance(zone_id, version)`.
- Add `eq.get_zone_maximum_movement_update_range(zone_id)`.
- Add `eq.get_zone_maximum_movement_update_range(zone_id, version)`.
- Add `eq.get_zone_minimum_expansion(zone_id)`.
- Add `eq.get_zone_minimum_expansion(zone_id, version)`.
- Add `eq.get_zone_maximum_expansion(zone_id)`.
- Add `eq.get_zone_maximum_expansion(zone_id, version)`.
- Add `eq.get_zone_content_flags(zone_id)`.
- Add `eq.get_zone_content_flags(zone_id, version)`.
- Add `eq.get_zone_content_flags_disabled(zone_id)`.
- Add `eq.get_zone_content_flags_disabled(zone_id, version)`.
- Add `eq.get_zone_underworld_teleport_index(zone_id)`.
- Add `eq.get_zone_underworld_teleport_index(zone_id, version)`.
- Add `eq.get_zone_lava_damage(zone_id)`.
- Add `eq.get_zone_lava_damage(zone_id, version)`.
- Add `eq.get_zone_minimum_lava_damage(zone_id)`.
- Add `eq.get_zone_minimum_lava_damage(zone_id, version)`.
# Notes
- These methods add support for reading every value that the `zone` table contains, allowing operators to get any information about a specific zone and version they could need.
2023-05-24 17:59:18 -04:00
Alex King
a3107cc54d
[Bug Fix] Fix duplicate messages in #npcedit ( #3372 )
...
# Notes
- `#npcedit special_attacks` and `#npcedit special_abilities` send duplicate messages since the `d` variable wasn't being set and a message was being sent instead, meaning a message was sent inside the condition as well as a blank message at the bottom of the command.
2023-05-21 18:56:51 -04:00
Alex King
f0152cef66
[Rules] Add World:MaximumQuestErrors Rule ( #3349 )
...
* [Rules] Add World:MaximumQuestErrors Rule
# Notes
- Allows operators to display more than 30 errors with #questerrors if they want.
* Update quest_interface.h
2023-05-21 18:48:30 -04:00
Alex King
21755a9f9e
[Bug Fix] Fix typos in #zheader ( #3370 )
...
# Notes
- Argument 2 and 3 were being used when it should have been arguments 1 and 2.
2023-05-21 18:48:22 -04:00
Alex King
b329515a07
[Quest API] Cleanup The Darkened Sea Quest Methods Names ( #3369 )
...
# Notes
- These were spelled incorrectly.
2023-05-21 18:48:15 -04:00
Alex King
ff4b117cfa
[Cleanup] Fix #spawn command NPCs having 0 health ( #3371 )
...
# Notes
- NPCs when spawned with this command have 0 health by default, requiring operators to manually edit their health if they're using this NPC as an NPC in their hub.
2023-05-21 18:48:08 -04:00
Paul Coene
e305ba852b
[Bug Fix] NPC Armor Upgrade to a slot not handled correctly ( #3366 )
...
* [NPC Armor - Bug] NPC upgardes in armor not correct
* Revert "[NPC Armor - Bug] NPC upgardes in armor not correct"
This reverts commit d5a68654a7 .
* [NPC item bonuses] Upgrades not processed correctly
* Update loottables.cpp
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-05-19 22:28:01 -04:00
RekkasGit
b8c91cf4f9
[Bug Fix] Mob scaling issue with min dmg set to zero while max dmg is not ( #3351 )
...
* fix for mob scaling issue with min dmg set to zero while max dmg is not.
* Cleanup
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-05-19 22:11:11 -04:00
Alex King
cd82bd8472
[Cleanup] Remove DumpMerchantList() from zone.cpp/zone.h ( #3343 )
...
# Notes
- This is unused.
2023-05-17 09:02:14 -04:00
Alex King
20bed20f47
[Cleanup] Delete message.h ( #3348 )
...
# Notes
- This is unsued.
2023-05-17 09:00:38 -04:00
Alex King
c93054421f
[Cleanup] Remove CountNPC() and QueueManaged() from entity.cpp/entity.h ( #3346 )
...
# Notes
- These are unused.
2023-05-17 08:58:50 -04:00
Alex King
b7a1fc6644
[Cleanup] Remove IsEntityInFrenzyMode() from hate_list.cpp/hate_list.h ( #3352 )
...
# Notes
- This is unused.
2023-05-17 08:58:27 -04:00
Alex King
6bfb8fca2e
[Cleanup] Remove GetEscapingEntOnHateList() from hate_list.cpp/hate_list.h ( #3353 )
...
# Notes
- This is unused.
2023-05-17 08:58:13 -04:00
Alex King
9d6a7ad743
[Cleanup] Remove SetGraveyard() from zone.cpp/zone.h ( #3354 )
...
# Notes
- This is unused.
2023-05-17 08:58:02 -04:00
Alex King
076b88be9a
[Cleanup] Remove TypeToSkill() from tradeskills.cpp/object.h ( #3355 )
...
# Notes
- This is unused.
2023-05-17 08:57:51 -04:00
Alex King
84a779c4df
[Cleanup] Remove SetTradeCash() from trading.cpp/common.h ( #3356 )
...
# Notes
- This is unused.
2023-05-17 08:57:09 -04:00
Alex King
3fb479e612
[Cleanup] Remove TraderUpdate() from trading.cpp/client.h ( #3357 )
...
# Notes
- This is unused.
2023-05-17 08:56:42 -04:00
Alex King
c1f4ee0e65
[Cleanup] Remove GetDamageReceived() and GetHealReceived() from combat_record.cpp/combat_record.h ( #3358 )
...
# Notes
- These are unused.
2023-05-17 08:56:09 -04:00
RekkasGit
32f7dc3d1b
[Quest API] Add GetHateListClosest(), GetHateListClosestBot(), GetHateListClosestClient(), and GetHateListClosestNPC() methods/overloads to Perl/Lua ( #3359 )
...
* Add HateListClosestClient available for scripting.
* Add other methods.
* Use pre-existing constants.
* Typos
* Update mob.h
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-05-15 21:23:19 -04:00
RekkasGit
fa55fd1664
[Bug Fix] Fix Heroic INT/WIS Bonuses ( #3341 )
...
* fix for heroic int/wis for hybrids
* Update classes.cpp
* Update classes.cpp
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-05-15 10:52:53 -04:00
Chris Miles
c44c0d4efa
[Performance] Character buffs now save in bulk ( #3336 )
...
* [Performance] Character buffs now save in bulk
* Only insert if we have buffs to insert
* Swap for .empty()
2023-05-09 13:28:34 -05:00
Chris Miles
50c63b95db
[Performance] Character pet bulk saving ( #3337 )
...
* [Performance] Character pet bulk saving
* Update zonedb.cpp
2023-05-09 13:27:17 -05:00
Chris Miles
612029de6e
[Performance] Character bind is now bulk saved ( #3338 )
...
* [Performance] Character bind is now bulk saved
* Fix bind heading
2023-05-09 13:22:57 -05:00
Chris Miles
dbc6346fe8
[Performance] Mail key is now cached during player load ( #3339 )
...
* [Performance] Mail key is now cached during player load
* More refactoring
2023-05-09 13:22:43 -05:00
nytmyr
93a4153a4b
[Rules] ResurrectionEffectBlock to prevent/allow/move buffs. ( #3288 )
...
* [Rules] ResurrectionEffectsBlock to prevent/allow/move buffs.
This removes the rule ResurrectionEffectsBlock (Bool) and creates ResurrectionEffectsBlock (Int)
Default = 2
Setting to 0 = Functions as it did before any blocking changes, Focus of Spirit and Strength buffs can overwrite Resurrection Effects.
Setting to 1 = Blocks all buffs that could overwrite Resurrection Effects.
Setting to 2 = Allows all buffs that would overwrite Resurrection Effects to land, however they will be moved to a new buff slot if one is available to allow both the beneficial buff to land and detrimental effects of Resurrection Effects to stay in effect until the duration is expired.
* Update logging
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-05-08 08:32:21 -05:00
Akkadius
434f270f68
Revert "[Bug Fix] ReloadQuests() on Zone::Init() to avoid cached global quests/plugins ( #3333 )"
...
This reverts commit 8c23eee42a .
2023-05-07 23:33:43 -05:00
Alex King
5ba33b88bd
[Cleanup] Set GetAugmentType() to int again ( #3335 )
...
# Notes
- Augment type can be `-1` for all augment types.
2023-05-07 21:40:45 -04:00
Alex King
ce1de9997b
[Quest API] Add GetPet() to Perl ( #3309 )
...
# Perl
- Add `$mob->GetPet()`.
# Notes
- This exists in Lua, but not Perl.
2023-05-07 19:13:26 -05:00
Chris Miles
8814ab26cd
[Hotfix] Fix mob item bonus calc ( #3334 )
2023-05-07 18:23:22 -05:00
Alex King
8c23eee42a
[Bug Fix] ReloadQuests() on Zone::Init() to avoid cached global quests/plugins ( #3333 )
...
# Notes
- Before this, quests/plugins would be cached in an old state, so you'd have to either enter the zone and `#reload quest` or `#reload world` to get them to update.
2023-05-07 14:41:57 -04:00
Alex King
5475615448
[Bug Fix] #augmentitem bypasses augment restrictions ( #3332 )
...
* [Bug Fix] #augmentitem bypasses augment restrictions
# Notes
- `Object::HandleAugmentation` did not properly check for `augrestrict` values. This allowed augment restrictions to be bypassed with `#augmentitem` or anything else that uses this method.
- `Client::SummonItem` already properly checked these, so I just broke it out into a `Client::IsAugmentRestricted()` method.
* Update item_instance.h
2023-05-07 11:40:04 -04:00
Chris Miles
4a5559022f
[Memory Leak] Fix large memory leak introduced in CalcItemBonuses ( #3331 )
2023-05-07 09:47:03 -04:00
Paul Coene
5be2041085
[Messages] Remove duplicate heal message for healing yourself ( #3329 )
2023-05-03 16:50:54 -04:00
Jasdac
9f4d60ec36
[Feature] Intoxication setter/getter for source, getter for Perl/Lua ( #3330 )
...
* Add setter and getter methods for intoxication
Add GetIntoxication functions for perl and Lua
* Remove trailing tab
* Use clamp instead of min/max
2023-05-03 16:19:53 -04:00
Chris Miles
c64a2aec94
[Release] 22.11.0 ( #3328 )
...
* [Release] 22.11.0
* Update version.h
2023-04-29 20:37:04 -05:00
Alex King
0e582eda82
[Quest API] Add HasSpellEffect() to Perl/Lua ( #3319 )
...
* [Quest API] Add HasSpellEffect() to Perl/Lua
# Perl
- Add `$mob->HasSpellEffect(effect_id)`.
# Lua
- Add `mob:HasSpellEffect(effect_id)`.
# Notes
- Allows operators to see if a Mob has an effect ID from any of their buffs.
* Update mob.cpp
2023-04-29 20:09:00 -05:00
Alex King
7eff6ada87
[Cleanup] Remove unused code in zone/pets.cpp ( #3310 )
...
# Notes
- This code is unused.
2023-04-29 20:00:37 -05:00
Alex King
291997d35b
[Cleanup] Remove pDontCastBefore_casting_spell from zone/npc.h ( #3311 )
...
# Notes
- This is unused.
2023-04-29 20:00:20 -05:00
Alex King
ac4572bf79
[Cleanup] Remove unused methods in zone/client.cpp and zone/client.h ( #3312 )
...
* [Cleanup] Remove unused methods in zone/client.cpp and zone/client.h
# Notes
- Remove `CheckAccess()` in `zone/client.cpp`.
- Remove `CheckAccess()` in `zone/client.h`.
- Remove `CheckQuests()` in `zone/client.h`.
- Remove `MakeCorpse()` in `zone/client.h`.
- Remove `HPTick()` in `zone/client.h`.
- These methods are unused.
* Update client.h
2023-04-29 20:00:08 -05:00
Alex King
f0a9578b6a
[Cleanup] Remove GetClassHPFactor() from zone/merc.h ( #3314 )
...
# Notes
- This is unused.
2023-04-29 19:59:50 -05:00
Alex King
baa824d8fb
[Cleanup] Remove GetClassHPFactor() from zone/client_mods.cpp and zone/client.h ( #3313 )
...
# Notes
- This is unused.
2023-04-29 19:59:19 -05:00
Alex King
b19d3ac8a2
[Cleanup] Remove unused methods in zone/bot.cpp and zone/bot.h ( #3315 )
...
# Notes
- Remove `DoFinishedSpellAETarget()`.
- Remove `SendBotArcheryWearChange()`.
- These are unused.
2023-04-29 19:59:05 -05:00
Alex King
6a393bf0c3
[Quest API] Add GetDefaultRaceSize() overloads to Perl/Lua ( #3320 )
...
# Perl
- Add `$mob->GetDefaultRaceSize(race_id)`.
- Add `$mob->GetDefaultRaceSize(race_id, gender_id)`.
# Lua
- Add `mob:GetDefaultRaceSize(race_id)`.
- Add `mob:GetDefaultRaceSize(race_id, gender_id)`.
# Notes
- This allows you to get a default size for a race and gender that isn't the current mob's race and gender.
2023-04-29 19:53:49 -05:00
Alex King
09a5551de1
[Cleanup] quest::setallskill() had always true condition. ( #3301 )
...
# Notes
- Remove unnecessary double check of `initiator`.
- Cleanup logic to use `EQ::skills::GetSkillTypeMap()`.
2023-04-29 19:52:30 -05:00
Alex King
6e2e035d66
[Cleanup] Remove unused variable in common/crash.cpp ( #3308 )
...
# Notes
- This variable is unused.
2023-04-29 19:51:41 -05:00
Alex King
ac5922bb32
[Cleanup] Use default ctor/dtor in oriented_bounding_box.h ( #3307 )
...
# Notes
- Use default ctor/dtor instead of empty ones.
2023-04-29 19:51:21 -05:00
Chris Miles
ecf2a369cc
[Discord] Add Discord webhook callback processing to world ( #3322 )
2023-04-29 20:49:06 -04:00
Chris Miles
95b306599f
[Maps] Update download with faster releases link ( #3321 )
2023-04-29 19:39:24 -05:00
Chris Miles
497d20512a
[Crash] Fix UCS crash that occurs during log reloading ( #3324 )
2023-04-29 19:39:13 -05:00
Aeadoin
db916e946e
[Bug Fix] Fix issue with spawning Mercs ( #3327 )
2023-04-29 18:45:35 -04:00
Alex King
958549b407
[Bug Fix] Possible issues with SummonItem in Client::QuestReward() methods ( #3325 )
...
# Notes
- These methods were ignoring the sixth augment slot and could cause item to be summoned attuned being `EQ::invslot::slotCursor` is a non-zero value.
2023-04-26 21:28:24 -04:00
Paul Coene
71ebf1b2d4
[Messages] Remove duplicate you have lost a level message ( #3323 )
2023-04-25 17:42:31 -04:00
Paul Coene
e19b8d3056
[Bug Fix] Fix issue with NPCs no longer using some armor. ( #3318 )
...
* [BugFix/NPCs] Fix issue with NPCs no longer using some armor.
* Removed redundant memory clear
2023-04-24 17:05:29 -04:00
Alex King
8b1d64a043
[Cleanup] quest::createBot() unnecessary check against nullptr ( #3302 )
...
# Notes
- We initialize this variable, so it can never be a nullptr.
2023-04-23 15:08:50 -04:00
Alex King
576f99f292
[Cleanup] Add initiator/owner checks to various methods in questmgr.cpp ( #3306 )
...
* [Cleanup] Add initiator/owner checks to various methods in questmgr.cpp
# Notes
- Add `initiator` check to `quest::permaclass()`.
- Add `initiator` check to `quest::permarace()`.
- Add `initiator` check to `quest::permagender()`.
- Add `initiator` check to `quest::scribespells()`.
- Add `initiator` check to `quest::traindiscs()`.
- Add `initiator` check to `quest::unscribespells()`.
- Add `initiator` check to `quest::untraindiscs()`.
- Cleanup `initiator` check in `quest::pvp()`.
- Cleanup `initiator` check in `quest::movepc()`.
- Cleanup `initiator` check in `quest::gmmove()`.
- Cleanup `initiator` check in `quest::movegrp()`.
- Add `owner` check to `quest::doanim()`.
- Cleanup `initiator` check in `quest::addskill()`.
- Cleanup `initiator` check in `quest::setlanguage()`.
- Cleanup `initiator` check in `quest::setskill()`.
* Update questmgr.cpp
* Update questmgr.cpp
* Update questmgr.cpp
* Update questmgr.cpp
2023-04-23 15:08:32 -04:00
Alex King
e3761cf2a3
[Cleanup] Add check for owner in quest::resumetimer() ( #3305 )
...
# Notes
- We didn't check for owner before doing `owner->GetName()`.
2023-04-23 15:07:49 -04:00
Alex King
ad1764b464
[Cleanup] Add cehck for owner in quest::pausetimer() ( #3304 )
...
# Notes
- We didn't check for `owner` before doing `owner->GetName()`.
2023-04-23 15:07:09 -04:00
Alex King
1c9ea57a4e
[Cleanup] Fix possible nullptr in quest::addloot() ( #3303 )
...
# Notes
- We didn't check for `owner` before calling `owner->IsNPC()`.
2023-04-23 15:06:53 -04:00
Alex King
03c158b674
[Crash] Fix possible nullptr in Client::GetCharMaxLevelFromQGlobal() ( #3317 )
...
# Notes
- We could possibly not have a `zone` here, causing a crash.
- http://spire.akkadius.com/dev/release/22.9.1?id=3051
- http://spire.akkadius.com/dev/release/22.9.1?id=3052
- http://spire.akkadius.com/dev/release/22.9.1?id=3073
- http://spire.akkadius.com/dev/release/22.9.1?id=3102
- http://spire.akkadius.com/dev/release/22.9.1?id=3103
- http://spire.akkadius.com/dev/release/22.9.1?id=3104
- http://spire.akkadius.com/dev/release/22.9.1?id=3107
- http://spire.akkadius.com/dev/release/22.9.1?id=3108
- http://spire.akkadius.com/dev/release/22.9.1?id=3109
- http://spire.akkadius.com/dev/release/22.9.1?id=3110
- http://spire.akkadius.com/dev/release/22.9.1?id=3111
- http://spire.akkadius.com/dev/release/22.9.1?id=3112
- http://spire.akkadius.com/dev/release/22.9.1?id=3113
- http://spire.akkadius.com/dev/release/22.9.1?id=3114
2023-04-23 15:05:47 -04:00
Aeadoin
39b5374e92
[Crash] Fix possible dereference of nullptr in Client::CalcHPRegen ( #3316 )
2023-04-23 14:27:43 -04:00
Aeadoin
2d3ddcb574
[Release] 22.10.0 ( #3300 )
2023-04-22 10:17:20 -04:00
Aeadoin
ed09281f66
[Bug Fix] Camping was causing player to leave raid, causing unexpected behavior ( #3299 )
2023-04-22 10:03:40 -04:00
Paul Coene
8e51bf8b19
Fix crash when Removing empty password protected channel. ( #3298 )
2023-04-22 08:49:34 -04:00
Alex King
844efa7e20
[Cleanup] Breaks in wrong spot in cases in spell_effects.cpp ( #3297 )
...
* [Cleanup] Breaks in wrong spot in cases in spell_effects.cpp
# Notes
- These breaks were inside conditions, meaning the case wasn't always broken.
* Update spell_effects.cpp
2023-04-22 08:49:13 -04:00
Alex King
fa3a5c7a72
[Feature] Make ornamentations work with any augment type ( #3281 )
...
* [Feature] Make ornamentations work with any augment type
# Notes
- On Live there are augments that are not type 20/21 and are ornamentations.
- We also only allow a singular augment type to be ornamentation augment types, this will allow you to use any augment type as an ornamentation if it has a proper Hero's Forge model or a non-IT63/non-IT64 idfile.
* Update ruletypes.h
* Update client_packet.cpp
* Update item_instance.cpp
* Cleanup.
2023-04-16 10:26:19 -04:00
Aeadoin
93db35658a
[Crash] Add additional raid integrity checks on Bot Spawn. ( #3295 )
...
* simple cleanup before changes
* can't be in a raid yet
* change to sizeof
* change to use sizeof
2023-04-16 10:06:19 -04:00
Alex King
d45a57056a
[Cleanup] Remove getd(), geti(), InUse(), lasterr(), my_get_sv(), and VarExists() in embperl.cpp/embperl.h ( #3283 )
...
* [Cleanup] Remove getd(), geti(), InUse(), lasterr(), and VarExists() in embperl.cpp/embperl.h
# Notes
- These are unused.
* Update embperl.h
* Update embperl.cpp
2023-04-15 13:20:18 -04:00
Alex King
ff40dbc710
[Cleanup] Utilize IsTaunting(), SetPetPower(), SetPetType(), and SetTaunting() ( #3275 )
...
* [Cleanup] Utilize SetPetPower() in zone/pets.cpp
# Notes
- This wasn't used before.
* Utilize other methods.
* Update special_attacks.cpp
2023-04-15 13:20:04 -04:00
Aeadoin
7523c972fa
[Crash] Fix crash with uninitialized item instance, and Bot timeout ( #3296 )
2023-04-15 13:12:48 -04:00
Alex King
4320c1429e
[Cleanup] Remove _GetMovementSpeed() from mob.h ( #3276 )
...
# Notes
- This is unused.
2023-04-14 19:42:48 -04:00
Alex King
dc8bfddd7a
[Cleanup] Remove IsFullHP from mob.cpp/mob.h ( #3277 )
...
# Notes
- This is unused.
2023-04-14 19:42:39 -04:00
Alex King
a8cdfb07e6
[Cleanup] Remove pendinggroup from mob.h ( #3278 )
...
# Notes
- This is unused.
2023-04-14 19:42:27 -04:00
Alex King
011de2692e
[Cleanup] Remove IsMeleeDmg() from skills.cpp/skills.h ( #3279 )
...
# Notes
- This is unused.
2023-04-14 19:42:14 -04:00
Alex King
0cc76ab489
[Cleanup] Remove position_same_update_count from client.cpp/client.h ( #3280 )
...
# Notes
- This is unused.
2023-04-14 19:42:01 -04:00
Alex King
c5c9985e0d
[Cleanup] Remove ExportVarComplex() from embparser.cpp/embparser.h ( #3282 )
...
# Notes
- This is unused.
2023-04-14 19:41:23 -04:00
Alex King
a7e95d7818
[Cleanup] Delete embxs.cpp/embxs.h ( #3284 )
...
* [Cleanup] Delete embxs.cpp/embxs.h
# Notes
- These files and the one method in them are unused.
* Update embperl.cpp
2023-04-14 19:40:51 -04:00
Alex King
933d856b5b
[Cleanup] Remove GetQGlobal() from qglobals.cpp/qglobals.h ( #3285 )
...
# Notes
- This is unused.
2023-04-14 19:40:35 -04:00
Alex King
285cc3af29
[Cleanup] Remove item_timers from questmgr.cpp/questmgr.h ( #3286 )
...
* [Cleanup] Remove item_timers from questmgr.cpp/questmgr.h
# Notes
- This is unused.
* Update questmgr.h
2023-04-14 19:40:21 -04:00
Alex King
de8ae7afa6
[Cleanup] Cleanup zone/zoning.cpp ( #3289 )
...
# Notes
- Duplicate outcome cases in `Client::Handle_OP_ZoneChange`.
- Use `.length()` over `strlen` in array defintition.
- Remove unnecessary `else if` in `Client::ZonePC`
2023-04-14 19:40:01 -04:00
Alex King
1b272cba50
[Cleanup] Remove unused ctor and use default dtor in xtargetautohaters.h ( #3290 )
...
* [Cleanup] Remove unused ctor and use default dtor in xtargetautohaters.h
# Notes
- Utilize default dtor.
- Remove unused ctor.
* Update zone_event_scheduler.cpp
2023-04-14 19:39:25 -04:00
Alex King
e35e38b039
[Cleanup] Remove unused variables and use reference in task_manager.cpp ( #3291 )
...
# Notes
- Remove unused `query` and `item` variable.
- Use a reference for task data instead of calling `cts->m_completed_tasks[task_index]` over and over.
2023-04-14 19:39:07 -04:00
Alex King
9215ba7a8a
[Cleanup] Remove always true statements in task_client_state.cpp ( #3292 )
...
# Notes
- `!tasks_enabled.empty()` is always true.
- `tasks_disabled.size()` is always true.
2023-04-14 19:38:35 -04:00
Alex King
3f4334985b
[Cleanup] Remove unnecessary condition and cleanup variable name in tasks.cpp ( #3293 )
...
# Notes
- `task_state` is verified by `safe_delete`.
- `size` is the name of a member variable, we should just use `sizeof(uint32_t)` instead.
2023-04-14 19:38:28 -04:00
Alex King
21002c2e8a
[Quest API] Fix LDoN Methods in Perl/Lua ( #3287 )
...
# Perl
- Add `quest::removeldonloss(theme_id)`.
- Add `quest::removeldonwin(theme_id)`.
# Lua
- Fix `eq.remove_ldon_win(theme_id)` as it was using `quest_manager.addldonwin(theme_id)` instead of `quest_manager.removeldonwin(theme_id)`.
2023-04-10 16:16:54 -04:00
Alex King
445f967ed6
[Quest API] Add ApplySpellRaid() and SetSpellDurationRaid() to Bots in Perl/Lua ( #3274 )
...
# Perl
- Add `$bot->ApplySpellRaid(spell_id)`.
- Add `$bot->ApplySpellRaid(spell_id, duration)`.
- Add `$bot->ApplySpellRaid(spell_id, duration, allow_pets)`.
- Add `$bot->ApplySpellRaid(spell_id, duration, allow_pets, is_raid_group_only)`.
- Add `$bot->SetSpellDuration(spell_id)`.
- Add `$bot->SetSpellDuration(spell_id, duration)`.
- Add `$bot->SetSpellDuration(spell_id, duration, allow_pets)`.
- Add `$bot->SetSpellDuration(spell_id, duration, allow_pets, is_raid_group_only)`.
# Lua
- Add `bot:ApplySpellRaid(spell_id)`.
- Add `bot:ApplySpellRaid(spell_id, duration)`.
- Add `bot:ApplySpellRaid(spell_id, duration, allow_pets)`.
- Add `bot:ApplySpellRaid(spell_id, duration, allow_pets, is_raid_group_only)`.
- Add `bot:SetSpellDuration(spell_id)`.
- Add `bot:SetSpellDuration(spell_id, duration)`.
- Add `bot:SetSpellDuration(spell_id, duration, allow_pets)`.
- Add `bot:SetSpellDuration(spell_id, duration, allow_pets, is_raid_group_only)`.
# Notes
- These methods weren't added initially as we did not support bots in raid groups until recently.
2023-04-09 12:00:12 -04:00
Alex King
57a15d473f
[Quest API] Add GetBuffSpellIDs() to Perl/Lua ( #3273 )
...
# Perl
- Add `$mob->GetBuffSpellIDs()`.
# Lua
- Add `$mob->GetBuffSpellIDs()`.
# Notes
- These methods allow operators to get a list of a mob's buff IDs without having to loop through their buffs themselves.
2023-04-09 10:58:35 -04:00
Trent
df92c578d2
[Rules] Optional summoning when already in melee range ( #3204 )
...
* Add summon melee range rule
* Fix compilation
* Remove redundant range check for HateSummon
2023-04-08 18:04:17 -04:00
Aeadoin
3af43a8e8d
[Hotfix] Resolve loading of inventory ( #3272 )
2023-04-08 17:45:06 -04:00
Aeadoin
647bcce30b
[Crash] Resolve crash due to uninitialized pointer. ( #3271 )
2023-04-08 17:21:53 -04:00
Alex King
25b527156c
[Cleanup] Fix possible nullptr inst in GetSharedBank() ( #3190 )
...
* [Cleanup] Fix possible nullptr inst in GetSharedBank()
# Notes
- We weren't continuing if we had a `nullptr`.
* Update shareddb.cpp
* Fix.
2023-04-08 09:42:10 -04:00
Aeadoin
b3ab7deb80
[Bots] Cleanup GetBotTables() ( #3270 )
2023-04-06 17:43:57 -05:00
Alex King
4a9cb07132
[Cleanup] Remove unnecessary setting of reuse variable in Bot::DoClassAttacks() ( #3233 )
...
# Notes
- Bash, Kick, and Taunt have the same reuse time, no reason to set it to the same value.
2023-04-05 19:17:15 -04:00
Alex King
8f1b62d166
[Cleanup] Remove always true/false conditions from bot.cpp ( #3237 )
...
* [Cleanup] Remove always true/false conditions from bot.cpp
# Notes
- Some of these conditions were always true or false based on previous conditions.
* Update bot.cpp
2023-04-05 19:05:49 -04:00
Alex King
7e9994b5d4
[Cleanup] Fix ornamentation augment icons in inspect requests ( #3264 )
...
* [Cleanup] Fix ornamentation augment icons in inspect requests
# Notes
- We were not setting `aug_item` to the ornamentation augment when we found one.
* Update client.cpp
2023-04-05 19:04:32 -04:00
Chris Miles
f2f8fae58b
[Telnet] Telnet encoding fix ( #3269 )
2023-04-05 12:16:25 -04:00
Alex King
3a1e88f9ed
[Cleanup] Remove unused SetConfigFile in common/eqemu_config.h ( #3208 )
...
# Notes
- This is unused.
2023-04-05 12:15:10 -04:00
Alex King
4e101aa6d6
[Cleanup] Use default dtor instead of empty dtor for EQTime in eqtime.cpp/eqtime.h ( #3210 )
...
# Notes
- This is better than using an empty dtor.
2023-04-05 12:15:02 -04:00
Alex King
ef411ee154
[Cleanup] Use default ctor instead of an empty ctor. ( #3206 )
...
# Notes
- Use `= default;` instead of an empty ctor.
- https://pvs-studio.com/en/docs/warnings/v832/
2023-04-05 12:14:22 -04:00
Alex King
93b3f97f24
[Cleanup] Cleanup discord.cpp and discord_manager.cpp ( #3205 )
...
# Notes
- Unused variables in `discord.cpp`.
- Use `.clear()` instead of setting to `""` in `discord_manager.cpp`.
2023-04-05 12:14:14 -04:00
Alex King
c1d4cb90b9
[Cleanup] Cleanup cheap-to-copy reference to use value instead in eq_stream_ident.cpp/eq_stream_ident.h ( #3209 )
...
# Notes
- More performant to pass by value than by reference.
2023-04-05 12:14:01 -04:00
Alex King
e939c82717
[Cleanup] Convert equipable_slot_list to std::vector from std::list in bot_command.cpp ( #3253 )
...
# Notes
- No need to use a `std::list` here.
2023-04-05 11:35:04 -04:00
Alex King
7d03479f41
[Cleanup] Use constant reference and check for empty string properly in dbcore.cpp ( #3203 )
...
# Notes
- Passing by constant reference is more performant.
- Checking for empty string with `!= '\0'` is more performant.
- https://pvs-studio.com/en/docs/warnings/v805/
- https://pvs-studio.com/en/docs/warnings/v813/
2023-04-05 11:27:50 -04:00
Alex King
ff440e16b6
[Cleanup] Use .clear() and .empty() instead of comparing to empty string or setting to empty string in CheckDatabaseConvertPPBlob() ( #3201 )
...
# Notes
- Use these methods to increase performance.
2023-04-05 11:27:12 -04:00
Alex King
c6bb0f6495
[Cleanup] Move variable definition to more relevant scope in DatabaseDumpService::Dump() ( #3200 )
...
# Notes
- This was unused except for in this one spot, move to scope of condition where it's used.
- https://pvs-studio.com/en/docs/warnings/v821/
2023-04-05 11:26:21 -04:00
Alex King
d142bc552a
[Cleanuo] Only define row if we have results in Database::GetCharacterID() ( #3199 )
...
# Notes
- This is more performant and we don't unnecessarily define a variable we can't use.
- https://pvs-studio.com/en/docs/warnings/v821/
2023-04-05 11:25:28 -04:00
Alex King
7dc57c3b05
[Cleanup] Utilize .empty() instead of checking for an empty string in Database::ReserveName() ( #3198 )
...
# Notes
- This is more performant.
- https://pvs-studio.com/en/docs/warnings/v815/
2023-04-05 11:24:54 -04:00
Alex King
ea9b09cf1f
[Cleanup] Remove unused variable in Database::CopyCharacter() ( #3197 )
...
# Notes
- This variable was created but never used.
- https://pvs-studio.com/en/docs/warnings/v808/
2023-04-05 11:24:27 -04:00
Alex King
968278d8f8
[Cleanup] Use .clear() instead of setting string to empty in eqemu_command_handler.cpp ( #3195 )
...
# Notes
- `x = ""` has less performance than `x.clear()`.
- https://pvs-studio.com/en/docs/warnings/v815/
2023-04-05 11:24:12 -04:00
Alex King
aa910864c8
[Cleanup] Remove unused macros in common/types.h ( #3194 )
...
# Notes
- These are unused.
2023-04-05 11:23:37 -04:00
Alex King
1499f3338e
[Cleanup] Remove always true condition in Strings::Commify() ( #3193 )
...
# Notes
- `i < 0` was always true.
2023-04-05 11:23:24 -04:00
Alex King
fef2f9fc61
[Cleanup] Fix shared_tasks.cpp/shared_tasks.cpp variable named same as class member ( #3192 )
...
* [Cleanup] Fix shared_tasks.cpp/shared_tasks.cpp variable named same as class member
# Notes
- This variable was named `m_db_shared_task` which is the same as `SharedTask:;m_db_shared_task`.
* Single letter receiver of complex type.
2023-04-05 11:22:42 -04:00
Alex King
8afbc585da
[Cleanup] Remove bool return from GetSharedPlatinum() ( #3191 )
...
# Notes
- This was returning `false` and implicitly converting it to an integer.
2023-04-05 11:22:23 -04:00
Alex King
457ce85746
[Cleanup] Cleanup always true/false statements in shareddb.cpp ( #3189 )
...
# Notes
- `parent_index < EQ::invslot::SLOT_BEGIN` was always `false`.
- `item->LoreGroup != -1` was always `true`.
2023-04-05 11:21:43 -04:00
Alex King
49c093dc62
[Cleanup] Remove always true statement in say_link.cpp ( #3188 )
...
# Notes
- This is always true since we check `!saylinks.empty()` prior to this.
2023-04-05 11:20:52 -04:00
Alex King
beccd557a8
[Cleanup] Cleanup item_instance.cpp always true statements and reassigning of same values ( #3187 )
...
# Notes
- Some things were always true.
- Some values were reassigned to the value they already were.
2023-04-05 11:20:36 -04:00
Alex King
e11610b9fa
[Cleanup] Remove unnecessary check for IsStackable() in DeleteItem() ( #3186 )
...
# Notes
- We check the opposites therefore we don't need either.
- https://pvs-studio.com/en/docs/warnings/v728/
2023-04-05 11:20:13 -04:00
Alex King
3e652b98bc
[Cleanup] Cleanup macros in features.h ( #3185 )
...
# Notes
- These needed to either be wrapped in parentheses or simplified to their values.
- https://pvs-studio.com/en/docs/warnings/v1003/
2023-04-05 11:18:22 -04:00
Alex King
d43af28de4
[Cleanup] Multiple cases with same outcome in GetDiscordPayloadFromEvent() ( #3184 )
...
# Notes
- All 4 of these use `FormatWithNodata`.
2023-04-05 11:17:52 -04:00
Alex King
f5106b6af6
[Cleanup] Remove unused code in eq_packet.cpp/eq_packet.h ( #3183 )
...
# Notes
- These are unused.
2023-04-05 11:17:29 -04:00
Alex King
3386d13d2d
[Cleanup] results variable is assigned but never used in SaveCharacterCreate() ( #3180 )
...
# Notes
- This was unnecessary since `QueryDatabase()` runs regardless.
2023-04-05 11:17:10 -04:00
Alex King
d1b7c675f9
[Cleanup] Validate for nullptrs in bot.cpp ( #3232 )
...
* [Cleanup] Validate for nullptrs in bot.cpp
# Notes
- Validate for nullptrs in these spots in bot.cpp before using the variable.
* Update bot.cpp
2023-04-05 11:15:46 -04:00
Alex King
a40e1cf893
[Cleanup] Add missing breaks and returns in bonuses.cpp ( #3231 )
...
# Notes
- Many spots were missing a `break;` or a `return` for their value.
2023-04-05 11:15:22 -04:00
Alex King
c81ab00764
[Cleanup] Set bonuses to use spell ID instead of boolean ( #3230 )
...
# Notes
- Spell bonuses `Illusion` is the spell ID, not a boolean.
2023-04-05 11:14:55 -04:00
Alex King
025ef5e1d6
[Cleanup] Move unreachable code in ApplySpellsBonuses() ( #3229 )
...
# Notes
- This code was unreachable since it was inside the switch and should have been checked on its own in the condition where we verify we are using AISpellEffects.
2023-04-05 11:14:28 -04:00
Alex King
1f29a40e6d
[Cleanup] Remove extraneous check for NegateAttacks in SE_NegateAttacks ( #3228 )
...
# Notes
- We checked both, we only need to check one.
2023-04-05 11:12:02 -04:00
Alex King
66cadd599b
[Cleanup] Remove extraneous parentheses around math in Mob::ApplySpellsBonuses() ( #3227 )
...
# Notes
- Extra parentheses.
2023-04-05 11:11:41 -04:00
Alex King
aa0345c1f1
[Cleanup] Cleanup duplicate conditions in negate bonuses in bonuses.cpp ( #3226 )
...
# Notes
- Lots of duplicate conditions.
2023-04-05 11:11:22 -04:00
Alex King
73b11c5036
[Cleanup] SE_StrikeThrough and SE_StrikeThrough2 are the same in bonuses.cpp ( #3223 )
...
# Notes
- These were the same code duplicated.
2023-04-05 11:05:59 -04:00
Alex King
efbeb2dbb7
[Cleanup] SE_AttackSpeed3 effect_value is always less than 0 ( #3222 )
...
# Notes
- This was always false.
2023-04-05 11:05:44 -04:00
Alex King
8c97c20727
[Cleanup] Fix skill_used being used as boolean in Mob::CommonDamage() ( #3220 )
...
# Notes
- This is unnecessary as we always have a skill value.
2023-04-05 11:03:28 -04:00
Alex King
f2d07e5c69
[Cleanup] Remove unnecessary break in while loop in Mob::AddToHateList() ( #3219 )
...
# Notes
- This is unnecessary and breaks the loop for no reason.
2023-04-05 10:31:57 -04:00
Alex King
64d5b54e65
[Cleanup] Fix filter condition in attack.cpp ( #3218 )
...
# Notes
- This condition was causing them to be used as `booleans` versus being checked individually.
2023-04-05 10:31:34 -04:00
Alex King
89b3a04eb3
[Cleanup] Identical conditions right beside each other in aa.cpp ( #3213 )
...
# Notes
- These conditions were identical and could be consolidated.
2023-04-05 10:30:27 -04:00
Alex King
1bafe0b6b3
[Cleanup] other is always defined in these cases in attack.cpp ( #3217 )
...
# Notes
- `other` is always defined since we check it prior to checking here.
2023-04-05 10:30:13 -04:00
Alex King
82762c3f5a
[Cleanup] Use variable for character instead of a loop ( #3268 )
...
# Notes
- Store character in a variable instead of looping a list of 1 entry.
2023-04-05 10:29:16 -04:00
Alex King
2742eca119
[Cleanup] Remove unnecessary conditions in Client::SendFactionMessage() ( #3267 )
...
# Notes
- `faction_value < this_faction_max` and `faction_value > this_faction_min` are always true if they get to that point in the code.
2023-04-05 10:27:15 -04:00
Alex King
8fc7f3a732
[Cleanup] Cleanup unnecessary condition in Client::SendAlternateCurrencyValue() ( #3266 )
...
# Notes
- `value == 0` is unnecessary as it can only be 0 if we fail the `value > 0` check.
2023-04-05 10:27:01 -04:00
Alex King
39ce0178f9
[Cleanup] Remove unnecessary conditions in Client::Consume() ( #3265 )
...
# Notes
- We check `increase < 0` prior to this, so this can't ever happen.
2023-04-05 10:26:32 -04:00
Alex King
3d2f560436
[Cleanup] Fix GetLastName() length check in Client::SendWindow() ( #3263 )
...
# Notes
- `target->GetLastName()` was always true, we need to make sure the target has a last name.
2023-04-05 10:23:54 -04:00
Alex King
a0768d2d28
[Cleanup] Remove unnecessary conditions in Client::FilteredMessageCheck() ( #3262 )
...
# Notes
- We check `FilterHide` prior to the secondary conditions, so it can never show up.
2023-04-05 10:23:33 -04:00
Alex King
9009a7aa23
[Cleanup] Remove extra assignment of current_endurance in Client ctor ( #3261 )
...
# Notes
- We already assign `current_endurance` to `0`, no need to do it again.
2023-04-05 10:23:20 -04:00
Alex King
67b03b4e31
[Cleanup] Combine similar cases in Client::InitInnates() ( #3260 )
...
# Notes
- These cases were the same, consolidating them is better.
2023-04-05 10:23:05 -04:00
Alex King
b08975aefb
[Cleanup] Use .empty() in Client::ScribeSpells() and Client::LearnDisciplines() ( #3259 )
...
* [Cleanup] Use .empty() in Client::ScribeSpells() and Client::LearnDisciplines()
# Notes
- Use `.empty()` instead of using a variable storing size in condition.
* Update client.cpp
2023-04-05 10:22:36 -04:00
Alex King
ea3a7cae0b
[Cleanup] Remove always true conditions and unreachable code in Client::SendMercPersonalInfo() ( #3258 )
...
* [Cleanup] Remove unreachable code in Client::SendMercPersonalInfo()
# Notes
- This cannot be reached due to prior returns.
* Update client.cpp
* Update client.cpp
2023-04-05 10:14:07 -04:00
Alex King
81314a3315
[Cleanup] Fix check for !this in Client::SendHPUpdateMarquee() ( #3257 )
...
# Notes
- `!this` isn't valid, as `this` can never be nullptr.
2023-04-05 10:13:24 -04:00
Alex King
d33cfad567
[Cleanup] Fix always false conditions in Client::IncStats() ( #3256 )
...
# Notes
- Value can never be less than `0` as it's unsigned.
2023-04-05 10:12:32 -04:00
Alex King
c1698a5bdd
[Cleanup] Fix possible overflows in Client::AddPlatinum() and Client::TakePlatinum() ( #3255 )
...
# Notes
- Fix possible overflows by casting properly.
2023-04-05 10:10:33 -04:00
Alex King
2a094e8792
[Cleanup] Use variable for c->GetTarget() instead of calling multiple times in bot_command.cpp ( #3254 )
...
# Notes
- Calling multiple times is less performant than using a variable.
2023-04-05 10:09:19 -04:00
Alex King
4a0725e278
[Cleanup] Cleanup string -> char* -> string conversions in bot_command.cpp ( #3252 )
...
# Notes
- We were converting back and forth between types unnecessarily.
2023-04-05 09:59:43 -04:00
Alex King
218ffbb2c5
[Cleanup] Delete unused strings in bot_command.cpp ( #3251 )
...
# Notes
- These are unused.
2023-04-05 09:59:24 -04:00
Chris Miles
3e30e78158
[Backups] Fix database dump error reporting ( #3175 )
...
* [Backups] Fix database dump error reporting
* Update database_dump_service.cpp
2023-04-04 00:14:23 -05:00
Aeadoin
ff2af0c49e
[Release] 22.9.1 ( #3250 )
2023-04-03 17:49:39 -04:00
Alex King
cd5697bc81
[Cleanup] Multiple cases same outcome and set skip variable to same value ( #3216 )
...
# Notes
- `skip` is set to `attacker` before it's set to `attacker` again.
- Multiple spots in `Mob::AttackAnimation` use the same animations.
2023-04-03 17:24:27 -04:00
Alex King
b1571cd062
[Cleanup] Wake The Dead argument was named the same as a member variable in Mob ( #3214 )
...
# Notes
- Member variable is also named `target`.
2023-04-03 17:23:48 -04:00
Alex King
3e5d0a0601
[Cleanup] Unconditional return in for loop in GetRaidByCharID() ( #3179 )
...
# Notes
- This is improper and should just check if we have no result, return `0`, otherwise return `row[0]` of the row we queried.
2023-04-03 17:23:32 -04:00
Alex King
6a80a061dd
[Cleanup] Multiple cases with same outcome in GetGMSayColorFromCategory() ( #3182 )
...
# Notes
- Both cases have the same return.
- https://pvs-studio.com/en/docs/warnings/v1037/
2023-04-03 17:20:43 -04:00
Alex King
509fd0615e
[Cleanup] Remove unused query variable in Database::DeleteInstance() ( #3202 )
...
# Notes
- Variable was defined but never used.
2023-04-03 17:18:40 -04:00
Alex King
da5e672a28
[Cleanup] Remove unnecessary group validation in Bot::Death() ( #3235 )
...
# Note
- We already break if there is no group above, revalidation is unnecessary.
2023-04-03 17:15:09 -04:00
Alex King
7090382074
[Cleanup] Remove unnecessary skill_to_use check in Bot::DoClassAttacks() ( #3236 )
...
# Notes
- `skill_to_use` will never be `-1` as it passes through the switch and checks class.
2023-04-03 17:11:56 -04:00
Alex King
26eabcd7a4
[Cleanup] Explicitly cast to float for more precision in Bot::GenerateBastHitPoints() ( #3238 )
...
# Notes
- Not casting explicitly we lost precision.
2023-04-03 17:05:48 -04:00
Alex King
60091015d3
[Cleanup] Remove unnecessary >= 0 checks for procs in botspellsai.cpp ( #3242 )
...
# Notes
- These are always `>= 0` since they're `uint16`.
2023-04-03 17:05:03 -04:00
Alex King
470392021b
[Cleanup] Remove unnecessary setting of spell_type_index in Bot::GetChanceToCastBySpellType() ( #3243 )
...
# Notes
- The default is already `SPELL_TYPE_COUNT`, no need to set it again.
2023-04-03 17:04:51 -04:00
Alex King
90984c3215
[Cleanup] Remove unnecessary spell_list validation check in botspellsai.cpp ( #3244 )
...
# Notes
- We check if valid above, no need to do it again.
2023-04-03 17:03:56 -04:00
Alex King
da2296d416
[Cleanup] Remove unnecessary hpr checks in Bot::BotCastHeal() ( #3245 )
...
# Notes
- These checks are unnecessary as we know it doesn't pass previous checks.
2023-04-03 17:03:36 -04:00
Alex King
c9221f239c
[Cleanup] Remove unnecessary botCaster check in Bot::GetDebuffBotSpell() ( #3246 )
...
# Notes
- We already check if `botCaster` is invalid above, no need to do so again.
2023-04-03 17:02:48 -04:00
Alex King
f4edc69a87
[Cleanup] Cleanup unnecessary string -> char* -> string conversions in eqemu_config.cpp ( #3207 )
...
# Notes
- These conversions are unnecessary since we can just use the string itself.
2023-04-03 17:01:44 -04:00
Alex King
7d04608c4d
[Cleanup] summon_count > MAX_SWARM_PETS is always false in aa.cpp ( #3212 )
...
# Notes
- This was always false.
2023-04-03 17:00:08 -04:00
Alex King
32be049d96
[Cleanup] Remove extraneous loottable_id setting in WakeTheDead in aa.cpp ( #3215 )
...
# Notes
- We already set `made_npc->loottable_id` to `0` above.
2023-04-03 16:59:06 -04:00
Alex King
26fd52fb06
[Cleanup] Fix SEResist array settings duplicate code ( #3225 )
...
# Notes
- These conditions did the same thing, combining them is simpler.
2023-04-03 16:53:48 -04:00
Alex King
5dd849ac75
[Cleanup] Fix typo where itembonuses should have been used instead of spellbonuses ( #3221 )
...
# Notes
- `itembonuses` was the proper name here, not `spellbonuses`.
2023-04-03 16:51:22 -04:00
Alex King
f484fe4176
[Cleanup] gid is assigned 2 values simultaneously in bot.cpp ( #3234 )
...
# Notes
- Unnecessarily assigning the value twice simultaneously.
2023-04-03 16:47:46 -04:00
Alex King
3d20c0d6aa
[Cleanup] Change level to bot_level in Bot::DoClassAttacks() to not overlap member variable ( #3239 )
...
# Notes
- Member variable is named `level`, change variable to `bot_level` so we don't cause issues.
2023-04-03 16:47:31 -04:00
Alex King
0297045cc5
[Cleanup] Move cases in Bot::AICastSpell() ( #3247 )
...
# Notes
- These all returned `false`, no need to be separate.
2023-04-03 16:46:31 -04:00
Alex King
cb90d00832
[Cleanup] Cleanup variable names in Bot::AddSpellToBotList() ( #3248 )
...
# Notes
- `max_hp` was named after a member variable.
2023-04-03 16:45:36 -04:00
Aeadoin
f752b57a55
[Cleanup] Cleanup uses of insert/push_back when a temp object is used. ( #3170 )
2023-04-03 16:45:01 -04:00
Alex King
2bb15271c5
[Cleanup] Fix possible dereferencing of invalid iterator in constants ( #3181 )
...
# Notes
- Possible dereferencing of invalid iterator based on logic: https://pvs-studio.com/en/docs/warnings/v783/
2023-04-03 16:42:45 -04:00
Alex King
6976e27501
[Cleanup] Use a constant reference for content_flags in SetContentFlags() ( #3196 )
...
# Notes
- This is more performant.
- https://pvs-studio.com/en/docs/warnings/v813/
- https://pvs-studio.com/en/docs/warnings/v820/
2023-04-03 16:38:20 -04:00
Alex King
c9f27d6f90
[Cleanup] Remove possible dereferenced nullptrs in bot.cpp ( #3241 )
...
# Notes
- Possible dereferenced nullptrs based on logic.
2023-04-03 16:30:46 -04:00
Alex King
cb129efcad
[Cleanup] Fix loop and code duplication for SE_ProcOnKillShot ( #3224 )
...
* [Cleanup] Fix loop for SE_ProcOnKillShot
# Notes
- We were doing `e = 3` instead of doing `e += 3`.
* Update bonuses.cpp
2023-04-03 16:28:15 -04:00
Aeadoin
d653989b03
[Bug Fix] Fix issue with Bot Raid invites not working. ( #3249 )
...
* [Bug Fix] Fix issue with Bot Raid invites not always working.
* ordering
2023-04-03 16:28:05 -04:00
Alex King
ea9b373180
[Cleanup] Further bot.cpp nullptr checks ( #3240 )
...
# Notes
- `nullptr` validation
2023-04-03 16:25:00 -04:00
Aeadoin
a4e006fbfb
[Bug Fix] Correct Forward Declaration compilation warning ( #3176 )
...
* [Bug Fix] Correct Forward Declaration compilation warning
* no need for include
2023-04-02 12:19:43 -04:00
Aeadoin
1ffdd4cb34
[Performance] Change to use Pass by reference where valid. ( #3163 )
...
* [Performance] Change to use Pass by reference where valid.
* typo
2023-04-01 22:55:40 -04:00
Aeadoin
7f7ba2e6c2
[Cleanup] Remove unused Includes under zone files ( #3162 )
2023-04-01 22:55:28 -04:00
Aeadoin
090086f50c
[Release] 22.9.0 ( #3174 )
2023-04-01 14:27:52 -04:00
Alex King
407b003f7d
[Cleanup] Add client pointer validation to Zone::GetClosestZonePoint() ( #3173 )
...
# Notes
- We were not validating pointer here, could cause issues.
2023-04-01 14:22:52 -04:00
Alex King
b6d315d803
[Cleanup] Remove unnecessary validation check in Zone::ClearBlockedSpells() ( #3172 )
...
# Notes
- This is unnecessary, since `safe_delete_array` checks for validity.
2023-04-01 13:59:03 -04:00
Aeadoin
6927177291
[Fix] Correct SE_SlayUndead & SE_HeadShotLevel limit Value when applied. ( #3171 )
2023-04-01 13:31:13 -04:00
Aeadoin
31ede355a8
[Cleanup] Cleanup excessive type casting: string -> char * -> string ( #3169 )
...
* [Cleanup] Cleanup excessive type casting: string -> char * -> string
* [Cleanup] Cleanup excessive type casting: string -> char * -> string
2023-04-01 12:45:16 -04:00
Aeadoin
0df84e1ee6
[Crash] Fix out of bound arrays, other potential crashes ( #3166 )
2023-04-01 12:44:41 -04:00
Aeadoin
0d509a7f3a
[Crash] Add Checks for valid pointers or fix existing. ( #3164 )
2023-04-01 12:44:00 -04:00
Aeadoin
4c2271ff69
[Fix] Prevent VerifyGroup from setting OOZ membername to Null character. ( #3168 )
2023-04-01 12:40:55 -04:00
Aeadoin
ca2072e7bf
[Bots] Remove Bot Groups Functionality ( #3165 )
...
* [Bots] Remove Bot Groups Functionality
* in-class initializers for member variables.
2023-03-31 21:37:52 -04:00
Alex King
e1eb1ff738
[Quest API] Add missing Luabind definitions to lua_general.cpp ( #3167 )
...
# Notes
- These definitions were missing somehow.
2023-03-31 21:05:01 -04:00
Aeadoin
25f5898bae
[Release] 22.8.2 ( #3161 )
2023-03-30 09:22:58 -04:00
Aeadoin
934ff3dadf
[Bug Fix] Correct logic checks for Bot rule AllowOwnerOptionAltCombat ( #3158 )
...
* [Bug Fix] Correct logic checks for Bot rule AllowOwnerOptionAltCombat
* fix ordering of raid/group checks
2023-03-30 08:31:57 -04:00
Aeadoin
e4ff76dceb
[Bug Fix] Fix for OOZ Group updates when removing/inviting Bots ( #3159 )
...
* [Bug Fix] Fix for Cross Zone Group updates with Bots when disbanding/joining groups.
* check for nullptr
2023-03-30 08:31:50 -04:00
Alex King
6960a1a682
[Bug Fix] Fix issues with Lua tables not starting at index 1 ( #3160 )
...
* [Bug Fix] Fix issues with Lua tables not starting at index 1
# Notes
- This would cause the first item in the table to be inaccessible since Lua tables start at index `1` instead of index `0`.
- All other spots using Lua tables have their indexes starting at `1`.
* Update lua_general.cpp
2023-03-30 06:02:53 -04:00
Aeadoin
d4174ca236
[Fix] Fix strcpy-param-overlap ( #3157 )
2023-03-29 08:33:06 -04:00
Aeadoin
7854130a93
[Bug Fix] Check Rule "Bots Enabled" to prevent bot database calls on connect ( #3154 )
...
* [Bug Fix] Check for Rule "Bots Enabled" to prevent bot database calls if not enabled.
* formatting
* check if LoadBotsList failed, or is bots_list empty
2023-03-28 22:44:47 -04:00
Alex King
e9c63c7d94
[Rules] Remove Guild Bank Zone ID Rule ( #3156 )
...
# notes
- This rule is useless as guild bank zone ID is hard-coded into the client.
2023-03-28 21:58:58 -04:00
Aeadoin
27e0665aae
[Bug Fix] Fix bot_raid_members.sql for MYSQL. ( #3155 )
2023-03-28 15:25:16 -04:00
Alex King
ea2f431fce
[Fix] Fix an issue with EVENT_DISCONNECT not firing on regular /camp ( #3153 )
...
* [Fix] Fix an issue with EVENT_DISCONNECT not firing on regular /camp
# Notes
- We were only sending `EVENT_DISCONNECT` on GM instant camps or linkdeads.
* Update client_process.cpp
2023-03-27 21:45:02 -04:00
Aeadoin
8bdcf7cb94
[Crash] Add Checks for out of bounds & dereferencing nullptrs ( #3151 )
...
* [Crash] Add Checks for out of bounds/nullptr dereferences
* formatting
* formatting
* formatting
* Update bot.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-03-27 21:43:46 -04:00
Aeadoin
87cb74b851
[Release] 22.8.1 ( #3152 )
2023-03-27 17:55:48 -04:00
Alex King
26c267db1b
[Cleanup] "equipped" not "equiped", "dual" not "duel". ( #3149 )
...
* [Cleanup] "equipped" not "equiped", "dual" not "duel".
# Notes
- These are spelled incorrectly.
* Update spdat.h
* Formatting further.
* Update api_service.cpp
2023-03-27 17:55:37 -04:00
Aeadoin
99f8e6cef5
[Bug Fix] Fix for NPCs having spells interrupted. ( #3150 )
2023-03-27 16:57:08 -04:00
Aeadoin
b6917ec782
[Release] 22.8.0 ( #3148 )
2023-03-25 20:48:43 -04:00
Aeadoin
eb51550109
[Cleanup] Cleanup Strings::ToInt uses. ( #3142 )
...
* [Cleanup] Cleanup Strings::ToInt uses.
* fix for conversion
* remove != 0
* cleanup
2023-03-25 20:32:30 -04:00
Alex King
9d1ace627c
[Feature] Add support for -1 extradmgskill to allow all skills to be scaled. ( #3136 )
...
* [Feature] Add support for -1 extradmgskill to allow all skills to be scaled.
- `$mob->GetSkillDmgAmt(skill_id)` now uses `int` instead of `uint16`.
- `statbonuses:GetSkillDamageAmount(skill_id)` now uses `-1` properly.
- `mob:GetSkillDmgAmt(skill_id)` now uses `int` instead of `uint16`.
- A `-1` value in `extradmgskill` denotes the ability to scale all skills at once.
- Consolidated `AddItemBonuses()`, `AdditiveWornBonuses()`, `CalcItemBonuses()`, and `CalcRecommendedLevelBonus()` to mob-based methods to avoid code duplication.
- Bots, NPCs, and Mercs can now use additive worn effects if the rule is enabled, as well as all other proper stat bonuses that only clients had before.
- No SQL update required to change `extradmgskill` and `extradmgamt` to `int` as they already are this type in the database, just had to adjust `item_data.h` and `shareddb.cpp`.
* Update mob.cpp
* Cleanup.
* Cleanup.
* Move #include <vector> to header.
* Add method for GetExtraDamageSkills
* fix additembonuses
* Update bonuses.cpp
* Update mob.cpp
* Out of bounds.
* Update bonuses.cpp
---------
Co-authored-by: Aeadoin <109764533+Aeadoin@users.noreply.github.com >
2023-03-25 20:26:01 -04:00
Aeadoin
ec3ef411a1
[Fix] Fix for SQL Query in npc_scale_global_base ( #3144 )
2023-03-25 20:08:40 -04:00
Aeadoin
1394b6a4d2
[Hotfix] Fix for Items looted from corpses. ( #3147 )
2023-03-25 20:00:31 -04:00
Aeadoin
7f41547963
[Crash] Fix for crash in Raid::QueuePacket ( #3145 )
...
* [Crash] Fix for crash in Raid::QueuePacket
* bots can't be a part of BalanceMana
* corrected additions
* adding additional is_bot gates
* updating raid for loops to be range based.
* typo
* formatting
* formatting
2023-03-25 18:02:05 -04:00
Alex King
2e4071cdcf
[Cleanup] Remove extern bool Critical ( #3146 )
...
# Notes
- This is unused.
2023-03-25 17:48:40 -04:00
Aeadoin
dc475a1bd7
[Release] 22.7.0 ( #3143 )
2023-03-24 15:11:42 -05:00
Aeadoin
59ad91a140
[Feature] Add Data Bucket support for scaling of Heroic Stats. ( #3058 )
...
* [Feature] Add Data Bucket support for scaling of Heroic Stats.
* update
* fixes, still reworking logic
* fixes, still reworking logic
* logic done
* logic done
* fixes
* Cleanup
* Cleanup
* Cleanup naming, verify behaviors
* formatting
* formatting
* fix issue with endurance and mana.
* update rule desc
* cleanup
* DataBucket Struct
* Cleanup data_bucket.cpp and add constants
* cleanup
* changes
* formatting
* fix from merge
* escape keyword `key`
* Add `key` to generator, run repository-generator.pl
* fix for change to key
* cleanup
* formatting
* formatting
* typo
2023-03-23 21:42:13 -04:00
Aeadoin
abc27ab423
[Bug Fix] Fix edge cases where camped bots would be left in a raid ( #3139 )
...
* [Bug Fix] Fix edge cases where camped bots would be left in a raid
* formatting
2023-03-23 19:23:34 -04:00
Aeadoin
c975dc2412
[Bug Fix] Fix for transferring Raid Leader ( #3140 )
2023-03-23 19:04:59 -04:00
Aeadoin
e085f271f5
[Bug Fix] Fix for incorrect bindpoint x,y,z,headings ( #3141 )
2023-03-23 18:55:56 -04:00
Alex
5a6314e1a9
[Fix] Fixes for corpses not properly saving some item instance data correctly. ( #3123 )
...
* Convert ZoneDb::LoadCharacterCorpseData to use a cleaner api that has a better layout.
* Update corpse save methods to use a new cleaner api.
* Add item to corpse will use a few new fields that don't yet save.
* Fix for some issues moving data to corpses.
* Make CreateItem more explicit to avoid overlooking places it's used and add more arguments.
* DB changes
* Revert of the changes to the database.CreateItem api change.
* Missed one.
* Fixes for mr Krab
* Small formatting
---------
Co-authored-by: KimLS <KimLS@peqtgc.com >
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-03-23 01:16:52 -05:00
Aeadoin
dc45e0d280
[Fix] Change SPA 193 Weapon Damage to allow values over 65,535 ( #3138 )
2023-03-23 01:06:51 -05:00
Aeadoin
2e2c4d64fe
[Cleanup] Cleanup uses of Strings::ToInt to match correct type. ( #3054 )
...
* [Cleanup] Cleanup uses of Strings::ToInt to match correct type.
* cleanup
2023-03-22 12:22:03 -04:00
Aeadoin
c5add503ab
[Bug Fix] Fix for Raid Disband if leader not in same zone. ( #3135 )
2023-03-21 19:16:01 -04:00
Aeadoin
fe2dcb6544
[Crash] Fix dangling Group member pointers for Bots. ( #3134 )
...
* [Crash] Fix dangling Group member pointers for Bots.
* fixes for edge cases
2023-03-21 11:57:04 -04:00
Alex King
4fe44f4cb6
[Quest API] Add Timer related methods to Mobs in Perl/Lua ( #3133 )
...
* [Quest API] Add Timer related methods to Mobs in Perl/Lua
# Perl
- Add `quest::ispausedtimer(timer_name)`.
- Add `quest::pausetimer(timer_name)`.
- Add `quest::resumetimer(timer_name)`.
- Add `$mob->GetRemainingTimeMS(timer_name)`.
- Add `$mob->GetTimerDurationMS(timer_name)`.
- Add `$mob->HasTimer(timer_name)`.
- Add `$mob->IsPausedTimer(timer_name)`.
- Add `$mob->PauseTimer(timer_name)`.
- Add `$mob->ResumeTimer(timer_name)`.
- Add `$mob->SetTimer(timer_name)`.
- Add `$mob->SetTimerMS(timer_name)`.
- Add `$mob->StopTimer(timer_name)`.
# Lua
- Add `mob:GetRemainingTimeMS(timer_name)`.
- Add `mob:GetTimerDurationMS(timer_name)`.
- Add `mob:HasTimer(timer_name)`.
- Add `mob:IsPausedTimer(timer_name)`.
- Add `mob:PauseTimer(timer_name)`.
- Add `mob:ResumeTimer(timer_name)`.
- Add `mob:SetTimer(timer_name)`.
- Add `mob:SetTimerMS(timer_name)`.
- Add `mob:StopTimer(timer_name)`.
# Notes
- The mob-based methods allow operators to loop entity list or whatever to set, stop, resume, pause, etc for timers.
* StopAllTimers()
* Update questmgr.cpp
2023-03-20 16:18:51 -04:00
Alex King
63a8d2d641
[Cleanup] Delete zone_numbers.h ( #3129 )
...
* [Cleanup] Delete zone_numbers.h
# Notes
- This is unused.
* Update client_packet.cpp
* Update client_packet.cpp
2023-03-20 12:06:40 -04:00
Alex King
abcb5d069f
[Cleanup] Remove FindPatch() from struct_category.cpp and struct_category.h ( #3130 )
...
# Notes
- This is unused.
2023-03-20 12:06:10 -04:00
Aeadoin
d6b954a4b9
[Cleanup] Cleaning up Raid.cpp ( #3125 )
...
* [Cleanup] Cleanup Raid.cpp
* cleanup
* fix is_bot instances
* bracket cleanup
* bracket cleanup
* rename variables in struct
* fix for merge
2023-03-20 11:39:14 -04:00
Alex King
2415645b86
[Fix] Fix typo for bot_id raid_members column in db_update_manifest.txt ( #3132 )
...
# Notes
- This was causing this query to run over and over.
2023-03-19 22:32:35 -04:00
Aeadoin
e77a83f8c3
[Rule] Add Rule to allow ExtraDmgSkill/SPA 220 to effect Spell Skills ( #3124 )
...
* [Rule] Add Rule to allow ExtraDmgSkill/SPA 220 to effect Spell Skills
* add support for rule "ItemExtraSkillDamageCalcAsPercent"
2023-03-19 12:16:32 -04:00
Alex King
a5d564a6fb
[Cleanup] Remove ChangeHP() from mob.h ( #3128 )
...
# Notes
- This is unused.
2023-03-19 10:18:31 -04:00
Alex King
2f4c91824e
[Feature] Add Item Extra Skill Damage Percent Modifier ( #3127 )
...
* [Feature] Add Item Extra Skill Damage Percent Modifier
# Notes
- Allows `Character:ItemExtraDmgCap` to be disabled if set to `-1` or lower.
- Allows operators to set `Character:ItemExtraSkillDamageCalcAsPercent` to `true` to allow skill damage for Frenzy, Backstab, Bash, Slam, Kick, and all Monk attacks to scale with a percentage based on `extradmgamt` values from items and spells.
* > 0
2023-03-19 09:59:13 -04:00
Aeadoin
53e6f931c9
[Crash] Fixes Crash when Zoning with XTarget when Bots are in group. ( #3126 )
2023-03-19 08:26:16 -04:00
Alex King
a6efb1e8b5
[Cleanup] Remove GetStartCount() and InitStartTimer() from zone_launch.cpp and zone_launch.h ( #3121 )
...
# Notes
- These are unused.
2023-03-17 19:21:50 -04:00
Alex King
b2757143a8
[Cleanup] Remove SetConnection() from loginserver/world_server.h ( #3120 )
...
# Notes
- This is unused.
2023-03-17 19:21:44 -04:00
Alex King
6e5da0e558
[Cleanup] Remove GetServerByAddress() from server_manager.h ( #3119 )
...
# Notes
- This is unused.
2023-03-17 19:21:38 -04:00
Alex King
6b8e74a29f
[Cleanup] Remove PlayerLogin_Struct from login_types.h ( #3118 )
...
# Notes
- This is unused.
2023-03-17 19:21:30 -04:00
Alex King
203e63101a
[Cleanup] Remove IsConnected() from loginserver/database.h ( #3117 )
...
# Notes
- This is unused.
2023-03-17 19:21:18 -04:00
Alex King
91257d599b
[Cleanup] Remove unused methods in loginserver/client.h ( #3116 )
...
* [Cleanup] Remove LoginOnNewConnection(), LoginOnPacketRecv(), and LoginOnStatusChange() from loginserver/client.h
# Notes
- These are unused.
* Cleanup.
2023-03-17 19:21:08 -04:00
Alex King
491b358e28
[Cleanup] Remove UpdateLoginserverWorldAdminAccountPasswordById() from account_management.cpp ( #3115 )
...
# Notes
- This is unused.
2023-03-17 19:20:56 -04:00
Alex King
180c3088ca
[Cleanup] Remove DBInitVars() and HandleMysqlError() from queryserv/database.h ( #3114 )
...
# Notes
- These are unused.
2023-03-17 19:20:47 -04:00
Alex King
97e4547192
[Cleanup] Remove DBInitVars(), HandleMysqlError(), and IsChatChannelInDB() in ucs/database.h ( #3113 )
...
# Notes
- These are unused.
2023-03-17 19:20:41 -04:00
Aeadoin
0caee9026a
[Rule] Add Task System Rule ExpRewardsIgnoreLevelBasedEXPMods ( #3112 )
...
* [Rule] Add Task System Rule ExpRewardsIgnoreLevelBasedEXPMods
* description
2023-03-17 19:15:02 -04:00
Aeadoin
0be7ead1d1
[Bug Fix] Fix Bard Bot Casting ( #3122 )
2023-03-17 19:07:54 -04:00
Aeadoin
950489bc34
[Bug Fix] Fix Raid methods that could cause crashes with Bots in raid ( #3111 )
2023-03-17 16:19:29 -04:00
Mitch Freeman
45da8cab61
[Bots] Add Basic Bot Raiding Functionality ( #2782 )
...
* Fix for GENERIC_9_STRINGS
* Add Bot Heal Message Display
Creates a new rule to display Bot heal messages to the Bot Owner
* 2021-03-25 11L04pm
Spell and Heal Rule added to allow for Bot spell and heal damage to be sent to the Bot Owner's Group. Also added a check to remove duplicate message for #damage on self.
* Update .gitignore
* BOT work
Added BOT logging damage/heals to owner
Added BOT message to owner for harmony fails
Made var Critical global to remove duplicate crit messages
Added a NULL check to Mob:GetCleanname()
* Bot Group Work
Fixed botid=charid spawn on zone issue
Added a group_list update on zone to refresh from database to fix a dangling pointer to a Bot object that was camped but was previously in a group within the zone being entered.
Modified Bot::ProcessBotGroupInvite to use the client of the bot when doing the Bot initialization so that a leader can invite another owner's Bot
* Jan 4
Basic structure in place for Raid::AddBot though not working
* Basement Jan 5
* End of day Jan 5
Working Raid Invite to a Bot.
* Update to Client::QueuePacket to not attempt to send a packet to a BoT. Not clean, but a broad solution.
* Updated Raid::VerifyRaid
* Some Bot Raid working
* Before VS Crash
* Use Case 1, 2, 3,4,7 working.
Need to fix 5, 6, 8
* Work on usecase 5
* A few more use cases working
* New work on Raid invite with a invitor having a group
* Bot Raid inviting working for all use cases
* A few changes
* end of day jan 10
* Jan 11
* end of day Jan 11
* Bot Invite/Accept cleanup
* Start of moving raid bot functions to their own methods
* More bot raid changes
* More raid spell work
* end of day Jan 16
* spawn work
* Spawn on login working
* End of Day Jan 18
* Raid leader and mana/hp updates fixed
* Spell Tracking
* Issue with Bot Death in raid when casted upon. 1741 raid.cpp
* Bot Death fixed and few other crashes
* Working on botgroup removal
* Bot Disbanding Work 90%
* Looks like BOTs are working
* Fixed a bot crash
* bug tracing on entity list mismatch
* safe_delete resoves problem. No to track down leak
* seems to be working
* Memory corruption found - sending packets to BoTs using Client class
* added Raid::IsRaidMemberBot()
* Update p_raid_instance
* g3
* Final - Bot Raid Working
* Fixed IsRaidMemberBot to remove memory leak
Fixed altcombat crash though RaidMainAssist (428) needs fixing
* add RaidMember.IsBot
* Repaired IsBot function to be more preformant. Now works on standard performance machine
* Fixed Bard AE Target Spells
Removed assert for buffs
* updated based on Feb 2022 master updates
* Added bot_db_updates and version increment
* Cleanup of bot raid work and inclusion of bot_raid in cmake
* Delete .gitignore
* Revert "Delete .gitignore"
This reverts commit 8523658d3b .
* Fixed a packet issue
* Merged upstream/master
Merged upstream/master and removed ifdef BOTS as per recent dev approach for BOTS. Functionality is there, compiles and tests ok. A few problems to be resolved though this is a good baseline.
* Added sql update for raid_members to add isbot
* Updated Bot Follow Function
Bot will now follow the Group Leader if IsClient, otherwise follows the Bot Owner
* Updates to Bot Raid System
When camping a client, remove them from the raid. If they are leader, place leadership to the next client.
Update a few crash checks in bot_raid.cpp
* [BOTS] Added RuleB Enabled checks and updated base repo for raid_members
Updated several RuleB(Bots, Enabled) checks
Updated the base repo to be autogenerated.
Raid functionality should work with a non-bots enabled database.
* Few quick updates
* Updates
Corrected a number of comments. Compiled and tested against bot and non-bot database though requires the isbot column in raid_members for both.
Moved the db update out of the bot stream to make bot check code easier.
* Formatting and other small updates
* A few more RuleB(Bots, Enabled) additions
* Fix issue with conflict of bot ID versus character ID.
* Delete CMakeSettings.json
* Comment Updates and other
Several updates including
- fixed comments from PR
- added id to raid_members and unique index on name to avoid botid and charid conflicts
- updated a few raid functions for iterators
- reordered several raid operations to ensure send leader packet to be the last item to ensure proper updating on the client
- update sql to use Replace instead of Insert for botid conflicting with charid
* Exploit fix for Raid Bots
Added item from @Nite to disallow spawning or camping bots if Raid is engaged. Avoids abusive situations.
* Initial Commit
* fix Raid Window after zoning
The raid window was not fully updating for clients not in the zone.
* Cleanup
* Update
Fixed comments
* Resolve crash for MOTD
Fixed a crash situation sending a raid MOTD to BOTS.
* Update ruletypes.h
* Updated to resolve a few recent comments
Fixed some comments within attack.cpp
* fix sql query
* update repository
* prevent duplicate entries in raid after group invite, and cleanup
* fixes for botgroups not following, and add already in raid messages.
* fix messagestring
* fixes
* Cleanup, and resolving issues with disbanding
* refactoring
* more cleanup/fixing.
* fixes for removing from ground in raid
* Refactoring/fixing multiple clients
* fix for compiling
* Bugs from refactoring fixed
* Testing completed, cleaning up unwanted items/duplicate code.
* Cleaned up AICastSpell
* fix typos
* Refactoring
* Adding Raid checks to AI_Process/cleanup
* Fix a typo
Was getting a SQL error on BOT spawn. Fixed typo.
* fix for crash
* Fixed crash when inviting player, more refactoring
* AI_Process Refactoring work
* More Refactoring/fixes for follow
* Finish Refactoring AI_Process
* cleanup
* cleanup
* cleanup
* cleanup
* fix melee attack loop
* fix for leashowner.
* fix for leashowner.
* Bots persist in raid after client death/LD/Camp
* Fix Bot Groups when zoning after death.
* Fix Bots in group following after client death
* remove unnecessary query
* Allow Raid members to invite Bots if owner is in raid. cleanup
* optimization of raid verification
* remove this
* Code Cleanup
* formatting
* formatting
* formatting
* fix for macro
* add return for TryClassAttacks
* fix query
* fix for crash
* restrict camping/spawn in combat.
* Fix other crash issue.
* update learnmembers to use Strings::To, cleanup magic numbers
* fix for merge.
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
Co-authored-by: Aeadoin <109764533+Aeadoin@users.noreply.github.com >
2023-03-17 11:19:59 -04:00
Alex King
e778041198
[Cleanup] Remove ownHiddenTrigger from trap.cpp and trap.h ( #3092 )
...
# Notes
- This is unsued.
2023-03-17 08:37:36 -04:00
Alex King
97e50ced93
[Cleanup] Delete deprecated/perlxs folder ( #3110 )
...
# Notes
- This entire folder is unused.
2023-03-17 06:23:30 -04:00
Alex King
4491bb9a70
[Cleanup] Remove is_authenticatd, LSShutDownUpdate(), and SetInstanceID() from zoneserver.h ( #3109 )
...
# Notes
- These are unsued.
2023-03-17 06:23:19 -04:00
Alex King
04fba27467
[Cleanup] Remove StoreCharacter() from worlddb.h ( #3108 )
...
# Notes
- This is unused.
2023-03-17 06:23:10 -04:00
Alex King
fa47dd7f93
[Cleanup] Remove DisableStats(), EnableStats(), DisableLoginserver(), and EnableLoginserver() from world_config.h ( #3107 )
...
# Notes
- These are unused.
2023-03-17 06:23:01 -04:00
Alex King
b3fb5f00ab
[Cleanup] Remove MakeGuildMembers() from wguild_mgr.h ( #3106 )
...
# Notes
- This is unused.
2023-03-17 06:22:51 -04:00
Alex King
e17fad9ae0
[Cleanup] Cleanup unused methods and variables in world/main.cpp and world/main.h ( #3105 )
...
# Notes
- These are unused.
2023-03-17 06:22:41 -04:00
Alex King
bbdaacd3b0
[Cleanup] Remove AllConnected(), CanUpdate(), and SendInfo() from login_server_list.cpp and login_server_list.h ( #3104 )
...
# Notes
- These are unused.
2023-03-17 06:22:34 -04:00
Alex King
61bd485449
[Cleanup] Remove unused methods in eql_config.cpp, eql_config.h, launcher_list.cpp, and launcher_list.h ( #3103 )
...
# Notes
- These are unused.
2023-03-17 06:22:01 -04:00
Alex King
4b405fe9fe
[Cleanup] Remove authenticated from launcher_link.cpp and launcher_link.h ( #3101 )
...
# Notes
- This is unused.
2023-03-17 06:21:51 -04:00
Alex King
d5aaf7cee5
[Cleanup] Remove CountZones() from launcher_link.h ( #3100 )
...
# Notes
- This is unused.
2023-03-17 06:21:41 -04:00
Alex King
12e9e0f71d
[Cleanup] Delete world/console.old.cpp ( #3099 )
...
# Notes
- This is unused.
2023-03-17 06:21:23 -04:00
Alex King
0a64e26672
[Cleanup] Remove FindCLEByLSID(), GetCLE(), GetCLEIPCount(), and RemoveCLEByLSID() from clientlist.h ( #3098 )
...
# Notes
- These are unused.
2023-03-17 06:21:14 -04:00
Alex King
11fc5a9e93
[Cleanup] Remove SendGuildPacket() from clientlist.cpp, clientlist.h, and wguild_mgr.cpp ( #3097 )
...
# Notes
- This is unused.
2023-03-17 06:21:00 -04:00
Alex King
7bbcdfb479
[Cleanup] Remove FindByName(charname) from clientlist.h ( #3096 )
...
# Notes
- This is unused.
2023-03-17 06:20:46 -04:00
Alex King
3a530eb43b
[Cleanup] Remove CheckAuth(), SetOnline(), and pMD5Pass from cliententry.h ( #3095 )
...
# Notes
- These are unused.
2023-03-17 06:20:36 -04:00
Alex King
48a60114b7
[Cleanup] Remove CommandRequirement() from zonedb.h ( #3094 )
...
# Notes
- This is unused.
2023-03-17 06:20:25 -04:00
Alex King
06f1f36c95
[Cleanup] Utilize GetScheduler() in zone/worldserver.cpp ( #3093 )
...
# Notes
- This was unused.
2023-03-17 06:20:13 -04:00
Alex King
ccd9bd7d4c
[Cleanup] Utilize SetHiddenTrigger in trap.cpp ( #3091 )
...
# Notes
- This was unused.
2023-03-17 06:17:53 -04:00
Alex King
fea6cbf633
[Cleanup] Remove RemoveSpawnGroup() from spawngroup.h ( #3090 )
...
# Notes
- This is unused.
2023-03-17 06:17:44 -04:00
Alex King
460739d35c
[Cleanup] Delete queues.h ( #3089 )
...
# Notes
- This is unsued.
2023-03-17 06:17:32 -04:00
Alex King
11e1edc99f
[Cleanup] Remove IsOrigin(glm::vec2) from position.h ( #3088 )
...
# Notes
- This is unused.
2023-03-17 06:17:20 -04:00
Alex King
7374660045
[Cleanup] Remove last_insert_id from petitions.h ( #3087 )
...
# Notes
- This is unused.
2023-03-17 06:17:10 -04:00
Alex King
9e8d365ca7
[Cleanup] Remove SetSentTime2 in petitions.h ( #3086 )
...
# Notes
- This is unused.
2023-03-17 06:17:00 -04:00
Alex King
14d69a0a14
[Cleanup] Remove perlparser.h ( #3085 )
...
# Notes
- This is unused.
2023-03-17 06:16:51 -04:00
Alex King
fe063637e9
[Cleanup] Remove GetTransformation() and GetInvertedTransformation() from oriented_bounding_box.h ( #3084 )
...
# Notes
- These are unused.
2023-03-17 06:16:40 -04:00
Alex King
232b1028d7
[Cleanup] Remove m_inuse, m_z, and m_heading from object.h ( #3083 )
...
# Notes
- These are unsued.
2023-03-16 21:47:27 -04:00
Alex King
3624307385
[Cleanup] Remove SetDBID() from object.h ( #3082 )
...
# Notes
- This is unused.
2023-03-16 21:36:03 -04:00
Alex King
c0055cf357
[Cleanup] Remove npc_ai.cpp/npc_ai.cpp ( #3081 )
...
# Notes
- These files were unused.
2023-03-16 21:17:23 -04:00
Alex King
f9c1683d36
[Cleanup] Remove GetAILevel() from npc.h ( #3080 )
...
# Notes
- This is unused.
2023-03-16 21:06:24 -04:00
Alex King
64df993c10
[Cleanup] Remove FlushLootStats() from npc.h ( #3079 )
...
# Notes
- This is unused.
2023-03-16 21:06:10 -04:00
Alex King
890ef696fe
[Cleanup] Remove GetDestination() from doors.h ( #3078 )
...
# Notes
- This is unused.
2023-03-16 20:47:40 -04:00
Alex King
3f1848b01a
[Cleanup] Remove can_corpse_be_rezzed from corpse.h ( #3077 )
...
# Notes
- This is unused.
2023-03-16 20:47:25 -04:00
Alex King
f7c4f1ff75
[Cleanup] Remove _baseBotStance from bot.h ( #3076 )
...
# Notes
- This is unused.
2023-03-16 20:25:45 -04:00
Alex King
dcb127f4b6
[Cleanup] Remove _botRole from bot.h ( #3075 )
...
# Notes
- This is unused.
2023-03-16 20:25:35 -04:00
Alex King
669b068978
[Cleanup] Remove _previousTarget from bot.h ( #3074 )
...
# Notes
- This is unused.
2023-03-16 20:25:25 -04:00
Alex King
db2aeca38f
[Cleanup] remove _botOrderAttack from bot.h ( #3073 )
...
# Notes
- This is unused.
2023-03-16 20:25:16 -04:00
Alex King
1b3ca95f8c
[Cleanup] Remove firstlogin and realfirstlogin from world/client.h ( #3072 )
...
# Notes
- These are unused.
2023-03-16 20:25:03 -04:00
Alex King
c05baac551
[Cleanup] Remove CLIENT_TIMEOUT from world/client.h and zone/client.h ( #3071 )
...
# Notes
- This is unused.
2023-03-16 20:24:53 -04:00
Alex King
939fc79d19
[Cleanup] Remove IsAffectedByBuff() ( #3068 )
...
# Notes
- This is unused.
2023-03-16 20:24:44 -04:00
Alex King
a0e6fce057
[Cleanup] Remove fixedZ from mob.h ( #3065 )
...
# Notes
- This is unused.
2023-03-16 20:24:35 -04:00
Alex King
452389b7a5
[Cleanup] Remove class EQStream from client.h ( #3070 )
...
# Notes
- This is unused.
2023-03-16 20:24:08 -04:00
Alex King
dd184fa8b6
[Cleanup] Remove inWater from mob.h ( #3069 )
...
# Notes
- This is unused.
2023-03-16 20:23:56 -04:00
Alex King
4a3e6b5edc
[Cleanup] Remove current_buff_count ( #3067 )
...
# Notes
- This was unused.
2023-03-16 20:23:41 -04:00
Alex King
7961d7afa8
[Cleanup] Utilize GetPlayerState() in mob methods ( #3066 )
...
# Notes
- This method was unused, make use of it.
2023-03-16 20:23:34 -04:00
Alex King
cc6bcf3295
[Cleanup] Remove casting_spell_type from mob.h ( #3064 )
...
# Notes
- This is unused.
2023-03-16 20:23:21 -04:00
Alex King
b73c2016cf
[Cleanup] Remove last_max_hp from mob.h ( #3063 )
...
# Notes
- This is unused.
2023-03-16 20:23:11 -04:00
Alex King
db7e8241ac
[Cleanup] Remove DoBuffWearOffEffect() from mob.h ( #3062 )
...
# Notes
- This is unused.
2023-03-16 20:12:01 -04:00
Paul Coene
b7747b07db
[Illusions] Fix bug where spells like Ignite Bones left NPC size incorrect. ( #3061 )
2023-03-16 18:59:09 -04:00
Alex King
02ada0e496
[Quest API] Add SendIllusion overloads/parameters to Perl/Lua ( #3059 )
...
* [Quest API] Add SendIllusion methods to Perl.
# Perl
- Add `$mob->SendIllusion(race, gender, texture, helmtexture, face, hairstyle, haircolor, beard, beardcolor, drakkin_heritage, drakkin_tattoo, drakkin_details, size, target)`.
- Add `$mob->SendIllusionPacket(illusion_table_ref)`.
* Change defaults.
* Remove debug message
* Cleanup.
* Cleanup
* Update perl_mob.cpp
2023-03-15 20:37:37 -04:00
Alex King
7c819539c8
[Quest API] Add Spell GetActX methods to Perl/Lua ( #3056 )
...
# Perl
- Add `$mob->GetActDoTDamage(spell_id, value, target)`.
- Add `$mob->GetActDoTDamage(spell_id, value, target, from_buff_tic)`.
- Add `$mob->GetActReflectedSpellDamage(spell_id, value, effectiveness)`.
- Add `$mob->GetActSpellDamage(spell_id, value, target)`.
- Add `$mob->GetActSpellHealing(spell_id, value, target)`.
- Add `$mob->GetActSpellHealing(spell_id, value, target, from_buff_tic)`.
# Lua
- Add `mob:GetActDoTDamage(spell_id, value, target)`.
- Add `mob:GetActDoTDamage(spell_id, value, target, from_buff_tic)`.
- Add `mob:GetActReflectedSpellDamage(spell_id, value, effectiveness)`.
- Add `mob:GetActSpellCasttime(spell_id, cast_time)`.
- Add `mob:GetActSpellCost(spell_id, cost)`.
- Add `mob:GetActSpellDamage(spell_id, value)`.
- Add `mob:GetActSpellDamage(spell_id, value, target)`.
- Add `mob:GetActSpellDuration(spell_id, duration)`.
- Add `mob:GetActSpellHealing(spell_id, value)`.
- Add `mob:GetActSpellHealing(spell_id, value, target)`.
- Add `mob:GetActSpellHealing(spell_id, value, target, from_buff_tic)`.
- Add `mob:GetActSpellRange(spell_id, range)`.
# Notes
- Allows operators to get various spell related values.
2023-03-12 15:36:43 -04:00
Alex King
e670c89163
[Cleanup] Remove unused lua_hate_entry.cpp ( #3057 )
...
# Notes
- This is unused and causes duplication of these methods in Spire Quest API Explorer.
2023-03-12 15:36:20 -04:00
Aeadoin
9ecdf057db
[Feature] Add Heroic Strikethrough & HP Regen Per Second to GM Entity Info ( #3055 )
...
* [Feature] Add Heroic Strikethrough to GM Entity Info
* [Feature] Add Heroic Strikethrough to GM Entity Info
* typo
2023-03-11 20:46:31 -05:00
Aeadoin
b6448c840f
[Bug Fix] Fix Raid Invites causing client desync issues ( #3053 )
2023-03-11 11:42:52 -05:00
Aeadoin
0ba90df1f1
[Bug Fix] Fix issue with overflow on min/max hit dmg in npc scaling calculations ( #3052 )
...
* [Cleanup] Cleanup npc.cpp and npc scaling
* fix issue with min/max damage overflows
* formatting
2023-03-10 09:36:59 -05:00
Alex King
12dcbd0871
[Bug Fix] Fix Heal Scale and Spell Scale in NPC Scaling ( #3051 )
...
# Notes
- These had typos and didn't work.
2023-03-09 22:32:47 -05:00
Aeadoin
b0be4ca8bd
[Feature] Add Avoidance and HP Regen Per Second too NPC Scaling. ( #3050 )
2023-03-09 11:07:03 -05:00
nytmyr
412eb5deaa
[Bots] Prevent interrupt spam when OOM ( #3011 )
...
Notes:
Bots currently do not do a mana check until the spell cast has already been started which results in an interrupt immediately after. If it is the last spell for a bot to cast, it tends to result in interrupt spam until the bot has enough mana. This will block the interrupt spam if the spell is invalid.
2023-03-07 18:17:09 -05:00
Alex King
f030461bc7
[Feature] Add Heroic Strikethrough to NPC Scaling ( #3028 )
...
* [Feature] Add Heroic Strikethrough to NPC Scaling
# Notes
- Adds Heroic Strikethrough support to NPC scaling.
- Cleans up `std::stoul` to use `Strings::ToUnsignedInt` since recent changes.
- Sets default values to sane values and removes support for `NULL` values.
* Update 2023_03_04_npc_scale_global_base_heroic_strikethrough.sql
2023-03-05 22:36:53 -05:00
Alex King
8f5e7978ab
[Commands] Remove #equipitem Command ( #3040 )
...
* [Commands] Remove #equipitem Command
# Notes
- This command causes issues with cursor and inventory slot desynchronizations and seems to largely be unused/unnecessary.
* Remove from command files.
2023-03-05 22:36:04 -05:00
Alex King
2e55da2b2d
[Fix] Checkmarks and X characters in popup messages ( #3041 )
...
# Notes
- Due to changing the popups to use strings, these show as squares, instead of the proper character.
2023-03-05 22:35:52 -05:00
Alex King
16a8f88ae5
[Commands] Cleanup #haste Command ( #3042 )
...
* [Commands] Cleanup #haste Command
# Notes
- Cleanup messages and logic.
- No longer requires you to re-equip your weapon for the haste to take effect.
- Can now use on targeted client if you have `#gm on` enabled.
* Update haste.cpp
2023-03-05 22:35:42 -05:00
Alex King
22d7ef6763
[Commands] Cleanup #hideme Command ( #3043 )
...
# Notes
- Cleanup messages and logic.
2023-03-05 22:35:30 -05:00
Alex King
457e800c73
[Commands] Cleanup #interrupt Command ( #3044 )
...
* [Commands] Cleanup #interrupt Command
# Notes
- Cleanup messages and logic.
* Update command.cpp
2023-03-05 22:35:23 -05:00
Alex King
8393e50aa8
[Commands] Cleanup #level Command ( #3045 )
...
# Notes
- Cleanup messages and logic.
- Defaults target to GM so that you don't have to target yourself to use the command.
2023-03-05 22:34:33 -05:00
Alex King
b6497cdd6a
[Commands] Cleanup #resetaa and #resetaa_timer ( #3047 )
...
# Notes
- Cleanup messages and logic.
2023-03-05 22:34:21 -05:00
Alex King
218ef80f96
[Commands] Cleanup #picklock Command ( #3046 )
...
* [Commands] Cleanup #picklock Command
# Notes
- Cleanup messages and logic.
* Update picklock.cpp
2023-03-05 22:34:05 -05:00
Alex King
a90d41480a
[Commands] Cleanup #wc Command ( #3049 )
...
# Notes
- Cleanup messages and logic.
2023-03-05 22:18:35 -05:00
Alex King
67df6f62b7
[Cleanup] Remove unused ^evacuate and ^succor subcommands from bot_command.h ( #3039 )
...
# Notes
- These are unused.
2023-03-05 12:19:58 -05:00
Alex King
4572dbc426
[Cleanup] Remove unused BotAA struct in bot_structs.h ( #3038 )
...
# Notes
- This is unused.
2023-03-05 12:19:52 -05:00
Alex King
e8cc160572
[Cleanup] Remove unused bot structs in bot_structs.h ( #3037 )
...
# Notes
- These are unused.
2023-03-05 12:19:42 -05:00
Alex King
8c9adca852
[Cleanup] Utilize SetFilter in client.cpp ( #3036 )
...
# Notes
- This function was unused, make use of it.
2023-03-05 12:19:22 -05:00
Alex King
b53310e23b
[Cleanup] Remove unused AbilityTimer variable in client.h ( #3035 )
...
# Notes
- This is unused.
2023-03-05 12:19:16 -05:00
Alex King
14f01dc2d7
[Cleanup] Remove unused client queued work variable in client.cpp/client.h ( #3034 )
...
# Notes
- This is unused.
2023-03-05 12:19:09 -05:00
Alex King
a4d6509e6d
[Cleanup] Remove unused player update variables in client.cpp/client.h ( #3033 )
...
# Notes
- These are unused.
2023-03-05 12:18:56 -05:00
Alex King
fc835bfb0e
[Cleanup] Remove unused HandleUpdateTasksOnKill in client.h ( #3032 )
...
# Notes
- This is unused.
2023-03-05 12:18:51 -05:00
Alex King
9ec4e5ade0
[Cleanup] Remove unused command variables in client.cpp ( #3031 )
...
# Notes
- These are unused.
2023-03-05 12:18:36 -05:00
Alex King
6b65e93a06
[Cleanup] Remove unused SaveBackup in client.h ( #3030 )
...
# Notes
- This is unused and does nothing in both Perl and Lua.
2023-03-05 12:18:26 -05:00
Chris Miles
a0a28fef04
[Strings] Add exception handling to converters themselves ( #3029 )
2023-03-04 19:39:55 -06:00
Trent
034feb4ff4
[Bots] Place BOT_COMMAND_CHAR inside messages ( #3027 )
...
* Fix bot depart list
* Update bot_command.cpp
* Update bot_command.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-03-04 20:02:04 -05:00
nytmyr
65c14b160e
[Rules] Add ResurrectionEffectsBlock ( #2990 )
...
* [Rules] Add ResurrectionEffectsBlock
Notes:
This adds the rule Spells:ResurrectionEffectsBlock that will prevent anything from overwrites Resurrection Sickness Effects. Currently they are able to be overwritten by certain spells.
Default state: Disabled/False.
* Update ruletypes.h
---------
Co-authored-by: Chris Miles <akkadius1@gmail.com >
2023-03-04 17:24:29 -06:00
Alex King
c21d47f450
[Scaling] Add support for pipe-separated zone IDs and versions ( #3015 )
...
* [Scaling] Add support for pipe-separated zone IDs and versions
# Notes
- Allows `|` separated zone IDs and instance versions within the scaling data.
- Loads scaling data on zone bootup as well, without needing to repop for it to initialize.
* Cleanup
2023-03-04 17:24:16 -06:00
Aeadoin
83ea9816b8
[Rules] Add Multiplier for Heroic Stats. ( #3014 )
...
* initial work
* [Rules] Add Multiplier for Heroic Stats.
* Add bots
* update SendStatsWindow
* fix SendStatsWindow
2023-03-04 17:09:44 -06:00
Chris Miles
e3f9b396ab
[Console] Add IS_TTY to force terminal coloring output ( #3021 )
2023-03-04 17:01:39 -06:00
Alex King
2a6cf8c8e7
[Strings] Add more number formatters ( #2873 )
...
* [Strings] Add more number formatters
# Notes
- Adds `Strings::ToUnsignedInt` for `uint32` support.
- Adds `Strings::ToBigInt` for `int64` support.
- Adds `Strings::ToUnsignedBigInt` for `uint64` support.
- Adds `Strings::ToFloat` for `float` support.
- Replaces all `std::stoi` references with `Strings::ToInt`.
- Replaces all `atoi` references with `Strings::ToInt`.
- Replaces all `std::stoul` references with `Strings::ToUnsignedInt`.
- Replaces all `atoul` references with `Strings::ToUnsignedInt`.
- Replaces all `std::stoll` references with `Strings::ToBigInt`.
- Replaces all `atoll` references with `Strings::ToBigInt`.
- Replaces all `std::stoull` references with `Strings::ToUnsignedBigInt`.
- Replaces all `atoull` references with `Strings::ToUnsignedBigInt`.
- Replaces all `std::stof` references with `Strings::ToFloat`.
* [Strings] Add more number formatters
- Adds `Strings::ToUnsignedInt` for `uint32` support.
- Adds `Strings::ToBigInt` for `int64` support.
- Adds `Strings::ToUnsignedBigInt` for `uint64` support.
- Adds `Strings::ToFloat` for `float` support.
- Replaces all `std::stoi` references with `Strings::ToInt`.
- Replaces all `atoi` references with `Strings::ToInt`.
- Replaces all `std::stoul` references with `Strings::ToUnsignedInt`.
- Replaces all `atoul` references with `Strings::ToUnsignedInt`.
- Replaces all `std::stoll` references with `Strings::ToBigInt`.
- Replaces all `atoll` references with `Strings::ToBigInt`.
- Replaces all `std::stoull` references with `Strings::ToUnsignedBigInt`.
- Replaces all `atoull` references with `Strings::ToUnsignedBigInt`.
- Replaces all `std::stof` references with `Strings::ToFloat`.
* Rebase cleanup
* Changes/benchmarks/tests
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-03-04 17:01:19 -06:00
cybernine186
be567af70d
[Bug Fix] Cursor Coin Upon Death ( #3020 )
...
* Update corpse.cpp
* Add rule toggle.
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-03-04 17:45:42 -05:00
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
catapultam-habeo
2cc61ef8c1
[Bug Fix] Ensure synchronization of pet taunt state with UI ( #3025 )
...
* fix to desync between pet taunt state and button
* Update npc.h
* Update npc.cpp
* Update npc.h
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-03-04 11:40:29 -05:00
dependabot[bot]
5d7a7bb4b2
Bump golang.org/x/crypto in /utils/scripts/build/should-release ( #3024 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.0.0-20210817164053-32db794688a5 to 0.1.0.
- [Release notes](https://github.com/golang/crypto/releases )
- [Commits](https://github.com/golang/crypto/commits/v0.1.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-03 17:37:58 -06:00
dependabot[bot]
00f82f43a6
Bump golang.org/x/net in /utils/scripts/build/should-release ( #3023 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.0.0-20210226172049-e18ecbb05110 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases )
- [Commits](https://github.com/golang/net/commits/v0.7.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-03 17:23:13 -06:00
Chris Miles
d3ca636a70
[Release] 22.4.5 ( #3022 )
2023-03-03 17:09:39 -06:00
Vayle
01855d40df
[Bug Fix] Fix log messages when players join channel ( #2992 )
...
* Fix log message when players join channels
* Formatting
* More formatting
* Update CurrentPlayerChannels to use vector of channel names
* Put log statement back in place
* Remove channel limit in db query
* Formatting tweak
2023-03-03 11:54:56 -06:00
Paul Coene
748602b04e
[Bug Fix] Fix an issue where EVENT_TIMER timers would not be cleaned up after zone ( #3018 )
...
* [Bug Fix] Dangling client timers fixed.
* Remove all timers from mob in destructor instead of in QuestMgr::Process
2023-03-03 11:54:14 -06:00
Alex King
a97a9a0d1c
[Bug Fix] Fix npcfeature and playerfeature ( #3017 )
2023-03-01 20:42:37 -05:00
Aeadoin
a78c754c0e
[Cleanup] Remove unused iterator from LoadCharacterDisciplines ( #3012 )
2023-03-01 20:35:28 -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
Aeadoin
04a74df0b2
[Bots] Add additional Heroic Sta/Wis/Int bonuses for Bots. ( #3013 )
2023-03-01 10:58:04 -05:00
Chris Miles
c15bfe12eb
[Fix] Fix issue where quest saylink responses would occur before the NPC's response ( #3010 )
...
* [Fix] Fix issue where quest saylink responses would occur before the NPC's response
* Update client_packet.cpp
* Revert "[Fix] Fix issue where quest saylink responses would occur before the NPC's response"
This reverts commit a09e1bbbe9 .
2023-02-28 21:27:05 -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
Aeadoin
2f0dbc5d15
[Bug Fix] Fix for Discipline Loading from Database causing issues with slot_ids ( #3008 )
...
* [Bug Fix] Fix for Discipline Loading from Database causing issues with slot_ids
* cleanup per comments
2023-02-28 16:55:22 -05:00
Aeadoin
93c79817cd
[Crash] Fix crash in CheckTradeskillLoreConflict ( #3009 )
2023-02-27 19:24:05 -06:00
Aeadoin
3296287d70
[Bug Fix] Fix for Lore Components where component is returned. ( #3005 )
...
* [Bug Fix] Fix for Lore Components where component is returned.
* Refactor, and take into account loregroups above 0 properly
* Update tradeskills.cpp
* formatting for suggestions.
* commenting, update formatting.
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-02-27 12:36:35 -06: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
Aeadoin
d2c3c14ae0
[Bots] Cleanup AI_IdleCastCheck Logic ( #3004 )
...
* [Bots] Cleanup AI_IdleCastCheck Logic
* cleanup logic
2023-02-25 20:16:09 -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
Aeadoin
6179b7481e
[Bug Fix] Account for bad data in Tradeskill Recipe Entries ( #2991 )
2023-02-25 10:52:17 -06:00
Chris Miles
5f68e4a41a
[Release] 24.4.4 ( #2989 )
2023-02-24 20:51:45 -06:00
Chris Miles
e103422ca5
[Pathing] More z-clip improvements, Wurm and Spectral Iksar race adjustments ( #2988 )
2023-02-24 20:27:28 -06:00
Akkadius
0cbfad975d
[Hotfix] Adjust database manifest to include .sql extension
2023-02-24 20:20:21 -06: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
de2dfc1a7e
[Bug Fix] Fix for undefined MySQL library behavior. ( #2834 )
...
* MYSQL objects cannot be copied in a well defined way, this removes the copy and replaces it with another connection
* Change to share underlying pointers.
* Push up mutex changes
* Post rebase
* Formatting
---------
Co-authored-by: KimLS <KimLS@peqtgc.com >
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-02-24 20:14:55 -06:00
Chris Miles
bad631df59
[Player Events] Add QS processing, mutex tweaks ( #2984 )
...
* [Player Events] Add QS processing, mutex tweaks
* Update ucs.cpp
* Move the size process check out of the server to server networking thread
2023-02-24 18:01:59 -06:00
Chris Miles
e8f1aa253a
[Pathing] Smoother pathing z-correction ( #2982 )
2023-02-24 14:07:44 -06:00
Chris Miles
889e57a5af
[Pathing] Improve roambox logic ( #2983 )
...
* [Pathing] Improve roambox logic
* Cleanup roambox logic
2023-02-24 14:07:34 -06:00
Aeadoin
5cfdeb928e
[Bug Fix] Fix Beneficial Target of Target procs ( #2987 )
2023-02-24 13:23:29 -06:00
Chris Miles
7519b0225e
[Doors] Fix doors triggering invalid zone fetches of dest_zone of "none" ( #2985 )
...
* [Doors] Fix doors triggering invalid zone fetches of dest_zone of "none"
* Update doors.cpp
* Tweaks
* PR comments
2023-02-24 13:22:56 -06:00
Chris Miles
04fdc54522
[Quest API] Fix EVENT_TIMER crash when entity is no longer available ( #2986 )
...
* [Quest API] Fix EVENT_TIMER crash when entity is no longer available
* Update questmgr.cpp
2023-02-24 13:22:47 -06:00
Aeadoin
f39155952f
[Tradeskills] Fix for Lore Conflict ( #2977 )
...
* [Tradeskills] Fix for Lore Conflict
* Cleanup
* formatting
* it's beautiful
* container fix
2023-02-24 14:14:36 -05:00
Aeadoin
5acc181d64
[Bots] Cleanup BotDatabase::LoadBuffs ( #2981 )
...
* [Bots] Cleanup BotDatabae::LoadBuffs
* cleanup formatting/syntax
2023-02-24 12:58:54 -05:00
nytmyr
2ae0b7dd3e
[Bug Fix] Correct Mend reuse time and add reduction support. ( #2972 )
...
Notes:
Previously, the server-side reuse of Mend was set to 290 seconds rather than 360 seconds (6 minutes).
Mend was not accepting reduction timers from potential items, buffs or AAs (Hastened Mend).
Mend was outputting duplicate success messages on critical mends, it will now only output a regular Mend message upon success (You mend your wounds and heal some damage) or the critical message upon critical success (You magically mend your wounds and heal considerable damage), not both.
Co-authored-by: toxin06 <53322305+toxin06@users.noreply.github.com >
2023-02-23 02:39:45 -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
Aeadoin
7c7a88650b
[Bots] Verify Bots Group Integrity on join ( #2980 )
2023-02-23 02:36:43 -06:00
Aeadoin
afaa8f4100
[Bots] Add Caster Range Command, and IsValidSpellRange Checks ( #2942 )
...
* [Bots] Add Caster Range Command, and IsValidSpellRange Checks
* remove/add exceptions where makes sense like buffs
* fixes
* fixes
2023-02-23 02:36:17 -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
Chris Miles
fcb0a47280
[Release] 22.4.3 ( #2976 )
2023-02-21 10:42:43 -06:00
Chris Miles
1e50f19f7e
[Pathing] Improvements to z-clipping, z-recovery and z-calculations ( #2975 )
...
* zclip adjustments
* Remove debug
2023-02-21 10:24:25 -06:00
Chris Miles
33bb5aa8e5
[Database] Address deadlock in player events ( #2974 )
...
* DB mutex testing
* Mutex tweaks, native string escaping
2023-02-20 22:32:29 -06:00
Aeadoin
6a668f8aa5
[Crash] Fix crash with EVENT_UNEQUIP_ITEM_BOT ( #2973 )
2023-02-20 17:31:15 -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
Paul Coene
51f6108aab
[Pets] Client Pet summoned by NPC should not change guard location. ( #2967 )
...
* [Pets] Client Pet summoned by NPC should not change guard location.
* Update mob.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-02-19 16:56:34 -05:00
Aeadoin
c13f9f80d9
[Bots] Change HasBotItem(item_id) to return slot_id instead of bool. ( #2966 )
2023-02-19 16:13:28 -05:00
JJ
443abf9199
[SQL] Add date to optional Drakkin Guktan Faction Update ( #2965 )
2023-02-19 16:11:07 -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
Chris Miles
9f42da5bad
[Crash] Fix world crash in player event processing ( #2960 )
...
* [Crash] Fix world crash in player event processing
* Add rule BatchPlayerEventProcessChunkSize
2023-02-18 16:06:16 -06:00
Aeadoin
4a8222f243
[Bots] Fix output of ^spells while ^Enforcespellsettings is enabled ( #2959 )
2023-02-18 16:06:06 -06:00
Chris Miles
db4c515853
[Player Events] Create new event ITEM_CREATION ( #2944 )
2023-02-18 16:05:23 -06:00
Chris Miles
462656a201
[Reload API] Add world handlers for certain opcodes ( #2958 )
2023-02-18 15:58:29 -06:00
Aeadoin
ddd98be383
[Bot] Change SaveTimers to Replace instead of Insert. ( #2951 )
...
* [Bot] Change SaveTimers to Replace instead of Insert.
* [Bot] Change SaveTimers to Replace instead of Insert.
* fix formatting
2023-02-18 16:13:36 -05:00
Chris Miles
4ad3ebf36a
[Release] 22.4.2 ( #2957 )
2023-02-18 10:18:32 -06:00
Chris Miles
b5a2713a3a
[Player Events] Add logging category to hold processing batch logs ( #2954 )
...
* [Player Events] Add logging category to hold processing batch logs
* Update player_event_logs.cpp
2023-02-18 05:41:14 -06:00
Chris Miles
999fe10d86
[Content] Added optional SQL 2023_02_17_fix_sseru_mischief_doors.sql to fix sseru/mischief doors ( #2955 )
2023-02-18 05:41:05 -06:00
Chris Miles
ce1472db1e
[MySQL] Add keepalives to UCS and Loginserver ( #2953 )
2023-02-18 05:40:51 -06:00
Chris Miles
d6c6b78d8a
[Logging] Remove noisy raid/group/forage errors ( #2952 )
2023-02-18 05:40:41 -06:00
Aeadoin
ee6c9a2ad7
[Tradeskills] Fix regression caused by #2932 ( #2956 )
2023-02-18 05:40:15 -06:00
Chris Miles
3e4767269e
[Release] 22.4.1 ( #2950 )
2023-02-17 14:48:46 -06:00
Aeadoin
e0eb145081
[Bots] Set Taunt to enabled for SK/Paladin Bots by Default. ( #2941 )
2023-02-17 10:46:49 -05:00
Chris Miles
a6dd65435f
[DevTools] Fix NPC targetting dev tools display window ( #2943 )
2023-02-17 06:07:20 -06:00
Chris Miles
26dc05c0dc
[Player Events] Fix issue with item instances not being validated properly before accessing causing crashes on handin ( #2945 )
2023-02-17 06:07:02 -06:00
Chris Miles
da20a6ab67
[Player Events] Fix rare out of bound issue when loading event types ( #2946 )
2023-02-17 06:06:53 -06:00
Chris Miles
3949a31246
[Fix] Issue with AssignRaidToInstance that was using the groups repository instead of raid ( #2947 )
2023-02-17 06:06:45 -06:00
Chris Miles
e898be1ce9
[Player Events] Turn off KILLED_NPC (trash) off by default ( #2948 )
2023-02-17 06:05:43 -06:00
Akkadius
2962575dda
[Hotfix] Missing comma in schema list breaking dumps
2023-02-16 22:27:09 -06:00
Akkadius
6a6045a21c
[Release] Update should-release
2023-02-16 13:23:53 -06:00
Akkadius
717fe7dc8c
[Release] 22.4.0
2023-02-16 10:24:45 -06:00
Chris Miles
df69d12c0c
[Release] 22.4.0 ( #2940 )
...
* [Release] 22.4.0
* Update changelog notes [skip ci]
2023-02-16 10:23:01 -06:00
Aeadoin
99e49cb2ec
[Tradeskills] Check if combine would result in lore conflict ( #2932 )
...
* [Tradeskills] Check if Combine would result in Lore Conflict.
* formatting
* Add Saylinks to lore message output.
* Aknowledgement packets to prevent client issues.
2023-02-15 21:03:16 -06:00
Aeadoin
5ee2856133
[Bug Fix] Replace uses of SPELL_UNKNOWN with IsValidSpell() ( #2938 )
2023-02-15 21:01:35 -06:00
JJ
4a64048744
[Crash] Fix crash issue with dropping items and order of operations ( #2939 )
...
Should wait to null out invalid_drop until after it is used in log message.
2023-02-15 20:55:15 -06:00
Chris Miles
2ae795fd61
[Crash] Crash fix where invalid input to #heromodel would crash zone ( #2937 )
2023-02-15 14:36:09 -05:00
Chris Miles
0829bc08b8
[Doors] Fix issue where NPC's wouldn't open doors because door param overflow ( #2934 )
2023-02-15 10:59:38 -06:00
Chris Miles
903a385229
[Hotfix] Fix crash where dropped items crash Lua logic ( #2936 )
2023-02-15 10:57:05 -06:00
Chris Miles
fafa33e190
[Groundspawns] Fix issue where groundspawns appear floating high off the ground ( #2930 )
2023-02-15 10:52:03 -06:00
Chris Miles
90a01f7c53
[Quest] Fix SetSimpleRoamBox in Perl to have optional params again ( #2935 )
2023-02-15 10:49:33 -06: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
Paul Coene
18b62667f0
[Bug Fix] Self Only Spells will no longer check target level or buff restrictions ( #2931 )
...
* [Bug Fix] Self Only Spells now work again (BuffSpellRestrictions)
* Moved variables under quick checks per review
2023-02-14 19:47:32 -05:00
Akkadius
8ed7ca977f
[Hotfix] Another doors fix
2023-02-14 06:28:42 -06:00
Chris Miles
665e336946
[Fix] Fix issue where Lore groundspawn pickups will desync ROF2+ ( #2929 )
...
* [Fix] Fix issue where Lore groundspawn pickups will desync ROF2+
* Update object.cpp
2023-02-14 04:36:22 -06:00
Chris Miles
ccf8504dec
[Hotfix] Fix EVENT_SPELL_EFFECT_TRANSLOCATE_COMPLETE regression caused by #2897 ( #2928 )
...
* [Hotfix] Fix EVENT_SPELL_EFFECT_TRANSLOCATE_COMPLETE regression caused by #2897
* Update client_packet.cpp
2023-02-14 04:36:10 -06:00
Akkadius
d107213fe1
[Cleanup] Doors EVENT_CLICK_DOOR syntax adjustment
2023-02-14 04:10:15 -06:00
Akkadius
c115cbcd6a
[Hotfix] Fix Door opening regression caused by #2880
2023-02-14 01:36:03 -06:00
Chris Miles
064ae7ba89
[Hotfix] Fix HP_EVENT regression ( #2927 )
...
* [Hotfix] Fix HP_EVENT regression
* Update mob.cpp
2023-02-13 23:28:40 -05:00
Chris Miles
02302802b8
[CI] Fix Windows stderr not bubbling properly ( #2925 )
...
* [CI] Fix Windows stderr not bubbling properly
* Update windows-build.ps1
2023-02-13 21:41:29 -06:00
Chris Miles
536e248424
[Windows] Fix MSVC compilation bug via workaround ( #2926 )
2023-02-13 21:21:05 -06:00
Chris Miles
5b56a23a8a
[Hotfix] Fix issue with EVENT_HP firing regression from #2904 ( #2924 )
...
* [Hotfix] Fix issue with EVENT_HP firing from https://github.com/EQEmu/Server/pull/2904
* Fix
* Fix
2023-02-13 22:02:18 -05: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
Aeadoin
0f49fbcfcd
[Bots] Add Support for TryTriggerOnCastFocusEffect ( #2864 )
2023-02-13 00:19:50 -06:00
Vayle
e57979c3a8
[Quest API] Add Additional XP Events EVENT_AA_EXP_GAIN, EVENT_EXP_GAIN ( #2865 )
...
* Add XP Events
* Tweak
* Formatting
* Additional tweak
* Adjustment
* Update export naming
* Formatting
* Indenting
* Finalizing formatting
* Indenting adjustments
* Use tab character setting
* Remove double tabs
* Update exp.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-02-13 00:19:02 -06:00
Aeadoin
fc7c30977a
[Bots & Mercs] Add Support for TrySympatheticProc ( #2866 )
...
* [Bots & Merrcs] Add Support for TrySympatheticProc
* [Bots & Merrcs] Add Support for TrySympatheticProc
* [Bots & Merrcs] Add Support for TrySympatheticProc
* Cleanup
* formatting
* auto
2023-02-13 00:16:18 -06:00
Aeadoin
b3fd9dd88a
[Crash] Fix Crash in FindType ( #2867 )
2023-02-13 00:15:40 -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
Aeadoin
24de1d948a
[Crash] Fix crash in Mob::CommonDamage when attacker was null ( #2872 )
2023-02-12 23:53:29 -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
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
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
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
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
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
Natedog2012
9836b5cf67
[Bug Fix] Fix for interrupting item casts to no longer lock the client if cast time of item greater than 0 ( #2921 )
2023-02-12 22:49:59 -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
Chris Miles
d9f545a5ec
[Logging] Implement Player Event Logging system ( #2833 )
...
* Plumbing
* Batch processing in world
* Cleanup
* Cleanup
* Update player_event_logs.cpp
* Add player zoning event
* Use generics
* Comments
* Add events
* Add more events
* AA_GAIN, AA_PURCHASE, FORAGE_SUCCESS, FORAGE_FAILURE
* FISH_SUCCESS, FISH_FAILURE, ITEM_DESTROY
* Add charges to ITEM_DESTROY
* WENT_ONLINE, WENT_OFFLINE
* LEVEL_GAIN, LEVEL_LOSS
* LOOT_ITEM
* MERCHANT_PURCHASE
* MERCHANT_SELL
* SKILL_UP
* Add events
* Add more events
* TASK_ACCEPT, TASK_COMPLETE, and TASK_UPDATE
* GROUNDSPAWN_PICKUP
* SAY
* REZ_ACCEPTED
* COMBINE_FAILURE and COMBINE_SUCCESS
* DROPPED_ITEM
* DEATH
* SPLIT_MONEY
* TRADER_PURCHASE and TRADER_SELL
* DISCOVER_ITEM
* Convert GM_COMMAND to use new macro
* Convert ZONING event to use macro
* Revert some code changes
* Revert "Revert some code changes"
This reverts commit d53682f997e89a053a660761085913245db91e9d.
* Add cereal generation support to repositories
* TRADE
* Formatting
* Cleanup
* Relocate discord_manager to discord folder
* Discord sending plumbing
* Rename UCS's Database class to UCSDatabase to be more specific and not collide with base Database class for repository usage
* More discord sending plumbing
* More discord message formatting work
* More discord formatting work
* Discord formatting of events
* Format WENT_ONLINE, WENT_OFFLINE
* Add merchant purchase event
* Handle Discord MERCHANT_SELL formatter
* Update player_event_discord_formatter.cpp
* Tweaks
* Implement retention truncation
* Put mutex locking on batch queue, put processor on its own thread
* Process on initial bootup
* Implement optional QS processing, implement keepalive from world to QS
* Reload player event settings when logs are reloaded in game
* Set settings defaults
* Update player_event_logs.cpp
* Update player_event_logs.cpp
* Set retention days on boot
* Update player_event_logs.cpp
* Player Handin Event Testing.
Testing player handin stuff.
* Cleanup.
* Finish NPC Handin.
* set a reference to the client inside of the trade object as well for plugins to process
* Fix for windows _inline
* Bump to cpp20 default, ignore excessive warnings on windows
* Bump FMT to 6.1.2 for cpp20 compat and swap fmt::join for Strings::Join
* Windows compile fixes
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update CMakeLists.txt
* Create 2022_12_19_player_events_tables.sql
* [Formatters] Work on Discord Formatters
* Handin money.
* Format header
* [Formatters] Work on Discord Formatters
* Format
* Format
* [Formatters] More Formatter work, need to test further.
* [Formatters] More Work on Formatters.
* Add missing #endif
* [Formatters] Work on Formatters, fix Bot formatting in ^create help
* NPC Handin Discord Formatter
* Update player_event_logs.cpp
* Discover Item Discord Formatter
* Dropped Item Discord Formatter
* Split Money Discord Formatter
* Trader Discord Formatters
* Cleanup.
* Trade Event Discord Formatter Groundwork
* SAY don't record GM commands
* GM_Command don't record #help
* Update player_event_logs.cpp
* Fill in more event data
* Post rebase fixes
* Post rebase fix
* Discord formatting adjustments
* Add event deprecation or unimplemented tag support
* Trade events
* Add return money and sanity checks.
* Update schema
* Update ucs.cpp
* Update client.cpp
* Update 2022_12_19_player_events_tables.sql
* Implement archive single line
* Replace hackers table and functions with PossibleHack player event
* Replace very old eventlog table since the same events are covered by player event logs
* Update bot_command.cpp
* Record NPC kill events ALL / Named / Raid
* Add BatchEventProcessIntervalSeconds rule
* Naming
* Update CMakeLists.txt
* Update database_schema.h
* Remove logging function and methods
* DB version
* Cleanup SendPlayerHandinEvent
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
Co-authored-by: Aeadoin <109764533+Aeadoin@users.noreply.github.com >
2023-02-12 21:31:01 -06:00
Aeadoin
1cc32d92cf
[Bots] Add Lore Check for Augments. ( #2874 )
...
* [Bots] Add Lore Check for Augments.
* Add bot name
2023-02-12 16:43:58 -05:00
Aeadoin
924e91cf64
[Crash] Fix Bot Crash in Bot::Bot Constructor. ( #2868 )
...
* [Crash] Fix Bot Crash in Bot::Bot Constructor.
* fix another potential crash in bot contructor.
2023-02-12 14:27:29 -05:00
Aeadoin
9825c61a13
[Bots] Add Pet Power Support for Temp Pets. ( #2853 )
2023-02-11 10:57:02 -05: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
Aeadoin
a49fa42f35
[Bots] Update ResistSpell to use temp_level_diff client formula ( #2851 )
2023-02-09 10:36:15 -05:00
Aeadoin
7064a4156f
[Bots] Add IsBot() to methods in attack.cpp where applicable. ( #2840 )
...
* [Bots] add IsBot() to methods in attack.cpp where applicable.
* Add mercs where applicable
* Cleanup verbose if statements
* typo
* Fix other spots missed.
2023-02-09 10:36:01 -05:00
Aeadoin
106cb45b57
[Crash] Fix potential crash in Mob::CommonDamage ( #2848 )
...
out of bounds memory access.
2023-02-09 10:35:51 -05:00
Aeadoin
9a544650ee
[Bots] ST_AreaClientOnly spells to land on Bots ( #2849 )
2023-02-09 10:35:38 -05:00
Aeadoin
032d423add
[Bots] Add TotalDominationBonus modifiers. ( #2852 )
2023-02-09 10:35:26 -05:00
Akkadius
760b30ca0a
[Crash] Fix issue where long short names overflow file_name
2023-02-09 01:03:51 -06:00
Chris Miles
6b08ca51cc
[Logging] Add raw opcode when emu translated opcode is not found (OP_Unknown) via (C->S) ( #2847 )
2023-02-07 21:23:24 -06: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
Aeadoin
cc46b54f7f
[Bots] Add Additional HeroicAgi/Dex Modifiers. ( #2838 )
...
* [Bots] Add Additional HeroicAgi/Dex Modifiers.
* Typo
2023-02-06 22:31:02 -05:00
Aeadoin
9e3b363d4a
[Code] Add IsOfClientBot() virtual method. ( #2845 )
2023-02-06 22:30:49 -05:00
Aeadoin
b0d1dc5f04
[Bots/Mercs] Add 100% Hit chance if sitting while attacked. ( #2839 )
...
* [BOT] Add 100% Hit chance if sitting while attacked.
* [BOT] Add 100% Hit chance if sitting while attacked.
* Add Mercs correctly
* Missed usage of IsSitting() in Mob::RollD20
2023-02-06 22:30:33 -05:00
Chris Miles
158396937a
[Release] 22.3.0 ( #2842 )
...
* [Release] 22.3.0
* Update version.h
* Redirect stderr
* Update should-release to filter non-master
* Update should-release
2023-02-06 20:12:04 -06:00
Aeadoin
fb1467284c
[Bots] Add Additional HeroicStr modifiers. ( #2837 )
2023-02-06 21:07:38 -05:00
Aeadoin
14addd4869
[Feature] Add IsOfClientBotMerc() virtual method. ( #2843 )
2023-02-06 21:03:48 -05:00
Chris Miles
0a114fae9a
[Doors] Have NPCs trigger double doors ( #2821 )
2023-02-06 17:47:03 -06:00
Chris Miles
2b224d42ad
[Rules] Fix rule updates that affected bot booting checks ( #2841 )
2023-02-06 17:31:50 -06:00
Natedog2012
155ec9ac0d
[Quest API] Add rule AlternateAugmentationSealer for using a different bagtype ( #2831 )
...
* [Quest API] Add rule AlternateAugmentationSealer for using a different bagtype as an alternate augmentation sealer. Use EVENT_COMBINE with UseAugmentContainer
* Default it to be off or bagtype 53 (BagTypeAugmentationSealer)
2023-02-06 17:30:16 -06:00
Chris Miles
25b4b97c41
[DB Updates] Add Windows MySQL path auto detection for users where the path is not found ( #2836 )
2023-02-06 17:25:34 -06:00
Joel
839f31b24d
[Rule] Added rule to bypass level based haste caps ( #2835 )
2023-02-06 17:25:17 -06:00
Chris Miles
20728c31c4
[Crash] Fix crash in bot command botdyearmor ( #2832 )
...
* [Crash] Fix crash in bot command botdyearmor
* Update bot_command.cpp
2023-02-06 17:24:49 -06:00
Chris Miles
c6eb12ac16
[Crash] Fix IsUnderwaterOnly crash where npc data references can be stale ( #2830 )
...
* [Crash] Fix IsUnderwaterOnly crash where npc data references can be stale
* m_ prefix
2023-02-06 17:24:38 -06:00
Chris Miles
34d21d4056
[Crash] Fix command crash with #npcedit weapon when second weapon not passed ni ( #2829 )
2023-02-06 17:24:24 -06:00
Chris Miles
d369b47ef4
[Tasks] Implement alternate currency rewards ( #2827 )
...
* Reward currency on task completion
* Handle reward window
* Tweaks
2023-02-06 17:24:13 -06:00
Chris Miles
404f7cada8
[Pathing] Improvements to handling tight corridors pathing, clipping detection and recovery ( #2826 )
2023-02-06 17:24:03 -06:00
Chris Miles
823e73336d
[Command] #list now searches without case sensitivity ( #2825 )
2023-02-06 17:23:50 -06:00
Chris Miles
0da6391be3
[Doors] Remove door dev tools spam on client controlled doors ( #2824 )
...
* [Doors] Remove door dev tools spam on client controlled doors
* Update client_packet.cpp
* Update client_packet.cpp
* Update ruletypes.h
2023-02-06 17:23:40 -06:00
Chris Miles
0348cb6b8e
[Fix] Fix NPC ghosting at safe coordinates ( #2823 )
...
* [Fix] Fix NPC ghosting at safe coordinates
* Tweak order
* Handle another case
2023-02-06 17:23:29 -06:00
Vayle
b385a4385f
[Rules] Add rule to ignore name filter on chat channel creation. ( #2820 )
...
* [Rules] Add rule to ignore name filter on chat channel creation.
* Conditional reorder
2023-02-06 17:22:12 -06:00
Chris Miles
6a9228ed6e
[Lua] Resolve stoi Exception ( #2736 )
...
* [Lua] Resolve stoi Exception
* Change fallback for wp, not really needed for safety
* Change to Strings::ToInt
2023-02-06 17:22:01 -06:00
Vayle
8031bf0bcb
[Quest API] Add EVENT_TASKACCEPTED to Player scope ( #2822 )
...
* Add EVENT_TASKACCEPTED to player scope
* Formatting
2023-02-05 22:53:37 -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
Akkadius
60707a14db
[Hotfix] Post revert build fix for https://github.com/EQEmu/Server/commit/54050924d81d1f83268fe01f9c2b36fe10626601
2023-01-31 20:37:13 -06:00
Akkadius
54050924d8
Revert "[Quest API] Cleanup string copies and push_backs. ( #2807 )"
...
This reverts commit bcc2e022dc .
2023-01-31 20:30:34 -06:00
Aeadoin
f727c9f75a
[Bug Fix] Fix does_augment_fit_slot method. ( #2817 )
...
* [Bug Fix] DoesAugmentFit finds if an Aug Slot is free, changed overload method to check if Aug fits slot.
* Tweak/add lua
2023-01-31 21:11:12 -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
Natedog2012
2e575652f6
[Bug fix]#reload static should now properly fill the entity_lists for… ( #2815 )
...
* [Bug fix]#reload static should now properly fill the entity_lists for objects / doors / groundspawns
The individual #reload commands WILL still have issues when trying to use #list afterwards!
* Point ReloadDoors, ReloadGroundSpawns, ReloadObjects all to reload static to avoid entity_list data missing
2023-01-31 16:32:25 -06:00
Natedog2012
8e831dce36
[Bug fix]#reload aa will now refresh the AA table properly for every client when changes are made ( #2814 )
2023-01-30 20:24:02 -06: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
Natedog2012
66896a3121
[Quest API] Add GetItemCooldown to return the time remaining on items… ( #2811 )
...
* [Quest API] Add GetItemCooldown to return the time remaining on items in seconds
* Change GetItemCooldown to uint32 for timers up to 130 years
2023-01-30 00:04:06 -06:00
Paul Coene
4d2418af9d
[Bug Fix] BuffLevelRestrictions were restricting group buffs if mob targeted ( #2809 )
2023-01-29 18:52:03 -05:00
Chris Miles
265b32f46f
[Readme] Update build badges with Drone
2023-01-29 17:06:48 -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
Michael
369b5c2921
[Bug] Fixing % based mob see invis ( #2802 )
...
This was preventing anything other than 0 or 1 to be passed, but per the current design, the see_invis can be anything from 0 to MAX 25499, which can give you level 254 invis. See design notes in Mob::GetSeeInvisibleLevelFromNPCStat.
2023-01-29 14:26:55 -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
Aeadoin
a489290eba
[Bots] Add GetAugmentIDsBySlotID & AddItem with table ref Methods. ( #2805 )
...
* [Bots] Add GetAugmentIDsBySlotID & AddItem with table ref Methods.
* Return invalid slots to owner.
2023-01-29 12:49:44 -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
Natedog2012
68a34565f9
[Bugfix] Add SetItemCooldown to tell client exact timer of item when clicked and export to perl and lua ( #2795 )
...
Items that are on cooldown but client doesn't show.. clicking item will fix the timer in client
2023-01-27 17:31:14 -06:00
Aeadoin
c05f951f81
[Bots] Add Override methods for GetMax Buffs/Songs/Total slots ( #2801 )
2023-01-27 18:00:50 -05:00
Akkadius
dc64561b3c
[Release] 22.2.0
2023-01-27 01:13:38 -06:00
Akkadius
cb2aee2713
[Release] 22.2.0
2023-01-27 01:12:30 -06:00
Chris Miles
0730b6b588
[Crash] Fix crash issue with log formatting during character creation ( #2798 )
2023-01-26 20:40:58 -06:00
Aeadoin
826550acac
[Bots] Add EVENT_UNEQUIP_ITEM_BOT & EVENT_EQUIP_ITEM_BOT ( #2796 )
...
* Initial Commit, need to test.
* Add unequip events.
* const auto
2023-01-26 19:49:20 -05: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
Natedog2012
1fe79f430c
[Feature] ResetItemCooldown added to lua/perl and fix item re-cast times to show properly ( #2793 )
...
* Testing.
* Add ResetItemCooldown and port it over to perl
* This flag needs to be set for updating shared item cooldowns
* Properly set item recast for all item types, on corpses, on looting
* SummonItem properly sets recast timers of summoned items
* Rename variable to avoid confusion and change manifest to be more specific
* Sanity check item_d
* Recast -1 added as RECAST_TYPE_UNLINKED_ITEM
ResetItemCooldown will still remove cooldown of item that we don't have so when we acquire it the cooldown is reset
* change magic numbers
* more magic numbers
* More constants yay
* Remove unneeded export DeleteItemRecastTimer
* Remove duplicate message, this is handled by the client in this part of the code
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-01-25 20:09:08 -06: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