Redesign the interaction mechanic into a recursive chain reaction system where items can trigger cascading reactions. Keys now open themed chests which produce items that may trigger further reactions, with chain bonus rewards for multi-step chains (x2/x3/x4+). - Add 6 themed chests + mysterious chest + alchemist stone catalyst - Rewrite InteractionEngine with recursive chain loop (max depth 10) - Add ConsumeTrigger field to InteractionRule for catalyst support - Add ChainBonusEvent and enrich InteractionTriggeredEvent with context - Update rendering to show both reacting items and chain indicators - Add item descriptions with anticipation hints for chain partners - Update GDD Section 5 with full chain reaction specification
102 lines
2.9 KiB
JSON
102 lines
2.9 KiB
JSON
[
|
|
{
|
|
"id": "key_chest_space",
|
|
"requiredItemTags": ["Key", "Space"],
|
|
"requiredItemIds": ["space_chest"],
|
|
"resultType": "OpenBox",
|
|
"resultData": "space_map,space_coordinates",
|
|
"isAutomatic": true,
|
|
"priority": 10,
|
|
"descriptionKey": "interaction.key_chest"
|
|
},
|
|
{
|
|
"id": "key_chest_medieval",
|
|
"requiredItemTags": ["Key", "Medieval"],
|
|
"requiredItemIds": ["medieval_chest"],
|
|
"resultType": "OpenBox",
|
|
"resultData": "medieval_crest,medieval_scroll",
|
|
"isAutomatic": true,
|
|
"priority": 10,
|
|
"descriptionKey": "interaction.key_chest"
|
|
},
|
|
{
|
|
"id": "key_chest_pirate",
|
|
"requiredItemTags": ["Key", "Pirate"],
|
|
"requiredItemIds": ["pirate_chest"],
|
|
"resultType": "OpenBox",
|
|
"resultData": "pirate_map,pirate_compass",
|
|
"isAutomatic": true,
|
|
"priority": 10,
|
|
"descriptionKey": "interaction.key_chest"
|
|
},
|
|
{
|
|
"id": "key_chest_contemporary",
|
|
"requiredItemTags": ["Key", "Contemporary"],
|
|
"requiredItemIds": ["contemporary_chest"],
|
|
"resultType": "OpenBox",
|
|
"resultData": "contemporary_badge,contemporary_usb",
|
|
"isAutomatic": true,
|
|
"priority": 10,
|
|
"descriptionKey": "interaction.key_chest"
|
|
},
|
|
{
|
|
"id": "key_chest_darkfantasy",
|
|
"requiredItemTags": ["Key", "DarkFantasy"],
|
|
"requiredItemIds": ["darkfantasy_chest"],
|
|
"resultType": "OpenBox",
|
|
"resultData": "darkfantasy_grimoire,darkfantasy_ring",
|
|
"isAutomatic": true,
|
|
"priority": 10,
|
|
"descriptionKey": "interaction.key_chest"
|
|
},
|
|
{
|
|
"id": "key_chest_mysterious",
|
|
"requiredItemTags": ["Key"],
|
|
"requiredItemIds": ["mysterious_chest"],
|
|
"resultType": "OpenBox",
|
|
"resultData": "lore_6,tint_void",
|
|
"isAutomatic": true,
|
|
"priority": 5,
|
|
"descriptionKey": "interaction.key_chest"
|
|
},
|
|
{
|
|
"id": "coordinates_map_combine",
|
|
"requiredItemTags": ["Coordinates"],
|
|
"requiredItemIds": ["space_map"],
|
|
"resultType": "Combine",
|
|
"resultData": "adventure_unlock:Space",
|
|
"isAutomatic": true,
|
|
"priority": 8,
|
|
"descriptionKey": "interaction.map_coordinates"
|
|
},
|
|
{
|
|
"id": "pirate_map_compass",
|
|
"requiredItemTags": [],
|
|
"requiredItemIds": ["pirate_map", "pirate_compass"],
|
|
"resultType": "Combine",
|
|
"resultData": "adventure:Pirate",
|
|
"isAutomatic": true,
|
|
"priority": 8,
|
|
"descriptionKey": "interaction.treasure_located"
|
|
},
|
|
{
|
|
"id": "badge_adventure_space",
|
|
"requiredItemTags": ["Badge", "Space"],
|
|
"requiredItemIds": null,
|
|
"resultType": "Unlock",
|
|
"resultData": "adventure:Space",
|
|
"isAutomatic": true,
|
|
"priority": 5,
|
|
"descriptionKey": "adventure.start"
|
|
},
|
|
{
|
|
"id": "badge_adventure_contemporary",
|
|
"requiredItemTags": ["Badge", "Contemporary"],
|
|
"requiredItemIds": null,
|
|
"resultType": "Unlock",
|
|
"resultData": "adventure:Contemporary",
|
|
"isAutomatic": true,
|
|
"priority": 5,
|
|
"descriptionKey": "adventure.start"
|
|
}
|
|
]
|