I would like to revisit this… maybe making a container a supporter is a bad idea… but what about making some things that are more similar change?
If I have “an armor” and I want to be able to change it from “a leather chest piece” to “a steel chest piece” or “a leather helmet” for example, if all of those are already “child kinds” of “armor” would this be as bad?
The idea here is that the “small stock” of predefined objects would include a limited number of “armor” objects, which could then have their kind assigned on an as-needed basis. The player would only be allowed to carry a limited number of things or store a limited number of things, etc, so… well, I digress, there would be considerations to make for ensuring the player has a feeling of world persistence and consistency, determining how man “armor” are needed to accomplish this, etc…
but the point is, can this be done? Can an object defined only as “a kind of armor” be manipulated into different subkinds?
No. I7 considers kinds as fixed. The data structures that implement the kind inheritance are not designed to be swapped around mid-game.
You could use properties instead. Make an “armor” kind with a “material” property (steel, chain, leather) and a “form” property (helmet, shield, chest piece). You can then have a stock of blank armor objects off-stage, pull them out as desired, and set their properties.
Ok, well, I’ll have to play around with that idea to see how far it can go… if there are lots of other conditions that are determined if something is a head or chest piece for example… I wonder how far a “head-slotted” vs a “chest-slotted” property can go to be tied into other rules/phrases. I guess I’ll find out, but it’ll take a while to rework things to do this.