Modified some areas, items, creatures
Added a forge to make a weapon into another weapon of a different base type.
This commit is contained in:
45
_module/nss/createbastardswd.nss
Normal file
45
_module/nss/createbastardswd.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "abastardsword";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createbattleaxe.nss
Normal file
45
_module/nss/createbattleaxe.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "abattleaxe";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createdagger.nss
Normal file
45
_module/nss/createdagger.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "adagger";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createdblaxe.nss
Normal file
45
_module/nss/createdblaxe.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "adoubleaxe";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createdblscimita.nss
Normal file
45
_module/nss/createdblscimita.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "adoublescimitar";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/creatediremace.nss
Normal file
45
_module/nss/creatediremace.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "adiremace";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createdwarvenaxe.nss
Normal file
45
_module/nss/createdwarvenaxe.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "adwarvenwaraxe";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createeagleclaw.nss
Normal file
45
_module/nss/createeagleclaw.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aeagleclaw";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createelvencourt.nss
Normal file
45
_module/nss/createelvencourt.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aelvencourtblade";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createelvenlight.nss
Normal file
45
_module/nss/createelvenlight.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aelvenlightblade";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createelventhinb.nss
Normal file
45
_module/nss/createelventhinb.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aelventhinblade";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createfalchion.nss
Normal file
45
_module/nss/createfalchion.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "afalchion";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/creategauntlet.nss
Normal file
45
_module/nss/creategauntlet.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "agauntlet";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/creategoad.nss
Normal file
45
_module/nss/creategoad.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "agoad";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/creategreataxe.nss
Normal file
45
_module/nss/creategreataxe.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "agreataxe";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/creategreatsword.nss
Normal file
45
_module/nss/creategreatsword.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "agreatsword";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createhalberd.nss
Normal file
45
_module/nss/createhalberd.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "ahalberd";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createhandaxe.nss
Normal file
45
_module/nss/createhandaxe.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "ahandaxe";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createheavyflail.nss
Normal file
45
_module/nss/createheavyflail.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aheavyflail";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createheavymace.nss
Normal file
45
_module/nss/createheavymace.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aheavymace";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createheavypick.nss
Normal file
45
_module/nss/createheavypick.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aheavypick";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createhvycrossbo.nss
Normal file
45
_module/nss/createhvycrossbo.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aheavycrossbow";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createhvycrssbo2.nss
Normal file
45
_module/nss/createhvycrssbo2.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aheavycrossbow2";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createkama.nss
Normal file
45
_module/nss/createkama.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "akama";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createkatana.nss
Normal file
45
_module/nss/createkatana.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "akatana";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createkatar.nss
Normal file
45
_module/nss/createkatar.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "akatar";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createkukri.nss
Normal file
45
_module/nss/createkukri.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "akukri";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createlance.nss
Normal file
45
_module/nss/createlance.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "alance";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createlightflail.nss
Normal file
45
_module/nss/createlightflail.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "alightflail";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createlightpick.nss
Normal file
45
_module/nss/createlightpick.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "alightpick";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createlitexbow.nss
Normal file
45
_module/nss/createlitexbow.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "alightcrossbow";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createlitexbow2.nss
Normal file
45
_module/nss/createlitexbow2.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "alightcrossbow2";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createlongbow.nss
Normal file
45
_module/nss/createlongbow.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "alongbow";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createlongbow2.nss
Normal file
45
_module/nss/createlongbow2.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "alongbow2";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createlongsword.nss
Normal file
45
_module/nss/createlongsword.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "alongsword";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createmace.nss
Normal file
45
_module/nss/createmace.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "amace";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createmaul.nss
Normal file
45
_module/nss/createmaul.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "amaul";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createmorningsta.nss
Normal file
45
_module/nss/createmorningsta.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "amorningstar";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createnunchaku.nss
Normal file
45
_module/nss/createnunchaku.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "anunchaku";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createquartersta.nss
Normal file
45
_module/nss/createquartersta.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aquarterstaff";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createrapier.nss
Normal file
45
_module/nss/createrapier.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "arapier";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createsai.nss
Normal file
45
_module/nss/createsai.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "asai";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createsap.nss
Normal file
45
_module/nss/createsap.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "asap";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createscimitar.nss
Normal file
45
_module/nss/createscimitar.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "ascimitar";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createscythe.nss
Normal file
45
_module/nss/createscythe.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "ascythe";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createshortbow.nss
Normal file
45
_module/nss/createshortbow.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "ashortbow";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createshortbow2.nss
Normal file
45
_module/nss/createshortbow2.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "ashortbow2";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createshortswrd.nss
Normal file
45
_module/nss/createshortswrd.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "ashortsword";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createsickle.nss
Normal file
45
_module/nss/createsickle.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "asickle";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createsling.nss
Normal file
45
_module/nss/createsling.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "asling";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createsling2.nss
Normal file
45
_module/nss/createsling2.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "asling2";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createspear.nss
Normal file
45
_module/nss/createspear.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "aspear";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createtrident.nss
Normal file
45
_module/nss/createtrident.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "atrident";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createtwobldswrd.nss
Normal file
45
_module/nss/createtwobldswrd.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1500000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "atwobladedsword";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createwarhammer.nss
Normal file
45
_module/nss/createwarhammer.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "awarhammer";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
45
_module/nss/createwhip.nss
Normal file
45
_module/nss/createwhip.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "x2_inc_itemprop"
|
||||
#include "x3_inc_string"
|
||||
|
||||
void main()
|
||||
{
|
||||
ActionPauseConversation();
|
||||
object oPC = GetPCSpeaker();
|
||||
TakeGoldFromCreature(1000000, oPC, TRUE);
|
||||
object oForge = GetNearestObjectByTag ("WeaponForge", OBJECT_SELF, 1);
|
||||
object oOldWeapon = GetFirstItemInInventory(oForge);
|
||||
string sItemTemplate1 = "awhip";
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
|
||||
effect eVis3 = EffectVisualEffect(VFX_IMP_FROST_L);
|
||||
string sOldWeapon = GetName(oOldWeapon);
|
||||
string sNewWeaponName = StringToRGBString(sOldWeapon+" Reforged", "730");
|
||||
|
||||
if (!GetIsObjectValid(oOldWeapon)) return;
|
||||
AssignCommand (oForge, ActionLockObject (oForge));
|
||||
|
||||
//Get the first itemproperty on the weapon
|
||||
itemproperty ipLoop=GetFirstItemProperty(oOldWeapon);
|
||||
object oNewWeapon = CreateItemOnObject (sItemTemplate1, oForge, 1);
|
||||
//object oNewWeapon = GetNextItemInInventory (oForge);
|
||||
|
||||
//Loop for as long as the ipLoop variable is valid
|
||||
while (GetIsItemPropertyValid(ipLoop))
|
||||
{
|
||||
//Add itemprops to new weapon
|
||||
IPSafeAddItemProperty(oNewWeapon, ipLoop);
|
||||
|
||||
//Next itemproperty on the list...
|
||||
ipLoop=GetNextItemProperty(oOldWeapon);
|
||||
}
|
||||
|
||||
SetName(oNewWeapon, sNewWeaponName);
|
||||
DestroyObject (oOldWeapon);
|
||||
ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2, 1.0, 5.5);
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oForge));
|
||||
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oForge));
|
||||
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis3, oForge));
|
||||
DelayCommand(6.5, ActionSpeakString("It is done"));
|
||||
AssignCommand(oForge, DelayCommand (8.0, ActionUnlockObject (oForge)));
|
||||
ActionResumeConversation();
|
||||
}
|
12
_module/nss/forgemoneycheck.nss
Normal file
12
_module/nss/forgemoneycheck.nss
Normal file
@@ -0,0 +1,12 @@
|
||||
int StartingConditional()
|
||||
{
|
||||
// Get the PC who is involved in this conversation
|
||||
object oPC = GetPCSpeaker();
|
||||
|
||||
// The PC must have at least 1000000 gold.
|
||||
if ( GetGold(oPC) < 1000000 )
|
||||
return FALSE;
|
||||
|
||||
// If we make it this far, we have passed all tests.
|
||||
return TRUE;
|
||||
}
|
12
_module/nss/forgemoneylgweap.nss
Normal file
12
_module/nss/forgemoneylgweap.nss
Normal file
@@ -0,0 +1,12 @@
|
||||
int StartingConditional()
|
||||
{
|
||||
// Get the PC who is involved in this conversation
|
||||
object oPC = GetPCSpeaker();
|
||||
|
||||
// The PC must have at least 1000000 gold.
|
||||
if ( GetGold(oPC) < 1500000 )
|
||||
return FALSE;
|
||||
|
||||
// If we make it this far, we have passed all tests.
|
||||
return TRUE;
|
||||
}
|
4
_module/nss/lockforge.nss
Normal file
4
_module/nss/lockforge.nss
Normal file
@@ -0,0 +1,4 @@
|
||||
void main()
|
||||
{
|
||||
DelayCommand (30.0, ActionLockObject (OBJECT_SELF));
|
||||
}
|
5
_module/nss/unlockforge.nss
Normal file
5
_module/nss/unlockforge.nss
Normal file
@@ -0,0 +1,5 @@
|
||||
void main()
|
||||
{
|
||||
object oForge = GetNearestObjectByTag("WeaponForge", OBJECT_SELF, 1);
|
||||
ActionUnlockObject (oForge);
|
||||
}
|
Reference in New Issue
Block a user