summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/script_commands.txt25
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>)