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)
def __init__(self, flavor): flavor_module = __import__('lampost.' + flavor + '.flavor', globals(), locals(), ['init']) self.mud = Mud() self.mud_actions = MudActions() self.social_registry = SocialRegistry()