Proposed aliases change

Having thought about the contents of Announce #5250 for a little bit, and about how I make use of the alias and queueing systems, I have a minor concern about the 10 command limit. I'll start by saying that in a lot of cases this isn't going to be a problem for me, but there are certain edge cases that aren't *that* uncommon where it's going to be an issue. I'll also say that I do a lot of tracking client-side via GMCP, triggers and scripts to reduce the number of commands I'm sending to the game, so I'm not making the game itself execute commands that will produce no actual effect. However, here's the worst case for an attack (not including non-essential, but desirable, things I currently include when attacking):

1. It's always a good idea to make sure you're standing before you attack, so I always have STAND as the first command. Total commands so far: 1

2. Then I need to make sure I'm mounted (there's no point in buying an invincible mount if you don't use it). Worst case, my mount is in a totally different room and I'm mounted on something else (e.g. urn mount), so I have to dismount, send a tell to summon my pet, drop that, then vault. Total commands so far: 5

3. I also need to make sure I'm wielding the correct weapons for what I want to do. Worst case, that's four commands to UNWIELD/SHEATHE/WHATEVER twice, then WIELD/DRAW/WHATEVER twice. WIELD <item1> <item2> does not play well (enough) with using weapon containers, and I spent a large amount of credits on customising those to match artefact weapons (plus adding non-decay and resetting), so I'm not exactly motivated to use that instead. Total commands so far: 9

That's nine commands before I've even thought about including an attack. For a lot of classes, there's more than one command you'll want to do as part of attacking; for Priest I have Zeal, smite (or a Devotion ability), ASSESS and CONTEMPLATE; Knight has falcon commands (track, slay, whatever), doubleslash/doublewhirl/whatever, plus something like fury (or dropping rites as a Paladin), and ASSESS.

If I absolutely have to, I can make some changes to live with this, but it's definitely going to be what I'd consider a loss of functionality (even if "functionality" is only defined by roleplay and aesthetics).

To avoid that, questions:

