SStrinity - Trinity subsystem, controls mob/brain/mind #9622
EvilDragonfiend
started this conversation in
Design Discussion
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Trinity?
A character basically is consisted of 3 features:
These are incredibly unconnected. It's easy to make a mistake that you need to check mind but you do that to a body.
i.e.) your mind is hallucination resistent, but you check body is resistent
Trinity subsystem can handle multiple things at the same time.
SStrinity.has_trait()
can check all 3 - body(mob)/brain/mind from you.You don't have to worry about a case where a runtime can be thrown (the bottom one)
Trinity subsystem sample code
This is a sample code for the trinity subsystem.
why do you use subsystem instead of module?
because body/brain/mind can't be handled in a single module.
Alternative way to make it a module
It's possible to use a module if it's made as so... but I think subsystem would be cleaner.
another way is to have another type of trinity datum like below..
This version will be a little bit more performant than subsystem, but I feel it will be too complex because it needs to be updated, but also it can be bad because you need to make variables 'null' but you can forget it
anything else to add trinity?
client
should be included. it will beTRINITY_CLIENT
. but I don't see any case that Trinity needs it.at least the code can find dedicated mob/brain/mind of a client.
Expansion for this subsystem
This has only one example that you can acess trait to all types, and I think it's simple good enough.
Below is what you can get more:
physical trauma(body)
,mental trauma(brain)
, andspiritual trauma(mind)
i.e.)
SStrinity.get_trauma_list(target, bound_type=TRINITY_BODY)
You only get the list of body type traumas in this examplei.e.)
SStrinity.get_language_holder(target)
Beta Was this translation helpful? Give feedback.
All reactions