GenAbility
CoffeeMUD |
---|
Administrator Builder Player |
=CoffeeMUD Administrator Information= |
---|
Installation Help Development Modification Feature Requests Mud Grinder ini Security CMARE Share Wiki |
GenAbilities are abilities that are created virtually within CoffeeMUD. Before creating GenAbilities, you should be familiar with the [Builder's Guide] and the [Guide].
Contents
- 1 Creating GenAbilities
- 2 GenAbility Data
- 2.1 Ability/Skill name
- 2.2 Type, Domain
- 2.3 Command Words
- 2.4 Minimum Range
- 2.5 Maximum Range
- 2.6 Ticks Between Casts
- 2.7 Duration Override
- 2.8 Affect String
- 2.9 Is Auto-invoking
- 2.10 Skill Flags
- 2.11 Override Cost
- 2.12 Cost Type
- 2.13 Can Affect
- 2.14 Can Target
- 2.15 Tick/Periodic Affects
- 2.16 Quality Code
- 2.17 Affect Adjustments
- 2.18 Caster Mask
- 2.19 Scriptable Parm
- 2.20 Target Mask
- 2.21 Fizzle Message
- 2.22 Auto-Cast Message
- 2.23 Normal-Cast Message
- 2.24 Post-Cast Message
- 2.25 Uninvoke Message
- 2.26 Attack-Type
- 2.27 Quiet Effect ID
- 2.28 Public Effects
- 2.29 Extra Castings
- 2.30 Damage/Healing Formula
- 2.31 Help Text
- 3 Notes
Creating GenAbilities
Creating GenAbilities Using the Command Line
To create an ability in-game, use the command CREATE ABILITY [ability_name].
To create a crafting skill, use the command CREATE CRAFTSKILL [ability_name].
To create a language skill, use the command CREATE LANGUAGE [language_name].
- [ability_name] should be very descriptive to the nature of the ability. For example, if you are creating an ability that only wolves would use, you may wish to name the ability Wolf_Rake. You will have an opportunity to provide a more user-friendly display name later. Uniqueness of this name is important for making help file entries.
Creating GenAbilities Using the MUDGrinder
Select the Abilities link in the main Grinder menu. Scroll to the bottom of the list in the Abilities Creator page and type your ability name in the appropriate skill type, then click the Create new (skill type) link to the left of the entry box you chose.
GenAbility Data
Ability/Skill name
This is the display name of the ability that players/mobs will use.
Type, Domain
The type of ability will determine where it appears on a player's abilities list, whether it is a chant, prayer, skill, song or spell. The Domain affects which expertises apply to it, as well as other domain-related affects.
- Do not put a space between the type and the domain, only place a comma between the two fields.
- The domain name should not have any spaces. Typically, an underscore is used between domains with multiple words, like nature_lore.
- Do not attempt to create new domains with this field. It does not work.
Command Words
This is the command you must state before specifying the ability name and target. For spells, this is CAST, CA, C. For properties, this field is blank. This field can be any command word desired, but may result in some conflicts within your mud when players are using socials or other commands of the same name as this field.
Minimum Range
The minimum range in which the mob must be to use the ability on the target. This is a descriptive list, with values of:
- Melee
- Close
- Short
- Medium
- Long
- Longer
- Longerstill
- Extremelylong
- Infinite
Maximum Range
The maximum range in which the mob must be to use the ability on the target. Maximum Range uses the same descriptive list as minimum range, and should be the same or further than Minimum Range.
Ticks Between Casts
This field determines the frequency in which the ability may be used. If set to 0, this ability may be used as frequently as commanded. Any positive integer will cause this ability to be unavailable for use until that number of ticks has gone by.
Duration Override
This field will override an ability's duration. Normally, abilities will last for a Standard Duration.
Affect String
This is the display players will see when using the AFFECTS or SCORE command for abilities that persist. Generally, the affect string should be enclosed in parentheses. This may be left blank if you do not desire a player to be able to detect the affect. Obvious affects (like paralysis, losing a limb, or having a horrid stench) should have an affect string. If the #Can Affect is not set properly, this field will not be used.
Is Auto-invoking
Whether this skill is automatically applied to a player as an affect when they learn the skill. If true, the ability will show no casting message, and proceed directly to affecthood.
Skill Flags
0 or more comma-delimited ability flags that describe the affects of your skill to the rest of the mud engine.
Override Cost
Designate the cost of using this skill in mana/movement/etc.
- A value of -1 means to use the default system as defined in your coffeemud.ini file.
- A value of 0 means its free.
- A value from 0-99999 means to always use that amount.
- A value of 2147483647 means to always use all of the mobs mana/move points.
- A value of 2147483647-100 to 2147483647 means to use that percentage of the mobs mana/move points.
Cost Type
This field allows you to determine what resource(s) are used to activate the ability for the assigned cost from the previous field. Mana is the default, but Movement, Hit Points or any combination of the three may be selected.
Can Affect
This field determines what types of targets are eligible for affect by the ability. Options include: Rooms, Mobs, Items, Exits, Areas. Multiple target types can be selected via a comma-delimited list. This list should be a subset of the #Can Target field.
Can Target
This field determines what types of targets are eligible for using the ability on. Options include: Rooms, Mobs, Items, Exits, Areas. Multiple target types can be selected via a comma-delimited list.
Tick/Periodic Affects
The standard damage/healing and Extra Castings will apply at skill invocation time. However, if your skill is set to affect the target over time, AND this is set to true, then those things will happen every tick until the effect expires.
Quality Code
Whether this skill is malicious (hurts the target), beneficial to self or others (always gives a combat benefit), ok to self or others (sometimes gives a combat benefit under certain circumstances), or indifferent (usually for role-playing skills).
Affect Adjustments
For skills that affect their targets (see Can Affect), this is the list of affects and their values. It is modeled on the same syntax and format of the property Prop_HereAdjuster.
Caster Mask
A zappermask to determine if the invoker is allowed, under the circumstances, to use this skill.
Scriptable Parm
A Scriptable-behavior parameter denoting the script that is active during invocation of this skill and during its tenure as an affect. See the Scriptable Guide for detailed information on how to use mobprog scripts. Enter ? for some short help on acceptable parameters here. *special note: during successful invocation of this ability, a special trigger event will occur that can be handled by an IMASK_PROG p <ability id>. Such a script trigger would, for example, be the appropriate place to put damage commands for skills that do damage. Periodic actions can be placed in RAND_PROG triggers.
Target Mask
A zappermask to determine if the target is allowed, under the circumstances, to be targeted by this skill.
Fizzle Message
The message shown when the mob or player fails their proficiency check for this skill. Use <S-NAME> as a substitute for the invoker, and <T-NAME> as a substitute for the name of the target. Use Scriptable Tags to control grammatical correctness of your Fizzle Message.
Auto-Cast Message
The message shown when the skill is invoked from a wand, scroll or other automatic means. Use <S-NAME> as a substitute for the invoker, and <T-NAME> as a substitute for the name of the target. Use Scriptable Tags to control grammatical correctness of your Auto-Cast Message.
Normal-Cast Message
The message shown when the skill successfully invoked. Use <S-NAME> as a substitute for the invoker, and <T-NAME> as a substitute for the name of the target. Use Scriptable Tags to control grammatical correctness of your Normal-Cast Message.
Post-Cast Message
The message shown after the skill is invoked, if the target did not make a saving throw against it. Use <S-NAME> as a substitute for the invoker, and <T-NAME> as a substitute for the name of the target. Use Scriptable Tags to control grammatical correctness of your Post-Cast Message.
Uninvoke Message
The message shown after this skill is uninvoked. If the target is a mob, or an item held by a mob, then the message will be seen only by the mob. If the target is an item in a room, then the whole room will see the message. Use Scriptable Tags to control grammatical correctness of your Uninvoke Message.
Attack-Type
An optional field for malicious skills. This is the Secondary Attack Type of the attack being made, where the Primary Attack Type is determined by the skill type (magic for spells, chants, prayers, etc). For instance, for a flame-shooting spell, FIRE would be an appropriate value.
Quiet Effect ID
This field can be used to provide the entire affect of an existing ability to this new ability, with all of the costs, messages, domains, etc determined by this ability instead of the Quiet Effect ID. In this fashion, you can rebrand an existing ability's affect. None of the messages from the Quiet Effect ID will be applied, including the #Affect String of the Quiet Effect ID (but this ability's affect string will apply).
Public Effects
This field allows you to add a semi-colon delimited list of ability affects to the new ability. All messages and affects will be displayed as if the Public Effects were each cast independently from the new ability.
Extra Castings
An optional semicolon delimited list of miscellanous skills or spells which will be invoked upon the target of this skill after all of the other above things have occurred. Enter ? or help on Prop_SpellAdder for more information on the syntax for this field.
Damage/Healing Formula
An optional formula describing either a range of damage or a range of healing which will be inflicted upon the target of this skill at invocation time. The syntax of this field is a formula. Use +-*/()?. @x1=caster level, @x2=target level. Formula evaluates >0 for damage, <0 for healing. Requires Can Target above! See help on MATH_FORMULA for more information on how to use this formula field.
Help Text
This field provides additional information from the HELP (ability_name) command to players. It should always start with the tag <ABILITY> and does not require a closing tag. It is also useful to add in any Usage and Example information to be consistent with other help files. To add these additional fields using the help text, include the field name and enough spaces to reach the tenth character, which should be a colon (:), then a space and your field information. For subsequent lines within the same field type, use a colon, eight spaces, a colon, a space, and subsequent text. Repeat for each additional field you wish to include. At the end of each field, include a carriage return or %0D to force the formatting. After including all of your field data, put in your abilities description to help players understand and use the ability.
- Command Line Example
- <ABILITY>Usage : RAKE [TARGET NAME]%0DExample : rake orc%0DUsing his powerful hind-claws, a wolf may rake flesh from his opponent.
- MUDGrinder Example
- <ABILITY>Usage : RAKE [TARGET NAME]
Example : rake orc
: : rake bob
Using his powerful hind-claws, a wolf may rake flesh from his opponent.
Notes
.