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