add Japanese item names to discoveries list

When playing as a Samurai, add things like "osaku" to the discoveries
list even though they don't have separate descriptions to be used
when not yet discovered.  Non-magic ones are pre-discovered and
players can now use the '\' command to figure out what things like
"tanko" mean without resorting to '/?'.

"wooden harp" has been getting changed to "koto (harp)"; make that be
| koto [wooden harp] (koto)
"magic harp" has been staying as "magic harp (harp)"; add it to the
list of Japanese item names.  Since it's magic it isn't pre-discovered.
Once discovered it becomes
| magic koto [magic harp] (koto)

Those two needed special case handling, none of the other items did
aside from forcing them to be discoverable when lacking descriptions.
The discoveries list now has things like
| wakizashi [short sword]
| naginata [glaive] (single-edged polearm)
| gunyoki [food ration]
if--and only if--the hero is a Samurai.
This commit is contained in:
PatR
2023-01-18 22:00:57 -08:00
parent bb8656c190
commit 8952ea9bb5
5 changed files with 81 additions and 13 deletions

View File

@@ -729,7 +729,9 @@ u_init(void)
skill_init(Skill_K);
break;
case PM_MONK: {
static short M_spell[] = { SPE_HEALING, SPE_PROTECTION, SPE_CONFUSE_MONSTER };
static short M_spell[] = {
SPE_HEALING, SPE_PROTECTION, SPE_CONFUSE_MONSTER
};
Monk[M_BOOK].trotyp = M_spell[rn2(90) / 30]; /* [0..2] */
ini_inv(Monk);
@@ -743,7 +745,7 @@ u_init(void)
skill_init(Skill_Mon);
break;
}
case PM_CLERIC:
case PM_CLERIC: /* priest/priestess */
ini_inv(Priest);
if (!rn2(10))
ini_inv(Magicmarker);
@@ -783,6 +785,14 @@ u_init(void)
ini_inv(Blindfold);
knows_class(WEAPON_CLASS); /* all weapons */
knows_class(ARMOR_CLASS);
/* in order to assist non-Japanese speakers, pre-discover items
that switch to Japanese names when playing as a Samurai */
for (i = MAXOCLASSES; i < NUM_OBJECTS; ++i) {
if (objects[i].oc_magic) /* skip "magic koto" */
continue;
if (Japanese_item_name(i, (const char *) 0))
knows_object(i);
}
skill_init(Skill_S);
break;
case PM_TOURIST: