SKILL
From SphereWiki
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. |
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.