Okay, here is my solution:
Add a script area that covers the wood pile in the stove so you won't be able to interact with the fire. I called it "InteractArea".
Here comes the script part:
void OnStart()
{
SetEntityPlayerInteractCallback("InteractArea", "ChimneyNotClosed", false); //makes the area interactable
SetEntityCustomFocusCrossHair("InteractArea", "Ignite"); //gives the InteractArea an ingite icon instead of a hand icon
}
void ChimneyNotClosed(string &in entity)
{
AddDebugMessage("pull the freaking lever first!", false);
//ToDo: Stuff that you want to happen when the player "interacts" with the fire and the lever is not pulled yet
}
void StateChangeLever(string &in asEntity, int alState)
{
if(alState == 1){
SetLeverStuckState(asEntity, 1, true);
SetEntityActive("InteractArea", false);
}
}
You won't need the burn part anymore, just make sure you uncheck the "lit"-box in the editor.
The player won't be able to interact with the pile as long as the lever is not pulled, since the script area blocks it. You can give the player a message (by using
SetMessage("Message", "YourEntryHere", 0); <- also need to add an entry in extra_english.lang) that he has to open the hatch in the chimney first.
<CATEGORY Name ="Message">
<Entry Name="YourEntryHere">I can't light the fire as long as the hatch in the chimney is closed. Maybe there is a lever around.</Entry>
</CATEGORY>