Living Town: This Guy Are Sick

in Tutorials

LivingTownBanner

So now, Arglebar joyfully goes through his daily routine of doing the same things every day, day after day, working in his fields, eating his breakfast, lunch, and dinner, and sleeping.

So let’s add a little bit of change into his life. What if he could get sick? Every morning, the game will check if he is sick. If he is sick, he will remain in bed until he either gets better, he dies, or the player gets him some medicine.

But first, a bit of tidying up from last time:

else

To prove again that no matter how long you’ve used RPG Maker, you will still learn new things. It was pointed out to me that while functionally what I did was identically, its a whole lot cleaner if you untick this box on the conditional branches if you don’t plan on using the Else. How I missed this for all these years, I will never know.

So now, on to possibly killing our poor farmer!

The first thing I want to do is add 3 more numbers to Arglebar’s Routine. Before, we ended on 11, now we can add to 14:

  • 12: Sick
  • 13: Medicine Applied, Resting
  • 14: Dead

I also need Medicine. I quickly make the Medicine in the items tab first.

medicine

Then make a way to get Medicine. I decide that I’ll just make a plant (a red flower) you pick it from, and it will only give you medicine if you don’t already have one in your inventory.

pick

A pretty simple event.

Now. On to Arglebar. I want to set the conditional pages for his new routine numbers first. Then build it into the conditional branch for the control event.

Let’s start with 12. When he is sick. Since it will only check and apply sickness first thing in the morning, we don’t need any move routes in the routine, once he is sick, he will stay put in his bed. All we need for this one is a conditional branch to allow the player to give him medicine, and if he doesn’t have medicine give him a quick hint about where to get some.

When you give Arglebar Medicine, it should move him to routine 13 “Medicine Applied, Resting”

12

On to condition 13, This one is simple. Because all you need is a message saying he is resting and will get better. Nothing else is needed.

And then, to condition 14. This is only slightly more than the last. Change the graphic to a tombstone, and give it a nice bit of text to express the meaninglessness of his death.

Good job hero.

Good job hero.

The first thing I’m going to do is cancel out Arglebar’s ENTIRE Routine if he is dead, sick or resting. To do this, I’ll make a Conditional Branch of “If Arglebar’s Routine < 12” and put all the existing routines inside it.

Now, we need to create the part of the branch that will allow him to become sick and die!

To do this, I, OUTSIDE the conditional branch to see if he is dead (though technically you could do it inside as well), checking at 5am every day. Inside that, it checks his routine variable. If it is less than 12, it puts a random number into a new variable I have called “random” between 1 and 10. If its 10, it changes his Routine to 12, making him sick.

Next if his Routine is 12, it does the same, it makes the random number, and if its 10, it moves his location to his grave spot, and changes him to Routine 14. Dead. If it randomly generates a 1-3 he gets better, his routine is set to 0.

After that, if his Routine is 13, you had given him medicine, he gets reset to routine 0, so his normal day will start.

Routinecheck

The only concerns here are: How will this affect adding more people? My conditional branches for time checking are already getting crowded with 1, and having it skipped if outside a certain number is meaning each character will need a different set of conditional branches. Can I cut this down somehow? I’ll have to think on it. For now, I have a functional routine for Arglebar getting randomly sick/better/dying, and the player can save him as he wishes.

Do you see any problems in the future? What would you do differently? What do you think should be the next thing I add?

Get the latest build here.

 

Comments on this entry are closed.

  • Julien Brightside

    Would you have a timer between “getting sick” and him being “dead” ?

    • Nick Palmer

      Actually… I did that backwards, crap. I should have put the IS sick part above the getting sick part, so that he wouldn’t have the chance to get well or die until the next day.

  • JumbocactuarX27

    Could you simplify it by moving the “sick” and “dead” logic into a common event or a script function? Ideally, NPC-specific behavior would be all that’s on the NPC events except for a call into common events/scripts where appropriate.