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 |
|