70 lines
2.8 KiB
Plaintext
70 lines
2.8 KiB
Plaintext
/*int StartingConditional()
|
|
{
|
|
object oPC = GetPCSpeaker();
|
|
|
|
object oItem = GetFirstItemInInventory(oPC);
|
|
int nValue;
|
|
int nDC;
|
|
while (GetIsObjectValid(oItem))
|
|
{
|
|
if (GetLocalInt(oItem, "Prototype") == TRUE)
|
|
{
|
|
nValue = GetGoldPieceValue(oItem);
|
|
if (GetLocalString(oItem, "Type") == "Melee") nDC = 10 + nValue / 3250;
|
|
if (GetLocalString(oItem, "Type") == "Ammo") nDC = 10 + 99*nValue / 800;
|
|
if (GetLocalString(oItem, "Type") == "Shooter" && GetItemHasItemProperty(oItem, ITEM_PROPERTY_UNLIMITED_AMMUNITION) == FALSE) nDC = 10 + nValue / 1500;
|
|
if (GetLocalString(oItem, "Type") == "Shooter" && GetItemHasItemProperty(oItem, ITEM_PROPERTY_UNLIMITED_AMMUNITION) == TRUE) nDC = 10 + nValue / 3250;
|
|
if (GetLocalString(oItem, "Type") == "Throwing" || GetLocalString(oItem, "Type") == "MightyThrowing") nDC = 10 + 50*nValue / 600;
|
|
return !GetIsSkillSuccessful(oPC, SKILL_CRAFT_WEAPON, nDC);
|
|
}
|
|
oItem = GetNextItemInInventory(oPC);
|
|
}
|
|
return FALSE;
|
|
}*/
|
|
|
|
#include "x2_inc_itemprop"
|
|
|
|
//This is actually the main function.
|
|
int script(object oItem, object oPC)
|
|
{
|
|
int nValue;
|
|
int nDC;
|
|
int nSkill;
|
|
nValue = GetGoldPieceValue(oItem);
|
|
nDC = 10 + nValue / 3250;
|
|
nSkill = SKILL_CRAFT_ARMOR;
|
|
if (GetLocalString(oItem, "Type") == "Melee") {nDC = 10 + nValue / 3250; nSkill = SKILL_CRAFT_WEAPON;}
|
|
if (GetLocalString(oItem, "Type") == "Ammo") {nDC = 10 + 99*nValue / 800; nSkill = SKILL_CRAFT_WEAPON;}
|
|
if (GetLocalString(oItem, "Type") == "Shooter" && GetItemHasItemProperty(oItem, ITEM_PROPERTY_UNLIMITED_AMMUNITION) == FALSE) {nDC = 10 + nValue / 1500; nSkill = SKILL_CRAFT_WEAPON;}
|
|
if (GetLocalString(oItem, "Type") == "Shooter" && GetItemHasItemProperty(oItem, ITEM_PROPERTY_UNLIMITED_AMMUNITION) == TRUE) {nDC = 10 + nValue / 3250; nSkill = SKILL_CRAFT_WEAPON;}
|
|
if (GetLocalString(oItem, "Type") == "Throwing" || GetLocalString(oItem, "Type") == "MightyThrowing") {nDC = 10 + 50*nValue / 600; nSkill = SKILL_CRAFT_WEAPON;}
|
|
return !GetIsSkillSuccessful(oPC, nSkill, nDC);
|
|
}
|
|
|
|
int StartingConditional()
|
|
{
|
|
object oPC = GetPCSpeaker();
|
|
int nSlot = 0;
|
|
object oItem;
|
|
int nResult;
|
|
|
|
//Check if the item being crafted is equipped
|
|
while (nSlot < 18)
|
|
{
|
|
oItem = GetItemInSlot(nSlot, oPC);
|
|
if (GetLocalInt(oItem, "Prototype") == TRUE)
|
|
nResult = script(oItem, oPC);
|
|
nSlot++;
|
|
}
|
|
//If the item is not equipped, search for it in the inventory
|
|
oItem = GetFirstItemInInventory(oPC);
|
|
while (GetIsObjectValid(oItem))
|
|
{
|
|
if (GetLocalInt(oItem, "Prototype") == TRUE)
|
|
nResult = script(oItem, oPC);
|
|
oItem = GetNextItemInInventory(oPC);
|
|
}
|
|
|
|
return nResult;
|
|
}
|