How do I hack fireplaces?
Making fireplaces fire-proof and perma-lit

Deborah writes:

     I would like to hack some of my fireplaces to be "safe" and turn on automatically. Can you supply a tutorial for this on your web site?

These are two separate hacks and both are pretty easy. We'll tackle the Fire Proofing first

Step 1 : Fire-proofing your fireplace in iffpencil.

When you first open an object All Resources is highlighted in the left hand column and all resources are filling your main window on the right hand side. You can work from there but I find that a bit overwhelming. I prefer, instead, to click BHAV in the Left hand column. This filters all other resources out leaving just the BHAVS showing in the main window.

(Fig. 1) Editing the "burn something" BHAV

  1. Inside of the fireplace you will spot a BHAV named "burn something". In Fireplaces it's BHAV#4112. Double click this BHAV in your main window to open it in the BHAV editor.
  2. Highlight the very first line. It's information will show up in the Data Window on the lower right hand side. Enter the number 254 as the True Line:

Done. Click OK to close the BHAV Editor window.

You have now blocked the game from accessing all of the code that actually starts the fire.

Step 2 : Making your Fireplace start automatically.

In a fireplace the amount of time the fireplace has left to stay lit is stored in a variable called Attribute 0. Attribute 0 acts like an hourglass. When a Sim lights the fireplace Attribute 0 is filled with sand. The sand trickles out over time and when theres none left the fireplace turns off.

  1. To make it start automatically we must tell it to start full of sand.
    Open the "init common" BHAV (#4097)in the BHAV Editor and locate a line that reads My Attribute 0 Assign To: 0. Highlight it and in it's Data Window enter a "1" for Parameter 2 (see fig.2). The line should now read "My Attribute 0 Assign To: 1"
    Click OK to close the BHAV Editor window.
  2. To keep it from turning off we must make make sure it never empties out.
    Open the BHAV named "process" (#4108) in the BHAV Editor and locate the line that reads Refresh (stack object's graphic). Highlight it and in it's Data Window enter "254" for the True Line: (see fig.3)
    Click OK to close the BHAV Editor window.

Fig. 2 Editing the "init common" BHAV

Fig. 3 Editing the "process" BHAV

All Done.

Author: Raeven