@devs
Are NPC vs. NPC characters fully simulated or is the result auto-resolved in a different way? If it's the former, would it be possible to simply watch the fight go down between them (see every turn they make) instead of either helping either of them or moving to a different area? I suppose it would add a touch of voyeurism to the game.
Mostly fully simulated; they're ended if it goes on too long. Watching every turn could be made possible, but most of the text would be screwed up. Here's an example of the text that's being printed
//when attacking... (dealing)
public String deal(Combat c, int damage, Result modifier, Character target) {
if (modifier == Result.miss) {
return "You grab at " + target.name() + "'s arm, but "+target.pronoun()+" pulls it free.";
} else {
return "You grab " + target.name()
+ "'s arm at the wrist and pull it to your chest in the traditional judo submission technique.";
}
}
//when defending... (receiving)
public String receive(Combat c, int damage, Result modifier, Character target) {
if (modifier == Result.miss) {
return getSelf().name() + " grabs your wrist, but you pry it out of "+getSelf().possessivePronoun()+" grasp.";
} else {
return getSelf().name()
+ " pulls your arm between "+getSelf().possessivePronoun()+" legs, forcibly overextending your elbow. The pain almost makes you tap out, but you manage to yank your arm "
+ "out of "+getSelf().possessivePronoun()+" grip.";
}
}
These translate to lines like "You grab at Jewel's arm, but she pulls it free." and "Jewel pulls your arm between your legs, forcibly overextending your elbow."... in regular combat. There's pretty much no support for outside watching, though it could be done. Just need to use the receive function in all cases... and remove all references of "you" with explicit references. Which, just like replacing all the "her" and "she", is quite a bit of work.
Alas, find an replace won't do the trick... "The pain almost makes you tap out, but you manage to yank your arm out of Jewel's grip." Simple find and replace "your" with ""+target.possessivePronoun()+"" and replacing "you" with ""+target.getName()+"" still means you have to deal with... "The pain almost makes Cassie tap out, but Cassie manage to yank her arm out of Jewel's grip." There's a grammar mistake in there; it's a bit wonky.
...
Your idea has been noted, however, and I'll try to replace the "you" case as well for each skill that I'm gonna clean up. Maybe it'll be easier to "watch" fights live like that later on.