74 lines
3.7 KiB
Plaintext
74 lines
3.7 KiB
Plaintext
#include "x2_inc_ws_smith"
|
|
|
|
void MakeNewWeapon(object oPC);
|
|
void LightShow();
|
|
|
|
void main()
|
|
{
|
|
object oPC = GetPCSpeaker();
|
|
object oItem = GetRightHandWeapon(oPC);
|
|
if (GetIsObjectValid(oItem) == FALSE)
|
|
{ return; }
|
|
ActionPauseConversation();
|
|
MakeNewWeapon(oPC);
|
|
return;
|
|
}
|
|
|
|
void MakeNewWeapon(object oPC)
|
|
{
|
|
wsEnhanceItem(oPC, oPC);
|
|
AssignCommand(oPC, ActionPlayAnimation(ANIMATION_FIREFORGET_VICTORY2));
|
|
PlaySound("sff_explblind");
|
|
LightShow();
|
|
}
|
|
|
|
void LightShow()
|
|
{
|
|
object oPC = GetPCSpeaker();
|
|
object oAnv = OBJECT_SELF;
|
|
object oWSA = GetNearestObjectByTag("SpearRack", oAnv, 2);
|
|
object oWSB = GetNearestObjectByTag("x2_medium_crate4");
|
|
object oFgA = GetNearestObjectByTag("CEPTCandleThin");
|
|
object oFgB = GetNearestObjectByTag("CEPTCandlePlain");
|
|
object oBar = GetNearestObjectByTag("Ankh", oAnv, 2);
|
|
effect eBlu = EffectVisualEffect(VFX_DUR_LIGHT_BLUE_10);
|
|
effect eRed = EffectVisualEffect(VFX_DUR_LIGHT_RED_10);
|
|
effect eOrg = EffectVisualEffect(VFX_DUR_LIGHT_ORANGE_10);
|
|
effect eYel = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_10);
|
|
effect ePur = EffectVisualEffect(VFX_DUR_LIGHT_PURPLE_10);
|
|
effect eMag = EffectVisualEffect(VFX_IMP_MAGBLUE);
|
|
effect eSon = EffectVisualEffect(VFX_IMP_SUPER_HEROISM);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,eSon,oPC);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eBlu,oFgA,0.5);
|
|
DelayCommand(0.125,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eOrg,oAnv,0.25));
|
|
DelayCommand(0.25,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eOrg,oWSB,0.5));
|
|
DelayCommand(0.375,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,ePur,oBar,0.25));
|
|
DelayCommand(0.5,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eRed,oFgB,0.5));
|
|
DelayCommand(0.625,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eYel,oWSA,0.25));
|
|
DelayCommand(0.75,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,ePur,oWSB,0.5));
|
|
DelayCommand(0.875,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eOrg,oWSA,0.25));
|
|
DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eBlu,oBar,0.5));
|
|
DelayCommand(1.125,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eBlu,oFgB,0.25));
|
|
DelayCommand(1.25,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eOrg,oFgA,0.5));
|
|
DelayCommand(1.375,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,ePur,oWSB,0.25));
|
|
DelayCommand(1.5,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eYel,oAnv,0.5));
|
|
DelayCommand(1.625,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eRed,oBar,0.25));
|
|
DelayCommand(1.75,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eOrg,oFgB,0.5));
|
|
DelayCommand(1.875,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eOrg,oWSA,0.25));
|
|
DelayCommand(2.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eBlu,oFgA,0.5));
|
|
DelayCommand(2.125,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eRed,oAnv,0.25));
|
|
DelayCommand(2.25,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eYel,oWSB,0.5));
|
|
DelayCommand(2.375,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,ePur,oBar,0.25));
|
|
DelayCommand(2.5,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,ePur,oWSA,0.5));
|
|
DelayCommand(2.625,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eOrg,oFgA,0.25));
|
|
DelayCommand(2.75,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eBlu,oAnv,0.5));
|
|
DelayCommand(2.875,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eOrg,oFgB,0.25));
|
|
DelayCommand(3.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,ePur,oBar,0.5));
|
|
DelayCommand(3.125,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eOrg,oWSA,0.25));
|
|
DelayCommand(3.25,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eRed,oFgA,0.5));
|
|
DelayCommand(3.375,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,ePur,oWSB,0.25));
|
|
DelayCommand(3.5,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eBlu,oFgB,0.5));
|
|
DelayCommand(3.625,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eOrg,oBar,0.25));
|
|
DelayCommand(3.75,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eRed,oAnv,0.5));
|
|
}
|