45 lines
2.0 KiB
Plaintext
45 lines
2.0 KiB
Plaintext
void CreateFire(object oTemp);
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
object oTemp;
|
|
//location lSelf = GetLocation(oPC);
|
|
vector vSelf = GetPosition(oPC);
|
|
object oArea = GetArea(oPC);
|
|
vector vFire;
|
|
//int vDirection;
|
|
float fSelf;
|
|
float fDistance;
|
|
location lFire;
|
|
fSelf = GetFacing(oPC)+Random(360);
|
|
fDistance = 0.4;
|
|
vFire = vSelf + (AngleToVector(fSelf) * fDistance);
|
|
lFire = Location(oArea,vFire,fSelf);
|
|
|
|
oTemp=CreateObject(OBJECT_TYPE_PLACEABLE,"temporaryplaceho",lFire,FALSE);
|
|
AssignCommand(oPC,SetFacingPoint(GetPosition(oTemp)));
|
|
AssignCommand(oPC,ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW,1.0,4.5));
|
|
DelayCommand(5.0,FloatingTextStringOnCreature("You carefully strike the flint to spark a small fire from the tinder..",oPC,FALSE));
|
|
AssignCommand(oTemp,PlaySound("as_na_grassmove2"));
|
|
AssignCommand(oTemp,DelayCommand(1.0,PlaySound("as_na_twigsnap2")));
|
|
AssignCommand(oTemp,DelayCommand(2.0,PlaySound("as_na_twigsnap1")));
|
|
AssignCommand(oTemp,DelayCommand(3.0,PlaySound("as_na_branchsnp2")));
|
|
AssignCommand(oTemp,DelayCommand(4.0,PlaySound("as_na_branchsnp2")));
|
|
DelayCommand(0.8,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_COM_SPARKS_PARRY,FALSE),oTemp,1.0));
|
|
DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_COM_SPARKS_PARRY,FALSE),oTemp,1.0));
|
|
DelayCommand(2.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_COM_SPECIAL_WHITE_ORANGE,FALSE),oTemp,1.0));
|
|
DelayCommand(3.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_COM_SPARKS_PARRY,FALSE),oTemp,1.0));
|
|
DelayCommand(4.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_COM_SPECIAL_RED_WHITE,FALSE),oTemp,1.0));
|
|
AssignCommand(oTemp,DelayCommand(5.0,CreateFire(oTemp)));
|
|
DestroyObject(oTemp,10.0);
|
|
|
|
}
|
|
|
|
void CreateFire(object oTemp)
|
|
{
|
|
object oTemp2 =CreateObject(OBJECT_TYPE_PLACEABLE,"campfire001",GetLocation(oTemp),FALSE);
|
|
AssignCommand(oTemp2,PlaySound("al_cv_firebowl1"));
|
|
return;
|
|
}
|