server-1.12/doc/multigod

205 lines
7.9 KiB
Plaintext

This document is a brief description of the MULTIGOD hack.
--------------
Introduction -
--------------
The intention of this code is to enhance the enjoy-ability and
playability of clerical characters in the new skills/exp scheme.
This is done by giving players gods to worship who in turn effect
clerical magic and powers. Included in this patch are several new
spells which (hopefully) will allow the priest characters a better
chance to gain xp at higher levels. Notably, the "holy orb" and
"holy word" spells have been revamped.
When MULTIPLE_GODS flag is defined in include/config.h, this
code is enabled. This code (described below) encompasses 3
main parts: an array of gods that players/NPCs may worship,
new clerical spells which rely on the worshiped god's attrib-
utes in Gods[] array and, altars/praying--the interface between
a worshiper and their god.
b.t.
thomas@astro.psu.edu
---------
Outline -
---------
1. Description of code -
2. Properties of the gods
3. Designing new gods
4. TODO/Idea list
---------------------
Description of code -
---------------------
This code is flexible and easy to configure (just edit the god
archetypes). Part of the reason for creating this code was to
allow server maintainers to develop their own "mythos". From my
personal point of view, I hate having the old "Christian" aligned
mythos, but if that's what you like, you can replicate it with
this code too (see below).
-------------------------
2. Properties of the Gods
-------------------------
Here is a fuller description of Gods archetype values.
name - name of the god (required)
other_arch - archetype that will be used for the summon holy
servant spell.
title - diametrically opposed god, leave blank if none exists
attacktype - favored attack of this god, used in spells of summon
avatar, holy word. Recipients of "holy possession" get
this too.
immune - Avatars/holy servants/recipient of "holy possession"
gets this.
protected - all of the above AND recipient of god's blessing and the
priest of this god gets this.
vulnerable - Avatar/servant/recipient of gods curse/priest of this god
get this.
path_attuned - priest of this god and recipient of "bless" gets this
path_repelled - priest and recipient of "curse" gets this
path_denied - priest and recipient of "curse" gets this
slaying - comma delimited list of the races of creatures that are
aligned with the god. "summon cult monsters" uses.
this list to find creatures. Summon avatar/call servant
code assigns this value to prevent them from attacking
aligned races. Value is blank if no race(s) exists.
race - comma delimited list of the races of creatures "holy word",
"holy possession" spells will effect. Value entry is
blank if no such race(s) exists.
hp,dam,ac,wc - base stats for the summoned avatar.
IF MORE_PRIEST_GIFTS is defined (in gods.c) then ADDITIONAL gifts/limitations
will be assigned to the priest:
A. FLAGS
Now, the following flags, in addition to being used by the god (if planted
on a map) are assigned to the worshiping priest:
can_use_weapon, can_use_armour, is_undead, is_blind, reflect_missile,
reflect_spell, make_invisible, stealth, can_see_in_dark, xrays
NOTE: if can_use_armour/can_use_weapon flags are NOT present, then
the priest will be forbidden the use of these items.
B. STATS
The following stats are used:
luck - how lucky the god (and the priest) are.
last_eat - how fast priest digestion is
last_hp - how fast priest healing is
last_sp - how fast priest mana regeneration is
last_grace - how fast priest grace regeneration is
---------------------
3. Designing new gods
---------------------
To examine the gods properties, use the '-m8' flag (ie 'crossfire -m8').
Note some of the big differences here in terms of spell_paths, races, etc.
Most of these entries were designed with roughly polar opposite gods.
For designing new gods. You should make sure that worshiping a god will
be "unique" in some way. But playbalance first! You must consider the balance
between the following:
1) spellpaths 2) priest gifts 3) priest limitations 4) special spells
5) attacktypes 6) summoned monster lists 7) properties of the avatar
and holy servant.
Here are some hard and fast rules for designing gods:
- Decide how the cleric will get experience. The god should be either
a 'summoning', 'turning' *or* a 'wounding' god. If summoning/turning,
make sure the aligned_race/enemy_race list(s) has enough creatures
to summon/slay at low, medium and high levels. DONT give a god attuned
to wounding AND turning||summoning (in fact, at minimum, one of these
3 paths should be repelled/denied).
- make sure the summoned avatar is stronger than the servant (!)
- examine the avatar/servant stats. If set inproperly, you will give
wimpy/super values. For example, Avatars/servants with less than 50 hp
(and a high ac/no armour) will vanish quickly. Shoot for stats like:
type | A V E R A G E S T A T S
| hp | ac | wc | arm | dam | speed
----------|-----------------------------------
servant | 50 | 5 | 5 | 20 | 5 | 0.15
avatar | 350 | -5 | -1 | 50 | 50 | 0.25
Its difficult to give measurements on how to trade these off. To help
guide your choices try to conserve the value of speed*dam and
(armour+1)*hp.
- avoid giving the potent attacktypes of death, weaponmagic and paralysis.
- gods have a vulnerability for every immunity. Not all attacktypes
are the same. Immunity to physical, magic and common attacktypes
(like fire/cold/electric) are very potent. Similarly, vuln to these
is a big negative.
- SPELL paths. Carefull treatment is needed here. Give a path_denied/
or a couple path_repelled for every path_attuned. BUT note: not all
paths are of equal use. (ex path_abjuration has a very large list of
spells). The main clerical paths are restoration, abjuration,
protection, turning, wounding and summoning. For balance, make 3-4
of these repelled/denied and 1 or 2 attuned. Be sure to check out the
special spells list (below). Attuned paths like DEATH, WOUNDING and
(especially) PROTECTION are very potent. Allow for some balance else
where if you assign (one!) of these as a path_attuned.
- If using the MORE_PRIEST_GIFTS define: priest limitations of no weapons
and no armour are very negative, be sure to compensate with more than
an attunded path.
Of course, you may break these 'rules' to create your god. When you do that,
you had better make up for the bonus elsewhere! Otherwise, you will create a
'mega-god' whose worship (by the player priests) will unbalance the game.
Designing a good god takes a bit of work.
----------------------
App A. Special spells-
----------------------
Here is a possibly *incomplete* list of the special spells that a god may
grant use to a worshiper. Check the file spellist.h for the 0 bookchance
clerical spells to find all of these. (This list was complete on 10/96).
God has attuned path spells
-------------------- -------------
INFO perceive self
PROTECTION defense; immuntity to cold, fire, electricity,
poison, slow, paralysis, draining, attack,
and magic
RESTORE remove damnation; reincarnation; raise dead;
resurrection; regeneration
WOUNDING cause critical wounds; retributive strike
LIGHT daylight; nightfall
DEATH face of death; finger of death
SUMMONING insect plague
CREATE wall of thorns
----------------
App B. Ideas-
----------------
-- Allow sacrifices. This is an excellent way to give a cleric xp.
Need to create enemy_race creatures w/ bodyparts we can sacrifice,
and designate a pointer in Gods{} to the appropriate array of stuff
we can sacrifice for xp.