Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CF: see invisible bug
- To:
- Subject: Re: CF: see invisible bug
- From: Nishita Seikoh <>
- Date: Sun, 15 Mar 1998 23:02:41 +0900
- Cc: crossfire (at) ifi.uio.no,
- In-Reply-To: Your message of "Fri, 13 Mar 98 17:44:19 PST"
- References: <>
- Sender:
> The only problem is that players can see passwords by examining magic
> ears. So, I think putting back "show invisible" and fixing examining
> object code is easiest solution.
Scott> There are two ways to fix see invisible. The first is to create a list
Scott> a of object types which aren't supposed to be revealed. The second is
Scott> to create a new object state of ALWAYS_INVISIBLE. I believe the second
Scott> is much better since then there can be truly invisible objects of every
Scott> type (say a map wants a monster to be unseen even after see_invisible was
Scott> cast).
This means that map designer can set/clear this flag?
Then, I agree with the second solution.
Owing to new flag, map designers can make new kind of maps.
One problem is that you have to decide which object is ALWAYS_INVISIBLE
in natural. (This means how to make new lib/archetype file.)
Now I have a question.
When players invoke "see invisible",
before invisible object may be visible
some kind of "flash" appeares at the field where the object is.
Does the "flash" appeared for ALWAYS_INVISIBLE objects?
Anyway, passwords of magic ear should not be visible by examining it.
Even if new flag is made, map designers can mistake to clear
ALWAYS_INVISIBLE flag of magic ears.
I think following patch is useful.
*** input.c.org Fri Mar 13 19:30:45 1998
--- input.c Fri Mar 13 19:33:54 1998
***************
*** 397,403 ****
if(QUERY_FLAG(tmp, FLAG_MONSTER))
examine_monster(op,tmp);
if(tmp->msg && tmp->type != EXIT && tmp->type != BOOK && tmp->type != CORPSE
! && !QUERY_FLAG(tmp, FLAG_WALK_ON)) {
if (need_identify(tmp) && QUERY_FLAG(tmp, FLAG_IDENTIFIED))
new_draw_info(NDI_UNIQUE, 0,op, "The object has a story:");
#if 0 /* it might not be written on it */
--- 397,403 ----
if(QUERY_FLAG(tmp, FLAG_MONSTER))
examine_monster(op,tmp);
if(tmp->msg && tmp->type != EXIT && tmp->type != BOOK && tmp->type != CORPSE
! && tmp->type != MAGIC_EAR && !QUERY_FLAG(tmp, FLAG_WALK_ON)) {
if (need_identify(tmp) && QUERY_FLAG(tmp, FLAG_IDENTIFIED))
new_draw_info(NDI_UNIQUE, 0,op, "The object has a story:");
#if 0 /* it might not be written on it */
--------------------------------------------------------------------------
Seikoh Nishita | Dep't. of Information & Computer Sciences
| Faculty of Engineering Science
[e-mail] | Osaka University
| Toyonaka, Osaka 560, Japan
[to unsubscribe etc., send mail to ]
References: