SKILL
From SphereWiki
Missing languages
A skill block defines the basic properties and behaviours of a skill.
Contents
Properties
The following properties are available when defining a skill:
| Name | Read/Write | Description | ||||||||||||||||||||||||||||||
| ADV_RATE | RW | Gets or sets the skill's advance rate. Accepts multiple values to adjust based on skill level. | ||||||||||||||||||||||||||||||
| BONUS_DEX | RW | Gets or sets a multiplier for how much dexterity affects a character's non-real skill amount, and affects stat gain. | ||||||||||||||||||||||||||||||
| BONUS_INT | RW | Gets or sets a multiplier for how much intelligence affects a character's non-real skill amount, and affects stat gain. | ||||||||||||||||||||||||||||||
| BONUS_STATS | RW | Gets or sets a modifier for gaining stats when using the skill. | ||||||||||||||||||||||||||||||
| BONUS_STR | RW | Gets or sets a multiplier for how much strength affects a character's non-real skill amount, and affects stat gain. | ||||||||||||||||||||||||||||||
| DELAY | RW | Gets or sets how long it takes to attempt to complete the skill, in tenths of a second. Accepts multiple values to adjust based on skill level. | ||||||||||||||||||||||||||||||
| EFFECT | RW | Gets or sets a value which effects skills in different ways. (Crafting = Resource Loss % on Fail, Healing = Amount Healed). Accepts multiple values to adjust based on skill level. | ||||||||||||||||||||||||||||||
| FLAGS | RW | Gets or sets skill attributes. The available flags are defined in the sphere_defs.scp file:
| ||||||||||||||||||||||||||||||
| GAINRADIUS | RW | Gets or sets a difficulty "radius" that prevents characters from gaining skill when performing "easy" actions. Skillgain will only be calculated if the current skill is less than the actual difficulty + GAINRADIUS. If skillgain is aborted due to GAINRADIUS not met, a message will only be displayed if TAG.NOSKILLMSG=1 on character. | ||||||||||||||||||||||||||||||
| GROUP | RW | Get or sets the skill's group flags. | ||||||||||||||||||||||||||||||
| KEY | RW | Gets or sets the skill's defname. | ||||||||||||||||||||||||||||||
| NAME | RW | Gets or sets the name of the skill. | ||||||||||||||||||||||||||||||
| STAT_DEX | RW | Gets or sets the maximum dexterity a character can gain up to when using this skill. | ||||||||||||||||||||||||||||||
| STAT_INT | RW | Gets or sets the maximum intelligence a character can gain up to when using this skill. | ||||||||||||||||||||||||||||||
| STAT_STR | RW | Gets or sets the maximum strength a character can gain up to when using this skill. | ||||||||||||||||||||||||||||||
| TARGET_PROMPT | RW | Gets or sets the message shown when the character selects the skill, and also forces characters to select a target when non-empty. | ||||||||||||||||||||||||||||||
| TITLE | RW | Gets or sets the professional title for the skill. | ||||||||||||||||||||||||||||||
| VALUES | RW | Gets or sets a modifier for the value of items that are created using the skill. Accepts multiple values to adjust based on skill level. |
Triggers
The following table lists all of the triggers that can be placed under a skill definition. All of the triggers here have an equivalent @Skill trigger on the character object.
| Name | Description |
| @Abort | Fires when a character aborts an attempt at using the skill. |
| @Fail | Fires when a character fails an attempt at using the skill. |
| @Gain | Fires when a character is given the chance to gain in the skill. |
| @PreStart | Fires when a character starts to use the skill, before any hardcoded behaviour takes place. |
| @Select | Fires when a character selects the skill from their skill menu. |
| @Start | Fires when a character starts to use the skill. |
| @Success | Fires when a character succeeds an attempt at using the skill. |
| @UseQuick | Fires when a character quickly uses the skill, without changing their ACTION. |
| @Wait | This is called whenever Sphere wants to check if a character must wait before starting a skill. Normally this will be when a skill is selected from the skill menu (before @Select), but also when snooping a container or using a musical instrument. |
Examples
//
// Alchemy skill from the default script pack.
//
[SKILL 0]
DEFNAME=SKILL_ALCHEMY
KEY=Alchemy
TITLE=Alchemist
DELAY=3.0,1.0
ADV_RATE=10.0,200.0,800.0
VALUES=1,20,100
BONUS_STATS=10
BONUS_STR=0
BONUS_DEX=20
BONUS_INT=80
STAT_STR=5
STAT_INT=75
STAT_DEX=40
ON=@Fail
SRC.SYSMESSAGE You toss the failed mixture from the mortar, unable to create a potion from it.
ON=@Abort
SRC.SYSMESSAGE You fail to complete the potion.