Ticket #752 (closed bug: fixed)

Opened 14 months ago

Last modified 8 months ago

Re-examine ID from first principles

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

Description (last modified by takkaria) (diff)

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
#850
Look at making use-by-ID of consumables even more viable
#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
#971
inconsitency in monster info and rod information
#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
Stat Rings auto-identify if you try to cast identify on them.
#1094
Make all items pseudo on pickup at clev20
#1103
Unarmed attacks do not teach attack plusses
#1133
Rods marked {tried} on failed zap

Attachments

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

Change History

  Changed 14 months ago by takkaria

  • description modified (diff)

  Changed 14 months 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 14 months ago by takkaria

photograph of my thoughts on what gets known when

follow-up: ↓ 4   Changed 13 months 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

in reply to: ↑ 3   Changed 13 months 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

  Changed 11 months 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)

2. keep track of known flags for all objects

3. 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

  Changed 10 months ago by magnate

#708 should also be sorted out by changes to ID

  Changed 8 months ago by takkaria

  • status changed from accepted to new

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

  Changed 8 months ago by takkaria

  • status changed from new to closed
  • resolution set to fixed

Add/Change #752 (Re-examine ID from first principles)

Author



Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.