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

Add support for items in shortcuts addon. #2076

Open
wants to merge 1,040 commits into
base: dev
Choose a base branch
from
Open

Conversation

Imisnew2
Copy link
Contributor

@Imisnew2 Imisnew2 commented Sep 2, 2021

Adds support for items so that /<item name> causes that item to be used -- i.e. translates to /item "<item name>" <me>.

Test cases:
/remedy
/rolandaifuku
/rolandaifuku+1

RubenatorX and others added 30 commits December 28, 2020 16:22
This is intended to allow quotes to be omitted when using brackets`[]` in the equip command. This allows the command to function properly when double quites are used.
The following should now all work:
gs equip precast.WS["Rudra's Storm"]
gs equip precast.WS['Rudra's Storm']
gs equip precast.WS[Rudra's Storm]
gs equip precast.WS.Rudra's Storm
While I'm at it, the function also would only ever exit after 30 iterations. This is now fixed.
Adding Chaosbringer to the list of checkable weapons (DRK flag quest weapon)
Added new items to Slip 22
Added Mastery Rank to 0x01B and an unknown/junk field to 0x061
This is to add back the synthesis results that are lost on the injected synths.
Added resize and reset commands, implemented IPC, cleaned up code.
Got rid of windower.ffxi.get_info() and .get_player() calls.
Update/Fix slips.lua lib
Upgrade EmpyPopTracker to 2.5.0
Fix use of quotes in `gs equip` and exit loop properly
JobChange: Added command to change both jobs at once and prefer dw subjobs on reset
`incoming 0x017` changed to have different data for different chat modes
Also tweaked `incoming 0x01B` for Mastery Rank and Mentor icon data
Byrth and others added 25 commits September 15, 2021 22:07
…strosity-fix

Gearswap shortcuts monstrosity fix
Locals, spacing


dev table, format arg, no more length


the rest of the owl
A few functions for decoding dialog entries
Adding Chemistry Set and Goujian to Slips library
Changed to use boolbits and added Master Levels menu display data
Change to use Refs
Re-add Master flags comment
Copy link
Contributor

@Byrth Byrth left a comment

Choose a reason for hiding this comment

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

Looks good. Just a few questions.

-- Monster Abilities contains a large number of player-usable moves (but not monstrosity-usable). This excludes them.
make_abil(strip(v.english),resource,id)
local name = resource ~= 'items' and strip_non_alphanumeric_convert_digits_to_roman(v.english) or strip_non_alphanumeric_keep_plus(v.english)
Copy link
Contributor

Choose a reason for hiding this comment

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

Are there name collisions if you don't keep the plus and avoid converting digits to roman numerals?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I didn't try, but I felt /rolandaifuku+1 felt more natural than /rolandaifuku1.

Copy link
Contributor

Choose a reason for hiding this comment

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

That's fine, but you can use /rolandaifuku+1 either way.

Copy link
Contributor

Choose a reason for hiding this comment

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

My main concern here is that this adds complexity (two slug paths) without adding any obvious benefit.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No. If we only used the original, it would be simply /rolandaifuku for both the normal and +1 versions: the plus gets stripped and the 1 gets omitted when converting to Roman numerals.

@@ -198,9 +198,10 @@ end
-- Iterate through resources and make validabils.
function validabils_it(resource)
for id,v in pairs(res[resource]) do
if (not v.monster_level and v.prefix) or (v.monster_level and v.monster_level ~= -1 and v.ja:sub(1,1) ~= '#' ) then
if (not v.monster_level and v.prefix) or (v.monster_level and v.monster_level ~= -1 and v.ja:sub(1,1) ~= '#' ) or (v.category == 'Usable') then
Copy link
Contributor

Choose a reason for hiding this comment

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

This seems okay to me. If someone wants to revisit this decision, they can do it in another PR.


aliases = config.load('data\\aliases.xml',default_aliases)
aliases = config.load('data/aliases.xml', default_aliases)
settings = config.load('data/settings.xml', default_settings)
Copy link
Contributor

Choose a reason for hiding this comment

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

Adding another settings file just to allow people to disable compatibility with items seems like a lot of work for no obvious benefit. I would just make it an always-on feature. No one is going to accidentally type //proether+3 or //vileelixir+1

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I did this because of vague concerns that this would cause problems. https://discord.com/channels/338590234235371531/501099842097905675/883160617706483712

Copy link
Contributor

Choose a reason for hiding this comment

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

This adds complexity without benefit, so I would eliminate it. Make items always-on and don't add a settings file.

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.