Site hosted by Angelfire.com: Build your free website today!

The Main Deck - Advancement





Tested only with Zmud version 5.55.
Please mud-mail me questions, comments or suggestions.

Aliases:
add_friend
	Usage:		'add_friend Epicar'
	Description:	Adds a name to your list of friends. People on this list will be
			highlighted in bold cyan. Use trigger number < > to alert you when
			a member of this list logs on. The alias 'friends' shown below will
			list the members of this list.

#SHOW %ansi(brown,bold)add_friend %1
#var Name %1
#if %ismember(@Name, @friend_list) {#SHOW @Name is already a friend.} {friend_list = %additem(%1,@friend_list)
#SHOW %1 was added to the list of friends.}
#unv Name

add_orgmate
	Usage:		'add_orgmate Epicar'
	Description:	Adds a name to your list of orgmates. People on this list will be
			highlighted in bold white. Use trigger number < > to alert you when
			a member of this list logs on. The alias 'orgmates' shown below will
			list the members of this list.

#SHOW %ansi(brown,bold)add_orgmate %1
#var Name %1
#if %ismember(@Name, @orgmate_list) {#SHOW @Name is already an orgmate.} {#var orgmate_list %additem(%1,@orgmate_list)
#SHOW %1 was added to the list of orgmates.}
#unv Name

add_target
	Usage:		'add_target Epicar'
	Description:	Adds a name to your list of targets. People on this list will be
			highlighted in bold red. Use trigger number < > to alert you when
			a member of this list logs on. The alias 'targets' shown below will
			list the members of this list. The aliases 'pk1_targets' and
			'pk2_targets' will execute your pk1 or pk2 alias on all members of
			this list.

#SHOW %ansi(brown,bold)add_target %1
#var Name %1
#if %ismember(@Name, @target_list) {#SHOW @Name is already a target.} {#var target_list %additem(%1,@target_list)
#SHOW %1 was added to the list of targets.}
#unv Name

friends
	Usage:		'friends'
	Description:	Causes zmud to display the list of friends.
	Example Output:	Friends: Person1|Person2|Person3

#SHO %ansi(yellow)Epicar's alias: friends
#var count %numitems(@friend_list)
#if (@count = 0) {#ECHO No friends.} {#SHOW Friends: @friend_list}
#unv count

orgmates
	Usage:		'orgmates'
	Description:	Causes zmud to display the list of orgmates.
	Example Output:	Orgmates: Person1|Person2|Person3

#SHO %ansi(yellow)Epicar's alias: orgmates
#var count %numitems(@orgmate_list)
#if (@count = 0) {#ECHO No orgmates.} {#SHOW Orgmates: @orgmate_list}
#unv count

targets
	Usage:		'targets'
	Description:	Causes zmud to display the list of targets.
	Example Output:	Targets: Person1|Person2|Person3

#SHO %ansi(yellow)Epicar's alias: targets
#var count %numitems(@target_list)
#if (@count = 0) {#ECHO No targets.} {#SHOW Targets: @target_list}
#unv count

remove_friend
	Usage:		'remove_friend Epicar'
	Description:	Removes the name specified from the list of friends.

#SHOW %ansi(brown,bold)remove_friend %1
#var Name %1
#if %ismember(@Name, @friend_list) {#var friend_list %delitem(%1,@friend_list)
#SHOW %1 was removed from the list of friends.} {#SHOW @Name is not a friend.}
#unv Name

remove_orgmate
	Usage:		'remove_orgmate Epicar'
	Description:	Removes the name specified from the list of orgmates.

#SHOW %ansi(brown,bold)remove_orgmate %1
#VAR Name %1
#IF %ismember(@Name, @orgmate_list) {#VAR orgmate_list %delitem(%1,@orgmate_list)
#SHOW %1 was removed from the list of orgmates.} {#SHOW @Name is not an orgmate.}
#UNV Name

remove_target
	Usage:		'remove_target Epicar'
	Description:	Removes the name specified from the list of targets.

#SHOW %ansi(brown,bold)remove_target %1
#var Name %proper(%1)
#IF %ismember(@Name, @target_list) {target_list = %delitem(@Name,@target_list)
#SHOW @Name was removed from the list of targets.} {#SHOW @Name is not a target.}
#unv Name


	First type of pk aliases

