Finished PRC8 integration. Moved creature abilities to top hak. Setup tooling. Created release archive
97 lines
3.1 KiB
Plaintext
97 lines
3.1 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Custom User Defined Event
|
|
//:: FileName
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By:
|
|
//:: Created On:
|
|
//:://////////////////////////////////////////////
|
|
|
|
void main()
|
|
{
|
|
ExecuteScript("prc_npc_userdef", OBJECT_SELF);
|
|
|
|
int nUser = GetUserDefinedEventNumber();
|
|
object oObject;
|
|
effect eEffect;
|
|
if(nUser == 50) //Vampire inside
|
|
{
|
|
SetLocalInt(OBJECT_SELF,"vampin",2);
|
|
if (GetIsOpen(OBJECT_SELF))
|
|
{
|
|
ActionPlayAnimation (ANIMATION_PLACEABLE_CLOSE);
|
|
|
|
}
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_DEATH_WARD),OBJECT_SELF);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectVisualEffect(VFX_DUR_GLOBE_INVULNERABILITY),OBJECT_SELF);
|
|
//SetTileMainLightColor(GetLocation(OBJECT_SELF),TILE_MAIN_LIGHT_COLOR_RED,TILE_MAIN_LIGHT_COLOR_PALE_DARK_RED);
|
|
//RecomputeStaticLighting(GetArea(OBJECT_SELF));
|
|
//SpeakString("debug - vampire inside");
|
|
}
|
|
else if(nUser == 60) // Kill vamp
|
|
{
|
|
SpeakString("You drive the wooden stake into the heart of the resting vampire");
|
|
PlaySound("as_pl_screamm3");
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_SCREEN_BUMP),GetLocation(OBJECT_SELF));
|
|
oObject=CreateObject(OBJECT_TYPE_CREATURE,"jw_vamp_skel",GetLocation(GetNearestObjectByTag("jw_vdeath_wp",OBJECT_SELF)),TRUE);
|
|
//ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_FLAME_S),GetLocation(oObject));
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_IMPLOSION),GetLocation(oObject));
|
|
AssignCommand(oObject,DelayCommand(0.5,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDeath(TRUE,TRUE),oObject)));
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_COM_CHUNK_BONE_MEDIUM),GetLocation(oObject));
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_SMOKE_PUFF),GetLocation(oObject));
|
|
PlaySound("sff_expdevil30");
|
|
CreateObject(OBJECT_TYPE_ITEM,GetStringLeft(GetTag(OBJECT_SELF),9)+"_key",GetLocation(GetNearestObjectByTag("jw_vdeath_wp",OBJECT_SELF)),TRUE);
|
|
SignalEvent(OBJECT_SELF,EventUserDefined(70));
|
|
//SpeakString("debug - kill vampire");
|
|
//jw_vamp_skel
|
|
}
|
|
else if(nUser == 70) // Reset coffin
|
|
{
|
|
oObject=OBJECT_SELF;
|
|
eEffect=GetFirstEffect(oObject);
|
|
while (GetIsEffectValid(eEffect))
|
|
{
|
|
if (GetEffectCreator(eEffect)==oObject)
|
|
{
|
|
RemoveEffect(oObject,eEffect);
|
|
}
|
|
eEffect=GetNextEffect(oObject);
|
|
}
|
|
SetLocalInt(OBJECT_SELF,"vampin",0);
|
|
|
|
if (GetIsOpen(OBJECT_SELF))
|
|
{
|
|
ActionPlayAnimation (ANIMATION_PLACEABLE_CLOSE);
|
|
|
|
}
|
|
|
|
|
|
}
|
|
else if(nUser == 1004) // ON DIALOGUE
|
|
{
|
|
|
|
}
|
|
else if(nUser == 1005) // ATTACKED
|
|
{
|
|
|
|
}
|
|
else if(nUser == 1006) // DAMAGED
|
|
{
|
|
|
|
}
|
|
else if(nUser == 1007) // DEATH
|
|
{
|
|
|
|
}
|
|
else if(nUser == 1008) // DISTURBED
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|