Open mciul opened 9 years ago
I think I'm going to get rid of shimmering, at least temporarily, and yank weapons from the dungeon if anybody wants them back. But I'd still like to hear from everyone.
What's the status of this? I can see the problem with shimmering weapons. I can also see the problem with reuing weapons from the dungeon, because (a) the player might be using them, and (b) all kinds of things might have happened to those weapons -- including size changes and material changes...
I'll look into it.
Currently, all code for shimmering weapons has been removed. I have some TODOs in my tests to check weapon behavior in Arena of the Fallen, etc.
It looks like the intended behavior is that weapons disappear from their current location when someone is revived in an arena. I'm not sure whether weapons from all possible starting kits do this or just the selected starting kit. That would be a good thing to test. Here is the phrase that generates text when a weapon is removed from somewhere else. The way it's phrased tells me this was adapted from the shimmer-weapon code:
To decide which object is the version of (item - a thing) available to (guy - a person):
[now item is the original version of item;]
if item is npc-owned and item is not enclosed by guy:
if the location of the item is the location:
say "[The item] [flicker] out of existence[if the location of guy is the location], and [reappear] in the possession of [the guy][end if]!";
remove the item from play;
decide on item.
Another thing to test would be to see if this phrase ever runs on something that is not npc-owned, and find out what happens then.
I just got an idea for how we could handle shimmer-clones more gracefully: Instead of all the "random readied weapon enclosed by the global defender" type of work we've been doing, add global variables for "the attack weapon" and "the defensive weapon." These could be set up by rules that handle shimmering and replace clones with the originals.
What do people think? Is it worth it?
You know it just occurred to me that I've already implemented a "current weapon of [person]" phrase. It might be less work than I thought to do this. But I'll still need to look into it...
It would have to apply to clothing too, though. Maybe there still is a long way to go.
What if we made the adamantine blade a kind, and just gave one to everyone?
That would be good. For most enemies, this could be a substantial improvement, but that's okay for something like the Arena of the Fallen.
Cool. And by everyone, I meant "creatures who usually get a non-natural weapon"
Yes, of course. I took that as implicit in the proposal. ;-)
("The ravenous armadillo has found a crazy scientist willing to replace its bony tail club with an adamantine sword!")
I just realized that the shimmering weapons intended for Arena of the Fallen are missing their most special behaviors.
Many special weapons like the minotaur's axe and the sword of light have rules that apply only to them. Making a copy of them will not allow the rules to work.
Some ideas for solving this problem:
I've been reading The Codeless Code and I'm sitting here thinking, "what would Java Master Banzen do?" This is exactly the kind of dilemma they talk about all the time in there.
Anyway, whoever has any thoughts about solving this, please chime in!