Added more overloading modules and cleaned up the template some more.
This commit is contained in:
parent
ad3f19896c
commit
2c46ede247
19 changed files with 269 additions and 236 deletions
|
|
@ -1,31 +1,20 @@
|
|||
"""
|
||||
Characters
|
||||
|
||||
Template for Characters
|
||||
|
||||
Copy this module up one level and name it as you like, then
|
||||
use it as a template to create your own Character class.
|
||||
|
||||
To make new logins default to creating characters
|
||||
of your new type, change settings.BASE_CHARACTER_TYPECLASS to point to
|
||||
your new class, e.g.
|
||||
|
||||
settings.BASE_CHARACTER_TYPECLASS = "game.gamesrc.objects.mychar.MyChar"
|
||||
|
||||
Note that objects already created in the database will not notice
|
||||
this change, you have to convert them manually e.g. with the
|
||||
@typeclass command.
|
||||
Characters are (by default) Objects setup to be puppeted by Players.
|
||||
They are what you "see" in game. The Character class in this module
|
||||
is setup to be the "default" character type created by the default
|
||||
creation commands.
|
||||
|
||||
"""
|
||||
from evennia import DefaultCharacter
|
||||
|
||||
|
||||
class Character(DefaultCharacter):
|
||||
"""
|
||||
The Character is like any normal Object (see example/object.py for
|
||||
a list of properties and methods), except it actually implements
|
||||
some of its hook methods to do some work:
|
||||
The Character defaults to implementing some of its hook methods with the
|
||||
following standard functionality:
|
||||
|
||||
at_basetype_setup - always assigns the default_cmdset to this object type
|
||||
at_basetype_setup - always assigns the DefaultCmdSet to this object type
|
||||
(important!)sets locks so character cannot be picked up
|
||||
and its commands only be called by itself, not anyone else.
|
||||
(to change things, use at_object_creation() instead)
|
||||
|
|
|
|||
|
|
@ -1,24 +1,13 @@
|
|||
"""
|
||||
Exits
|
||||
|
||||
Template module for Exits
|
||||
|
||||
Copy this module up one level and name it as you like, then
|
||||
use it as a template to create your own Exits.
|
||||
|
||||
To make the default commands (such as @dig/@open) default to creating exits
|
||||
of your new type, change settings.BASE_EXIT_TYPECLASS to point to
|
||||
your new class, e.g.
|
||||
|
||||
settings.BASE_EXIT_TYPECLASS = "game.gamesrc.objects.myexit.MyExit"
|
||||
|
||||
Note that objects already created in the database will not notice
|
||||
this change, you have to convert them manually e.g. with the
|
||||
@typeclass command.
|
||||
Exits are connectors between Rooms. An exit always has a destination property
|
||||
set and has a single command defined on itself with the same name as its key,
|
||||
for allowing Characters to traverse the exit to its destination.
|
||||
|
||||
"""
|
||||
from evennia import DefaultExit
|
||||
|
||||
|
||||
class Exit(DefaultExit):
|
||||
"""
|
||||
Exits are connectors between rooms. Exits are normal Objects except
|
||||
|
|
|
|||
|
|
@ -1,25 +1,17 @@
|
|||
"""
|
||||
Object
|
||||
|
||||
Template for Objects
|
||||
The Object is the "naked" base class for things in the game world.
|
||||
|
||||
Copy this module up one level and name it as you like, then
|
||||
use it as a template to create your own Objects.
|
||||
|
||||
To make the default commands default to creating objects of your new
|
||||
type (and also change the "fallback" object used when typeclass
|
||||
creation fails), change settings.BASE_OBJECT_TYPECLASS to point to
|
||||
your new class, e.g.
|
||||
|
||||
settings.BASE_OBJECT_TYPECLASS = "game.gamesrc.objects.myobj.MyObj"
|
||||
|
||||
Note that objects already created in the database will not notice
|
||||
this change, you have to convert them manually e.g. with the
|
||||
@typeclass command.
|
||||
Note that the default Character, Room and Exit does not inherit from
|
||||
this Object, but from their respective default implementations in the
|
||||
evennia library. If you want to use this class as a parent to change
|
||||
the other types, you can do so by adding this as a multiple
|
||||
inheritance.
|
||||
|
||||
"""
|
||||
from evennia import DefaultObject
|
||||
|
||||
|
||||
class Object(DefaultObject):
|
||||
"""
|
||||
This is the root typeclass object, implementing an in-game Evennia
|
||||
|
|
|
|||
|
|
@ -1,21 +1,13 @@
|
|||
"""
|
||||
Player
|
||||
|
||||
The Player represents the game "account" and each login has only one
|
||||
Player object. A Player is what chats on default channels but has no
|
||||
other in-game-world existance. Rather the Player puppets Objects (such
|
||||
as Characters) in order to actually participate in the game world.
|
||||
|
||||
"""
|
||||
|
||||
Template module for Players
|
||||
|
||||
Copy this module up one level and name it as you like, then
|
||||
use it as a template to create your own Player class.
|
||||
|
||||
To make the default account login default to using a Player
|
||||
of your new type, change settings.BASE_PLAYER_TYPECLASS to point to
|
||||
your new class, e.g.
|
||||
|
||||
settings.BASE_PLAYER_TYPECLASS = "game.gamesrc.objects.myplayer.MyPlayer"
|
||||
|
||||
Note that objects already created in the database will not notice
|
||||
this change, you have to convert them manually e.g. with the
|
||||
@typeclass command.
|
||||
|
||||
"""
|
||||
from evennia import DefaultPlayer
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +1,7 @@
|
|||
"""
|
||||
Room
|
||||
|
||||
Template module for Rooms
|
||||
|
||||
Copy this module up one level and name it as you like, then
|
||||
use it as a template to create your own Objects.
|
||||
|
||||
To make the default commands (such as @dig) default to creating rooms
|
||||
of your new type, change settings.BASE_ROOM_TYPECLASS to point to
|
||||
your new class, e.g.
|
||||
|
||||
settings.BASE_ROOM_TYPECLASS = "game.gamesrc.objects.myroom.MyRoom"
|
||||
|
||||
Note that objects already created in the database will not notice
|
||||
this change, you have to convert them manually e.g. with the
|
||||
@typeclass command.
|
||||
Rooms are simple containers that has no location of their own.
|
||||
|
||||
"""
|
||||
|
||||
|
|
|
|||
|
|
@ -1,22 +1,14 @@
|
|||
"""
|
||||
Scripts
|
||||
|
||||
Template module for Scripts
|
||||
Scripts are powerful jacks-of-all-trades. They have no in-game
|
||||
existence and can be used to represent persistent game systems in some
|
||||
circumstances. Scripts can also have a time component that allows them
|
||||
to "fire" regularly or a limited number of times.
|
||||
|
||||
Copy this module up one level to gamesrc/scripts and name it
|
||||
appropriately, then use that as a template to create your own script.
|
||||
|
||||
Test scripts in-game e.g. with the @script command. In code you can
|
||||
create new scripts of a given class with
|
||||
script = ev.create.script("path.to.module.and.class")
|
||||
|
||||
Scripts are objects that handle everything in the game having
|
||||
a time-component (i.e. that may change with time, with or without
|
||||
a player being involved in the change). Scripts can work like "events",
|
||||
in that they are triggered at regular intervals to do a certain script,
|
||||
but an Script set on an object can also be responsible for silently
|
||||
checking if its state changes, so as to update it. Evennia use several
|
||||
in-built scripts to keep track of things like time, to clean out
|
||||
dropped connections etc.
|
||||
There is generally no "tree" of Scripts inheriting from each other.
|
||||
Rather, each script tends to inherit from the base Script class and
|
||||
just overloads its hooks to have it perform its function.
|
||||
|
||||
"""
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue