A Medical Lib

There doesn't seem to be a medical library on the site. There are health aspects to various RPGs. When I think of a critical hit then I imagine death follows afterwards.

Instead I am thinking of a separate status of various common frontier ailments and injuries. I'd like these to be diagnosed by a high enough skill level, requiring medicines and equipment in rather limited but perishable supply, with a switchover to herbal treatment, clean water, exercise, osteopathic manipulation techniques, and sound nutrition. After all, that worked for most patients a hundred years ago.

That or they died. And sadly but true childbirth bleeding, breech births, childbed fever, too narrow a passage, etc killed many frontier women.

Resetting a broken limb might end up hobbling the patient. And yes, if you watched The Beguiled, then limbs might routinely be amputated based upon the severity of damage to the arteries, veins, bone, muscle...and so on.

You might be surprised at all of the nutritional deficiencies.

Many people had tainted water from outhouse placement versus their well. That could be bacteria, debris, a dead animal, fecal matter, parasites, etc.

Lots of people ate sickly animals who were infected with bacteria, and either due to poor harvesting and hygiene, or taking animals whose livers are discolored, or obviously in distress, resulted in bacterial and parasitic infections.

Sure, the survival shows are apt to show someone eating a slug. It's doable but harvesting one in the wild might end up poisoning you based upon them eating a toadstool. Even if you raise them, you have to thoroughly cook them or else parasites.

Escargot or sashimi, anyone?

Should such ailments/injuries be hidden traits, skills, inventory, fill in the blank, that only someone with an advanced skill can remove or treat and with equipment,meds, or herbs?

This is quite an undertaking, and I am not aware of anyone attempting it before, let alone a library.

I think if I was doing it (using the desktop version) I would set up various ailments as objects, and if the player (or any character) has an ailment, clone the object and move the clone to the player (set it to be invisible so it does not appear in the inventory). You could have an object for each degree of severity, and as it gets better swap out the ailment. Or if it gets worse due to bad nutrition.

To determine how the player feels, each ailment could have various effect attributes. Say have one for speed, and total the value across all ailments to get the total reduction.

Worth thinking carefully what will make the game fun...

What about spawned NPCs and initialized ailment attributes? They can only be healed in one or two places. Then some treatment removes the attribute. A large percentage would arrive with dehydration and malnourishment, for example.

Is a removable object easier? The ailment would ideally result in symptoms but also some reduction of health (but unclear except to one of the characters) and result in encumberance or fatigue.

I'm thinking about changing the character's pov for the initial four family members, and allowing them to do tasks and explore.

Survival isn't fun.

Thanks for the suggestions.

I think I vaguely understand. The NPCs are spawned by turns or events with these ailments as objects. Meanwhile some would acquire them as CloneObjectAndMove. Then the doctor applies a treatment to similarly remove that object with RemoveObject.

You can do everything you've mentioned, and there are numerous ways to accomplish everything in Quest.

They can only be healed in one or two places.

You can make a room, let's call it Hospital.

Then, you set up a command on only that room, let's call it HEAL #object#. (This assumes the game's point of view is a character who has medical knowledge (or an in-game book to refer to when dealing with healing the sick) and the #object# is an NPC in the room who has a sickness object as a child item (or a sickness attribute).)

(EDIT: I didn't include any of this in the example game posted here. It only shows how to create, check for, and remove the illness objects.)

I think Pixie hit the nail on the head when suggesting using objects.

You'd probably be cloning sickness objects before moving them to NPCs, so you'd have to keep track of that, but that's covered too.

newSickness = CloneObject(Flu_sickness_object)
newSickness.prototype = Flu_sickness_object
MoveObject(newSickness, NPC)

That's Pixie's method.

Here's a silly example game (you'd need to check more things, of course, like if the player knows how to 'heal' the flu). (I also note that you can't HEAL the flu; I just picked a dumb, random thing for a silly example.):

<!--Saved by Quest 5.7.6404.15496-->
<asl version="550">
  <include ref="English.aslx" />
  <include ref="Core.aslx" />
  <game name="sicknesses">
    <attr name="autodescription_youarein_useprefix" type="boolean">false</attr>
  <object name="Hospital">
    <inherit name="editor_room" />
    <usedefaultprefix type="boolean">false</usedefaultprefix>
    <beforeenter type="script">
      newSickness = CloneObject(Flu_sickness_object)
      newSickness.prototype = Flu_sickness_object
      MoveObject (newSickness, NPC)
    <enter type="script">
    <object name="player">
      <inherit name="editor_object" />
      <inherit name="editor_player" />
    <object name="NPC">
      <inherit name="editor_object" />
      <inherit name="namedmale" />
      <alias>an NPC</alias>
      <look type="script"><![CDATA[
        msg ("The NPC has brown hair, brown eyes, and is about six feet tall.  (You'd guess he weighs around 180 pounds.{once:  (The scale here is broken.)})<br/>")
        foreach (illness, FilterByAttribute (GetDirectChildren(this), "prototype", Flu_sickness_object)) {
          game.this_illness = illness
          Ask (CapFirst(GetDisplayName(this)) +" has the flu!  Would you like to heal " + this.article + "?") {
            if (result) {
              destroy (game.this_illness.name)
              msg ("<br/>Done.")
            else {
              msg ("<br/>You declined.  You have healed no one.")
      <speakto type="script">
        gotFlu = false
        foreach (illness, FilterByAttribute (GetDirectChildren(this), "prototype", Flu_sickness_object)) {
          gotFlu = true
        if (gotFlu) {
          msg ("\"I don't feel good, Doc,\" mumbles the NPC.")
        else {
          msg ("\"I feel just fine!\" the NPC boasts.")
  <object name="Flu_sickness_object">
    <inherit name="editor_object" />
    <pattern>speak to; speak; talk to; talk with;talk;speak with;converse with</pattern>
    <defaultexpression>"You can't speak to; speak; talk to; talk with;talk;speak with;converse with " + object.article + "."</defaultexpression>


Play the example game.

I'm using the online editor only as that was what initially attracted me to authoring IF.

Then I read this troubling documentation link:

Well I will need lots of libraries to do the things I have been asking questions about. Squiffy won't do. Twine is web based but won't do.

I need to do more research. Up until today, Quest seemed a likely candidate.

Thanks by the way, KV.



I understand exactly what you mean, but you don't really need the libraries...

A library is basically just a section of a game (just a cheat to keep from writing the same scripts over and over, really). You could enter the functions you need one by one online.

Some things are harder to pull off online, and I don't think you can use types at all, but you can still make it work.

If there's a better online editor to create text adventures, I haven't found it.

Playfic.com hosts an older version of the Inform 7 editor, but they have the same problem: no extensions can be added. (An Inform extension is the equivalent of a Quest library. Just a bit of game code that can be easily included in (or sort of 'pasted into') any game.)

In fact, I like Quest better than Inform 7 or Tads, even when we're talking about desktop editors.

Inform 7 is a very close runner-up, but Quest is just easier to use and you can do more with it, especially with graphics and such.

Is editing online what you're after? Or do you just want the game to be playable online? If it's the latter, you can upload your Quest games you create offline to the site, and they can be played online. (You probably read that already. I was just throwing it out there, just in case.)

You can do it all online. The Zombie Apocalyse tutorial was written specifically for on-line authors, and there is nothing in what you describe that would require the desktop version.

First, it's crystal clear that Quest is the superior software. Your competitor doesn't have anything close that I could see regarding scripting (just to start). I was expressing concern about investing time into cutting and pasting miniscripts over and over.

Take for example the two main ways of treating patients with some semblance of reality within this milieu and under pandemic collapse conditions. Instead of one library to deal with maybe 30 common injuries and procedures like pregnancy and simple toxicology (mostly ingestion), burns, broken bones, dislocations, infections, etc...maybe 100 items....then cutting and pasting this instead for all time based events, and conditional events, and time based people objects being intentionally spawned.

That sounds daunting...unless there is another way.

I would never want a hospital room that automatically heals, but instead the female adult character is a physician who can either do this when played through that pov change, or might heal as a npc. The whole point is to make it realistic while under duress, fear of the unknown, risk of contagion juxtaposed against fleeing contagion in cities to a very rural area (with only villages and towns nearby).

And then this is facilitated by her knowledge, adaptability, limited medical supplies, medicines, and harvested herbs from their garden. This creates gravitas and being a humanitarian under horrendous conditions of enormous mortality and morbidity.

Not magical healing potions.

Quest does use a peculiar turn based system since as the tutorials discuss, ten turns could pass in minutes by silly queries.

In my opinion this means conditional healing, time based events (largely encounters), but then something like pregnancy.

A major aspect is trying to save lives by heroic means while simultaneously surviving themselves. But then as in real life, the patient is crippled, dies anyway, or can't cope on their own. All of which create even more potential outcomes. With triage maybe the best outcome is pain-free release.

Oh, I'm not affiliated with Quest or textadventures.co.uk.

I'm just this guy. (My competition consists of guys my girlfriend might find more attractive than she finds me.)

...and my example wasn't meant to be realistic.

That was just a silly example.

It was designed to show you how the objects could be moved into and out of an NPC, making them sick or healing them. You would need to add your own bells and whistles to the script for it to become your own.

You could use turn scripts, timers, etc...

Please don't take offense to any of these questions:

  1. Is this your first Quest game?

  2. Is this your first text adventure?

  3. Are you wanting code that will handle every eventuality you've listed?


You use big, fancy words. (Like 'mayonnaisse'.)

Whenever you get a game ready for testing, I would very much like to be a tester.

(I need a break from the monosyllabic grunts my friends and I normally exchange to communicate with each other. Hehehe.)

quest can do whatever you want, but you have to know how to do scripting and as well as good designs, as well. not an easy task.

Objects, Lists, Dictionaries, iteration/loops/recursion, pointers/references, etc etc etc scripting and design methods...

It takes a lot to offend me. I'm shocked by how polite everyone is and by the rapid responses. The last great text adventure was Imagination (1994)on GEnie which predated AOL. Millions paid monthly frees to play games and explore and chat in a virtual text based world. So that's decades ago and makes me wryly amused and pleased to see people making IF.

Yes, I am competely green other than modding. Obviously I am not green concerning writing.

Ordinarily such a project would be a team of three or less since it's not graphically driven by maps, images, units, buildings, tech trees, etc. Then asking for criticism with beta testers.

So yeah, it is great how much Quest can do, but a ton of scripting and coding needs to get accomplished besides a month of writing.

Maybe the easiest solution is a location on the homestead property that is the treatment area, and if the female doctor and a patient is in it, they are taken care of? The alternative was treating NPCs in various locations as encountered upon conditions, when wounded in combat, based upon timed events. The former is unrealistic as patients would die in high numbers due to transport. The latter is realistic in American pioneer history under much lower tech levels (which basically happens overnight in this IF).

It takes a lot to offend me.

That's good. (I'm the same way.)

I realized I could have easily been taken the wrong way, so I led in with that, just in case.

Imagination on GEnie

Ooh! I'm not familiar with this! (Yippee!)

...but I can't find it.

You wouldn't happen to have a link, by any chance, would you? (KV wiggles his eyebrows up and down, not unlike Groucho.)


GEnie was like CompuServe...

...and the game is in AGT.

ImagiNation had many creators who built the virtual world as mods as well as paid staff. Then it was also the interface for many games.
1991 was its inception date. It was delightful. Imagine 100 megabyte Quest in one world.

Say the female physician is named Maggie Green (just to be ridiculous since she's a hottie). And say the NPC has lowered hitpoints AND Maggie is present in pov. Then one change script could be run for all instances...even pregnancy because a timed event of the patient breaking her water and increasing to dialated then further decrements the patients hitpoints.

That should cut most of the cut and pasting. That will greatly reduce the file size too.

This topic is now closed. Topics are closed after 60 days of inactivity.