-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Most of the Logging algorithm is kind of redundant with the Run History to be honest! I propose a new way to verbose Log information inside the Already present .run files of the game. Wouldn't this be more practical to load save files and make extra entries inside the .run files in order to store your Card choices/relics/paths/events and even Shop and Ancient Rewards are reflected inside of these .run files everything except Pathing is inside .save file I think 🤔 💬
"map_point_history": [
[
{
"map_point_type": "ancient",
"player_stats": [
{
"ancient_choice": [
{
"TextKey": "LEAD_PAPERWEIGHT",
"title": {
"key": "LEAD_PAPERWEIGHT.title",
"table": "relics"
},
"was_chosen": true
},
{
"TextKey": "NUTRITIOUS_OYSTER",
"title": {
"key": "NUTRITIOUS_OYSTER.title",
"table": "relics"
},
"was_chosen": false
},
{
"TextKey": "SCROLL_BOXES",
"title": {
"key": "SCROLL_BOXES.title",
"table": "relics"
},
"was_chosen": false
}
],
"card_choices": [
{
"card": {
"id": "CARD.THINKING_AHEAD"
},
"was_picked": false
}
],
"cards_gained": [
{
"id": "CARD.THE_BOMB"
}
],
"current_gold": 99,
"current_hp": 60,
"damage_taken": 0,
"event_choices": [
{
"title": {
"key": "LEAD_PAPERWEIGHT.title",
"table": "relics"
}
}
],
"gold_gained": 0,
"gold_lost": 0,
"gold_spent": 0,
"gold_stolen": 0,
"hp_healed": 60,
"max_hp": 75,
"max_hp_gained": 0,
"max_hp_lost": 0,
"player_id": 1,
"relic_choices": [
{
"choice": "RELIC.LEAD_PAPERWEIGHT",
"was_picked": true
}
]
}
],
"rooms": [
{
"model_id": "EVENT.NEOW",
"room_type": "event",
"turns_taken": 0
}
]
}
As for the recorded Card plays! You can add a extra field to the .run file
rooms": [
{
"model_id": "ENCOUNTER.SEAPUNK_WEAK",
"monster_ids": [
"MONSTER.SEAPUNK"
],
"room_type": "monster",
"turns_taken": 4
~~you add extra field here with Card Log information per turn which can only be read by the mod and is ignored by the game it could be like a serial number for each Card played heck it could literally be the Commands inside a Paragraph of "{" and "}" in here each time 1 is read the card is played and each time 0 is read the card is skipped this would make it as simple as for loop through the entire array to play the hand! the zeroes and ones are as big as the hand size(not sure how to handle card draw,discard)
{1=01011,2=011001,3=11001,4=11000}
}
]
}
<\code>
Most events are logged loosely here too!! This is the Chosen cheese Event inside .run file
map_point_type": "unknown",
"player_stats": [
{
"current_gold": 108,
"current_hp": 43,
"damage_taken": 14,
"event_choices": [
{
"title": {
"key": "ROOM_FULL_OF_CHEESE.pages.INITIAL.options.SEARCH.title",
"table": "events"
}
}
],
"gold_gained": 0,
"gold_lost": 0,
"gold_spent": 0,
"gold_stolen": 0,
"hp_healed": 0,
"max_hp": 75,
"max_hp_gained": 0,
"max_hp_lost": 0,
"player_id": 1,
"relic_choices": [
{
"choice": "RELIC.CHOSEN_CHEESE",
"was_picked": true
}
]
}
],
"rooms": [
{
"model_id": "EVENT.ROOM_FULL_OF_CHEESE",
"room_type": "event",
"turns_taken": 0
}
]
}
This is a field for a Shop
"rooms": [
{
"room_type": "shop",
"turns_taken": 0
}
]
},
{
"map_point_type": "monster",
"player_stats": [
{
"card_choices": [
{
"card": {
"floor_added_to_deck": 6,
"id": "CARD.BULWARK"
},
"was_picked": true
},
{
"card": {
"id": "CARD.GUIDING_STAR"
},
"was_picked": false
},
{
"card": {
"id": "CARD.COLLISION_COURSE"
},
"was_picked": false
}
],
"cards_gained": [
{
"id": "CARD.BULWARK"
}
],
"current_gold": 44,
"current_hp": 31,
"damage_taken": 13,
"gold_gained": 11,
"gold_lost": 0,
"gold_spent": 0,
"gold_stolen": 0,
"hp_healed": 1,
"max_hp": 76,
"max_hp_gained": 1,
"max_hp_lost": 0,
"player_id": 1,
"potion_choices": [
{
"choice": "POTION.VULNERABLE_POTION",
"was_picked": true
}
]
}
]
This is Ancient's field
"map_point_type": "ancient",
"player_stats": [
{
"ancient_choice": [
{
"TextKey": "YUMMY_COOKIE",
"title": {
"key": "YUMMY_COOKIE.title",
"table": "relics"
},
"was_chosen": false
},
{
"TextKey": "TOASTY_MITTENS",
"title": {
"key": "TOASTY_MITTENS.title",
"table": "relics"
},
"was_chosen": false
},
{
"TextKey": "GOLDEN_COMPASS",
"title": {
"key": "GOLDEN_COMPASS.title",
"table": "relics"
},
"was_chosen": true
}
],
"current_gold": 87,
"current_hp": 64,
"damage_taken": 0,
"event_choices": [
{
"title": {
"key": "GOLDEN_COMPASS.title",
"table": "relics"
}
}
],
"gold_gained": 0,
"gold_lost": 0,
"gold_spent": 0,
"gold_stolen": 0,
"hp_healed": 61,
"max_hp": 80,
"max_hp_gained": 0,
"max_hp_lost": 0,
"player_id": 1,
"relic_choices": [
{
"choice": "RELIC.GOLDEN_COMPASS",
"was_picked": true
}
]
}
],
"rooms": [
{
"model_id": "EVENT.TEZCATARA",
"room_type": "event",
"turns_taken": 0
}
]
}
Etc it goes on. I know keeping it simple is easier but I wish the mod could make use of the game files