Zmud aliases to decide which feytouched and voidcaller power to use

Scripts and support for your favorite MUD client.
Inama
Sojourner
Posts: 829
Joined: Wed Sep 15, 2010 8:45 pm

Zmud aliases to decide which feytouched and voidcaller power to use

Postby Inama » Mon Feb 19, 2024 5:16 pm

Because there are so many options, I wrote an alias to look at the command prompt and decide which power I should use, this is my first stab at it, it seems to work reasonably.

They all use this trigger to capture the command line, you have to have combo points on and all relevant powers on your prompt.
#trigger {^< (%d)h/(%d)H %dv/%dV ~((%d)~) ~|(*)~| (?)} {
#var hp %1
#var maxhp %2
#var combo %3
#var powers {%4}
#var bashed %eval( %pos( "P: sit", %trigger) > 0)
#var ebashed %eval( %pos( "EP: std", %trigger) = 0)
#var combat %eval( %pos( "T: ", %trigger) > 0)
#if ((@bashed = 0) & (%len( @buffer) > 0)) {
#exec @buffer
#var buffer {}
}
}

Alias for feytouched when you don't want to agro the room:
#alias fey1 {
#if (@combat = 0) {#abort 1}
#if (%ismember( "sd +", @powers)) {#exec "sd"}
#var action ""
#var power "ms"
#if (%ismember( "ss +", @powers)) {#var power "ss"}
#if (%ismember( "mb +", @powers)) {#var power "mb"}
#if (%ismember( "hf +", @powers)) {#var action "hf"}
#if (%ismember( "ht +", @powers)) {#var action "ht"}
#if (((@maxhp - @hp) > 100) & (%ismember( "hm +", @powers))) {#var action "hm"}
#if (((@maxhp - @hp) > 200) & (%ismember( "awg +", @powers))) {#var action "awg"}
#if (((@maxhp - @hp) > 200) & (%ismember( "dm +", @powers))) {#var action "dm"}
#if (((@maxhp - @hp) > 200) & (%ismember( "er +", @powers))) {#var action "er"}
#if (@bashed = 0) {#exec @power %1} {#var buffer {@power %1}}
#if (%len( @action) > 0) {#if (@bashed = 0) {#exec @action %1} {#var buffer {@buffer";"@action %1}}}
}

Alias for feytouched when you don't care about agroing the room:
#alias fey2 {
#if (@combat = 0) {#abort 1}
#if (%ismember( "sd +", @powers)) {#exec "sd"}
#var action ""
#var power "ms"
#if (%ismember( "ws +", @powers)) {
#var power "ws"
#if (%ismember( "tg +", @powers)) {#var action "tg"}
}
#if (%ismember( "ss +", @powers)) {#var power "ss"}
#if (%ismember( "mb +", @powers)) {#var power "mb"}
#if (%ismember( "tt +", @powers)) {#var power "tt"}
#if (%ismember( "mm +", @powers)) {#var power "mm"}
#if (%ismember( "ff +", @powers)) {#var power "ff"}
#if (%ismember( "ht +", @powers)) {#var action "ht"}
#if (%ismember( "hf +", @powers)) {#var action "hf"}
#if (((@maxhp - @hp) > 100) & (%ismember( "hm +", @powers))) {#var action "hm"}
#if (((@maxhp - @hp) > 200) & (%ismember( "awg +", @powers))) {#var action "awg"}
#if (((@maxhp - @hp) > 200) & (%ismember( "dm +", @powers))) {#var action "dm"}
#if (((@maxhp - @hp) > 200) & (%ismember( "er +", @powers))) {#var action "er"}
#if (@bashed = 0) {#exec @power %1} {#var buffer {@power %1}}
#if (%len( @action) > 0) {#if (@bashed = 0) {#exec @action %1} {#var buffer {@buffer";"@action %1}}}
}

Alias for voidcaller when you don't want to agro the room:
#alias void1 {
#if (@combat = 0) {#abort 1}
#var action ""
#var power "hb"
#if ((@ebashed = 0) & (%ismember( "sd +", @powers))) {#var power sd}
#if (%ismember( "boa +", @powers)) {#var action "boa"}
#if (((@maxhp - @hp) > 200) & (%ismember( "aov +", @powers))) {#var action "aov"}
#if (((@maxhp - @hp) > 50) & (%ismember( "hxv +", @powers))) {#var action "hxv"}
#if (((@maxhp - @hp) > 200) & (%ismember( "er +", @powers))) {#var action "er"}
#if (((@maxhp - @hp) > 200) & (%ismember( "geo +", @powers))) {#var action "geo"}
#if (%ismember( "ec +", @powers)) {#var power "ec"}
#if (%ismember( "ss +", @powers)) {#var power "ss"}
#if (@bashed = 0) {#exec @power %1} {#var buffer {@power %1}}
#if (%len( @action) > 0) {#if (@bashed = 0) {#exec @action %1} {#var buffer {@buffer";"@action %1}}}
}

Alias for voidcaller when you don't care if you agro the room:
#alias void2 {
#if (@combat = 0) {#abort 1}
#var action ""
#var power "hb"
#if ((@ebashed = 0) & (%ismember( "sd +", @powers))) {#var power sd}
#if (%ismember( "boa +", @powers)) {#var action "boa"}
#if (((@maxhp - @hp) > 200) & (%ismember( "aov +", @powers))) {#var action "aov"}
#if (((@maxhp - @hp) > 50) & (%ismember( "hxv +", @powers))) {#var action "hxv"}
#if (((@maxhp - @hp) > 200) & (%ismember( "er +", @powers))) {#var action "er"}
#if (((@maxhp - @hp) > 200) & (%ismember( "geo +", @powers))) {#var action "geo"}
#if (%ismember( "ec +", @powers)) {#var power "ec"}
#if ((%ismember( "ss +", @powers)) & (@action <> "geo")) {#var power "ss"}
#if (%ismember( "vr +", @powers)) {#var power "vr"}
#if (((@maxhp - @hp) > 50) & (%ismember( "vs +", @powers))) {#var power "vs"}
#if (@bashed = 0) {#exec @power %1} {#var buffer {@power %1}}
#if (%len( @action) > 0) {#if (@bashed = 0) {#exec @action %1} {#var buffer {@buffer";"@action %1}}}
}

This is a first draft so has minor problems and is fairly simple in it's logic.

Return to “MUD Client Help”

Who is online

Users browsing this forum: No registered users and 1 guest