[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