pk1_targets
	Usage:		'pk1_targets'
	Description:	Executes the pk1 alias defined in the mud on all members of your
			'target' list. Members added first to your target list will be
			attacked first.

#SHO %ansi(yellow)pk1_targets
#var count %numitems(@target_list)
#if (@count = 0) {#ECHO No targets.} {#ECHO Executing pk1 alias, targets: @count.
#loop @count {pk1 %item(@target_list,%{i})}}
#unv count

Note:	I spam 'cast layered winds' with my alias, so I have that in there right
	before '#unv count'. Feel free to do the same with defensive spells of
	yours, in case you miss recasting due to lack of mana or KO effect.

pk2_targets
	Usage:		'pk2_targets'
	Description:	Executes the pk2 alias defined in the mud on all members of your
			'target' list. Members added first to your target list will be
			attacked first.

#SHO %ansi(yellow)pk2_targets
#var count %numitems(@target_list)
#if (@count = 0) {#ECHO No targets.} {#ECHO Executing pk2 alias, targets: @count.
#loop @count {pk2 %item(@target_list,%{i})}}
#unv count

Note:	I spam 'cast layered winds' with my alias, so I have that in there right
	before '#unv count'. Feel free to do the same with defensive spells of
	yours, in case you miss recasting due to lack of mana or KO effect.


	Second type of pk aliases

Description:
This is a very efficient way to deal with lots of targets, ideal for raiding. They work
by trying 'kill' everyone on your target list. This way, you know all of the targets in
the room with one command. The 'You attack...' trigger sorts through the targets that
are in the room, and executes an alias on the first few that are the highest on your list.
Make sure you create a variable called 'max_kill_targets', and give it a value of 2 or 3.
The only downside I've run into is that I leap from the shadows right away. However, I
seriously doubt you'll get any more efficient than this.

(Trigger)
You attack Person1 and Person2.
	Description:	Stores all attacked targets in the room into the variable
			attacked_targets. The targets are sorted, and a pk alias is executed
			on the n ('max_kill_targets') most important targets in the room. I
			have max_kill_targets set to 3 because targets may leave before the
			trigger goes off.
	Note:	There's a little sorting problem when you have 10 or more targets.
		This is due to the fact that zmud sorts the list like this:
		'1 10 11 12 13.. 2 3 4 5 6 7 8 9' (mud-mail me with a suggestion here please)

Pattern:	You attack &{attacked_targets}.
Commands:
	count = ""
	targets_in_room = ""
	attacked_targets = %replace(@attacked_targets, " ", "|")
	attacked_targets = %replace(@attacked_targets, ",", "")
	count = %numitems(@attacked_targets)
	#loop @count {#if (%ismember(%item(@attacked_targets, %{i}), @target_list) != 0) {#ADDITEM targets_in_room %ismember(%item(@attacked_targets, %{i}), @target_list)}}
	targets_in_room = %sort(@targets_in_room)
	count = %min(@count,@max_kill_targets)
	#LOOP @count {@next_alias %item(@target_list, %item(@targets_in_room, %{i}))}
(Aliases)
pk1_targets_by_kill
	Usage:		'pk1_targets_by_kill'
	Description:	Tries to attack all existing targets. This creates the pattern
			in the previous trigger, showing all targets in the room. Change the
			value of 'next_alias' to be your pk alias in the MUD.

	#SHO %ansi(yellow)pk1_targets_by_kill
	count = %numitems(@target_list)
	targets_to_kill = %replace(@target_list, "|", ",")
	#if (@count = 0) {#ECHO No targets.} {kill @targets_to_kill}
	cast layered winds me
	#var next_alias pk1


pk2_targets_by_kill
	Usage:		'pk2_targets_by_kill'
	Description:	Same as previous, only changes the value of 'next_alias'.
			Useful if you use more than one pk alias.

	#SHO %ansi(yellow)pk2_targets_by_kill
	count = %numitems(@target_list)
	targets_to_kill = %replace(@target_list, "|", ",")
	#if (@count = 0) {#ECHO No targets.} {kill @targets_to_kill}
	cast layered winds me
	#var next_alias pk2

Back

(Click here to go back t' th' homepage)

(Click here to go back t' Ahab's Quarters)