FIRE:
-----
I think it may be possible to create fire in IVAN partly using existing code. Fire in its burning state requires fuel, oxygen and heat. I don't know about the last two, but fuel suggests that fire must progressively consume an item through various conditions such as Not Burnt, Slightly Burnt, Burnt, Heavily Burnt.
May I point to an existing framework along these lines: the rust system. It has similar stages of rusting, as long as a liquid material with rust modifier is in contact with the ironalloy.
Then burnt <- rusted
with conditions:
NOT_BURNT = 0
SLIGHTLY_BURNT = 1
BURNT = 2
HEAVILY_BURNT = 3
Furthermore, we need a state which shows us whether something is on fire or not. This should be as apparent as observing whether something is broken or not. So therefore:
Burning/Not burning <- Broken/Not Broken
While the burning state is active, then the item's condition progresses through Not_burnt up to Heavily_burnt until destruction.
We need some way of putting out the fire, namely dipping the items into liquids. Dipping an item into a bottle of water would "repair" the item into a non-burning state, but the item would be left in its present burnt condition. If we are aiming to burn bodyparts, then it would be handy to be able to dip bodyparts into liquids as well.
For starters ot would be handy to burn a few items, say organics, cloaks, food, weapons like oak quarterstaffs etc. Then implement the wierd shit as we go, like eating burning food deals fire damage to the player, or stepping into a fart cloud with burning items creates an explosion.
The question is, how to instigate burning? Using fire of course. One source of fire that exists is explosions. Beyond that, there are few sources of fire. Perhaps some additional code should be added to make lanterns catch fire when they break. Also, flaming swords could be made to instigate a burning condition during melee to any bodypart or organic armour they come into contact with.
Magic users could target the player and cause combustible items to catch fire, using a new beam type. Tailors could repair burnt fabric. More dense materials combust slowly. Bodyparts can burn, but slowly
It would be great to have spreading fire, but it is beyond my skills to program from scratch. Instead, the fire could spread though melee, and throwing things, which would be in keeping with the game's theme.