Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CF: Diseases implemented.




Diseases are implemented and are at
ftp://langmuir.eecs.berkeley.edu/pub/incoming/peterm/Disease.tar.gz

Brian, I haven't made any of the disease spells accessible to players
yet.  I wanted your advice on how to have gods grant them to religions
appropriately.  (Implementation wise).

I put a few diseases into the game already, via "diseased needles",
and via liches/demiliches/spectres, which each may cause disease 
(if they have a physical attacktype--I haven't checked.)

The code is NOT fully tested.  It seems to work to me, and I tested everything
I thought of, but I'm sure I missed something.  Please help test it.


This is the README file:

Diseases are implemented in Crossfire.

Files:

README.DISEASE	       This file.
NOTES.MODIFICATION     A description of what I did to various files.
disease/               The disease archetypes.
disease_patch          The disease patches.
disease.c              The bulk of the implementation.

Comments:

NOT IMPLEMENTED YET:
Granting any disease spell whatsoever.

*Monsters which can cause disease (added to treasures):

demilich	insanity
spectre		arthritis
lich		leprosy

*Diseased needles are implemented.  The diseases they
cause are mostly harmless.

*Disease-causing spells added.  These are NOT balanced as yet.
Severity of disease is level dependent for some features of diseases.

*Healing spells reduce a disease's severity, if it is a progressive disease.


The following describes some things about the archetype
and implementation:

Stat            Property        Definition

attacktype      Attack effects  Attacktype of the disease. usu. AT_GODPOWER.
other_arch      Creation        object created and dropped when symptom moved.
wc+             Infectiousness  How well the plague spreads person-to-person
magic+          Range           range of infection 
Stats*          Disability      What stats are reduced by the disease (str con...)
maxhp+          Persistence     How long the disease can last OUTSIDE the host. 
value           TimeLeft        Counter for persistence 
dam^            Damage          How much damage it does (%?). 
maxgrace+       Duration        How long before the disease is naturally cured. 
food            DurCount        Counter for Duration 

speed           Speed           How often the disease moves. 
last_sp^        Lethargy        Percentage of max speed--10 = 10% speed. 

maxsp^          Mana deplete    Saps mana. 
ac^             Progressiveness How the diseases increases in severity.
last_eat*^      Deplete food    saps food if negative 

exp             experience      experience awarded when plague cured 
hp*^            ReduceRegen     reduces regeneration of disease-bearer 
sp*^            ReduceSpRegen   reduces spellpoint regeneration 

name            Name            Name of the plague 
msg             message         What the plague says when it strikes.
race            those affected  races the plague strikes (* means everything) 
level           Plague Level    General description of the plague's deadliness 


Explanations:
* means this # should be negative to cause adverse effect.
+ means that this effect is modulated in spells by ldur
^ means that this effect is modulated in spells by ldam

attacktype is the attacktype used by the disease to smite "dam" damage with.

wc/127 is the chance of someone in range catching it.

magic is the range at which infection may occur.

Stats are stat modifications.  These should typically be negative.

maxhp is how long the disease will persist if the host dies and "drops" it,
      in "disease moves", i.e., moves of the disease.  If negative, permanent.
      

value is the counter for maxhp, it starts at maxhp and drops...

dam     if positive, it is straight damage.  if negative, a %-age.

maxgrace  how long in "disease moves" the disease lasts in the host, if negative,
          permanent until cured.

food    if negative, disease is permanent.  otherwise, decreases at <speed>,
        disease goes away at food=0, set to "maxgrace" on infection.

speed is the speed of the disease, how fast "disease moves" occur.

last_sp is the lethargy imposed on the player by the disease.  A lethargy
       of "1" reduces the players speed to 1% of its normal value.

maxsp how much mana is sapped per "disease move".  if negative, a %-age is
     taken.

ac  every "disease move" the severity of the symptoms are increased by
    ac/100.  (severity = 1 + (accumlated_progression)/100)

last_eat  increases food usage if negative.



For SYMPTOMS: (diseases don't cause any damage/debility, they cause symptoms,
which cause damage/debility.)

Stats            modify stats
hp               modify regen
value            progression counter (multiplier = value/100)
food             modify food use (from last_eat in DISEASE)
maxsp            suck mana ( as noted for DISEASE)
last_sp          Lethargy
msg              What to say
speed            speed of movement, from DISEASE

[to unsubscribe etc., send mail to crossfire-request@ifi.uio.no]