[I also posted this to rgra]
I've been modifying V in many ways. I started with the principle that
identify should not affect gameplay, so e.g. if wands stack when identified
they should also stack when not identified. This led me to add pseudo-id to
jewelry so that I could define preserve mode in terms of pseudo rather than in
terms of identify.
Once I got started, I kept on going, and incorporated a model of active magic.
In this model, if you quaff an unaware potion of sleep while wielding an
unaware ring of free action and an unidentified defender weapon, you learn
about them all. You feel sluggish for a moment, and then the ring and weapon
actively oppose the bad magic. Specifically, you learn the flavor of the
potion, and that the ring and weapon both have the flag that provides free
action. You notice a slay when you hit a monster affected by the slay, and
equally learn there is no slay if it is not.
I modified a few of the nastier items, such as making !death "too nasty to
drink" and changing ?curse_armor to curse the armor but not blast it.
I implemented full learning code for wieldable items. Everything you learn is
saved, and when the flavor or ego is uniquely determined, you are told what it
is. I changed so that artifacts are recognized immediately when wielded. So
if you wield a weapon that gives a wisdom bonus, when you inspect it you see
that it is {blessed} or {*slay evil} or {holy avenger} or {*slay undead}. If
you then hit an undead, that will determine exactly which one it is due to the
different slays.
I just played a game through to the end where I never used identify on any
unaware flavor except {good} jewelry, or on any unlearned ego. I never
sold anything for id either. I tried not to buy unaware items from the shops,
but I had to buy a few. After I learned an ego on an item, or knew the
flavor, I allowed myself to ?identify it to see the plusses.
The most notable problem was that rings of damage, accuracy, slaying,
searching, and protection pseudo as bad or good with no way to be
differentiated in my learning code. Those required ?identify to learn.
I will probably change things so that you learn to_dam and to_hit bonuses on
any hit, and search bonus on any successful search, and maybe ac bonus on any
melee attack against you. I don't know exactly what, but something needs to
be done here.
Due to the horrible way consumables are hard-coded, my learning stuff does not
work on them. I was forced to take notes like "pink does not reduce poison".
The most annoying consumable I did not modify was !ruination. Dropping all
stats from 18/100 to 18/88, requiring maybe 5 stat potions to restore each
individual stat, seems very excessive.
The biggest problem was learning ego ammo. I took out a checkerboard vault,
and acquired lots ammo. There were not enough monsters of all possible types,
so I could not risk killing them when testing the ammo, and first I would
*throw* each ammo in turn to check the slays, and then kill only after testing
was done. This is a mess, and the only solution I see is to learn at least
ammo egos like flavors that you recognize in the future on pickup. Perhaps
the [I believe] v dev approach of egos on the launchers instead could work if
not too many launchers.
I played a rogue, so at high levels I had various enchant spells. I used
enchant spells as a slow expensive method of removing curses. Ammo is worse,
because you cannot wield it to speed up pseudo. When things got slow, I
tested ammo for ego by trying to brand it.
I consider checking for artifacts using the 'k' command to be abuse, but
checking with acid balls is not. Perhaps that is silly. Toward the end, I
was checking not only armor but also low dice weapons using acid balls.
It was essential that sustain rings pseudoed as average, and I squelched most
average flavors without trying to learn them. Some other flags, like FF and
slow digestion also count as average, but at least those can be learned
easily, and I wouldn't care if I squelched them anyway.
I also coded in learning by process of elimination, and so the very last wand
flavor was learned without ever trying it. It turned out to be -heal_monster!
I definitely need ?*ID and !self_knowledge [which I changed to *ID everything
wielded] for learning randarts. I also used it once to figure out a cloak
with a stealth bonus that could have been stealth or aman. It turned out my
mistake learning the cloak was wearing it. Later I left those in my pack.
Perhaps buggily, my code learns about ignore_fire on every item in the pack
when hit by a fire attack, but if you are *wearing* a cloak it is not affected
by a fire attack so you don't learn then! That whole item destruction thing
is really messed up. As to the pack, when an item survives the attack, does
that mean it is untouched or that it is lightly singed but not badly burnt?
My code currently assumes the latter.
FWIW, I learned 225 flavors through usage. I collected too much slay evil
ammo and had to finish the game with about ten ring flavors unlearned, mostly
squelched unaware, and another about ten unaware flavors never encountered.
The win took about 450K turns, so I was slowed down, but not by too huge an
amount. Acid balls as a primary means of identify. There is still work to
do.
My conclusion is that with the "active resistance" model, it is possible to
play without identify. I don't think the severe model, where you have to know
the attack and have exactly one wielded item that might resist it to be
learnable, would be playable.
I've been modifying V in many ways. I started with the principle that
identify should not affect gameplay, so e.g. if wands stack when identified
they should also stack when not identified. This led me to add pseudo-id to
jewelry so that I could define preserve mode in terms of pseudo rather than in
terms of identify.
Once I got started, I kept on going, and incorporated a model of active magic.
In this model, if you quaff an unaware potion of sleep while wielding an
unaware ring of free action and an unidentified defender weapon, you learn
about them all. You feel sluggish for a moment, and then the ring and weapon
actively oppose the bad magic. Specifically, you learn the flavor of the
potion, and that the ring and weapon both have the flag that provides free
action. You notice a slay when you hit a monster affected by the slay, and
equally learn there is no slay if it is not.
I modified a few of the nastier items, such as making !death "too nasty to
drink" and changing ?curse_armor to curse the armor but not blast it.
I implemented full learning code for wieldable items. Everything you learn is
saved, and when the flavor or ego is uniquely determined, you are told what it
is. I changed so that artifacts are recognized immediately when wielded. So
if you wield a weapon that gives a wisdom bonus, when you inspect it you see
that it is {blessed} or {*slay evil} or {holy avenger} or {*slay undead}. If
you then hit an undead, that will determine exactly which one it is due to the
different slays.
I just played a game through to the end where I never used identify on any
unaware flavor except {good} jewelry, or on any unlearned ego. I never
sold anything for id either. I tried not to buy unaware items from the shops,
but I had to buy a few. After I learned an ego on an item, or knew the
flavor, I allowed myself to ?identify it to see the plusses.
The most notable problem was that rings of damage, accuracy, slaying,
searching, and protection pseudo as bad or good with no way to be
differentiated in my learning code. Those required ?identify to learn.
I will probably change things so that you learn to_dam and to_hit bonuses on
any hit, and search bonus on any successful search, and maybe ac bonus on any
melee attack against you. I don't know exactly what, but something needs to
be done here.
Due to the horrible way consumables are hard-coded, my learning stuff does not
work on them. I was forced to take notes like "pink does not reduce poison".
The most annoying consumable I did not modify was !ruination. Dropping all
stats from 18/100 to 18/88, requiring maybe 5 stat potions to restore each
individual stat, seems very excessive.
The biggest problem was learning ego ammo. I took out a checkerboard vault,
and acquired lots ammo. There were not enough monsters of all possible types,
so I could not risk killing them when testing the ammo, and first I would
*throw* each ammo in turn to check the slays, and then kill only after testing
was done. This is a mess, and the only solution I see is to learn at least
ammo egos like flavors that you recognize in the future on pickup. Perhaps
the [I believe] v dev approach of egos on the launchers instead could work if
not too many launchers.
I played a rogue, so at high levels I had various enchant spells. I used
enchant spells as a slow expensive method of removing curses. Ammo is worse,
because you cannot wield it to speed up pseudo. When things got slow, I
tested ammo for ego by trying to brand it.
I consider checking for artifacts using the 'k' command to be abuse, but
checking with acid balls is not. Perhaps that is silly. Toward the end, I
was checking not only armor but also low dice weapons using acid balls.
It was essential that sustain rings pseudoed as average, and I squelched most
average flavors without trying to learn them. Some other flags, like FF and
slow digestion also count as average, but at least those can be learned
easily, and I wouldn't care if I squelched them anyway.
I also coded in learning by process of elimination, and so the very last wand
flavor was learned without ever trying it. It turned out to be -heal_monster!
I definitely need ?*ID and !self_knowledge [which I changed to *ID everything
wielded] for learning randarts. I also used it once to figure out a cloak
with a stealth bonus that could have been stealth or aman. It turned out my
mistake learning the cloak was wearing it. Later I left those in my pack.
Perhaps buggily, my code learns about ignore_fire on every item in the pack
when hit by a fire attack, but if you are *wearing* a cloak it is not affected
by a fire attack so you don't learn then! That whole item destruction thing
is really messed up. As to the pack, when an item survives the attack, does
that mean it is untouched or that it is lightly singed but not badly burnt?
My code currently assumes the latter.
FWIW, I learned 225 flavors through usage. I collected too much slay evil
ammo and had to finish the game with about ten ring flavors unlearned, mostly
squelched unaware, and another about ten unaware flavors never encountered.
The win took about 450K turns, so I was slowed down, but not by too huge an
amount. Acid balls as a primary means of identify. There is still work to
do.
My conclusion is that with the "active resistance" model, it is possible to
play without identify. I don't think the severe model, where you have to know
the attack and have exactly one wielded item that might resist it to be
learnable, would be playable.
Comment