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