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.
256 lines
5.5 KiB
Plaintext
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);
|
|
}
|
|
|
|
}
|