Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Quest API] Add Recipe-based methods to Perl/Lua. #2844

Merged
merged 6 commits into from Feb 8, 2023

Conversation

Kinglykrab
Copy link
Contributor

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.

Kinglykrab and others added 5 commits February 6, 2023 20:31
# 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.
@Akkadius
Copy link
Member

Akkadius commented Feb 7, 2023

LGTM. I think Tradeskills are a great candidate to pull into memory without a huge lift

@Kinglykrab
Copy link
Contributor Author

Sounds good, I’ll do that. Makes sense to not have to resize it over and over each time something new is added.

Copy link
Contributor

@Aeadoin Aeadoin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@Aeadoin Aeadoin merged commit 268879b into master Feb 8, 2023
@Aeadoin Aeadoin deleted the quest_api/recipe_methods_new branch February 8, 2023 02:42
@Akkadius Akkadius mentioned this pull request Feb 16, 2023
catapultam-habeo pushed a commit to catapultam-habeo/pyrelight-server that referenced this pull request Mar 27, 2023
* [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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants