SURVEY OF THE STATS AND ABILITIES OF MAGES GUILD
by Viking Lord Uglymouth 930904
Magesoul contains the following abilities (spells):
1 - blast 17 - knock
2 - colorspray 18 - light
3 - crush 19 - lastlight
4 - detect 20 - stoplight
5 - eye 21 - locate
6 - fear 22 - mage
7 - feeble 23 - melt
8 - fireball 24 - missile
9 - fireshield 25 - pose
10 - gate 26 - prison
11 - goguild 27 - shield
12 - goback 28 - staff
13 - hold 29 - tame
14 - illusion 30 - teleport
15 - invisible 31 - memorize
16 - visible * - check
Note 1:
All spells are coded in separate files. Fixed figures (like damages and
durations) are mostly given in tune.h. Mage.h mostly directs basic check
functions (like if player is ghost, etc). Magemaster.c calls all the
spells and lists all required levels and sp-costs. The soul.c is at
the same time the mage's robe, and covers add_actions, time_guild_soul
for attack spells, most of the illusion spell and handles sp-cost.
Note 2:
All mages are able to cast all spells. However, each spell has a
certain chance to fizzle (fail), depending of wis, lvl and spell-level.
If (wis == lvl == spell-level) there's an 80% chance the spell works.
If (wis == lvl) and wis > 1.2 * spell-level the spell never fails.
Here follow the abilities of the one 'real' ability and all spells:
BLAST
spell-level: 20
sp cost: 50 points
effect: Blast is an attack spell that hits all livings that are
not grouped with the caster. Damage is resisted with
wis. Blast gives experience equal to the damage done.
formula: damage = 30 + random(40) points.
COLORSPRAY
spell-level: 1
sp cost: wis/2 + 1 points
effect: Colorspray is an attack spell that hits one opponent
with a blinding ray of colours. There's a 50% chance
that the target is held for 1 second and possibly misses
its next attack. Damage is resisted with wis. Colorspray
gives experience equal to the damage done.
formula: damage = random(wis) + random(int) + 2 points.
CRUSH
spell-level: 20
sp cost: 50 points
effect: Crush is an attack spell that summons a virtual fist
that crushes one opponent. Damage is resisted with wis.
Crush gives experience equal to the damage done.
formula: damage = 50 + random(50) points.
DETECT
spell-level: 13
sp cost: 30 points
effect: Detect shows all visible objects and all invisible
livings present in the room.
EYE
spell-level: 6
sp cost: 20 points
effect: Eye shows the long_description of the next room in one
of the directions given in the obvious exits (must be
given in a dest_dir array) and all visible objects in it.
FEAR
spell-level: 3
sp cost: 30 points
effect: Fear scares a living so much that it runs away. If that
is not possible, it starts a fight.
formula: if lvl < lvl_of_target chance of success is
1 : level_difference.
FEEBLE
spell-level: 3
sp cost: 30 points
effect: Feeble dulls the mind of an opponent and causes it to
attack someone else. If it fails, there's a 75% chance
the player receives an additional hit. You need not be
in combat to successfully cast this spell.
formula: (lvl * 2 - lvl_of_target) * 100 / 60 % chance of success.
[Note: Might be nice to clear out some dangers without losing much hp...
Uglymouth.]
FIREBALL
spell-level: 10
sp cost: 20 points
effect: This spell is different from the fireball in player.c.
Fireball is an attack spell that hits all livings in the
same room as the caster, execpt those that are grouped
with the caster. Damage is resisted with wis. Fireball
gives experience equal to the damage done.
formula: damage = 10 + random(20) points.
[Note: The fireball in player.c can be cast from level 15 and up, costs
20 sp and does random(40) damage, which is resisted with wis. Better
compare these stats with the 'blast' spell. Uglymouth.]
FIRESHIELD
spell-level: 10
sp cost: 20 points
effect: This spell is different from the fireball in player.c.
Fireball is an attack spell that hits all livings in the
same room as the caster, execpt those that are grouped
with the caster. Damage is resisted with wis. Fireball
gives experience equal to the damage done.
formula: damage = 10 + random(20) points.
[Note: The fireball in player.c can be cast from level 15 and up, costs
20 sp and does random(40) damage, which is resisted with wis. Better
compare these stats with the 'blast' spell. Uglymouth.]
FIRESHIELD
spell-level: 10
sp cost: 50 points
effect: Fireshield creates an object that shadows the hit_player
function. If the player gets hit for a certain amount of
damage, the shield also hits the attacker for twice that
amount, if it's of type 5 or 7 in hit_player().
formula: fireshield lasts for: lvl * 60 seconds.
GATE
spell-level: 20
sp cost: 100 points
effect: Gate puts a gate-object in the room of the target-player.
This gate remains there for 60 seconds and during that
time it can be entered by anyone in the room. Somebody
that enters the gate is moved to the room from which the
spell was cast.
GOGUILD
spell-level: 2
sp cost: 10 points
effect: Goguild teleports the player back to the guild.
It memorizes the filename from which it's cast, so it
used in the 'goback' spell.
GOBACK
spell-level: 3
sp cost: 20 points
effect: Goback teleports the player back to the site from where
the 'goguild' spell was cast the last time. It is not
necessary for this spell to be cast from the same room
the player was teleported to by 'goguild'.
HOLD
spell-level: 5
sp cost: 20 points
effect: Hold sets the hold-flag in the target-living for a certain
period of time. The duration is dependent of the levels of
the player and the target, and if the target is another
player or a monster.
formulas: player: time = 2*random(10*(lvl+1)/level_of_target)
npc : time = 2*random(10*(lvl+1)/((level_of_target+1)/2))
time is the duration of the spell in heart_beats.
ILLUSION
spell-level: 9
sp cost: 50 points
effect: Illusion creates a thing-object that can be shaped (short
and long description) as the player wishes. The illusion
can not be picked up or moved.
formula: the illusion lasts for: (lvl/2 + random(lvl/2)) * 60 sec.
INVISIBLE
spell-level: 15
sp cost: 20 points per 30 seconds
effect: This spell makes the player invisible for all other
players that are of lower level.
VISIBLE
spell-level: 1
sp cost: none
effect: Visible cancels the effect of an 'invisible' spell.
KNOCK
spell-level: 7
sp cost: 40 points
effect: Knock magically unlocks a door. The door must be
a door-object for the spell to be able to work.
formula: chance of success = (lvl * 100) / 30 percent.
LIGHT
spell-level: 1
sp cost: 10 points
effect: Light creates a globe of light to appear in the player's
inventory with a light_level 1. The globe stays with the
player for 10 minutes. No multiple lights can be carried
at the same time.
LASTLIGHT
spell-level: 5
sp cost: 30
effect: Lastlight creates a globe of light to appear in the
player's inventory with a light_level 3. The globe stays
with the player for 1 hr. 6 min. 40 sec. (4000 seconds).
No multiple lastlights can be carried at the same time.
STOPLIGHT
spell-level: 1
sp cost: none
effect: Stoplight cancels the effect of a 'light' or 'lastlight'
spell.
LOCATE
spell-level: 12
sp cost: 40 points
effect: Locate shows the long_description of the room a living
is in, and lists all the visible objects in the room.
This spell succeeds even if the room is dark.
MAGE-line
spell-level: 1
sp cost: 5 points
effect: Mage sends a message to all mages listening to the
mage-line. Without message it lists the names of all
mages online (exluding invisible wizards) and states
if they're listening to the mage-line or not.
MELT
spell-level: 14
sp cost: 50 points
effect: If melt succeeds, it destructs the wielded weapon of an
opponent.
formula: Melt succeeds if: random(lvl)+1 > wc_of_wielded_weapon.
MISSILE
spell-level: 5
sp cost: 15 points
effect: This 'missile' spell is different from the 'missile' in
player.c in damage and sp cost. Missile is an attack
spell that hits one opponent. Damage is resisted with
wis. Missile gives experience equal to the damage done.
formula: damage = 15 + random(20) points.
[Note: The missile in player.c can be cast from level 5 and up, costs
10 sp and does random(20) points of damage, which are resisted with
wis. Uglymouth.]
POSE
spell-level: 15
sp cost: 50 points
effect: Depending on level, the player can shoot some fireworks
in the sky, or even write messages, which everybody
can see (like a special sort of shout).
PRISON
spell-level: 17
sp cost: 100 points
effect: Prison sends another player, if in the same room as the
caster, to the mages prison for 5 minutes. The player
can not escape from it, exept by quitting. In the prison
the victim can loose 500 coins to a teasing imp. There's
a board in the prison to say how much you just love it.
SHIELD
spell-level: 2
sp cost: 20
effect: Shield improves the armour_class of the mage's robe.
The shield spell lasts 120 seconds.
formula: ac = 2 + lvl/3 points.
STAFF
spell-level: 1
sp cost: variable, equal to max_sp of the caster.
effect: Staff creates a staff that can be used as a weapon and
helps the player regenerating hp and sp.
formulas: wc = 2 + lvl/2 points.
healing = 1 hp and 1 sp every other heart_beat.
TAME
spell-level: 11
sp cost: 80 points
effect: Tame stops an opponent from attacking the caster. If the
target is aggressive (npc only), it still will not attack
the player once he enters the room a next time.
formula: chance of success = lvl - lvl_of_target + 50 percent.
TELEPORT
spell-level: 20
sp cost: 50 points
effect: Teleport teleports a player back to a site that was first
marked by the 'memorize' spell.
MEMORIZE
spell-level: 20
sp cost: 10 points
effect: Memorize marks the room the player is in, so he can
'teleport' back to that room later on.
CHECK
available for: all levels
sp cost: none
effect: Checks if a piece of armour interferes with spellcasting.
Armour is allowed if it has an armour_class of 0, or is
has defined a function: query_mage_wear() { return 1; }
SPELLS
Mages are not able to use the common spells missile, shock and fireball.
GUILD SUPPORTS
One must have an int of at least 4 and must pay 100 gold coins to
be allowed to join the guild.
HIT AND SPELL POINTS
The formulas for these are:
MAX_HP = 43 + con * 7
MAX_SP = 45 + int * 8 + SUM[1..lvl](lvl/2)
SAMPLE VALUES TABLE
Here some figures are shown for various stats and spells. Where
appropriate the player's stats are considered equal to his level. If the
target's stats are involved, they are considered equal to the player's.
lvl 1 lvl 10 lvl 20 lvl 29
max_hp 50 113 183 246
max_sp 53 150 305 487
avg cspray dam/fiz% 2/20 10/- 20/- 30/-
avg missile dam/fiz% NA 24/- 24/- 24/-
avg fball dam/fiz% NA 19/20 19/- 19/-
avg blast dam/fiz% NA 49/70 49/20 49/-
avg crush dam/fiz% NA 74/70 74/20 74/-
time hold <pl>/fiz% NA 11/- 10/- 10/-
time hold <npc>/fiz% NA 20/- 20/- 20/-
ac shield 2 5 8 11