I've completely overhauled character attributes.
Aggression is based on strength.
Charisma is based on aggression, strength, and intelligence.
When reporting a character's traits, it will only display the ones that really stand out.
That looks a lot more like a storybook description to me.
As you can see, they are no longer asexual.
I've decided on a persons "relationship" depending on three values:
Familiarity, trust, and respect.
Familiarity doesn't really need an explanation.
It will modify a ton of situations, and influence trust.
Trust is unused right now, but will be used later when characters need to swap information.
Respect mostly modifies the way characters act towards each other.
Right now respect is modified by intelligence and sex, so the less intelligent a person is,
the more likely they are to disrespect someone of the opposite sex initially.
I'll be adding in other case-by-case correlations like that in an attempt to mirror my view of reality.
Respect can be modified by conversations and fighting, and things like that.
I'm probably going to start working on conversation flow and topics.
EDIT: I've completely rearranged the character actions, and they now have a sensible set of priorities:
- They always get to do a few basic functions without expending their turn,
like noticing doorways and other characters.
- They will put a priority on ending a conversation or fight they are in.
- Next up is sleep. If they are tired they will head straight to bed. If they don't know where a bed is, they will explore.
- If sleep is not an issue, they will continue to explore the house.
- If the whole house has been explored, they will try to enter conversations. If there are no conversations present,
they will wander around until they find someone.
I've finally hammered out the path finding system into an airtight function.
Once another function has picked a target location, the function for path finding and following paths takes over.
There are no cases where it can fail. The only input it takes is the room id, and it can not be interrupted.
If it is interrupted (somehow) there is a function where the character will forget where they were going.
I figure interrupting will be possible in the future when people can act more hostile and doors can be locked.
EDIT: Characters now remember the last place they saw each other.
I've added support so that a character will remember which bedroom each character occupies.
There is not a method of finding this out currently, but once there are locks and keys,
they will be able to figure it out by watching a person enter a bedroom,
or asking for the information during a conversation. (trust will likely be involved)
I'm not sure where I am taking this thing, but I want to add in topics of conversation,
and give them the ability to trade valuable information.
I don't know what sort of information that will be,
because I haven't decided what tasks they will be trying to achieve,
or even what mindset they are all in.
I'm thinking they are all just trapped and wish they could escape,
and then intrigue and suspicion hits when it turns out some of them secretly have motives.
Basically, I want there to be a reason for them to establish trust before helping each other.