Typeclasses - gridpunx-team/gridpunx GitHub Wiki
No changes have been made to the default Evennia accounts typeclasses.
No changes have been made to the default Evennia channels typeclasses.
Inherits From: DefaultCharacter
Utilized by: Nothing yet.
Special Notes: Everything here is currently temporary and subject to many changes.
A Character is a player’s character in the physical realm. It is simply a DefaultCharacter with three attributes:
- is_human, set to True
- hitpoints, set to 100
- gridbits, set to 16
Note that this is all very much temporary. There will be two major sets of changes to this typeclass in the future. One will be a RPG system of various attributes and skills. Another will be an advanced health system that will be reminiscent of various modern survival games. The game’s economic system will likely add a few minor changes.
No changes have been made to the default Evennia exits typeclasses.
The npc.py file contains the basic commands and typeclasses used for interactive NPCs.
Inherits From: RealObject
Utilized by: Nothing yet.
Special Notes: Creating an object based on this typeclass makes an NPC that tells you it has nothing to say. Each NPC should get its own file in the
typeclasses/npcs
folder
The RealTalkingNPC is a custom class of object that is assigned a
dialogue tree that a player can use to interact with as if it were
a conversation. Currently, all this does is assign the @talk
command
to the object and set a lock on @get
Inherits From: RealTalkingNPC
Utilized by: Builders
Special Notes: Just a simple gambling game. This was created to test the viability of the NPC dialogue system.
This NPC essentially plays street dice with 2d12 instead of 2d6. Choosing ‘any’ seems to win a lot, so it may get removed from the betting options to make the game actually more of a scam. The math works out so that any double has the same chances as rolling 13 (8.33%).
Inherits From: DefaultObject
Utilized by: All objects in the game world; both physical and digital.
Special Notes: None.
This is currently left exactly how it is generated by Evennia. All it does is inherit the DefaultObject basetype class. This may contain code that ties together portions of digital and physical realms (like game-world time).
Inherits From: Object
Utilized by: All real objects
Special Notes: None.
A RealObject is the basetype class which establishes functions that are useful to have on any object in the physical realm.
Note that no at_item_creation() hook is defined, since most objects should actually use more specific typeclasses when they are created.
Inherits From: RealObject
Utilized by: Nothing yet.
Special Notes: None.
RealEnvironment objects will inherit everything from the RealObject class. Their intended purpose is to be an object which can only be interacted with in a very minimal way. They can be thought of as structures, statues, or very large objects.
These objects are created with 256 hitpoints, because they are supposed to be very large objects or structures.
Inherits From: RealObject
Utilized by: Nothing yet.
Special Notes: None.
The RealItem class represents physical objects which can be manipulated, picked up, stored inside things, and much more. Objects created using this typeclass are intended to be picked up or manipulated by characters.
Items are little nick-knacks that aren’t very durable. They have 16 hitpoints at creation by default.
Inherits From: RealObject
Utilized by: Nothing yet.
Special Notes: None.
RealThing objects can serve many purposes, but are mainly intended to be more advanced versions of RealItems that are connected to The Grid.
Things are more durable than Items, but they still have sensitive electronics that enable a connection to The Grid. They are assigned 64 hipoints by default. That should be enough to take some wear and tear before needing to be repaired or replaced.
Inherits From: DefaultRoom
Utilized by: Nothing yet.
Special Notes: None.
For now, the RealRoom is just there to establish a hierarchy of rooms.
Inherits From: RealRoom
Utilized by: Nothing yet.
Special Notes: None.
Inherits From: RealRoom
Utilized by: Nothing yet.
Special Notes: Has attached script which harms characters, even if you are a privileged account.
The RealOutside typeclass has a script (HarshClimate) attached to it during object creation. This script harms players every 2 minutes alongside with a message that reminds you of how bleak and terrible it is outside, even if you are a privileged account.
Inherits From: DefaultScript
Utilized by: Nothing.
Special Notes: None.
The Script class has not been modified from the default.
Inherits From: Script
Utilized by: rooms.RealOutside
Special Notes: Needs an automatic override for users with higher privileges.
The HarshClimate script is a modified version of an example Weather script from Evennia’s documentation. The modification causes the script to harm any character in the room. A means of overriding the damage was planned, but no implemented in a usable way.