> Valhalla MUD - Restriction DIL Functions

Restriction DIL Functions

Updated August 1996


INDEX

Introduction
The Functions:
guild_restrict@function
anti_guild@function
quest_restrict@function
level_restrict@function
race_restrict@function
sex_restrict@function
ali_restrict@function
abi_restrict@function
ski_restrict@function
spl_restrict@function
weap_restrict@function
Example Act DILs

Introduction

In order to give the builder some more control over what happens when an item is restricted, the restrict functions have been redone in DIL. Hopefully the following document will help you in understanding how the new restrict functions work. It is strongly recommended that you use these special DIL functions rather than their corresponding SFUN functions as the SFUN restrictions are not being updated as frequently.

What follows are the functions that are contained within the function.zon. This is an actual zone in the mud that contains only DIL functions. If you feel that there is a necessary function missing from this zone please e-mail Whistler [Ken Perry] at whistler@blinksoft.com

Note that if read straight through this document is very repetitive. The reason for all of the duplicate text is so that builders will be able to look up a single function without having to refer to other parts of the doc. Hopefully this format will be easier to use.


Function: guild_restrict@function

Example call:

dilcopy guild_restrict@function ({PALADIN_GUILD,SORCERER_GUILD},0,25,"");

First Argument:
In the example the first argument is {PALADIN_GUILD, SORCERER_GUILD}. This argument is a string list which means you can pass it as many guilds as you want to restrict your arguments to. If the player is not in a guild that is listed here the item will force the player to drop it.

