示例#1
0
文件: mud.py 项目: NancyR/Lampost-Mud
class MudNature():

    def __init__(self, flavor):
        flavor_module = __import__('lampost.' + flavor + '.flavor', globals(), locals(), ['init'])
        self.mud = Mud()
        self.mud_actions = MudActions()
        self.social_registry = SocialRegistry()

    def _post_init(self):
        debug("Loading mud", self)
        self.shout_channel = Channel("shout")
        self.imm_channel = Channel("imm")
        self.context.set('article_load_types', ['equip', 'default'])
        self.context.set('broadcast_types', broadcast_types)
        self.context.set('broadcast_tokens', broadcast_tokens)
        self.mud_actions.add_action(self.shout_channel)
        self.mud.load_areas()
        self.social_registry.load_socials()
        debug("Mud loaded", self)

    def editors(self, player):
        editors = []
        if has_perm(player, 'supreme'):
            editors.append('config')
        if has_perm(player, 'admin'):
            editors.append('players')
            editors.append('socials')
        if has_perm(player, 'creator'):
            editors.append('areas')
        return editors

    def baptise(self, player):
        player.baptise(set())
        if player.imm_level:
            self.baptise_imm(player)
        player.register_channel(self.shout_channel)

        if has_perm(player, 'supreme'):
             player.register("log", player.display_line)

        player.equip(set())
        self.mud.start_player(player)
        if not getattr(player, "room_id", None):
            player.room_id = player.env.dbo_id
            self.datastore.save_object(player)

    def baptise_imm(self, player):
        player.enhance_soul(self.imm_channel)
        player.register_channel(self.imm_channel)
        player.build_mode = True
        for cmd in imm_actions:
            if player.imm_level >= perm_level(cmd.imm_level):
                player.enhance_soul(cmd)
            else:
                player.diminish_soul(cmd)
示例#2
0
文件: mud.py 项目: NancyR/Lampost-Mud
 def __init__(self, flavor):
     flavor_module = __import__('lampost.' + flavor + '.flavor', globals(), locals(), ['init'])
     self.mud = Mud()
     self.mud_actions = MudActions()
     self.social_registry = SocialRegistry()