ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/doc/multigod
Revision: 1.1
Committed: Fri Feb 3 07:12:02 2006 UTC (18 years, 3 months ago) by root
Branch: MAIN
Branch point for: UPSTREAM
Log Message:
Initial revision

File Contents

# User Rev Content
1 root 1.1
2    
3    
4     This document is a brief description of the MULTIGOD hack.
5    
6     --------------
7     Introduction -
8     --------------
9    
10     The intention of this code is to enhance the enjoy-ability and
11     playability of clerical characters in the new skills/exp scheme.
12    
13     This is done by giving players gods to worship who in turn effect
14     clerical magic and powers. Included in this patch are several new
15     spells which (hopefully) will allow the priest characters a better
16     chance to gain xp at higher levels. Notably, the "holy orb" and
17     "holy word" spells have been revamped.
18    
19     When MULTIPLE_GODS flag is defined in include/config.h, this
20     code is enabled. This code (described below) encompasses 3
21     main parts: an array of gods that players/NPCs may worship,
22     new clerical spells which rely on the worshiped god's attrib-
23     utes in Gods[] array and, altars/praying--the interface between
24     a worshiper and their god.
25    
26     b.t.
27     thomas@astro.psu.edu
28    
29     ---------
30     Outline -
31     ---------
32    
33     1. Description of code -
34    
35     2. Properties of the gods
36    
37     3. Designing new gods
38    
39     4. TODO/Idea list
40    
41    
42     ---------------------
43     Description of code -
44     ---------------------
45    
46     This code is flexible and easy to configure (just edit the god
47     archetypes). Part of the reason for creating this code was to
48     allow server maintainers to develop their own "mythos". From my
49     personal point of view, I hate having the old "Christian" aligned
50     mythos, but if that's what you like, you can replicate it with
51     this code too (see below).
52    
53    
54     -------------------------
55     2. Properties of the Gods
56     -------------------------
57    
58     Here is a fuller description of Gods archetype values.
59    
60     name - name of the god (required)
61     other_arch - archetype that will be used for the summon holy
62     servant spell.
63     title - diametrically opposed god, leave blank if none exists
64     attacktype - favored attack of this god, used in spells of summon
65     avatar, holy word. Recipients of "holy possession" get
66     this too.
67     immune - Avatars/holy servants/recipient of "holy possession"
68     gets this.
69     protected - all of the above AND recipient of god's blessing and the
70     priest of this god gets this.
71     vulnerable - Avatar/servant/recipient of gods curse/priest of this god
72     get this.
73     path_attuned - priest of this god and recipient of "bless" gets this
74     path_repelled - priest and recipient of "curse" gets this
75     path_denied - priest and recipient of "curse" gets this
76     slaying - comma delimited list of the races of creatures that are
77     aligned with the god. "summon cult monsters" uses.
78     this list to find creatures. Summon avatar/call servant
79     code assigns this value to prevent them from attacking
80     aligned races. Value is blank if no race(s) exists.
81     race - comma delimited list of the races of creatures "holy word",
82     "holy possession" spells will effect. Value entry is
83     blank if no such race(s) exists.
84     hp,dam,ac,wc - base stats for the summoned avatar.
85    
86    
87     IF MORE_PRIEST_GIFTS is defined (in gods.c) then ADDITIONAL gifts/limitations
88     will be assigned to the priest:
89    
90     A. FLAGS
91    
92     Now, the following flags, in addition to being used by the god (if planted
93     on a map) are assigned to the worshiping priest:
94    
95     can_use_weapon, can_use_armour, is_undead, is_blind, reflect_missile,
96     reflect_spell, make_invisible, stealth, can_see_in_dark, xrays
97    
98     NOTE: if can_use_armour/can_use_weapon flags are NOT present, then
99     the priest will be forbidden the use of these items.
100    
101     B. STATS
102    
103     The following stats are used:
104    
105     luck - how lucky the god (and the priest) are.
106     last_eat - how fast priest digestion is
107     last_hp - how fast priest healing is
108     last_sp - how fast priest mana regeneration is
109     last_grace - how fast priest grace regeneration is
110    
111    
112    
113     ---------------------
114     3. Designing new gods
115     ---------------------
116    
117     To examine the gods properties, use the '-m8' flag (ie 'crossfire -m8').
118     Note some of the big differences here in terms of spell_paths, races, etc.
119     Most of these entries were designed with roughly polar opposite gods.
120    
121     For designing new gods. You should make sure that worshiping a god will
122     be "unique" in some way. But playbalance first! You must consider the balance
123     between the following:
124     1) spellpaths 2) priest gifts 3) priest limitations 4) special spells
125     5) attacktypes 6) summoned monster lists 7) properties of the avatar
126     and holy servant.
127    
128     Here are some hard and fast rules for designing gods:
129     - Decide how the cleric will get experience. The god should be either
130     a 'summoning', 'turning' *or* a 'wounding' god. If summoning/turning,
131     make sure the aligned_race/enemy_race list(s) has enough creatures
132     to summon/slay at low, medium and high levels. DONT give a god attuned
133     to wounding AND turning||summoning (in fact, at minimum, one of these
134     3 paths should be repelled/denied).
135     - make sure the summoned avatar is stronger than the servant (!)
136     - examine the avatar/servant stats. If set inproperly, you will give
137     wimpy/super values. For example, Avatars/servants with less than 50 hp
138     (and a high ac/no armour) will vanish quickly. Shoot for stats like:
139    
140     type | A V E R A G E S T A T S
141     | hp | ac | wc | arm | dam | speed
142     ----------|-----------------------------------
143     servant | 50 | 5 | 5 | 20 | 5 | 0.15
144     avatar | 350 | -5 | -1 | 50 | 50 | 0.25
145    
146     Its difficult to give measurements on how to trade these off. To help
147     guide your choices try to conserve the value of speed*dam and
148     (armour+1)*hp.
149     - avoid giving the potent attacktypes of death, weaponmagic and paralysis.
150     - gods have a vulnerability for every immunity. Not all attacktypes
151     are the same. Immunity to physical, magic and common attacktypes
152     (like fire/cold/electric) are very potent. Similarly, vuln to these
153     is a big negative.
154     - SPELL paths. Carefull treatment is needed here. Give a path_denied/
155     or a couple path_repelled for every path_attuned. BUT note: not all
156     paths are of equal use. (ex path_abjuration has a very large list of
157     spells). The main clerical paths are restoration, abjuration,
158     protection, turning, wounding and summoning. For balance, make 3-4
159     of these repelled/denied and 1 or 2 attuned. Be sure to check out the
160     special spells list (below). Attuned paths like DEATH, WOUNDING and
161     (especially) PROTECTION are very potent. Allow for some balance else
162     where if you assign (one!) of these as a path_attuned.
163     - If using the MORE_PRIEST_GIFTS define: priest limitations of no weapons
164     and no armour are very negative, be sure to compensate with more than
165     an attunded path.
166    
167     Of course, you may break these 'rules' to create your god. When you do that,
168     you had better make up for the bonus elsewhere! Otherwise, you will create a
169     'mega-god' whose worship (by the player priests) will unbalance the game.
170     Designing a good god takes a bit of work.
171    
172    
173     ----------------------
174     App A. Special spells-
175     ----------------------
176    
177     Here is a possibly *incomplete* list of the special spells that a god may
178     grant use to a worshiper. Check the file spellist.h for the 0 bookchance
179     clerical spells to find all of these. (This list was complete on 10/96).
180    
181     God has attuned path spells
182     -------------------- -------------
183     INFO perceive self
184     PROTECTION defense; immuntity to cold, fire, electricity,
185     poison, slow, paralysis, draining, attack,
186     and magic
187     RESTORE remove damnation; reincarnation; raise dead;
188     resurrection; regeneration
189     WOUNDING cause critical wounds; retributive strike
190     LIGHT daylight; nightfall
191     DEATH face of death; finger of death
192     SUMMONING insect plague
193     CREATE wall of thorns
194    
195    
196    
197     ----------------
198     App B. Ideas-
199     ----------------
200    
201     -- Allow sacrifices. This is an excellent way to give a cleric xp.
202     Need to create enemy_race creatures w/ bodyparts we can sacrifice,
203     and designate a pointer in Gods{} to the appropriate array of stuff
204     we can sacrifice for xp.
205    
206