1. How arbitrarily was the cap of 10 commands chosen? Is increasing this to 15 a possibility without a significant drop in performance? I think that would probably cover my worst cases.
2. Alternatively (or in addition), can the limit on the QUEUE system be increased from 6 to 7? That would allow me to split things across two aliases in the situations where I do have more than 10 commands, without losing out on the number of queued commands I can have.
2. Can we get a full implementation of WIELD <item1> <item2> that (somehow) makes proper usage of weapon containers (before Friday)? I'm not entirely sure what that would look like in practice, to be honest, but the result would be a system that correctly stores wielded items in a designated corresponding container when needed to be unwielded to make room for something else.


  • edited August 2020
    I am kinda confused about the whole change. As far as I am aware, server-side aliases have been limited to 10 actions for a long time (my experience being trying to light dozens of firecrackers at once). So is this change affecting client-side aliases that use the command separator?

    Or am I mixing up the command separator having a limit and multi line aliases being unlimited?
  • Server side alias isn’t limited to the 10 commands. You can make an alias do any number of things then queue that alias and it will run.

    Similar to Antonius, I have scabbards I’ve paid credits to have a custom draw message, and using the stock command of wield thing thing doesn’t make use of this. So I have to draw thing/draw thing, which is 2 commands instead of one.

    I think upping the cap to 15 would work for most people that make use of these things so often, or if not maybe filtering commands like stand and wield/draw outside of the cap (which is functionally the same thing as just increasing the cap). I know it’s been being discussed by some to be enough of a change that they’re wondering if it’s even worth the work.

    Penwize has cowardly forfeited the challenge to mortal combat issued by Atalkez.
  • Server-side aliases have no limit on number of commands, and a very high character limit.  That's different from the number of commands you can send at once using the command separator, which is already 10.

    It's quite common for people to use server-side aliases to circumvent the 10 limit on using the command separator.  Antonius has a good example, where you might want your attack alias to do more than 10 things at once (ie: stand, summon mount, vault mount, sheathe, wield, wipe, change parry, get body, put bomb in pack, attack, assess, contemplate). 

    Some of that could certainly be removed with client-side scripting to only do it when necessary, but the worst case exists where you want it all at once, and some classes need even more things in there.  It can also be split up with client-side scripting, but that increases the scripting burden of entry for combat, especially group combat.

    I think some of these things could be fixed by some QoL changes from the devs.  Assigning a weapon to a particular sheathe so it remembers which sheath to put the weapon in, and WIELD <thing> automatically sheathing what you're currently wielding into the assigned sheath and drawing the thing from its assigned sheath would eliminate a handful of commands there. 

    Being able to add wipe inline to venomable attacks (ie, jab Antonius curare wiped) could remove the need for wiping as its own command too.  Or having wiping be a toggle where you automatically wipe all weapons you envenom until it's toggled off, similar to how targeting works.
  • It sounds like you guys put massive amounts of unnecessary commands in, and that's exactly what they are trying to stop you from doing.

  • Cooper said:
    It sounds like you guys put massive amounts of unnecessary commands in, and that's exactly what they are trying to stop you from doing.
    I track what commands my serverside aliases are set to so I only send a SETALIAS command when they need to change. I track what I have queued using the queueing system so I only send a QUEUE command when I need to add, remove, or update a command. I track what I'm wielding so I only send commands for that if I'm not wielding what I want to, the items in my inventory and current room so I'm only summoning/dropping my mount if I need to, what I'm wearing so I only try to wear my armour if I'm not already, what my serverside curing priorities are set to so I only update the ones that need to change, etc. I do all of that so that I only include commands that are actually necessary to achieve what I want to achieve. I don't consider wanting to be standing, riding the correct mount, wielding the correct items, and performing an attack to be unreasonable.

    Yes, some of what I want to achieve - like actually making use of the customised scabbards/beltloops/etc I paid hundreds of credits to have - isn't strictly necessary from a purely mechanical standpoint (doubleslash works just as well, and hits just as hard, if I WIELD rather than DRAW my scimitars). However, even with the occasional alias that will include more than ten commands, I'm pretty sure that the amount of server load I'm responsible for during a team fight is several orders of magnitude lower than all of the other people in that fight who are spamming one alias/keybinding that sends SETALIAS BLAH <10 or fewer commands> and QUEUE ADDCLEAR BLAH to the game a few hundred times per minute.
  • KresslackKresslack Florida, United States
    Cooper said:
    It sounds like you guys put massive amounts of unnecessary commands in, and that's exactly what they are trying to stop you from doing.
    I don't think this is the case so much as some things just require multiple commands in an alias, depending on the circumstances. For instance, I have an alias that sheathes/unwields any weapons or anything else wielded, wield and throw and eye sigil, and check ent, group, and then search. That's 9 right there, and a pretty fundamental process.

  • This is just going to make people queue two game-side aliases. For Alchemist I'm gonna be forced to unless I want to lose legitimate functionality of the class.
  • edited August 2020
    SHEATHE <X> IN <Y>/DRAW <x>?

    edit: Oh, you want WIELD X to automatically sheathe the other weapon. I see. Nevermind.
  • Most people aren't adding a bunch of unnecessary commands to their attack aliases, combat has just been designed to where you you really should do a lot of things every attack to be fighting optimally. In those cases, you're basically just going to see people queuing up two aliases instead of one, to fit all the actions in. I don't think that's what the change is meant to target, though.

    I imagine that what this change is meant to do is change how people update their priorities. Svof, in particular, is -incredibly- spammy for this, with a habit of fully updating two serverside curingsets in huge, character-limit hitting aliases whenever you change priorities. There are certain prio swapping things where it will fully re-update your basic serverside priorities, and then switch to your slowcuring serverside priorities and fully update those, sometimes to process very small changes. Given that the change included a new command for updating a lot of priorities, I'm guessing that's what this is meant to address.

    Mind, this will only have any effect once svof sees a wide update to use the new commands and address this, and who knows when that'll happen. I just bandaid fixed mine to do the same thing, but to do it in a bunch of ten-command aliases, which probably isn't going to actually help things, but I don't have the know-how to easily fix that part of the system to use the new command.
  • So what I am gathering is I have until Friday to light a million firecrackers at once?
  • Agree 100% with Antonius, personally I'd prefer to have it capped at more like 20 for the time being if it must be capped.

    I have some classes, like Jester that I'd straight up shelf rather than try to manage the alias's.  Having invested in artifact axes to maximize my speed, then trying to account for my Aussie ping and managing juggled throws means I need to do things like ARTIFACT RECALL ALL (in case someone picked one up) as well as GET AXE<ID> times 3 because a) I dont know which axe was thrown (and no, I cant throw by id or jester is just impossible with aussie ping) and b) there might be other axes on the ground and c) artifact recall all doesnt work if they're on the ground. I'll burn through half the limit with what I agree are uneccessary actions if you want to play it like the average schmuck, but absolutely required to make it work at the top end of efficiency.

    I also have auxiliary systems like my parry system, or blocking system throwing commands into tables so they will execute on next balance, these all get squeezed in before the attack (as required, not uneccessarily at all). Or if I fire my mono alias, it will throw into the tables a bunch of commands to drop a flamed mono into my prequeue.  Sure, I can queue just the mono drop, then separately do the rest of my command, but given my ping I then sacrifice a second to make sure something has worked before I move on.

    Theres some things that I also use logic commands for simply because processing triggers on your action lines doesnt always tell the full picture, just as an example, my shikudo logic will always echo the command its running back to me, because you need to specifically know which strikes you applied attrition to.  Getting that information from the point where you queue it, to the point where your processing the command can be convoluted when you have a half second ping, if you try to change your queue'd command then you dont know if that has made it in or not, so its safer to have your command echo back what it is.

    When I look at my system and all the time it would take me to change the various parts, along with retesting, combined with all the individual class quirks... 
    Dont have the time for that overhaul, and not big on playing solely as a spectator, so I think I'd take a break.
  • edited August 2020
    Seragorn said:
    a) I dont know which axe was thrown (and no, I cant throw by id or jester is just impossible with aussie ping) and b) there might be other axes on the ground
    You don't need some advanced scripting for this. You can just get gmcp items in the room, and pick up yours if there's one of your three in the room. Ditto for monoliths.
    Seragorn said:
    my shikudo logic will always echo the command its running back to me
    This is also unnecessary, when you can just parse the 'running queued action' line.

    I can't think of a situation where you'd need to constantly go over 10. Seems like people just want to, which is kinda the purpose of the limitation to begin with. Majority of actions don't need to be sent every single bal, if you bother to code conditions for actions.

    eta: I hate that I'm agreeing with Cooper.

    Disappearing from Achaea for now. See you, space cowboy.

    smileyface#8048 if you wanna chat.

  • Makarios said:
    This is a needed change, but the goal is for it to be as painless as possible.

    We'll drop it to twenty on Friday with a mind to moving to fifteen in the near future. I do want us to get down to ten eventually, but we might need to implement some additional quality of life things to eliminate rp-based command necessities and similar before doing so.

    We are going to make the separator have the same limit going forward, as well.

    Thanks for hearing us out, Mak!
  • Who knew the great combat balancer would be an alias limit!  HUZZAH!

Sign In or Register to comment.