GetIsSkillSuccessful(object, int, int)
Determines if a skill roll is successful.
int GetIsSkillSuccessful( object oTarget, int nSkill, int nDifficulty );
Parameters
oTarget
Creature who is using the skill.
nSkill
Skill to use (SKILL_*).
nDifficulty
Difficulty check to beat in order to be successful.
Description
Standard difficulty check (DC). Returns true if 1d20 roll plus skill rank is greater to or equal to the difficulty rating specified.
Remarks
Unlike AutoDC, the hitdice of the caller isn’t taken into consideration for this function, and you have to specify the absolute difficulty yourself, ie the number that must be rolled against, using d20 + skill rank. Due to the bug existing in the AutoDC function in patch 1.30, I recommend you still use this function instead.
It is unknown if other factors, such as encumberance, are taken into account automatically by this function.
Version
1.30
Example
//Test if the PC is able to use a potion creating //item device. Put OnUsed. void main() { object oPC=GetLastUsedBy(); if (GetIsSkillSuccessful(oPC, SKILL_USE_MAGIC_DEVICE, 30)) { effect eVis=EffectVisualEffect(VFX_FNF_STRIKE_HOLY); ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF); //Get resref of random potion int nNum=Random(23)+1; string sNum=IntToString(nNum); if (GetStringLength(sNum)==1) sNum="00"+sNum; else if (GetStringLength(sNum)==2) sNum="0"+sNum; sNum="nw_it_mpotion"+sNum; CreateItemOnObject(sNum, oPC, d10()); } else { AssignCommand(oPC, ActionSpeakString("How the heck do you use this thing?!?")); } }
See Also
functions: | AutoDC |
categories: | Talents/Skills/Feats Functions |
constants: | SKILL_* Constants |
author: Charles Feduke, editor: Lilac Soul
Send comments on this topic.