Opened 11 years ago

Closed 10 years ago

#752 closed bug (fixed (in master))

Re-examine ID from first principles

Reported by: takkaria Owned by: takkaria
Milestone: 3.1.1 beta Keywords:
Cc:

Description (last modified by takkaria)

These first principles are by working out what is noticeable about an item:

  1. from a distance
  2. when you pick it up
  3. when you wield it
  4. when you hit with it
  5. over time

I intend to do this by writing on a piece of paper each kind of flag or bonus, and then making five different piles. Other people are welcome to do this too, it'd be interesting to see how people differ.

After that, it's just a case of making it happen.

Bugs tagged as "id":

#557
autosquelch squelches 'good' cursed items
#589
Identify spell should check that there are items to identify before checking mana
#654
Resting not giving Pseudo-id is pointless
#655
Priests are now horribly unfair. {Psuedo-ID}
#664
refactor get_brand_mult() & pseudo-by-use in attack.c
#699
New pseudo and squelch do not fit well together
#735
Remove weak pseudo-ID
#739
Bonuses for {excellent]/{artifact} items that have been wielded should show up on the character screen and info dump
#751
Pseudo level {strange} does not work fully — Longbow of the Nagzul pseudos as {worthless}
#787
Allow arrows slays to be learnt on shoot
#788
Learn activations by use
#789
Add learn-resists-by-use code
#790
Learn item flags by use
#791
Learn AC bonuses after n monster hits/attempted-hits
#809
Use arrays instead of separate variables for object flags
#824
Learn weapon dice and bonuses after attacking
#852
Torches of Brightness description wrong
#873
auto-inscription prevents stacking of arrows
#936
Pseudo-ID triggers on already-known items
#945
Scrolls of Darkness don't ID rDark.
#967
Some artifacts not placed into history when found/ID'd
#980
Having nothing to ID, or cancelling use of ID, should not take a turn
#1010
Ammo branded by spell doesn't show that in inventory
#1016
Some jewelry doesn't ID on the first wield
#1021
ID-by-use doesn't work properly for Defenders
#1037
inventory should be sorted before items remaining is displayed
#1068
Get rid of item_tester_unknown in spells2.c
#1093
un-ID'd average items stack if there are previously ID'd average items
#1094
Make all items pseudo on pickup at clev20
#1103
Unarmed attacks do not teach attack plusses
#1133
Rods marked {tried} on failed zap
#1181
Make general store buying habits consistent
#1201
Inspecting ammo reveals unknown brands on launchers
#1208
Pval shown for unIDd known rings
#1334
Items can be psuedo'd after ID-by-throwing
#1346
Pseudo-id / id-by-use issues
#1353
ring of the dog cannot be id'ed
#1366
wand of dragon breath not learned with use
#1449
Throwing should not ID-by-use for non-throwing items
#1515
Devices IDd on unseen monsters should give feedback
#1573
Tidy up ID and everseen layers
#1576
Make sure that learning the absence of a rune does not mark it known
#1579
ID-by-use shows ? for obvious-on-wield effects
#1582
To-hit values not revealed by shooting
#1595
Ensure that learning a rune triggers check_for_ident on all other carried or worn items
#1598
Replace pseudoID
#1605
Learning an attribute sometimes does not learn its rune
#1797
Rename potions of Intellect


Attachments (1)

IMG_7159.JPG (185.9 KB) - added by takkaria 11 years ago.
photograph of my thoughts on what gets known when

Download all attachments as: .zip

Change History (9)

comment:1 Changed 11 years ago by takkaria

  • Description modified (diff)

comment:2 Changed 11 years ago by takkaria

different things one might notice:

str/dex/con/wis/int/chr/speed/light
stealth
searching
infra
tunnelling
shots/blows/might
slays
brands
sustain stats
vulnerabilities
immunities
resistances + hold life + free action
slow digest
feather
regen / impair hp/sp
see invis
no fuel
afraid
impact
teleport
aggravate
drain exp
ignore elems
blessed
curses
damage dice and to-hit/to-dam
weight
activation
charges
ac and plus-to-ac

Changed 11 years ago by takkaria

photograph of my thoughts on what gets known when

comment:3 follow-up: Changed 11 years ago by magnate

It seems to me that these divide into the following four categories:

  • Characteristics which are visible before wear/wielding:

radiance and weight only (though some argue that brands should be visible, and
dice are traditionally revealed here) - the former from a distance, the latter
after picking up

  • Changes to your personal characteristics, of which the character is aware by long tradition (i.e. known on wield, perhaps after a number of turns):

str/dex/con/wis/int/chr/speed/infra/regen/ESP/slow digestion
stealth/searching/SI/blessed (these are debatable but IMO fall into the same category)
curses also belong here, including xp drain / teleport / aggravate after delay
(shots/blows/might traditionally go here, though I would put them below)

  • Changes to capabilities that you cannot observe until you hit (perhaps more than once):

dice/+hit/+dam/brands/slays/tunelling/might/cause fear/impact
shots/blows should show up on attack regardless of hitting or not

  • Changes you cannot observe until you suffer a relevant event (again, perhaps more than once in cases like +AC):

+ac
immunities/resists/vulnerabilities/sustains/ignore elements
hold life/free action/feather fall

That covers everything except activation and charges. Activations either show up on attempted use or they don't (or I guess you could cook up some complex algorithm about a higher chance with each subsequent try, but it hardly seems worth it). IMO charges shouldn't show up at all without ID (though you could introduce a lesser "Learn charges" spell a la Sang).

CC

comment:4 in reply to: ↑ 3 Changed 11 years ago by magnate

Formatting misery:

  • Changes to your personal characteristics, of which the character is aware by long tradition (i.e. known on wield, perhaps after a number of turns):

str/dex/con/wis/int/chr/speed/infra/regen/ESP/slow digestion

stealth/searching/SI/blessed (these are debatable but IMO fall into the same category)

curses also belong here, including xp drain / teleport / aggravate after delay

(shots/blows/might traditionally go here, though I would put them below)


  • Changes to capabilities that you cannot observe until you hit (perhaps more than once):

dice/+hit/+dam/brands/slays/tunelling/might/cause fear/impact

shots/blows should show up on attack regardless of hitting or not


  • Changes you cannot observe until you suffer a relevant event (again, perhaps more than once in cases like +AC):

+ac

immunities/resists/vulnerabilities/sustains/ignore elements

hold life/free action/feather fall

comment:5 Changed 11 years ago by takkaria

  • Owner set to takkaria
  • Status changed from new to accepted

Implementation plan on this:

  1. convert object flags to use arrays (#809)
  1. keep track of known flags for all objects
  1. stop storing pseudo-id and calculate it afresh whenever needed
    • means that a lot of currently dodgy logic scattered everywhere can be put in one place
    • also makes it easier to tweak how the ID system works overall more easily

comment:6 Changed 10 years ago by magnate

#708 should also be sorted out by changes to ID

comment:7 Changed 10 years ago by takkaria

  • Status changed from accepted to new

OK, the implementation work is done here except for any bugs.

comment:8 Changed 10 years ago by takkaria

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.