928 lines
22 KiB
Plaintext
928 lines
22 KiB
Plaintext
|
|
// asg_REQ1(object oPC,int vREQ, int vNUM);
|
|
#include "nw_i0_plot"
|
|
int asg_REQ1(object oPC,string sTag,int vNUM)
|
|
{
|
|
int TRUEFALSE = FALSE;
|
|
if (sTag=="")
|
|
{
|
|
ActionSpeakString("ERROR: Test Resource Script Error NO VALID sTag.");
|
|
return TRUEFALSE;
|
|
}
|
|
else
|
|
{
|
|
int vITEMTOBUILD = GetLocalInt(oPC,"ITEMTOBUILD");
|
|
object oItem = GetFirstItemInInventory(oPC);
|
|
int vCount;
|
|
|
|
|
|
vCount = GetNumItems(oPC,sTag);
|
|
ActionSpeakString("Test: Resource ("+sTag+") Found ["+IntToString(vCount)+"]");
|
|
if (vCount>=vNUM)
|
|
{
|
|
TRUEFALSE=TRUE;
|
|
ActionSpeakString("Test: Found Required Resources found.");
|
|
}
|
|
else
|
|
{
|
|
ActionSpeakString("Test: Resources not found Required ["+IntToString(vNUM)+"].");
|
|
}
|
|
return TRUEFALSE;
|
|
}
|
|
}
|
|
//
|
|
|
|
int StartingConditional()
|
|
{
|
|
int iResult = FALSE;
|
|
object oPC = GetPCSpeaker();
|
|
// general religous stuff.
|
|
int vGoodEvil = GetLocalInt(oPC,"GoodEvil");
|
|
int vLawChaos = GetLocalInt(oPC,"LawChaos");
|
|
string sDeity=GetLocalString(oPC,"INGAMEDEITY");
|
|
string sName;
|
|
// Set Shrine properties based on alignment
|
|
if (sDeity=="")
|
|
{
|
|
SetLocalInt(oPC,"DeityOVERIDE",TRUE);
|
|
sDeity = "Baccob";
|
|
vGoodEvil = ALIGNMENT_NEUTRAL;
|
|
vLawChaos = ALIGNMENT_NEUTRAL;
|
|
SetLocalString(oPC,"INGAMEDEITY",sDeity);
|
|
SetLocalInt(oPC,"GoodEvil",vGoodEvil);
|
|
SetLocalInt(oPC,"LawChaos",vLawChaos);
|
|
}
|
|
|
|
// return to other stuff
|
|
int vITEMTOBUILD = GetLocalInt(oPC,"ITEMTOBUILD");
|
|
int vNUMBERGIVEN =1;
|
|
string sREQ1;
|
|
string sREQ2;
|
|
string sREQ3;
|
|
string sREQ4;
|
|
int vNUM1 = 0;
|
|
int vNUM2 = 0;
|
|
int vNUM3 = 0;
|
|
int vNUM4 = 0;
|
|
int vNOERROR = TRUE;
|
|
int vNEEDED = 0;
|
|
int vTRUE = FALSE;
|
|
int vREQUIRED = 0;
|
|
string sItem;
|
|
string sBluePrint;
|
|
int vPLACE; // (1) = ITEM, goes on pc's inventory, (2) PLACEABLE, goes on ground at PC's FEET.
|
|
// (3) PLACEABLE, goes near another object.
|
|
// (4) Item is a Creature - needs a summoning point = again with the sDist_What
|
|
string sDIST_WHAT; // If option 3 is selected then search for this object. Look for
|
|
// this TAG.
|
|
float vDIST; // (0) if option 3 is selected this tells us how far from this object
|
|
// that this item can be built.
|
|
|
|
switch(vITEMTOBUILD)
|
|
{
|
|
break;
|
|
case(3001): // Chest.
|
|
{
|
|
sItem = "Wooden Chest";
|
|
sBluePrint="chest005";
|
|
vPLACE = 2;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 2; // 1 unit to build club
|
|
// tells the true/false that there are "x" number of trues
|
|
|
|
}
|
|
break;
|
|
case(3002): // Candelobra.
|
|
{
|
|
sItem = "Candelabra";
|
|
sBluePrint="candelabra001";
|
|
vPLACE = 2;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1; // 1 unit to build club
|
|
// tells the true/false that there are "x" number of trues
|
|
// Item #2
|
|
sREQ2="CANDEL";
|
|
vNUM2=4;
|
|
}
|
|
break;
|
|
case(3003): // Forge.
|
|
{
|
|
sItem = "Forge/Oven";
|
|
sBluePrint="forge";
|
|
vPLACE = 2;
|
|
|
|
// item 2
|
|
sREQ2="StoneBlock";
|
|
vNUM2 = 4;
|
|
// item 3
|
|
sREQ3="NW_IT_MMIDMISC06";
|
|
vNUM3 = 1;
|
|
}
|
|
break;
|
|
case(3004): // Large Back Pack (Normal).
|
|
{
|
|
sItem = "Leather Back Pack";
|
|
sBluePrint="it_contain007";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(3005): // Small Torch
|
|
{
|
|
sItem = "Wooden Torch";
|
|
sBluePrint="nw_it_torch001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(3006): // Basic Leather Barbarian outfit.
|
|
{
|
|
sItem = "Barbarian Outfit";
|
|
sBluePrint="nw_cloth015";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 2;
|
|
}
|
|
break;
|
|
case(3007): // Anvil
|
|
{
|
|
sItem = "Anvil";
|
|
sBluePrint="anvil";
|
|
vPLACE = 2;
|
|
|
|
// Item #1
|
|
sREQ1="StoneBlock";
|
|
vNUM1 = 2;
|
|
}
|
|
break;
|
|
// ***
|
|
// *** Resources
|
|
// ***
|
|
case(4001): // Iron Ingit
|
|
{
|
|
sItem = "Iron Ingit";
|
|
sBluePrint="ironingit";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="IronOre";
|
|
vNUM1 = 10;
|
|
}
|
|
break;
|
|
case(4002): // Empty Bottle
|
|
{
|
|
sItem = "Empty Bottle";
|
|
sBluePrint="it_thnmisc002";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="Glass";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(4003): // Unit of Sand
|
|
{
|
|
sItem = "Bag of Sand";
|
|
sBluePrint="sand";
|
|
vPLACE = 1;
|
|
vNUMBERGIVEN = 5;
|
|
// Item #1
|
|
sREQ1="StoneBlock";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(4004): // Unit of Glass
|
|
{
|
|
sItem = "Unit of Glasst";
|
|
sBluePrint="glass";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="Sand";
|
|
vNUM1 = 5;
|
|
}
|
|
break;
|
|
case(4005): // Magic Powder
|
|
{
|
|
sItem = "Magic Powder";
|
|
sBluePrint="magicpowder";
|
|
vPLACE = 1;
|
|
// Items Required
|
|
sREQ1="NW_IT_MSMLMISC19";
|
|
vNUM1 = 5;
|
|
}
|
|
break;
|
|
case(4006): // Metal Rod
|
|
{
|
|
sItem = "Metal Rod";
|
|
sBluePrint="metalrod";
|
|
vPLACE = 1;
|
|
// Items Required
|
|
sREQ1="IronIngit";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
// *****
|
|
// ** Arms & Armor - Normal
|
|
// *****
|
|
case(5001): // Daggers
|
|
{
|
|
sItem = "Dagger";
|
|
sBluePrint="nw_wswdg001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="IronIngit";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5002): // Kama - Exotic
|
|
{
|
|
sItem = "Kama";
|
|
sBluePrint="nw_wspka001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
case(5003): // Shuriken - Exoitic
|
|
{
|
|
sItem = "Shuriken";
|
|
sBluePrint="nw_wthsh001";
|
|
vPLACE = 1;
|
|
vNUMBERGIVEN = 99;
|
|
|
|
// Item #1
|
|
sREQ1="IronIngit";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5004): // Throwing Hand Axe
|
|
{
|
|
sItem = "Throwing Axe";
|
|
sBluePrint="nw_wthax001";
|
|
vPLACE = 1;
|
|
vNUMBERGIVEN = 50;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5005): // Lt Crossbow
|
|
{
|
|
sItem = "Lt. Crossbow";
|
|
sBluePrint="nw_wbwxl001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5006): // Darts
|
|
{
|
|
sItem = "Darts";
|
|
sBluePrint="nw_wthdt001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5007): // Hammer, light
|
|
{
|
|
sItem = "Hammer, Light";
|
|
sBluePrint="nw_wblhl001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5008): // Handaxe
|
|
{
|
|
sItem = "Handaxe";
|
|
sBluePrint="nw_waxhn001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5009): // Mace
|
|
{
|
|
sItem = "Mace";
|
|
sBluePrint="nw_wblml001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5010): // Sickle - Exotic
|
|
{
|
|
sItem = "Sickle";
|
|
sBluePrint="nw_wspsc001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5011): // Spear
|
|
{
|
|
sItem = "Spear";
|
|
sBluePrint="nw_wplss001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5012): // ShortSword
|
|
{
|
|
sItem = "Short Sword";
|
|
sBluePrint="nw_wswss001";
|
|
vPLACE = 1;
|
|
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5013): // Battle Axe
|
|
{
|
|
sItem = "Battle Axe";
|
|
sBluePrint="nw_waxbt001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
}
|
|
break;
|
|
case(5014): // Crossbow, Heavy
|
|
{
|
|
sItem = "Crossbow, Heavy";
|
|
sBluePrint="nw_wbwxh001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 2;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5015): // Flail, Light
|
|
{
|
|
sItem = "Flail, Light";
|
|
sBluePrint="nw_wblfl001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5016): // Katana
|
|
{
|
|
sItem = "Katana";
|
|
sBluePrint="nw_wswka001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
}
|
|
break;
|
|
case(5017): // LongSword
|
|
{
|
|
sItem = "Long Sword";
|
|
sBluePrint="nw_wswls001";
|
|
vPLACE = 1;
|
|
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
}
|
|
break;
|
|
case(5018): // Morning Star
|
|
{
|
|
sItem = "Morning Star";
|
|
sBluePrint="nw_wblms001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
}
|
|
break;
|
|
case(5019): // Rapeir
|
|
{
|
|
sItem = "Rapeir";
|
|
sBluePrint="nw_wswrp001";
|
|
vPLACE = 1;
|
|
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
}
|
|
break;
|
|
case(5020): // Warhammer.
|
|
{
|
|
sItem = "WarHammer";
|
|
sBluePrint="nw_wblhw001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
}
|
|
break;
|
|
case(5060): // Scimitar.
|
|
{
|
|
sItem = "Scimitar";
|
|
sBluePrint="nw_wswsc001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
}
|
|
break;
|
|
// *** Large Weapons
|
|
case(5021): // Bastard Sword
|
|
{
|
|
sItem = "Bastard Sword";
|
|
sBluePrint="nw_wswbs001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
}
|
|
break;
|
|
case(5022): // Dire Mace.
|
|
{
|
|
sItem = "Dire Mace";
|
|
sBluePrint="nw_wdbma001";
|
|
vPLACE = 1;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 3;
|
|
}
|
|
break;
|
|
case(5023): // Two Bladed.
|
|
{
|
|
sItem = "Two Bladed";
|
|
sBluePrint="nw_wdbsw001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 3;
|
|
}
|
|
break;
|
|
case(5024): // Double Axe.
|
|
{
|
|
sItem = "Double Axe";
|
|
sBluePrint="nw_wdbax001";
|
|
vPLACE = 1;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 4;
|
|
}
|
|
break;
|
|
case(5025): // Flial, Heavy.
|
|
{
|
|
sItem = "Flail, Heavy";
|
|
sBluePrint="nw_wblfh001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 3;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5026): // Great Axe.
|
|
{
|
|
sItem = "Great Axe";
|
|
sBluePrint="nw_waxgr001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 3;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5027): // Greate Sword.
|
|
{
|
|
sItem = "Great Sword";
|
|
sBluePrint="nw_wswgs001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 3;
|
|
}
|
|
break;
|
|
case(5028): // Halbred.
|
|
{
|
|
sItem = "Halbred";
|
|
sBluePrint="nw_wplhb001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 2;
|
|
}
|
|
break;
|
|
case(5029): // LongBow
|
|
{
|
|
sItem = "Long Bow";
|
|
sBluePrint="nw_wbwln001";
|
|
vPLACE = 1;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5030): // Scythe
|
|
{
|
|
sItem = "Scythe";
|
|
sBluePrint="nw_wplsc001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5031): // Leahter Armor
|
|
{
|
|
sItem = "Leather Armor";
|
|
sBluePrint="nw_aarcl001";
|
|
vPLACE = 1;
|
|
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 4;
|
|
}
|
|
break;
|
|
case(5032): // Studded Leather
|
|
{
|
|
sItem = "Studded Leather";
|
|
sBluePrint="nw_aarcl002";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 4;
|
|
}
|
|
break;
|
|
case(5033): // Chain Shirt
|
|
{
|
|
sItem = "Chain Shirt";
|
|
sBluePrint="nw_aarcl012";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 5;
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5034): // Scale
|
|
{
|
|
sItem = "Scalemail";
|
|
sBluePrint="nw_aarcl003";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 5;
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5035): // Chainmail
|
|
{
|
|
sItem = "Chainmail";
|
|
sBluePrint="nw_aarcl004";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 8;
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5036): // Breast Plate
|
|
{
|
|
sItem = "Breast Plate";
|
|
sBluePrint="nw_aarcl010";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 8;
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5037): // Splintmail
|
|
{
|
|
sItem = "Splintmail";
|
|
sBluePrint="nw_aarcl005";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 9;
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5038): // Bandedmail
|
|
{
|
|
sItem = "Bandedmail";
|
|
sBluePrint="nw_aarcl011";
|
|
vPLACE = 9;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5039): // Halfplate
|
|
{
|
|
sItem = "Half Plate";
|
|
sBluePrint="nw_aarcl006";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 10;
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5040): // Full Plate
|
|
{
|
|
sItem = "Full Plate";
|
|
sBluePrint="nw_aarcl007";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 15;
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
|
|
case(5041): // Large Shield
|
|
{
|
|
sItem = "Large Sheild";
|
|
sBluePrint="nw_ashlw001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5042): // Tower Sheild.
|
|
{
|
|
sItem = "Tower Shield";
|
|
sBluePrint="nw_ashto001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5044): // Helm.
|
|
{
|
|
sItem = "Helm";
|
|
sBluePrint="nw_arhe001";
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5043): // Hide Armor
|
|
{
|
|
sItem = "Hide Armor";
|
|
sBluePrint="nw_aarcl008";
|
|
vPLACE = 1;
|
|
// Item #1
|
|
sREQ1="NW_IT_MMIDMISC06";
|
|
vNUM1 = 4;
|
|
}
|
|
break;
|
|
case(5050): // Arrow
|
|
{
|
|
sItem = "Arrows";
|
|
sBluePrint="nw_wamar001";
|
|
vNUMBERGIVEN = 99;
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5051): // Bolts
|
|
{
|
|
sItem = "Bolts";
|
|
sBluePrint="nw_wambo001";
|
|
vNUMBERGIVEN=99;
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 1;
|
|
// Item #1
|
|
sREQ1="ASG_FIREWOOD";
|
|
vNUM1 = 1;
|
|
}
|
|
break;
|
|
case(5052): // Sling Bullets.
|
|
{
|
|
sItem = "Sling Bullets";
|
|
sBluePrint="nw_wambu001";
|
|
vNUMBERGIVEN = 99;
|
|
vPLACE = 1;
|
|
// Item #2
|
|
sREQ2="IronIngit";
|
|
vNUM2 = 2;
|
|
}
|
|
break;
|
|
default:;
|
|
ActionSpeakString("ERROR in ''asg_rul_testbsel'' script on finding item:"+IntToString(vITEMTOBUILD));
|
|
}
|
|
vNEEDED=0;
|
|
if (vNOERROR==TRUE)
|
|
{
|
|
int vK;vTRUE=FALSE;
|
|
if (vNUM1>0)
|
|
{
|
|
vTRUE = asg_REQ1(oPC,sREQ1,vNUM1);
|
|
vNEEDED++;
|
|
}
|
|
if (vTRUE==TRUE) vREQUIRED++;
|
|
vTRUE=FALSE;
|
|
if (vNUM2>0)
|
|
{
|
|
vTRUE = asg_REQ1(oPC,sREQ2,vNUM2);
|
|
vNEEDED++;
|
|
}
|
|
if (vTRUE==TRUE)vREQUIRED++;
|
|
vTRUE=FALSE;
|
|
if (vNUM3>0)
|
|
{
|
|
vTRUE = asg_REQ1(oPC,sREQ3,vNUM3);
|
|
vNEEDED++;
|
|
}
|
|
if (vTRUE==TRUE) vREQUIRED++;
|
|
vTRUE=FALSE;
|
|
if (vNUM4>0)
|
|
{
|
|
vTRUE = asg_REQ1(oPC,sREQ4,vNUM4);
|
|
vNEEDED++;
|
|
}
|
|
if (vTRUE==TRUE) vREQUIRED++;
|
|
vTRUE=FALSE;
|
|
|
|
}
|
|
if (vREQUIRED>=vNEEDED)
|
|
{
|
|
// last check for placement requirements
|
|
int vResult = TRUE;
|
|
if (vPLACE==5 || vPLACE==3)
|
|
{
|
|
object oPlace = GetNearestObjectByTag(sDIST_WHAT,oPC);
|
|
float vHOWFAR = GetDistanceBetween(oPlace,oPC);
|
|
if (vHOWFAR<=vDIST)
|
|
{
|
|
vResult=TRUE;
|
|
}
|
|
else
|
|
{
|
|
ActionSpeakString("ERROR: To Far from closest ["+GetName(oPlace)+"] Distance ["+FloatToString(vHOWFAR)+"]");
|
|
vResult=FALSE;
|
|
}
|
|
}
|
|
if (vResult==TRUE)
|
|
{
|
|
ActionSpeakString("All items for the "+sItem+" have been found.");
|
|
SetLocalString(oPC,"BLUEPRINT",sBluePrint);
|
|
SetLocalInt(oPC,"NUMBERGIVEN",vNUMBERGIVEN);
|
|
object oPC = GetPCSpeaker();
|
|
SetLocalString(oPC,"REQ1",sREQ1);
|
|
SetLocalString(oPC,"REQ2",sREQ2);
|
|
SetLocalString(oPC,"REQ3",sREQ3);
|
|
SetLocalString(oPC,"REQ4",sREQ4);
|
|
SetLocalInt(oPC,"NUM1",vNUM1);
|
|
SetLocalInt(oPC,"NUM2",vNUM2);
|
|
SetLocalInt(oPC,"NUM3",vNUM3);
|
|
SetLocalInt(oPC,"NUM4",vNUM4);
|
|
SetLocalInt(oPC,"PLACE",vPLACE);
|
|
SetLocalString(oPC,"DIST_WHAT",sDIST_WHAT);
|
|
iResult=TRUE;
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
ActionSpeakString("TEST: Requirement have for the "+sItem+" have not been met.");
|
|
|
|
}
|
|
return iResult;
|
|
}
|