Book 4 - Contextual Memories
Chapter 1 - Preparing Contextual Memories
50 contextual memories are in Z1.
A memory-time is a kind of value. The memory-times are pre-unveiling, post-unveiling, and post-exile.
A contextual memory has a memory-time.
A memory-type is a kind of value. The memory-types are relationship-based, profession-based, hobby-based, economic-based, motivation-based, rationale-based, location-based, or memento-based.
A contextual memory has a memory-type.
Table of Recorded Memories
memory-time | memory-type | associated NPC |
pre-unveiling | relationship-based | yourself |
with 50 blank rows |
To prepare contextual memories:
DM "Preparing contextual memories.";
now the potential NPC list is {};
repeat with target NPC running through the NPCs:
add the target NPC to the potential NPC list;
blank out the whole of the Table of Recorded Memories;
repeat with target memory running through the contextual memories:
now the current memory is the target memory;
let M be 1;
while M is 1:
let M be 0;
sort the potential NPC list in random order;
now the associated NPC of the current memory is entry 1 of the potential NPC list;
now the memory-time of the target memory is a random memory-time;
now the memory-type of the target memory is a random memory-type;
repeat through the Table of Recorded Memories:
if the memory-time entry is the memory-time of the target memory and the memory-type entry is the memory-type of the target memory and the associated NPC entry is the associated NPC of the target memory:
let M be 1;
DM "Rejecting a [memory-time of the target memory] [memory-type of the target memory] memory involving [given name of the associated NPC of the target memory] [surname of the associated NPC of the target memory] due to duplication.";
DM "Accepting a [memory-time of the target memory] [memory-type of the target memory] memory involving the PC's [relationship of the associated NPC of the target memory] [given name of the associated NPC of the target memory] [surname of the associated NPC of the target memory]. No duplication.";
choose a blank row in the Table of Recorded Memories;
now memory-time entry is the memory-time of the target memory;
now memory-type entry is the memory-type of the target memory;
now associated NPC entry is the associated NPC of the target memory.
To remember an contextual memory:
now the current person is the associated NPC of the current memory;
if the current memory is pre-unveiling:
say "You remember, from before the Unveiling....";
remember a pre-unveiling memory;
otherwise if the current memory is post-unveiling:
say "You remember, from after the Unveiling....";
remember a post-unveiling memory;
otherwise if the current memory is post-exile:
remember a post-exile memory;