Table of Contents

About

This is a project for Global Health that focuses on traveller's safety by implementing a system where avatars are exposed to various environments and they have to respond by taking the appropriate medicine or their health will continue to go down. This is a remake of the contagion system but enforces the use of medicine by not clearing the effects list once the avatar has left the region.

Design

                                         +------------+
                                         | scoreboard |
                                         +------^-----+
                                                |
    name=brucellosis#health=-5#range=5          |
              +----------+                +----------+         +-------------------+
              | exposure +--------------->| exposure |<--+     | backpack          |
              +----------+                | tracker  |   |     +-------------------+
                                          +----------+   +-----| doxycycline = 2   |
                                                               | ciprofloxacin = 3 |
                                     doxycycline=brucellosis   | co-artem = 2      |
                                                               | AZT = 1           |
                                                               | 3TC = 3           |
                                                               | ...               |
                                                               +-------------------+

An exposure object has its name set to a specific format. For example, in this case, the object that represents the brucellosis exposure has its name set to:

name=brucellosis#health=-5#range=5

the name tag hints to the exposure tracker, that it is near a brucellosis exposure that deals 5 damage per second in a range of 5 meters. The exposure tracker (code below) scans the surroundings and if the avatar wearing it is within a 5 meters range, it will start to deal damage to the avatar at a rate of 5 damage per second.

At this point, the avatar can use their backpack and consume some medicine from it by clicking on the backpack and selecting an item from the menu. In this example, the avatar would consume 1 unit of doxycycline and send the name of the medicine to the exposure tracker. Once the exposure tracker receives the name of the medicine, it checks the current list of exposures, finds brucellosis and removes it along with the 5 damage penalty.

Index