Cataclysm-dda: Character's notebook [feature] [request for comments]

Created on 10 May 2020  路  10Comments  路  Source: CleverRaven/Cataclysm-DDA

I like this feature but unfortunately I don't know enough of the game to write it myself. So, I have noted down here how I think this feature could be implemented without disturbing players who don't want to use it while also opening the way to different ways to use the new feature. If you like this, please vote for it and if you have comments, improvements please contribute. If a dev is ready to make the c++ part I volunteer for testing of course.

Describe the solution you'd like

Add the capability for the character to use a notebook for registering notes in-game. Example of (future) uses:

  • RPG oriented players can record their adventures during the game
  • This kind of book could be made a requirement of advanced research (capping your skill if you lose your notes for instance)
  • Players can take notes on quests, list of things to do...
  • The logbook can be found by a succeeding character when a new game is started in the same world
  • The best logbooks could be published somewhere someday
  • Character logbooks could be uploaded and later found as survivor books items in other players games

Proposed implementation

The text below is focused on the first usage of the list above.

Rules

The content of a char_notebook will be saved in a file that will NOT be deleted if the character dies even if his save is removed. This is for RPG oriented players who want to publish/keep their stories.

Items & recipes

Add a "char_notebook" recipe and item (see below).
Add a "makeshift_pen" recipe and item (see below).

UI

Add a line at the end of the sleep ($) menu "Add an entry in my logbook"
- Check if character has a pen or makeshift_pen and a "char_notebook"
- if N, "you need a notebook and some kind of pen", exit
- Go to edit_my_logbook
- After exiting edit_my_logbook show again the sleep menu

Activating the "char_notebook" object will also call edit_my_logbook

Reading the "char_notebook" displays the content of the "char_notebook"

LOGIC

edit_my_logbook
- opens a subwindow where the player can enter free text (I think I read somewhere that some computers allowed this kind of thing) -> txt
- the program uses the current day string displayed in the UI -> dat
- the program appends dat + txt in the existing char notebook file (or creates it if it does not exist yet) and saves it

VARIANTS

The char_notebook could probably be also made within a smartphone or computer. I have no in-game knowledge of these objects yet so I cannot elaborate but the dev should take this into account.

CODE SAMPLES (json only sorry)

json/recipes/recipe_others.json

```
{
"type": "recipe",
"result": "char_notebook",
"category": "CC_OTHER",
"subcategory": "CSC_OTHER_TOOLS",
"skill_used": "fabrication",
"difficulty": 1,
"time": "10 m",
"using": [ [ "sewing_standard", 5 ] ],
"reversible": true,
"autolearn": true,
"components": [ [ [ "paper", 10 ] ] ]
},
{
"type": "recipe",
"result": "makeshift_pen",
"category": "CC_OTHER",
"subcategory": "CSC_OTHER_TOOLS",
"skill_used": "fabrication",
"difficulty": 1,
"time": "10 m",
"reversible": true,
"autolearn": true,
"components": [ [ [ "charcoal", 1 ] ] , [ [ "splinter", 1 ] ], [ [ "thread", 1 ] ] ]
}

json/items/book/misc.json

{
"id": "char_notebook",
"type": "BOOK",
"name": { "str": "My notebook"},
"description": "This is a notebook I made to record various things, maybe I'll document the end of my life here...",
"weight": "227 g",
"volume": "1 L",
"price": 1,
"price_postapoc": 1,
"material": [ "paper" ],
"symbol": "?",
"color": "light_blue",
"intelligence": 4,
"time": "5 m",
"chapters": 10,
"fun": -2
},

  json/items/tool/stationery.json
 ```
 {
    "id": "makeshift_pen",
    "type": "GENERIC",
    "name": { "str": "makeshift pen"},
    "description": "A crude pen made with a bit of charcoal attached to a piece of wood.",
    "weight": "10 g",
    "volume": "10 ml",
    "price": 1,
    "price_postapoc": 1,
    "material": "wood",
    "symbol": "!",
    "color": "light_gray"
  }
<Enhancement / Feature> <Suggestion / Discussion> stale

Most helpful comment

There does exist the memorial log already, which most people don't know about (look in the memorial directory in your CDDA directory). I'm working slowly towards improving that, and making something analogous available in-game.

All 10 comments

A diary would be cool specially if you could point locations as links to the map

This made me think of a story log similar to the regular game logs but records the adventures and encounters. Also, a diary may be a place to put all those newspapers and scientific notes to make sense of them all and so you don't gotta carry them back to base. :D

Related to #39526

There does exist the memorial log already, which most people don't know about (look in the memorial directory in your CDDA directory). I'm working slowly towards improving that, and making something analogous available in-game.

@jbytheway I have no 'memorial' directory in my CDDA dir, am I supposed to have one before my character dying? And does it contain data provided by the player which is the point of this feature?

@jbytheway I have no 'memorial' directory in my CDDA dir, am I supposed to have one before my character dying?

It should be in the same place as your savegames, wherever that is. I believe it won't exist until you've had a character die.

And does it contain data provided by the player which is the point of this feature?

A little bit; it contains the last words you provide upon death. But mostly no. I mentioned it mostly in response to @CoroNaut's comment about a story log. I agree that adding more player-provided notes would be a good thing to consider.

If the information in stored in the memorial file when the character dies, do you know where it is stored in the meantime and what is the content (only zombies killed or more data)? I don't want to imply that this can replace user provided text but maybe the first can help the second ("forgot to mention how I trashed this shocker zombie with a single arrow in the head from the roof of the book store"...)

It's in save/$world/*.log (where $world is your world name). You can also see the code that generates these messages to see all the things that can currently be written there (spoiler warning for some obscure game content).

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not \'bump\' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

This issue has been automatically closed due to lack of activity. This does not mean that we do not value the issue. Feel free to request that it be re-opened if you are going to actively work on it

Was this page helpful?
0 / 5 - 0 ratings