generated from Jaysyn/ModuleTemplate
Initial Commit
Initial Commit
This commit is contained in:
253
_module/nss/item_modder2.nss
Normal file
253
_module/nss/item_modder2.nss
Normal file
@@ -0,0 +1,253 @@
|
||||
#include "moditem2"
|
||||
object oItem;
|
||||
object oTarget;
|
||||
/* Script generated by
|
||||
Lilac Soul's NWN Script Generator, v. 1.6
|
||||
|
||||
For download info, please visit:
|
||||
http://www.lilacsoul.revility.com */
|
||||
|
||||
//Put this OnUsed
|
||||
void main()
|
||||
{
|
||||
object oPC = GetLastUsedBy();
|
||||
object oTarget = OBJECT_SELF;
|
||||
int oCount=0;
|
||||
int oPearl=0;
|
||||
int oPcount=0;
|
||||
int oCoin=0;
|
||||
int oCloak = 0;
|
||||
int oNcount= 0;
|
||||
int oAmmo;
|
||||
int oDaxe = BASE_ITEM_DWARVENWARAXE;
|
||||
int oRapier = BASE_ITEM_RAPIER;
|
||||
int oLongsword = BASE_ITEM_LONGSWORD;
|
||||
int oBastardsword = BASE_ITEM_BASTARDSWORD;
|
||||
int oBattleaxe = BASE_ITEM_BATTLEAXE;
|
||||
int oKukri = BASE_ITEM_KUKRI;
|
||||
int oWarhammer = BASE_ITEM_WARHAMMER;
|
||||
int oShortsword = BASE_ITEM_SHORTSWORD;
|
||||
int oKama = BASE_ITEM_KAMA;
|
||||
int oGreatsword = BASE_ITEM_GREATSWORD;
|
||||
int oLbow = BASE_ITEM_LONGBOW;
|
||||
int oHcrossbow = BASE_ITEM_HEAVYCROSSBOW;
|
||||
int oSbow = BASE_ITEM_SHORTBOW;
|
||||
int oLcrossbow = BASE_ITEM_LIGHTCROSSBOW;
|
||||
int oDbaxe = BASE_ITEM_DOUBLEAXE;
|
||||
int oDsword = BASE_ITEM_TWOBLADEDSWORD;
|
||||
int oWhip = BASE_ITEM_WHIP;
|
||||
int oSickle = BASE_ITEM_SICKLE;
|
||||
int oScythe = BASE_ITEM_SCYTHE;
|
||||
int oMstar = BASE_ITEM_MORNINGSTAR;
|
||||
int oQstaff = BASE_ITEM_QUARTERSTAFF;
|
||||
int oScim = BASE_ITEM_SCIMITAR;
|
||||
int oSpear = BASE_ITEM_SHORTSPEAR;
|
||||
int oLflail = BASE_ITEM_LIGHTFLAIL;
|
||||
int oHflail = BASE_ITEM_HEAVYFLAIL;
|
||||
int oHberd = BASE_ITEM_HALBERD;
|
||||
int oGaxe = BASE_ITEM_GREATAXE;
|
||||
int oKatana = BASE_ITEM_KATANA;
|
||||
int oLmace = BASE_ITEM_LIGHTMACE;
|
||||
int oDmace = BASE_ITEM_DIREMACE;
|
||||
int oDagg = BASE_ITEM_DAGGER;
|
||||
int oBolt = BASE_ITEM_BOLT;
|
||||
int oArrow = BASE_ITEM_ARROW;
|
||||
|
||||
|
||||
object oItem = GetFirstItemInInventory(OBJECT_SELF);
|
||||
while (GetIsObjectValid(oItem))
|
||||
{
|
||||
++oCount;
|
||||
oItem = GetNextItemInInventory(OBJECT_SELF);
|
||||
}
|
||||
|
||||
if (oCount==1)
|
||||
{
|
||||
oItem = GetFirstItemInInventory(OBJECT_SELF);
|
||||
if ((GetTag(oItem)=="pearl")||(GetTag(oItem)=="coin1")||(GetTag(oItem)=="coin2"))
|
||||
{
|
||||
FloatingTextStringOnCreature("You need an item as well.", oPC);
|
||||
PlaySound("sim_cntresist");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
FloatingTextStringOnCreature("You need an Arena Token to invoke Amaterasu's power", oPC);
|
||||
PlaySound("sim_cntresist");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (oCount==0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ((oCount>1)&&(oCount<3))
|
||||
{
|
||||
oItem = GetFirstItemInInventory(OBJECT_SELF);
|
||||
while (GetIsObjectValid(oItem))
|
||||
{
|
||||
if ((GetTag(oItem)=="pearl")||(GetTag(oItem)=="coin1")||
|
||||
(GetTag(oItem)=="coin2"))
|
||||
{
|
||||
oPearl = 1;
|
||||
++oPcount;
|
||||
}
|
||||
else
|
||||
{
|
||||
++oNcount;
|
||||
}
|
||||
oItem = GetNextItemInInventory(OBJECT_SELF);
|
||||
}
|
||||
|
||||
if (oNcount==2)
|
||||
{
|
||||
FloatingTextStringOnCreature("You need an arena token and one item to invoke Amaterasu's power", oPC);
|
||||
PlaySound("sim_cntresist");
|
||||
return;
|
||||
}
|
||||
if (oPcount>1)
|
||||
{
|
||||
FloatingTextStringOnCreature("You can not use more than one Arena Token", oPC);
|
||||
PlaySound("sim_cntresist");
|
||||
return;
|
||||
}
|
||||
if (oPearl==1)
|
||||
{
|
||||
oItem = GetFirstItemInInventory(OBJECT_SELF);
|
||||
while (GetIsObjectValid(oItem))
|
||||
{
|
||||
if (GetTag(oItem)=="pearl")
|
||||
{
|
||||
oCoin=1;
|
||||
}
|
||||
if (GetTag(oItem)=="coin1")
|
||||
{
|
||||
oCoin=2;
|
||||
}
|
||||
if (GetTag(oItem)=="coin2")
|
||||
{
|
||||
oCoin=3;
|
||||
}
|
||||
oItem = GetNextItemInInventory(OBJECT_SELF);
|
||||
}
|
||||
oItem=GetFirstItemInInventory(OBJECT_SELF);
|
||||
if (oCoin==1)
|
||||
{
|
||||
AssignCommand(oPC, PlaySound("as_mg_telepin1"));
|
||||
AssignCommand(oPC, PlaySound("sce_positive"));
|
||||
DelayCommand(0.5, ModNow(oItem, oPC));
|
||||
return;
|
||||
}
|
||||
else if (oCoin==3)
|
||||
{
|
||||
while (GetIsObjectValid(oItem))
|
||||
{
|
||||
if ((GetBaseItemType(oItem)==oRapier)||
|
||||
(GetBaseItemType(oItem)==oShortsword)||
|
||||
(GetBaseItemType(oItem)==oLongsword)||
|
||||
(GetBaseItemType(oItem)==oBastardsword)||
|
||||
(GetBaseItemType(oItem)==oBattleaxe)||
|
||||
(GetBaseItemType(oItem)==oKukri)||
|
||||
(GetBaseItemType(oItem)==oWarhammer)||
|
||||
(GetBaseItemType(oItem)==oKama)||
|
||||
(GetBaseItemType(oItem)==oGreatsword)||
|
||||
(GetBaseItemType(oItem)==oDaxe)||
|
||||
(GetBaseItemType(oItem)==oDbaxe)||
|
||||
(GetBaseItemType(oItem)==oDsword)||
|
||||
(GetBaseItemType(oItem)==oWhip)||
|
||||
(GetBaseItemType(oItem)==oSickle)||
|
||||
(GetBaseItemType(oItem)==oScythe)||
|
||||
(GetBaseItemType(oItem)==oMstar)||
|
||||
(GetBaseItemType(oItem)==oQstaff)||
|
||||
(GetBaseItemType(oItem)==oScim)||
|
||||
(GetBaseItemType(oItem)==oSpear)||
|
||||
(GetBaseItemType(oItem)==oLflail)||
|
||||
(GetBaseItemType(oItem)==oHflail)||
|
||||
(GetBaseItemType(oItem)==oHberd)||
|
||||
(GetBaseItemType(oItem)==oGaxe)||
|
||||
(GetBaseItemType(oItem)==oScim)||
|
||||
(GetBaseItemType(oItem)==oKatana)||
|
||||
(GetBaseItemType(oItem)==oLmace)||
|
||||
(GetBaseItemType(oItem)==oDmace)||
|
||||
(GetBaseItemType(oItem)==oDagg)||
|
||||
(GetBaseItemType(oItem)==oBolt)||
|
||||
(GetBaseItemType(oItem)==oArrow))
|
||||
{
|
||||
oCloak = 3;
|
||||
if ((GetBaseItemType(oItem)==oBolt)||
|
||||
(GetBaseItemType(oItem)==oArrow))
|
||||
{
|
||||
oAmmo=1;
|
||||
}
|
||||
}
|
||||
oItem = GetNextItemInInventory(OBJECT_SELF);
|
||||
}
|
||||
if (oCloak==3)
|
||||
{
|
||||
if (oAmmo==1)
|
||||
{
|
||||
AssignCommand(oPC, PlaySound("as_mg_telepin1"));
|
||||
AssignCommand(oPC, PlaySound("sce_positive"));
|
||||
DelayCommand(0.5, ActionStartConversation(oPC, "weap_enh2", TRUE, FALSE));
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
AssignCommand(oPC, PlaySound("as_mg_telepin1"));
|
||||
AssignCommand(oPC, PlaySound("sce_positive"));
|
||||
DelayCommand(0.5, ActionStartConversation(oPC, "weap_enh", TRUE, FALSE));
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PlaySound("sim_cntresist");
|
||||
FloatingTextStringOnCreature
|
||||
("You can't use a Silver arena token on this item", oPC);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
while (GetIsObjectValid(oItem))
|
||||
{
|
||||
if (GetBaseItemType(oItem)== BASE_ITEM_TOWERSHIELD)
|
||||
{
|
||||
oCloak = 1;
|
||||
}
|
||||
if (GetBaseItemType(oItem)== BASE_ITEM_AMULET)
|
||||
{
|
||||
oCloak = 2;
|
||||
}
|
||||
oItem = GetNextItemInInventory(OBJECT_SELF);
|
||||
}
|
||||
if (oCloak==1)
|
||||
{
|
||||
AssignCommand(oPC, PlaySound("as_mg_telepin1"));
|
||||
AssignCommand(oPC, PlaySound("sce_positive"));
|
||||
DelayCommand(0.5, ActionStartConversation(oPC, "damage_red", TRUE, FALSE));
|
||||
return;
|
||||
}
|
||||
else if (oCloak==2)
|
||||
{
|
||||
AssignCommand(oPC, PlaySound("as_mg_telepin1"));
|
||||
AssignCommand(oPC, PlaySound("sce_positive"));
|
||||
DelayCommand(0.5, ActionStartConversation(oPC, "amulet_red", TRUE, FALSE));
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
PlaySound("sim_cntresist");
|
||||
FloatingTextStringOnCreature
|
||||
("You can't use a gold arena token on this item", oPC);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FloatingTextStringOnCreature("Too many items!", oPC);
|
||||
PlaySound("sim_cntresist");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user