Second and Third Argument:
The second and third arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the second argument is set to a number greater than 0 and the third argument is left at 0 the number of hitpoints deducted will be equal to the second argument. (Note that by setting the third argument to 0 and the second argument to a positive value it then becomes possible for the item to kill a player) When the second argument is left at 0 and the third argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the third argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the third argument) will be deducted up to the max value set by the second argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Second = 0 Third = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Second = 100 Third = 0
Result: 100 hitpoints will always be deducted.
Arguments: Second = 25 Third = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fourth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy guild_restrict@function ({PALADIN_GUILD},0,25"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Function: anti_guild@function

Example call:

dilcopy anti_guild@function ({PALADIN_GUILD,SORCERER_GUILD},0,25,"");

First Argument:
In the example the first argument is {PALADIN_GUILD, SORCERER_GUILD}. This argument is a string list which means you can pass it as many guilds as you want to restrict your arguments to. If the player is in a guild that is listed here the item will force the player to drop it.

Second and Third Argument:
The second and third arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the second argument is set to a number greater than 0 and the third argument is left at 0 the number of hitpoints deducted will be equal to the second argument. (Note that by setting the third argument to 0 and the second argument to a positive value it then becomes possible for the item to kill a player) When the second argument is left at 0 and the third argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the third argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the third argument) will be deducted up to the max value set by the second argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Second = 0 Third = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Second = 100 Third = 0
Result: 100 hitpoints will always be deducted.
Arguments: Second = 25 Third = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fourth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy anti_guild@function ({PALADIN_GUILD,SORCERER_GUILD},0,25,"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Function: quest_restrict@function

Example call:

dilcopy quest_restrict@function ("Asgaard Feather Quest Complete",0,25,"");

First Argument:
In the example the first argument is "Asgaard Feather Quest Complete". This argument is a string value. If the player that tries to use the item does not have this string in his/her quest list it will not let them use it.

Second and Third Argument:
The second and third arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the second argument is set to a number greater than 0 and the third argument is left at 0 the number of hitpoints deducted will be equal to the second argument. (Note that by setting the third argument to 0 and the second argument to a positive value it then becomes possible for the item to kill a player) When the second argument is left at 0 and the third argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the third argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the third argument) will be deducted up to the max value set by the second argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Second = 0 Third = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Second = 100 Third = 0
Result: 100 hitpoints will always be deducted.
Arguments: Second = 25 Third = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fourth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy quest_restrict@function ("Asgaard Feather Quest Complete",0,25,"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Function: level_restrict@function

Example call:

dilcopy level_restrict@function (10,0,25,"");

First Argument:
In the example the first argument is 10. This argument is an integer and if the player is not at least the level passed to this argument he/she will not be allowed to use the item.

Second and Third Argument:
The second and third arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the second argument is set to a number greater than 0 and the third argument is left at 0 the number of hitpoints deducted will be equal to the second argument. (Note that by setting the third argument to 0 and the second argument to a positive value it then becomes possible for the item to kill a player) When the second argument is left at 0 and the third argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the third argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the third argument) will be deducted up to the max value set by the second argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Second = 0 Third = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Second = 100 Third = 0
Result: 100 hitpoints will always be deducted.
Arguments: Second = 25 Third = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fourth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy level_restrict@function (10,0,25,"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Function: race_restrict@function

Example call:

dilcopy race_restrict@function (RACE_ELF,0,25,"");

First Argument:
In the example the first argument is RACE_ELF. RACE_ELF is an integer that is defined in values.h. If the person who tries to use the item is not the race defined here then they will be prevented from doing so.

Second and Third Argument:
The second and third arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the second argument is set to a number greater than 0 and the third argument is left at 0 the number of hitpoints deducted will be equal to the second argument. (Note that by setting the third argument to 0 and the second argument to a positive value it then becomes possible for the item to kill a player) When the second argument is left at 0 and the third argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the third argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the third argument) will be deducted up to the max value set by the second argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Second = 0 Third = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Second = 100 Third = 0
Result: 100 hitpoints will always be deducted.
Arguments: Second = 25 Third = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fourth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy race_restrict@function (RACE_ELF ,0,25,"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Function: sex_restrict@function

Example call:

dilcopy sex_restrict@function (SEX_MALE,0,25,"");

First Argument:
In the example the first argument is SEX_MALE. This argument is an integer defined in values.h There are three possible values: SEX_MALE, SEX_FEMALE, and SEX_NEUTRAL. If the person is not the requeired sex the function will not let the player use the item.

Second and Third Argument:
The second and third arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the second argument is set to a number greater than 0 and the third argument is left at 0 the number of hitpoints deducted will be equal to the second argument. (Note that by setting the third argument to 0 and the second argument to a positive value it then becomes possible for the item to kill a player) When the second argument is left at 0 and the third argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the third argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the third argument) will be deducted up to the max value set by the second argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Second = 0 Third = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Second = 100 Third = 0
Result: 100 hitpoints will always be deducted.
Arguments: Second = 25 Third = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fourth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy sex_restrict@function (SEX_MALE,0,25,"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Function: ali_restrict@function

Example call:

dilcopy ali_restrict@function (1000,350,0,25,"");

First and Second Argument:
In the example the first and second arguments are 1000 and 350. These two values mean that the item will be restricted to players with an alignment between 1000 and 350 (good).

Third and Fourth Argument:
The third and fourth arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the third argument is set to a number greater than 0 and the fourth argument is left at 0 the number of hitpoints deducted will be equal to the third argument. (Note that by setting the fourth argument to 0 and the third argument to a positive value it then becomes possible for the item to kill a player) When the third argument is left at 0 and the fourth argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the fourth argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the fourth argument) will be deducted up to the max value set by the third argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Third = 0 Fourth = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Third = 100 Fourth = 0
Result: 100 hitpoints will always be deducted.
Arguments: Third = 25 Fourth = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fifth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy ali_restrict@function (1000,350,0,25,"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Function: abi_restrict@function

Example call:

dilcopy abi_restrict@function (ABIL_STR,10,0,25,"");

First Argument:
In the example the first argument is ABIL_STR. This is an integer defined in values.h There is one for each ability. This argument lets the restrict function know which ability to restrict the object to.

Second Argument:
The second argument in the example is 10. This argument tells the function what the minimum amount of the ability the player must have to be able to use the item. Keep in mind that any plus on the item will be added to the player before the test. For example if the player has 8 str and the item gives 2 str and you restrict the item to 10 str the player will be able to wear it because the total value after bonuses will be equal to 10.

Third and Fourth Argument:
The third and fourth arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the third argument is set to a number greater than 0 and the fourth argument is left at 0 the number of hitpoints deducted will be equal to the third argument. (Note that by setting the fourth argument to 0 and the third argument to a positive value it then becomes possible for the item to kill a player) When the third argument is left at 0 and the fourth argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the fourth argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the fourth argument) will be deducted up to the max value set by the third argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Third = 0 Fourth = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Third = 100 Fourth = 0
Result: 100 hitpoints will always be deducted.
Arguments: Third = 25 Fourth = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fifth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy abi_restrict@function (ABIL_STR,10,0,25,"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Function: ski_restrict@function

Example call:

dilcopy ski_restrict (SKI_STEAL,10,0,25,"");

First Argument:
In the example the first argument is SKI_STEAL. This is an integer defined in values.h There is one for each skill. This argument lets the restrict function know which skill to restrict the object to.

Second Argument:
The second argument in the example is 10. This argument tells the function what the minimum amount of the skill the player must have to be able to use the item. Keep in mind that any plus on the item will be added to the player before the test. For example if the player has 10 steal and the item gives 10 steal and you restrict the item to 20 steal the player will be able to wear it because the total value after bonuses will be equal to 20.

Third and Fourth Argument:
The third and fourth arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the third argument is set to a number greater than 0 and the fourth argument is left at 0 the number of hitpoints deducted will be equal to the third argument. (Note that by setting the fourth argument to 0 and the third argument to a positive value it then becomes possible for the item to kill a player) When the third argument is left at 0 and the fourth argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the fourth argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the fourth argument) will be deducted up to the max value set by the third argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Third = 0 Fourth = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Third = 100 Fourth = 0
Result: 100 hitpoints will always be deducted.
Arguments: Third = 25 Fourth = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fifth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy ski_restrict@function (SKI_STEAL,10,0,25,"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Function: spl_restrict@function

Example call:

dilcopy spl_restrict (SPL_PLAGUE,10,0,25,"");

First Argument:
In the example the first argument is SPL_PLAGUE. This is an integer defined in values.h There is one for each spell. This argument lets the restrict function know which spell to restrict the object to.

Second Argument:
The second argument in the example is 10. This argument tells the function what the minimum amount of the spell the player must have to be able to use the item. Keep in mind that any plus on the item will be added to the player before the test. For example if the player has 10 plague and the item gives 10 plague and you restrict the item to 20 plague the player will be able to wear it because the total value after bonuses will be equal to 20.

Third and Fourth Argument:
The third and fourth arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the third argument is set to a number greater than 0 and the fourth argument is left at 0 the number of hitpoints deducted will be equal to the third argument. (Note that by setting the fourth argument to 0 and the third argument to a positive value it then becomes possible for the item to kill a player) When the third argument is left at 0 and the fourth argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the fourth argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the fourth argument) will be deducted up to the max value set by the third argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Third = 0 Fourth = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Third = 100 Fourth = 0
Result: 100 hitpoints will always be deducted.
Arguments: Third = 25 Fourth = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fifth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy spl_restrict@function (SPL_PLAGUE,10,0,25,"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Function: weap_restrict@function

Example call:

dilcopy weap_restrict (WPN_AXE,10,0,25,"");

First Argument:
In the example the first argument is WPN_AXE. This is an integer defined in values.h There is one for each weapon type. This argument lets the restrict function know which weapon type to restrict the object to.

Second Argument:
The second argument in the example is 10. This argument tells the function what the minimum amount of the weapon ability the player must have to be able to use the item. Keep in mind that any plus on the item will be added to the player before the test. For example if the player has 10 hand axe and the item gives 10 hand axe and you restrict the item to 20 hand axe the player will be able to wear it because the total value after bonuses will be equal to 20.

Third and Fourth Argument:
The third and fourth arguments of the example call represent the max possible damage and the percent damage to be done, respectively. When both arguments are set to 0 no damage will be done when the item is illegally worn. When the third argument is set to a number greater than 0 and the fourth argument is left at 0 the number of hitpoints deducted will be equal to the third argument. (Note that by setting the fourth argument to 0 and the third argument to a positive value it then becomes possible for the item to kill a player) When the third argument is left at 0 and the fourth argument is set to a number greater than 0 a percentage of the player's hitpoints will be deducted. (Setting the fourth argument thus prevents the item from killing the player) If both arguments are set greater than 0 then a percentage of the player's hitpoints (percentage equal to the fourth argument) will be deducted up to the max value set by the third argument. Hopefully the following table of examples will help to make this point more clear:

Arguments: Third = 0 Fourth = 25
Result: 25% of the player's hitpoints are always deducted.
Arguments: Third = 100 Fourth = 0
Result: 100 hitpoints will always be deducted.
Arguments: Third = 25 Fourth = 25
Result: 25% of the player's hitpoints will be deducted up to a max of 25 hitpoints.

Fifth Argument:
In the example call the fourth argument was "". Just putting "" will make the function use default acts. Feel free to use the default acts until you are more comfortable with DIL. If you wish to make your own acts here is how your call would look:

dilcopy weap_restrict@function (WPN_AXE,10,0,25,"youractdil@yourzone");

At the end of this document under the header :Example Act DILs: you will find example acts for all DIL restrict functions.


Example Act DILs

Each of the following DILs are just examples of possible personal builder DILs. An experienced coder will find they can do all kinds of stuff inside the restrict function using these DILs but they were mainly made so that builders could design their own acts. For example you don't need to have the standard:

Your sword burns you and you drop it.

You could have:

The sword slaps you upside the head and you feel stupid as it slams into the ground removing your toe.

Have fun with your acts it will make the items a lot more fun.


/* Quest, guild and anti guild restricts. */

dilbegin quest_act();
code {
  act ("Your $2n burns your Ass and you drop it to the ground.",
       A_ALWAYS,self.outside,self,null,TO_CHAR);
  act ("$1n's $2n burns $1m and $1e drops it to the ground.",
       A_SOMEONE,self.outside,self,null,TO_REST);
  act ("Being in the right guild might help.",
       A_ALWAYS,self.outside,null,null,TO_CHAR);
  return;
}
dilend

/* This code will work for alignent restrict. */

dilbegin ali_act (max_ali:integer,min_ali:integer);
code {
  act ("Your $2n burns your Ass and you drop it to the ground.",
       A_ALWAYS,self.outside,self,null,TO_CHAR);
  act ("$1n's $2n burns $1m and $1e drops it to the ground.",
       A_SOMEONE,self.outside,self,null,TO_REST);
  if (self.outside.alignment>MAX_ALI) {
    act ("You are to good to use $2n",
         A_ALWAYS,self.outside,self,null,TO_CHAR);
  }
  else {
    act ("You are to evil to use $2n",
         A_ALWAYS,self.outside,self,null,TO_CHAR);
  }
  return;
}
dilend

/* This is an example act of level restrict */

dilbegin level_act (amount:integer);
code {
  act ("Your $2n burns you and you drop it to the ground.",
       A_ALWAYS,self.outside,self,null,TO_CHAR);
  act ("$1n's $2n burns $1m and $1e drops it to the ground.",
       A_SOMEONE,self.outside,self,null,TO_REST);
  act ("You are not high enough level to use $3n.  $2t "+
       "levels needed to use it.", A_ALWAYS, self.outside,
       itoa (amount), self, TO_CHAR);
  return;
}
dilend

/* This is an example act for race restrict */

dilbegin race_act ();
code {
  act ("Your $2n burns your Ass and you drop it to the ground.",
       A_ALWAYS,self.outside,self,null,TO_CHAR);
  act ("$1n's $2n burns $1m and $1e drops it to the ground.",
       A_SOMEONE,self.outside,self,null,TO_REST);
  act ("If you weren't so ugly your mom might not run to.",
       A_ALWAYS,self.outside,null,null,TO_CHAR);
  return;
}
dilend

/* This is an example act for ability restrict */

dilbegin abi_act (min_abi:integer);
var
  amount:integer;
code {
  act ("Your $2n burns you and you drop it to the ground.",
       A_ALWAYS,self.outside,self,null,TO_CHAR);
  act ("$1n's $2n burns $1m and $1e drops it to the ground.",
       A_SOMEONE,self.outside,self,null,TO_REST);
  amount:=min_abi-activator.abilities[ABIL_STR];
  act ("You are not strong enough to use $3n. $2t strength needed "+
       "to use it.", A_ALWAYS, self.outside, itoa (amount),
       self, TO_CHAR);
  return;
}
dilend

/* skill spell weapon example act */

dilbegin ex_act (min_abi:integer);
var
  amount:integer;
code {
  act ("Your $2n burns you and you drop it to the ground.",
       A_ALWAYS,self.outside,self,null,TO_CHAR);
  act ("$1n's $2n burns $1m and $1e drops it to the ground.",
       A_SOMEONE,self.outside,self,null,TO_REST);
  amount:=min_abi-activator.abilities[SKI_STEAL];
  act ("You are not skilled enough to use $3n.  $2t skill "+
       "needed to use it.", A_ALWAYS, self.outside,
       itoa (amount), self, TO_CHAR);
  return;
}
dilend

/* This is an example act for the sex restrict function. */

dilbegin sex_act ();
code {
  act ("Your $2n burns you and you drop it to the ground.",
       A_ALWAYS,self.outside,self,null,TO_CHAR);
  act ("$1n's $2n burns $1m and $1e drops it to the ground.",
       A_SOMEONE,self.outside,self,null,TO_REST);
  act ("If you use that you might lose something you hold dear!",
       A_ALWAYS,self.outside,null,null,TO_CHAR);
  return;
}
dilend