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;
 }