Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CF: fix_player() fixes



On Tue, Jun 13, 2000 at 04:35:08PM +0200, Jan Echternach wrote:
> problem.  Maybe the patch can't be improved and the vampire needs a
> "randomitems none" or "can_use_* 0".

Because nobody came up with a better solution, I've applied the patch
to the CVS tree.  I've also fixed some other Lake Country maps.  From
crossfire/CHANGES:

common/living.c: fix_player():  Bugfix: Don't reset FLAG_FLYING,
FLAG_REFL_SPELL, FLAG_REFL_MISSILE and FLAG_SEE_IN_DARK if the archetype
has these flags.

From maps/CHANGES:

Lake_Country/DA, Lake_Country/RETower/tower2,
Lake_Country/snake_pit/snakepit_2
Removed "changing 1" which was very wrong because the objects didn't
have an other_arch.

Lake_Country/DA (Hanuk), Lake_Country/snake_pit/Chaos_lair4 (vampire)
Set "randomitems none" to make modifications of these objects effective
(before, they were overwritten with archetype's values when these objects
applied something).

-- 
Jan
diff -ru orig/crossfire-0.95.5-cvs3-patch25/common/living.c crossfire-0.95.5-cvs3/common/living.c
--- orig/crossfire-0.95.5-cvs3-patch25/common/living.c	Thu Jun  8 17:23:54 2000
+++ crossfire-0.95.5-cvs3/common/living.c	Tue Jun 13 16:10:12 2000
@@ -887,18 +887,22 @@
     op->slaying=NULL;
   }
   if(!QUERY_FLAG(op,FLAG_WIZ)) {
-	CLEAR_FLAG(op, FLAG_FLYING);
+        if ( ! QUERY_FLAG (&op->arch->clone, FLAG_FLYING))
+	  CLEAR_FLAG(op, FLAG_FLYING);
 	CLEAR_FLAG(op, FLAG_XRAYS);
 	CLEAR_FLAG(op, FLAG_MAKE_INVIS);
   }
   CLEAR_FLAG(op,FLAG_LIFESAVE);
-  CLEAR_FLAG(op,FLAG_REFL_SPELL);
-  CLEAR_FLAG(op,FLAG_REFL_MISSILE);
   CLEAR_FLAG(op,FLAG_STEALTH);
+  CLEAR_FLAG(op,FLAG_BLIND);
+  if ( ! QUERY_FLAG (&op->arch->clone, FLAG_REFL_SPELL))
+    CLEAR_FLAG(op,FLAG_REFL_SPELL);
+  if ( ! QUERY_FLAG (&op->arch->clone, FLAG_REFL_MISSILE))
+    CLEAR_FLAG(op,FLAG_REFL_MISSILE);
   if(!QUERY_FLAG(&op->arch->clone,FLAG_UNDEAD))
     CLEAR_FLAG(op,FLAG_UNDEAD);
-  CLEAR_FLAG(op,FLAG_BLIND);
-  CLEAR_FLAG(op,FLAG_SEE_IN_DARK);
+  if ( ! QUERY_FLAG (&op->arch->clone, FLAG_SEE_IN_DARK))
+    CLEAR_FLAG(op,FLAG_SEE_IN_DARK);
 
   op->path_attuned=op->arch->clone.path_attuned;
   op->path_repelled=op->arch->clone.path_repelled;
diff -ru orig/maps-0.95.5-cvs1-patch4/Lake_Country/DA maps-0.95.5-cvs1/Lake_Country/DA
--- orig/maps-0.95.5-cvs1-patch4/Lake_Country/DA	Mon Mar 29 06:18:59 1999
+++ maps-0.95.5-cvs1/Lake_Country/DA	Mon Jun 19 13:10:11 2000
@@ -915,7 +915,7 @@
 immune 4125
 attacktype 285
 carrying 9500
-changing 1
+randomitems none
 reflect_spell 1
 arch book
 sp 89
diff -ru orig/maps-0.95.5-cvs1-patch4/Lake_Country/RETower/tower2 maps-0.95.5-cvs1/Lake_Country/RETower/tower2
--- orig/maps-0.95.5-cvs1-patch4/Lake_Country/RETower/tower2	Mon Mar 29 06:20:45 1999
+++ maps-0.95.5-cvs1/Lake_Country/RETower/tower2	Mon Jun 19 13:27:15 2000
@@ -4156,7 +4156,6 @@
 arch plate_mail
 magic 2
 identified 1
-changing 1
 end
 arch robe
 magic 2
diff -ru orig/maps-0.95.5-cvs1-patch4/Lake_Country/snake_pit/Chaos_lair4 maps-0.95.5-cvs1/Lake_Country/snake_pit/Chaos_lair4
--- orig/maps-0.95.5-cvs1-patch4/Lake_Country/snake_pit/Chaos_lair4	Mon Mar 29 06:21:43 1999
+++ maps-0.95.5-cvs1/Lake_Country/snake_pit/Chaos_lair4	Mon Jun 19 13:33:42 2000
@@ -15,6 +15,7 @@
 arch vampire
 speed 0.010000
 speed_left -1.340000
+randomitems none
 end
 arch blocked
 msg
diff -ru orig/maps-0.95.5-cvs1-patch4/Lake_Country/snake_pit/snakepit_2 maps-0.95.5-cvs1/Lake_Country/snake_pit/snakepit_2
--- orig/maps-0.95.5-cvs1-patch4/Lake_Country/snake_pit/snakepit_2	Mon Mar 29 06:21:22 1999
+++ maps-0.95.5-cvs1/Lake_Country/snake_pit/snakepit_2	Mon Jun 19 13:29:13 2000
@@ -2074,7 +2074,6 @@
 attacktype 82945
 carrying 100
 flying 1
-changing 1
 unaggressive 0
 can_see_in_dark 1
 arch ability_fear
@@ -5363,7 +5362,6 @@
 protected 12
 attacktype 82945
 flying 1
-changing 1
 unaggressive 0
 can_see_in_dark 1
 arch ability_fear