generated from Jaysyn/ModuleTemplate
96 lines
3.3 KiB
Plaintext
96 lines
3.3 KiB
Plaintext
////////////////////////////////////////////////////////////////////////////////
|
|
// Vuldrick's Universal Skill Checker
|
|
// Created: 11/09/06
|
|
// Modified: 11/09/06
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// The following is a list of possible Skills to check for. The Skill
|
|
// checked for is controlled with an INT set on the NPC that has this
|
|
// script being called from his/her convo. The number representing the
|
|
// Skill is shown in the list below.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/*
|
|
1 = SKILL_ANIMAL_EMPATHY
|
|
2 = SKILL_APPRAISE
|
|
3 = SKILL_BLUFF
|
|
4 = SKILL_CONCENTRATION
|
|
5 = SKILL_CRAFT_ARMOR
|
|
6 = SKILL_CRAFT_TRAP
|
|
7 = SKILL_CRAFT_WEAPON
|
|
8 = SKILL_DISABLE_TRAP
|
|
9 = SKILL_DISCIPLINE
|
|
10 = SKILL_HEAL
|
|
11 = SKILL_HIDE
|
|
12 = SKILL_INTIMIDATE
|
|
13 = SKILL_LISTEN
|
|
14 = SKILL_LORE
|
|
15 = SKILL_MOVE_SILENTLY
|
|
16 = SKILL_OPEN_LOCK
|
|
17 = SKILL_PARRY
|
|
18 = SKILL_PERFORM
|
|
19 = SKILL_PERSUADE
|
|
20 = SKILL_PICK_POCKET
|
|
21 = SKILL_SEARCH
|
|
22 = SKILL_SET_TRAP
|
|
23 = SKILL_SPELLCRAFT
|
|
24 = SKILL_SPOT
|
|
25 = SKILL_TAUNT
|
|
26 = SKILL_TUMBLE
|
|
27 = SKILL_USE_MAGIC_DEVICE
|
|
28 = SUBSKILL_EXAMINETRAP
|
|
29 = SUBSKILL_FLAGTRAP
|
|
30 = SUBSKILL_RECOVERTRAP
|
|
|
|
There are three 'generic' DCs we can check for: DC_EASY, DC_MEDIUM, and DC_HARD
|
|
|
|
1 = DC_EASY
|
|
2 = DC_MEDIUM
|
|
3 = DC_HARD
|
|
*/
|
|
#include "nw_i0_tool"
|
|
int StartingConditional()
|
|
{
|
|
// Determine the Skill being checked by looking for a local int on the NPC
|
|
int iSkill = GetLocalInt(OBJECT_SELF,"Skill");
|
|
// Determine the DC of the skill check by looking for a local int on the NPC
|
|
int iDC = GetLocalInt(OBJECT_SELF,"DC");
|
|
// Set up the skill to be checked based on the above table
|
|
if (iSkill = 1){iSkill = SKILL_ANIMAL_EMPATHY;}
|
|
if (iSkill = 2){iSkill = SKILL_APPRAISE;}
|
|
if (iSkill = 3){iSkill = SKILL_BLUFF;}
|
|
if (iSkill = 4){iSkill = SKILL_CONCENTRATION;}
|
|
if (iSkill = 5){iSkill = SKILL_CRAFT_ARMOR;}
|
|
if (iSkill = 6){iSkill = SKILL_CRAFT_TRAP;}
|
|
if (iSkill = 7){iSkill = SKILL_CRAFT_WEAPON;}
|
|
if (iSkill = 8){iSkill = SKILL_DISABLE_TRAP;}
|
|
if (iSkill = 9){iSkill = SKILL_DISCIPLINE;}
|
|
if (iSkill = 10){iSkill = SKILL_HEAL;}
|
|
if (iSkill = 11){iSkill = SKILL_HIDE;}
|
|
if (iSkill = 12){iSkill = SKILL_INTIMIDATE;}
|
|
if (iSkill = 13){iSkill = SKILL_LISTEN;}
|
|
if (iSkill = 14){iSkill = SKILL_LORE;}
|
|
if (iSkill = 15){iSkill = SKILL_MOVE_SILENTLY;}
|
|
if (iSkill = 16){iSkill = SKILL_OPEN_LOCK;}
|
|
if (iSkill = 17){iSkill = SKILL_PARRY;}
|
|
if (iSkill = 18){iSkill = SKILL_PERFORM;}
|
|
if (iSkill = 19){iSkill = SKILL_PERSUADE;}
|
|
if (iSkill = 20){iSkill = SKILL_PICK_POCKET;}
|
|
if (iSkill = 21){iSkill = SKILL_SEARCH;}
|
|
if (iSkill = 22){iSkill = SKILL_SET_TRAP;}
|
|
if (iSkill = 23){iSkill = SKILL_SPELLCRAFT;}
|
|
if (iSkill = 24){iSkill = SKILL_SPOT;}
|
|
if (iSkill = 25){iSkill = SKILL_TAUNT;}
|
|
if (iSkill = 26){iSkill = SKILL_TUMBLE;}
|
|
if (iSkill = 27){iSkill = SKILL_USE_MAGIC_DEVICE;}
|
|
if (iSkill = 28){iSkill = SUBSKILL_EXAMINETRAP;}
|
|
if (iSkill = 29){iSkill = SUBSKILL_FLAGTRAP;}
|
|
if (iSkill = 30){iSkill = SUBSKILL_RECOVERTRAP;}
|
|
// Set up the DC to be checked based on the above table
|
|
if (iDC = 1){iSkill = DC_EASY;}
|
|
if (iDC = 2){iSkill = DC_MEDIUM;}
|
|
if (iDC = 3){iSkill = DC_HARD;}
|
|
// Perform desired skill check
|
|
if(!(AutoDC(iDC, iSkill, GetPCSpeaker())))
|
|
return FALSE;
|
|
return TRUE;
|
|
}
|