diff options
-rw-r--r-- | doc/script_commands.txt | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 4004e5cd2..8308f4771 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -5651,21 +5651,38 @@ set with 'disable_items'. --------------------------------------- -*itemskill(<skill id>, <skill level>, {flag}) -*itemskill("<skill name>", <skill level>, {flag}) +*itemskill(<skill id>, <skill level>{, <flag>}) +*itemskill("<skill name>", <skill level>{, <flag>}) This command meant for item scripts to replicate single-use skills in usable items. It will not work properly if there is a visible dialog window or menu. If the skill is self or auto-targeting, it will be used immediately. Otherwise, a target cursor is shown. -Flag is a optional param and, when present, the command will not check for -skill requirements. +Optional value <flag> is a bitmask to manipulate how the skill is casted. +Since <flag> is a bitmask, the flags can be summed up. +Possible flags are: + - 0x00 - ISF_NONE - Skill is casted as if has been used from skill tree. + (Same like <flag> was omitted.) + - 0x01 - ISF_IGNORECONDITIONS - Skill requirements are ignored and not consumed + - 0x02 - ISF_INSTANTCAST - Skill is casted instantaneously. + - 0x04 - ISF_CASTONSELF - Skill is forcefully casted on invoking character, + without showing the target selection cursor. + +Important: Items which use itemskill() should be of type IT_USABLE. + If the item type is IT_DELAYCONSUME and ISF_IGNORECONDITIONS is set, + the item won't be consumed when using the item! // When Anodyne is used, it will cast Endure, Level 1, as if the actual skill // has been used from skill tree. itemskill(SM_ENDURE, 1); +// Instantaneously cast Level 10 Increase Agility on invoking character, +// without checking/consuming skill requirements. + itemskill(AL_INCAGI, 10, ISF_IGNORECONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF); +// Instaed of using the constants, one could also do it like this: + itemskill(AL_INCAGI, 10, 7); + --------------------------------------- *itemeffect(<item id>) |