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.