RATDOG/_module/nss/ra_rnd_armor_inc.nss
Jaysyn904 310b26f555 PnP Enhancements continue
PnP Enhancements continue.  Fixed some quest logic, made some of the quests reward the entire party instead of the player that turns it in.  Updated Warrior's Guild.  Colored Wilderness map for the hell of it. Full compile.
2022-11-19 00:37:42 -05:00

256 lines
5.5 KiB
Plaintext

//
// Randomized Armor Include
// ra_rnd_armor_inc
//
// By: Jaysyn
//
// Test VOID
//void main(){}
void RndBanditArmor(object oNPC)
{
// Makes sure any original armor isn't dropped as loot.
SetDroppableFlag(GetItemInSlot(INVENTORY_SLOT_CHEST, OBJECT_SELF), 0);
//Randomizes Armor
int nResult = d6(1);
int nStackSize = 1; // Create 1 items;
object oArmor;
string sItem;
if (nResult == 1)
{
sItem = "NW_AARCL001";
}
else if(nResult == 2)
{
sItem = "NW_AARCL009";
}
else if(nResult == 3)
{
sItem = "NW_AARCL002";
}
else if(nResult ==4)
{
sItem = "NW_AARCL008";
}
else if(nResult == 5)
{
sItem = "NW_AARCL002";
}
else
sItem = "NW_AARCL008";
CreateItemOnObject(sItem, OBJECT_SELF, nStackSize);
// Loop the object's inventory and equip the first
object oItem = GetFirstItemInInventory(OBJECT_SELF);
while(GetIsObjectValid(oItem))
{
// Check if armor, of course
if(GetBaseItemType(oItem) == BASE_ITEM_ARMOR)
{
// Equip it and stop the script
DelayCommand(1.0f, ActionEquipItem(oItem, INVENTORY_SLOT_CHEST));
return;
}
oItem = GetNextItemInInventory(OBJECT_SELF);
}
}
void RndLightArmor(object oNPC)
{
// Makes sure any original armor isn't dropped as loot.
SetDroppableFlag(GetItemInSlot(INVENTORY_SLOT_CHEST, OBJECT_SELF), 0);
//Randomizes Armor
int nResult = d8(1);
int nStackSize = 1; // Create 1 items;
object oArmor;
string sItem;
if (nResult == 1)
{
sItem = "aarcl002";
}
else if(nResult == 2)
{
sItem = "baleas_cloth019";
}
else if(nResult == 3)
{
sItem = "aarcl004";
}
else if(nResult ==4)
{
sItem = "zep_studdedleath";
}
else if(nResult == 5)
{
sItem = "aarcl004";
}
else if(nResult == 6)
{
sItem = "nw_aarcl001";
}
else if(nResult == 7)
{
sItem = "nw_aarcl002";
}
else
sItem = "nw_aarcl009";
CreateItemOnObject(sItem, OBJECT_SELF, nStackSize);
// Loop the object's inventory and equip the first
object oItem = GetFirstItemInInventory(OBJECT_SELF);
while(GetIsObjectValid(oItem))
{
// Check if armor, of course
if(GetBaseItemType(oItem) == BASE_ITEM_ARMOR)
{
// Equip it and stop the script
DelayCommand(1.0f, ActionEquipItem(oItem, INVENTORY_SLOT_CHEST));
return;
}
oItem = GetNextItemInInventory(OBJECT_SELF);
}
}
void RndFighterArmor(object oNPC)
{
// Makes sure any original armor isn't dropped as loot.
SetDroppableFlag(GetItemInSlot(INVENTORY_SLOT_CHEST, OBJECT_SELF), 0);
//Randomizes Armor
int nResult = d10(1);
int nStackSize = 1; // Create 1 items;
object oArmor;
string sItem;
if (nResult == 1)
{
sItem = "nw_aarcl011";
}
else if(nResult == 2)
{
sItem = "nw_aarcl006";
}
else if(nResult == 3)
{
sItem = "nw_aarcl005";
}
else if(nResult ==4)
{
sItem = "nw_aarcl010";
}
else if(nResult == 5)
{
sItem = "nw_aarcl004";
}
else if(nResult == 6)
{
sItem = "nw_aarcl003";
}
else if(nResult == 7)
{
sItem = "nw_aarcl012";
}
else if(nResult == 8)
{
sItem = "chainmail_st";
}
else if(nResult == 9)
{
sItem = "scale_st";
}
else
sItem = "aarcl007";
CreateItemOnObject(sItem, OBJECT_SELF, nStackSize);
// Loop the object's inventory and equip the first
object oItem = GetFirstItemInInventory(OBJECT_SELF);
while(GetIsObjectValid(oItem))
{
// Check if armor, of course
if(GetBaseItemType(oItem) == BASE_ITEM_ARMOR)
{
// Equip it and stop the script
DelayCommand(1.0f, ActionEquipItem(oItem, INVENTORY_SLOT_CHEST));
return;
}
oItem = GetNextItemInInventory(OBJECT_SELF);
}
}
void RndPirateArmor(object oNPC)
{
//Randomizes Armor
int nResult = d6(1);
int nStackSize = 1; // Create 1 items;
string sItem;
if (nResult == 1)
{
sItem = "RA_ALTSL_PIRATE1";
}
else if(nResult == 2)
{
sItem = "RA_ALTSL_PIRATE2";
}
else if(nResult == 3)
{
sItem = "RA_ALTSL_PIRATE3";
}
else if(nResult == 4)
{
sItem = "RA_ALTSL_PIRATE4";
}
else if(nResult == 5)
{
sItem = "RA_ALTSL_PIRATE5";
}
else if(nResult == 6)
{
sItem = "RA_ALTSL_PIRATE5";
}
else
sItem = "RA_ALTSL_PIRATE6";
CreateItemOnObject(sItem, oNPC, nStackSize);
// Loop the object's inventory and equip the first
object oItem = GetFirstItemInInventory(oNPC);
while(GetIsObjectValid(oItem))
{
// Check if armor, of course
if(GetBaseItemType(oItem) == BASE_ITEM_ARMOR)
{
// Equip it and stop the script
DelayCommand(0.1f, ActionEquipItem(oItem, INVENTORY_SLOT_CHEST));
DelayCommand(0.2f, SetDroppableFlag(oItem, FALSE));
return;
}
oItem = GetNextItemInInventory(oNPC);
}
}