Give obituary messages their own data structure.
This commit is contained in:
parent
bba2af13d5
commit
9229fdf2a3
2 changed files with 35 additions and 3 deletions
|
@ -1492,3 +1492,10 @@ object_descriptions: !!omap
|
||||||
inventory: !!null
|
inventory: !!null
|
||||||
longs: !!null
|
longs: !!null
|
||||||
|
|
||||||
|
obituaries:
|
||||||
|
- query: 'Oh dear, you seem to have gotten yourself killed. I might be able to\nhelp you out, but I''ve never really done this before. Do you want me\nto try to reincarnate you?'
|
||||||
|
yes_response: 'All right. But don''t blame me if something goes wr......\n --- POOF!! ---\nYou are engulfed in a cloud of orange smoke. Coughing and gasping,\nyou emerge from the smoke and find....'
|
||||||
|
- query: 'You clumsy oaf, you''ve done it again! I don''t know how long I can\nkeep this up. Do you want me to try reincarnating you again?'
|
||||||
|
yes_response: 'Okay, now where did I put my orange smoke?.... >POOF!<\nEverything disappears in a dense cloud of orange smoke.'
|
||||||
|
- query: 'Now you''ve really done it! I''m out of orange smoke! You don''t expect\nme to do a decent reincarnation without any orange smoke, do you?'
|
||||||
|
yes_response: 'Okay, if you''re so smart, do it yourself! I''m leaving!'
|
||||||
|
|
|
@ -60,14 +60,20 @@ typedef struct {
|
||||||
descriptions_t description;
|
descriptions_t description;
|
||||||
} location_t;
|
} location_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
const char* query;
|
||||||
|
const char* yes_response;
|
||||||
|
} obituary_t;
|
||||||
|
|
||||||
extern location_t locations[];
|
extern location_t locations[];
|
||||||
extern object_description_t object_descriptions[];
|
extern object_description_t object_descriptions[];
|
||||||
extern const char* arbitrary_messages[];
|
extern const char* arbitrary_messages[];
|
||||||
extern const char* class_messages[];
|
extern const char* class_messages[];
|
||||||
extern const char* turn_threshold_messages[];
|
extern const char* turn_threshold_messages[];
|
||||||
|
extern obituary_t obituaries[];
|
||||||
|
|
||||||
extern size_t CLSSES;
|
extern size_t CLSSES;
|
||||||
|
extern int maximum_deaths;
|
||||||
"""
|
"""
|
||||||
|
|
||||||
c = """#include "{}"
|
c = """#include "{}"
|
||||||
|
@ -126,13 +132,32 @@ for key, data in dungeon["object_descriptions"]:
|
||||||
except (TypeError, IndexError):
|
except (TypeError, IndexError):
|
||||||
c += " .longs = NULL,\n"
|
c += " .longs = NULL,\n"
|
||||||
c += " },\n"
|
c += " },\n"
|
||||||
h += "};"
|
h += "};\n\n"
|
||||||
c += "};"
|
c += "};\n\n"
|
||||||
|
|
||||||
|
c += "obituary_t obituaries[] = {\n"
|
||||||
|
for obit in dungeon["obituaries"]:
|
||||||
|
|
||||||
|
query = quotewrap(c_escape(obit["query"]))
|
||||||
|
yes_response = quotewrap(c_escape(obit["yes_response"]))
|
||||||
|
|
||||||
|
c += """ {{
|
||||||
|
.query = {},
|
||||||
|
.yes_response = {},
|
||||||
|
}},
|
||||||
|
""".format(query, yes_response)
|
||||||
|
|
||||||
|
c += "};\n"
|
||||||
|
|
||||||
c += """
|
c += """
|
||||||
size_t CLSSES = {};
|
size_t CLSSES = {};
|
||||||
""".format(len(dungeon["class_messages"]))
|
""".format(len(dungeon["class_messages"]))
|
||||||
|
|
||||||
|
c += """
|
||||||
|
int maximum_deaths = {};
|
||||||
|
""".format(len(dungeon["obituaries"]))
|
||||||
|
|
||||||
|
|
||||||
# finally, write out the files
|
# finally, write out the files
|
||||||
d = {
|
d = {
|
||||||
h_name: h,
|
h_name: h,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue