[CF-Devel] New god_intervention()
Jan Echternach
echter at informatik.uni-rostock.de
Wed Nov 22 12:29:44 CST 2000
Fourth and possibly final version of the patch. It is now tested. I
fixed a bug in the new get_holy_archetype() function (returned with
indeterminate value instead of NULL when archetype was not found) and a
very unimportant bug in summon_avatar() (check for gods without holy
servant or avatar wasn't working - you would still get a SIGSEGV; but
there are no such gods). I also fixed the new archetypes - the last
archetype patch (arch38b) was full of typos.
Biggest change in this version is that prayers granted by gods through
god_intervention() will be lost when the god is changed, or when the
prayer is removed from the current god's treasure list and
god_intervention() is called.
The map patch changes the last Chaos Lair map: Players will only get
the "finger of death" spell, "face of death" will be reserved for the
Chaos Lord and for followers of Devourers. I also fixed the vampire on
that map (again) - he was sleeping all the time and not toggling the
lever.
--
Jan
-------------- next part --------------
common/treasure.c: Various changes to support several new flags that
affect how treasures are created and how they are inserted into objects
or put on maps.
include/config.h: Increased ARCHTABLE (size of archtype hash table).
lib/treasures: Added gods' treasure lists.
server/apply.c: do_learn_spell() and do_forget_spell(): New functions
for learning and forgetting spells. apply_spellbook() now uses
do_learn_spell().
server/c_wiz.c: command_learn_spell(), command_special_prayer and
command_forget_spell(): New functions that implement the new
"learn_spell", "learn_special_prayer" and "forget_spell" wizard commands.
server/disease.c: cure_disease(): Bugfixes: Fixed loop to traverse the
whole inventory and not stop after the first disease. Corrected the
return value to return true only if a disease was cured.
server/disease.c: reduce_symptoms(): Only change speed_left of diseases
whose symptoms where actually reduced. Return true only if some symptoms
were reduced.
server/gods.c: stop_using_item(): Use apply_special() directly and
unapply even cursed or damned items.
server/gods.c: god_intervention(): Rewrote this basically from scratch,
now uses the god's treasure list to determine the effects.
server/player.c: give_initial_items(): Use new GT_STARTEQUIP and
GT_ONLY_GOOD flags. FLAG_STARTEQUIP is now set by create_treasure(),
and we also won't get any cursed items. Don't give players the same spell
twice.
server/skills.c: pray(): Fixed a typo.
server/spell_effect.c: cast_heal(): Fixed return value. Don't freeze
the caster if the spell had no effect.
server/summon_avatar(): Don't use the god archetype itself as its avatar.
Use determine_holy_arch() instead (for both avatars and holy servants).
Bugfix: Return immediately when we've found out that the god has no
avatar or holy servant, don't continue until SIGSEGV.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch38d.gz
Type: application/x-gunzip
Size: 16508 bytes
Desc: not available
Url :
http://shadowknight.real-time.com/pipermail/crossfire/attachments/20001122/e569e681/patch38d.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: arch38d.gz
Type: application/x-gunzip
Size: 4938 bytes
Desc: not available
Url :
http://shadowknight.real-time.com/pipermail/crossfire/attachments/20001122/e569e681/arch38d.bin
-------------- next part --------------
diff -ru orig/maps-0.95.7-cvs1/Lake_Country/snake_pit/Chaos_lair4 maps-0.95.7-cvs1/Lake_Country/snake_pit/Chaos_lair4
--- orig/maps-0.95.7-cvs1/Lake_Country/snake_pit/Chaos_lair4 Mon Jun 19 14:22:54 2000
+++ maps-0.95.7-cvs1/Lake_Country/snake_pit/Chaos_lair4 Wed Nov 22 19:06:45 2000
@@ -15,6 +15,7 @@
arch vampire
speed 0.010000
speed_left -1.340000
+sleep 0
randomitems none
end
arch blocked
@@ -3578,8 +3579,14 @@
msg
Death DEATH! DEATH!!
endmsg
-sp 87
+sp 152
value 20000
+end
+arch book
+name spellbook covered with even more skulls
+sp 87
+invisible 1
+no_drop 1
end
arch key2
name fragment-of-chaos
More information about the crossfire
mailing list