Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Vanilla

Reply
 
Thread Tools Display Modes
Old March 15, 2010, 04:12   #1
PowerDiver
Prophet
 
Join Date: Mar 2008
Posts: 2,712
PowerDiver is on a distinguished road
ego ident change with bitflags?

I wonder if people are staying away from the most recent nightlies due to fear of crashes.

I've been mucking about, and I never manage to remember to save when playing in time to test after, so I may be confused. Even if so, perhaps this matter is worth discussing.

I think the code has changed so that when you wield an object, if anything is obvious, you learn the ego. This is mostly accurate for people who know the edit files, although there is at least one exception -- weapons with an int boost could be either *slay animal or *slay demon. I must say that it is a relief to see weapons of westernesse or defenders marked on wield.

So
(1) has anyone else seen this? If not, I have to figure out what I did to cause it.
(2) is it desirable behavior?

You don't need to learn all properties of a flavor to learn it, so I do not see a problem with consistency. Except that if you learn FF on boots of stability, you do *not* learn the flavor, but that's weird how it is now already.
PowerDiver is offline   Reply With Quote
Old March 15, 2010, 05:36   #2
Marble Dice
Swordsman
 
Join Date: Jun 2008
Location: Columbia, MO. USA
Posts: 405
Marble Dice is on a distinguished road
I'm running r1960 and I only get a {splendid} when I wield a defender. Does that imply one of the changes you're working on is responsible for the behavior you describe?

Are you seeing crashes? Do you get failed assertions, abort messages, or crashes out of the blue?
Marble Dice is offline   Reply With Quote
Old March 15, 2010, 06:25   #3
PowerDiver
Prophet
 
Join Date: Mar 2008
Posts: 2,712
PowerDiver is on a distinguished road
Quote:
Originally Posted by Marble Dice View Post
I'm running r1960 and I only get a {splendid} when I wield a defender. Does that imply one of the changes you're working on is responsible for the behavior you describe?

Are you seeing crashes? Do you get failed assertions, abort messages, or crashes out of the blue?
No crashes or failed assertions or anything like that.

The only thing I thought I changed was a bit of code so you wouldn't see pvals from a distance on stuff like str rings. That much works. Obviously I screwed up something else somehow. Or maybe there was a bug being hidden? That doesn't make sense either.

The change was pleasant, so I was hoping someone introduced it on purpose. I'll have to figure out how to revert the behavior before I produce the pval visibility fix.
PowerDiver is offline   Reply With Quote
Old March 15, 2010, 10:22   #4
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 55
Posts: 8,337
Donated: $60
Nick will become famous soon enough
Quote:
Originally Posted by PowerDiver View Post
I think the code has changed so that when you wield an object, if anything is obvious, you learn the ego.
I have put something a bit like this in FA. Each ego type has properties (defined in ego_item.txt) which, when learnt, will make you also learn the ego. I do still require each ego type to be ID'd one time (recorded by the everseen flag).
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old March 15, 2010, 16:43   #5
PowerDiver
Prophet
 
Join Date: Mar 2008
Posts: 2,712
PowerDiver is on a distinguished road
Quote:
Originally Posted by Marble Dice View Post
I'm running r1960 and I only get a {splendid} when I wield a defender.
You know, I am not sure that it happens on defenders. Maybe it does not. I don't see how my change caused the behavior. I now wonder if there is another bug that was hidden that I exposed. Take a look. I can't figure why my change should cause westernesse to be noticed on wield. My quick perusal of the code to notice egos made me think that they were getting noticed on anything obvious, but then why not defenders?

Code:
> svn diff
Index: src/object/identify.c
===================================================================
--- src/object/identify.c       (revision 1958)
+++ src/object/identify.c       (working copy)
@@ -141,10 +141,13 @@
                        return TRUE;
        }

-       object_flags_known(o_ptr, f);
+       if (object_was_worn(o_ptr))
+       {
+               object_flags_known(o_ptr, f);

-       if (flags_test(f, OF_SIZE, OF_PVAL_MASK, FLAG_END))
-               return TRUE;
+               if (flags_test(f, OF_SIZE, OF_PVAL_MASK, FLAG_END))
+                       return TRUE;
+       }

        return FALSE;
 }
That's just a change to pval_is_visible to show the pval if the object was worn.
PowerDiver is offline   Reply With Quote
Old March 16, 2010, 01:29   #6
Marble Dice
Swordsman
 
Join Date: Jun 2008
Location: Columbia, MO. USA
Posts: 405
Marble Dice is on a distinguished road
Ah, yes, it does happen with Westernesse and Holy Avenger in r1960. I think this was happening in the dev version before 3.1.2, but it doesn't happen in 3.1.1.
Marble Dice is offline   Reply With Quote
Old March 16, 2010, 02:25   #7
PowerDiver
Prophet
 
Join Date: Mar 2008
Posts: 2,712
PowerDiver is on a distinguished road
Quote:
Originally Posted by Marble Dice View Post
Ah, yes, it does happen with Westernesse and Holy Avenger in r1960. I think this was happening in the dev version before 3.1.2, but it doesn't happen in 3.1.1.
I am pretty sure this is due to the bitflag changes. I didn't notice it before.

I've collected a little more data. My current guess is that if an item has an obvious flag *and* a slay, then you learn the ego on wield. The *slay weapons are such, but not blessed or defender.
PowerDiver is offline   Reply With Quote
Old March 16, 2010, 04:08   #8
Marble Dice
Swordsman
 
Join Date: Jun 2008
Location: Columbia, MO. USA
Posts: 405
Marble Dice is on a distinguished road
Hmm yeah it was r1948 after all, so the change is somewhere in here:

http://trac.rephial.org/changeset?ne...t%2Fidentify.c
Marble Dice is offline   Reply With Quote
Old March 16, 2010, 17:07   #9
PowerDiver
Prophet
 
Join Date: Mar 2008
Posts: 2,712
PowerDiver is on a distinguished road
I'm sure I will be able to find and fix the bug fairly easily. The biggest problem is getting motivated when I prefer the current behavior.
PowerDiver is offline   Reply With Quote
Old March 17, 2010, 04:57   #10
PowerDiver
Prophet
 
Join Date: Mar 2008
Posts: 2,712
PowerDiver is on a distinguished road
OK -- I figured it out. You implemented my comment that was missing an important qualifier. I should be able to revert it easily enough.
PowerDiver is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
r1676 - Random Ability Bug on Ego Sirridan Development 11 September 25, 2009 00:35
Ego weapons you always wanted to find... Pete Mack AAR 5 July 5, 2009 04:37
pricing on slay ego weapons Malak Darkhunter Vanilla 2 July 1, 2009 21:02
Ego-Item indexes in defines.h PaulBlay Development 0 April 17, 2009 09:21
3.1 bug: ego armor squelch quality ChodTheWacko Vanilla 1 April 11, 2009 19:19


All times are GMT +1. The time now is 13:47.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.