string gun_target = "";
void OnStart()
{
GiveItemFromFile("lantern", "lantern.ent");
for (int i = 1; GetEntityExists("gun_target_"+i); ++i)
SetEntityPlayerLookAtCallback("gun_target_"+i, "SetGunTarget", false);
SetLanternLitCallback("FireGun");
}
void SetGunTarget(string &in entity, int state)
{
gun_target = (state == 1) ? entity : "";
}
void FireGun(bool lit)
{
if (gun_target != "")
{
SetPropActiveAndFade(gun_target, false, 1);
gun_target = "";
SetMessage("Gun", "Hit", 1);
}
else
SetMessage("Gun", "Miss", 1);
if (!GetLanternActive())
{
SetLanternLitCallback("");
SetLanternActive(true, true);
SetLanternLitCallback("FireGun");
}
}