GetIsSkillSuccessful(object, int, int)
スキルロールが成功しているかどうかを調べます。
int GetIsSkillSuccessful( object oTarget, int nSkill, int nDifficulty );
Parameters
oTarget
スキルを使用するクリーチャー
nSkill
使用するスキル(SKILL_*)
nDifficulty
成功するためのチェックで打ち勝つ難易度。
Description
通常の難易度判定(DC)です。1d20のロール結果+スキルランクが、nDifficultyで指定した難易度より大きいか、等しければTRUEを返します。
Remarks
AutoDCと違って、呼出者のヒットダイスはこの関数の考慮に入れられませんので、絶対的な難易度を貴方自身が指定しなければなりません。すなわち、対抗する数値はd20+スキル値を使います。パッチv1.30においてAutoDC関数にバグがあるため、この関数を替わりに使用することをお薦めします。
エンカンブランス(重量)のようなその他の要因がこの関数で自動的に計算されるかどうかはわかりません。
Version
1.30
Example
// PCがポーション作成機械を使用できるかどうかを調べる。
// 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);
// ランダムなポーションのResRefを得る
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, JP team: Rainie
Send comments on this topic.