rules: # cooking logic - group: sim.cooking match: type: item edible: true cooked: false chance: 0.1 set: spoiled: true - group: sim.cooking match: type: item edible: true cooked: true chance: 0.05 set: spoiled: true # hunger logic - group: sim.hunger match: type: character hunger: full chance: 0.1 set: hunger: hungry # hunger initialization - group: sim.hunger rule: | "hunger" not in attributes set: hunger: full # thirst logic - group: sim.thirst match: type: character thirst: hydrated chance: 0.1 set: thirst: thirsty # thirst initialization - group: sim.thirst rule: | "thirst" not in attributes set: thirst: hydrated labels: - match: type: item edible: true backstory: You are edible. description: This item is edible. - match: type: item edible: false backstory: You are not edible. description: This item is not edible. - match: type: item cooked: true backstory: You are cooked. description: This item is cooked. - match: type: item cooked: false backstory: You are raw. description: This item is raw. - match: type: item spoiled: true backstory: You are rotten and inedible. description: This item is rotten and inedible. - match: type: character spoiled: false backstory: You are fresh and edible. description: This item is fresh and edible. - match: type: character hunger: full backstory: You are have eaten recently and are full. description: ~ - match: type: character hunger: hungry backstory: You are hungry and need to eat. description: They look hungry. - match: type: character thirst: hydrated backstory: You are hydrated. description: ~ - match: type: character thirst: thirsty backstory: You are thirsty and need to drink. description: They look thirsty.