SKILL

From SphereWiki
Revision as of 18:01, 23 October 2010 by RanXerox (talk | contribs) (Properties: clarification of GAINRADIUS (from revision notes.))
Jump to: navigation, search

A skill block defines the basic properties and behaviours of a skill.


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.
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.