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