ChatTheatre / orchil

HTML5 Skotos Game Client
2 stars 4 forks source link

A Request for Functional MACROs #13

Closed kurzon-marrach closed 3 years ago

kurzon-marrach commented 3 years ago

The absence of a MACRO feature for Orchil remains one of the main deterrents for a lot of my players over at CM making the hard switch over to Orchil (the theme/color bug being maybe the only larger perceived issue). Alice, Zealotry and Flash clients all provided a means in which we could record a single word string as a shortcut for a longer string command, and has been pretty useful in a game where simple things such as dressing your character or taking an item from a pouch requires a several word long command to execute.

Part of this is on us, as 'containers within containers' for sorting things has become the standard over the years, with MACROs used to make those containers more immediately targetable. Take for example, targeting a key. The key (object) would be in a keyring (object container) which is in a pouch (object container) hung from a belt (object container). The command to interact with this key would be:

touch my belt's pouch's keyring's key

That's assuming you only have one belt, with one pouch on it with one keyring and one key inside. If, say, you were wearing two belts (a regular belt for your pouch, and then a shoulder slung baldric with a chest belt) this could get much more complicated as you have to specify which belt, pouch, and key you're wanting to interact with. You might end up with something like:

touch my first belt's second pouch's brass keyring's first long rectangular key

Yikes. :(

Historically we've used MACRO systems where you could input, for example:

MACRO ADD key1 first belt's second pouch's brass keyring's first long rectangular key

In which case I could simply enter:

touch my key1

MACROs were saved on a per-character basis as .txt files the client would recall in its preferences and reference on login. Orchil doesn't seem to differentiate at all between different characters insofar as preference settings go - saving a change for one character saves it for all of them, but I don't think that would be a big deal in this case as most MACROs would be useful or at least non-obtrusive cross-character.

kurzon-marrach commented 3 years ago

@noahgibbs Any thoughts on the viability of this? Now that the color issue has been resolved for Orchil, this is the last feature that comes to mind that was present in Alice and Zealotry but missing in Orchil. The third-party Merciful client that a number of players over at Castle Marrach are using features it also.

noahgibbs commented 3 years ago

I was just thinking the same :-) Chris just okayed me putting a day or so into Orchil fixes. This and the "body" tag for respecting SkotOS colour schemes seem like something I could do in a day.

kurzon-marrach commented 3 years ago

Good to hear!

noahgibbs commented 3 years ago

Note to self: here is how Zealotry implemented its macro functionality, in the last function in this file: http://code.is-here.com/zealotry/trunk/content/macro.js