Esempio n. 1
0
def apply_changes(request):
    """
    Apply the game world's data.
    """
    try:
        # reload localized strings
        LOCALIZED_STRINGS_HANDLER.reload()

        # rebuild the world
        build_all()

        # send client settings
        CLIENT_SETTINGS.reset()
        client_settings = CLIENT_SETTINGS.all_values()
        client_settings["game_name"] = GAME_SETTINGS.get("game_name")
        client_settings["show_social_box"] = not GAME_SETTINGS.get("solo_mode")
        text = json.dumps({"settings": client_settings})
        SESSIONS.announce_all(text)

        # restart the server
        SESSIONS.announce_all(" Server restarting ...")
        SESSIONS.server.shutdown(mode='reload')
    except Exception, e:
        message = "Can't build world: %s" % e
        logger.log_tracemsg(message)
        return render(request, 'fail.html', {"message": message})
Esempio n. 2
0
def apply_changes(request):
    """
    Apply the game world's data.
    """
    try:
        # load system localized strings
        importer.import_system_localized_strings(settings.LANGUAGE_CODE)

        # reload localized strings
        LOCALIZED_STRINGS_HANDLER.reload()

        # rebuild the world
        build_all()

        # send client settings
        CLIENT_SETTINGS.reset()
        text = json.dumps({"settings": CLIENT_SETTINGS.all_values()})
        SESSIONS.announce_all(text)

        # restart the server
        SESSIONS.announce_all(" Server restarting ...")
        SESSIONS.server.shutdown(mode='reload')
    except Exception, e:
        message = "Can't build world: %s" % e
        logger.log_tracemsg(message)
        return render(request, 'fail.html', {"message": message})
Esempio n. 3
0
    def func(self, args, request):
        try:
            # reload system data
            # import_syetem_data()

            # reload localized strings
            # LOCALIZED_STRINGS_HANDLER.reload()

            # rebuild the world
            build_all()

            # send client settings
            client_settings = GAME_SETTINGS.get_client_settings()
            text = json.dumps({"settings": client_settings})
            SESSIONS.announce_all(text)

            # restart the server
            SESSIONS.announce_all("Server restarting ...")
            SESSIONS.portal_restart_server()
        except Exception as e:
            message = "Can not build the world: %s" % e
            logger.log_tracemsg(message)
            raise MudderyError(ERR.build_world_error, message)

        return success_response("success")
Esempio n. 4
0
 def finish_event(self, event):
     loc = self.get_event_location(event)
     if loc:
         try:
             loc.stop_event_logging()
         except AttributeError:
             loc.db.current_event = None
             loc.msg_contents("{rEvent logging is now off for this room.{n")
             loc.tags.remove("logging event")
         end_str = "%s has ended at %s." % (event.name, loc.name)
     else:
         end_str = "%s has ended." % event.name
     if event.public_event:
         SESSIONS.announce_all(end_str)
     else:
         if loc:
             loc.msg_contents(end_str)
     event.finished = True
     event.clear_room()
     event.save()
     if event.id in self.db.active_events:
         self.db.active_events.remove(event.id)
     if event.id in self.db.idle_events:
         del self.db.idle_events[event.id]
     self.do_awards(event)
     # noinspection PyBroadException
     self.delete_event_post(event)
Esempio n. 5
0
 def func(self):
     "Implements command"
     if not self.args:
         self.caller.msg("Usage: @wall <message>")
         return
     message = "%s shouts \"%s\"" % (self.caller.name, self.args)
     self.msg("Announcing to all connected players ...")
     SESSIONS.announce_all(message)
Esempio n. 6
0
 def func(self):
     """Implements command"""
     if not self.args:
         self.caller.msg("Usage: wall <message>")
         return
     message = '%s shouts "%s"' % (self.caller.name, self.args)
     self.msg("Announcing to all connected sessions ...")
     SESSIONS.announce_all(message)
Esempio n. 7
0
 def func(self):
     """Implements command"""
     if not self.args:
         self.caller.msg("Usage: @wall <message>")
         return
     message = "%s shouts \"%s\"" % (self.caller.name, self.args)
     self.msg("Announcing to all connected players ...")
     SESSIONS.announce_all(message)
Esempio n. 8
0
 def func(self):
     """Implements command"""
     if not self.args:
         self.caller.msg('Usage: {} <message>'.format(self.cmdstring))
         return
     message = '### %s%s|n shouts "|w%s|n"' % (self.caller.STYLE,
                                               self.caller.name, self.args)
     self.msg("Announcing to all connections ...")
     SESSIONS.announce_all(message)
Esempio n. 9
0
 def func(self):
     """
     Reload the system.
     """
     reason = ""
     if self.args:
         reason = "(Reason: %s) " % self.args.rstrip(".")
     SESSIONS.announce_all(" Time slows as Ashlan mauls the fabric of reality...")
     SESSIONS.server.shutdown(mode='reload')
Esempio n. 10
0
 def func(self):
     """
     Reload the system.
     """
     reason = ""
     if self.args:
         reason = "(Reason: %s) " % self.args.rstrip(".")
     SESSIONS.announce_all(" Server restart initiated %s..." % reason)
     SESSIONS.portal_restart_server()
Esempio n. 11
0
 def announce_upcoming_event(event, diff):
     mins = int(diff / 60)
     secs = diff % 60
     announce_msg = "{wEvent: '%s'(#%s) will start in %s minutes and %s seconds.{n" % (
         event.name, event.id, mins, secs)
     if event.public_event:
         SESSIONS.announce_all(announce_msg)
     else:
         event.make_announcement(announce_msg)
Esempio n. 12
0
 def func(self):
     """
     Reload the system.
     """
     reason = ""
     if self.args:
         reason = "(Reason: %s) " % self.args.rstrip(".")
     SESSIONS.announce_all(" Server restart initiated %s..." % reason)
     SESSIONS.server.shutdown(mode='reload')
Esempio n. 13
0
 def func(self):
     """
     Reload the system.
     """
     reason = ""
     if self.args:
         reason = "(Reason: %s) " % self.args.rstrip(".")
     SESSIONS.announce_all(" Server restart initiated %s..." % reason)
     SESSIONS.server.shutdown(mode='reload')
Esempio n. 14
0
 def at_post_puppet(self):
     self.location.msg_contents("%s has connected" % self.key)
     loginmsg = "[************--Rumour Monger--************]|/" \
                "%s arrives in Mercadia.|/" \
                "[*****************************************]|/" % self.key
     SESSIONS.announce_all(loginmsg)
     tickerhandler.add(interval=randint(10, 15),
                       callback=self.at_regen,
                       persistent=True)
     self.execute_cmd("look")
Esempio n. 15
0
 def func(self):
     """Define function"""
     # Only allow shutdown if caller has session
     if not self.caller.sessions.get():
         return
     self.msg("Shutting down server ...")
     announcement = "\nServer is being SHUT DOWN!\n"
     if self.args:
         announcement += "%s\n" % self.args
     logger.log_info("Server shutdown by %s." % self.caller.name)
     SESSIONS.announce_all(announcement)
     SESSIONS.portal_shutdown()
Esempio n. 16
0
 def at_repeat(self):
     """
     Called every minute to update the timers.
     """
     if self.check_event():
         # check if we've been tagged to not reset next time we run
         self.do_weekly_events()
     else:
         hour = timedelta(minutes=65)
         if self.time_remaining < hour:
             from evennia.server.sessionhandler import SESSIONS
             cron_msg = "{wReminder: Weekly Updates will be running in about an hour.{n"
             SESSIONS.announce_all(cron_msg)
Esempio n. 17
0
 def func(self):
     """Define function"""
     # Only allow shutdown if caller has session
     if not self.caller.sessions.get():
         return
     self.msg('Shutting down server ...')
     announcement = "\nServer is being SHUT DOWN!\n"
     if self.args:
         announcement += "%s\n" % self.args
     logger.log_info('Server shutdown by %s.' % self.caller.name)
     SESSIONS.announce_all(announcement)
     SESSIONS.server.shutdown(mode='shutdown')
     SESSIONS.portal_shutdown()
Esempio n. 18
0
def apply_changes(request):
    """
    Apply the game world's data.
    """
    try:
        # rebuild the world
        build_all()

        # reload
        SESSIONS.announce_all(" Server restarting ...")
        SESSIONS.server.shutdown(mode='reload')
    except Exception, e:
        ostring = "Can't build world: %s" % e
        logger.log_tracemsg(ostring)
        raise http.HttpResponseServerError(ostring)
Esempio n. 19
0
 def func(self):
     "Define function"
     try:
         # Only allow shutdown if caller has session
         self.caller.sessions[0]
     except Exception:
         return
     self.msg('Shutting down server ...')
     announcement = "\nServer is being SHUT DOWN!\n"
     if self.args:
         announcement += "%s\n" % self.args
     logger.log_infomsg('Server shutdown by %s.' % self.caller.name)
     SESSIONS.announce_all(announcement)
     SESSIONS.server.shutdown(mode='shutdown')
     SESSIONS.portal_shutdown()
Esempio n. 20
0
    def start_event(self, event, location=None):
        # see if this was called from callLater, and if so, remove reference to it
        if event.id in self.db.pending_start:
            del self.db.pending_start[event.id]

        # if we've already started, do nothing. Can happen due to queue
        if event.id in self.db.active_events:
            return
        # announce event start
        if location:
            loc = location
        else:
            loc = self.get_event_location(event)
        if loc:  # set up event logging, tag room
            loc.start_event_logging(event)
            start_str = "%s has started at %s." % (event.name, loc.name)
            if loc != event.location:
                event.location = loc
                event.save()
        else:
            start_str = "%s has started." % event.name
        if event.public_event:
            border = "{w***********************************************************{n\n"
            start_str = border + start_str + "\n" + border
            SESSIONS.announce_all(start_str)
        elif event.location:
            try:
                event.location.msg_contents(start_str, options={'box': True})
            except Exception:
                pass
        self.db.active_events.append(event.id)
        self.db.idle_events[event.id] = 0
        now = time_now()
        if now < event.date:
            # if we were forced to start early, update our date
            event.date = now
            event.save()
        # set up log for event
        open_logs = self.ndb.open_logs or []
        open_gm_logs = self.ndb.open_gm_logs or []
        # noinspection PyBroadException
        with open(self.get_log_path(event.id), 'a+') as log:
            open_logs.append(log)
        with open(self.get_gmlog_path(event.id), 'a+') as gmlog:
            open_gm_logs.append(gmlog)
        self.ndb.open_logs = open_logs
        self.ndb.open_gm_logs = open_gm_logs
Esempio n. 21
0
    def announce_upcoming_event(event, diff):
        mins = int(diff / 60)
        secs = diff % 60
        announce_msg = "{wEvent: '%s'(#%s) will start in %s minutes and %s seconds.{n" % (
            event.name, event.id, mins, secs)
        if event.public_event:
            SESSIONS.announce_all(announce_msg)
        else:
            announce_msg = "{y(Private Message) " + announce_msg
            for ob in event.dompcs.all():
                try:
                    ob.player.msg(announce_msg)
                except AttributeError:
                    continue

        if event.location is None:
            if event.plotroom is not None:
                event.create_room()
Esempio n. 22
0
def apply_changes(request):
    """
    Apply the game world's data.
    """
    try:
        # rebuild the world
        build_all()

        # send client settings
        CLIENT_SETTINGS.reset()
        text = json.dumps({"settings": CLIENT_SETTINGS.all_values()})
        SESSIONS.announce_all(text)

        # reload
        SESSIONS.announce_all(" Server restarting ...")
        SESSIONS.server.shutdown(mode='reload')
    except Exception, e:
        message = "Can't build world: %s" % e
        logger.log_tracemsg(message)
        return render(request, 'fail.html', {"message": message})
Esempio n. 23
0
def apply_changes(request):
    """
    Apply the game world's data.
    """
    try:
        # rebuild the world
        build_all()

        # send client settings
        CLIENT_SETTINGS.reset()
        text = json.dumps({"settings": CLIENT_SETTINGS.all_values()})
        SESSIONS.announce_all(text)

        # reload
        SESSIONS.announce_all(" Server restarting ...")
        SESSIONS.server.shutdown(mode='reload')
    except Exception, e:
        message = "Can't build world: %s" % e
        logger.log_tracemsg(message)
        return render(request, 'fail.html', {"message": message})
Esempio n. 24
0
def apply_changes(request):
    """
    Apply the game world's data.
    """
    try:
        # reload localized strings
        LOCALIZED_STRINGS_HANDLER.reload()

        # rebuild the world
        build_all()

        # send client settings
        client_settings = GAME_SETTINGS.get_client_settings()
        text = json.dumps({"settings": client_settings})
        SESSIONS.announce_all(text)

        # restart the server
        SESSIONS.announce_all(" Server restarting ...")
        SESSIONS.server.shutdown(mode='reload')
    except Exception, e:
        message = "Can't build world: %s" % e
        logger.log_tracemsg(message)
        return render(request, 'fail.html', {"message": message})
Esempio n. 25
0
    def func(self, args, request):
        try:
            # reload system data
            # import_syetem_data()

            # reload localized strings
            # LOCALIZED_STRINGS_HANDLER.reload()

            # reload data
            WorldData.reload()

            # rebuild the world
            build_all()

            # restart the server
            SESSIONS.announce_all("Server restarting ...")
            SESSIONS.portal_restart_server()
        except Exception as e:
            message = "Can not build the world: %s" % e
            logger.log_tracemsg(message)
            raise MudderyError(ERR.build_world_error, message)

        return success_response("success")
Esempio n. 26
0
    def func(self, args, request):
        try:
            # reload system data
            # import_syetem_data()

            # reload localized strings
            # LOCALIZED_STRINGS_HANDLER.reload()

            # rebuild the world
            build_all()

            # send client settings
            client_settings = GAME_SETTINGS.get_client_settings()
            text = json.dumps({"settings": client_settings})
            SESSIONS.announce_all(text)

            # restart the server
            SESSIONS.announce_all("Server restarting ...")
            SESSIONS.portal_restart_server()
        except Exception, e:
            message = "Can not build the world: %s" % e
            logger.log_tracemsg(message)
            raise MudderyError(ERR.build_world_error, message)
Esempio n. 27
0
    def at_after_traverse(self,traverser,source_location):
        traverser.db.nation = str(self.db.nation)

        if traverser.db.nation == "Kingdom":
            message = "|/             |555************[|315WORLD CRIER|555]**************|n|/|/" \
                      "                      %s joins the game|/" \
                      "               |035Starting in the Kingdom of Iusticia|/|/ " \
                      "             |555***************************************|/" % (traverser)
            SESSIONS.announce_all(message)

        if traverser.db.nation == "Caliphate":
            message = "|/             |555************[|315WORLD CRIER|555]**************|n|/|/" \
                      "                      %s joins the game|/" \
                      "               |500Starting in the Caliphate of Ashran|/|/" \
                      "             |555***************************************|/" % (traverser)
            SESSIONS.announce_all(message)

        if traverser.db.nation == "Empire":
            message = "              |555************[|315WORLD CRIER|555]**************|n|/|/" \
                      "                    %s joins the game|/" \
                      "                |030Starting in the Empire of Kosun|/|/" \
                      "              |555***************************************|/" % (traverser)
            SESSIONS.announce_all(message)
Esempio n. 28
0
 def func(self):
     """
     Reload the system.
     """
     SESSIONS.announce_all(" Server resetting/restarting ...")
     SESSIONS.server.shutdown(mode='reset')
Esempio n. 29
0
                logger.log_tracemsg(err_message)

    try:
        # reload system data
        import_syetem_data()

        # reload localized strings
        LOCALIZED_STRINGS_HANDLER.reload()

        # rebuild the world
        build_all()

        # send client settings
        client_settings = GAME_SETTINGS.get_client_settings()
        text = json.dumps({"settings": client_settings})
        SESSIONS.announce_all(text)

        # restart the server
        SESSIONS.announce_all("Server restarting ...")
        SESSIONS.server.shutdown(mode='reload')
    except Exception, e:
        message = "Can't build world: %s" % e
        logger.log_tracemsg(message)
        return render(request, 'fail.html', {"message": message})

    return render(request, 'success.html', {"message": _("Data applied. Please wait the server restart.")})


@staff_member_required
def editor(request):
    """
Esempio n. 30
0
 def func(self):
     """
     Reload the system.
     """
     SESSIONS.announce_all(" Server resetting/restarting ...")
     SESSIONS.server.shutdown(mode='reset')
Esempio n. 31
0
def msg_global(message):
    """Send msg to all connected sessions."""
    # TODO: do we want to use public (or global) channel instead?
    if not message.startswith("|"):
        message = "|w" + message
    SESSIONS.announce_all(message)
Esempio n. 32
0
 def func(self):
     """
     Reload the system.
     """
     SESSIONS.announce_all(" Time slows as Ashlan mauls the fabric of reality...")
     SESSIONS.server.shutdown(mode='reset')
Esempio n. 33
0
def attack(caller, target):
    "Returns a random one-handed sword attack message."

    d3 = randint(1,3)

    if d3 == 1:
        message_t = caller.db.attack_message_1 + " you!"
        message_r = caller.db.attack_message_1 + " %s!" % target.name

        armor_block = 100 - target.db.armor_bonus
        armor_block = float(armor_block) / 100
        damage_amount = caller.db.damage_amount
        damage_amount = damage_amount * armor_block
        damage_amount = int(damage_amount)
        target.db.health = target.db.health - damage_amount
        target.msg(message_t)
        target.location.msg_contents(message_r, exclude=target)
        if target.db.health <= 0:
            target.db.health = 0
            string = "|m%s has been slain by %s.|n" % (target.name, caller.name)
            SESSIONS.announce_all(string)
            rules.death_movement(caller, target)


    elif d3 == 2:
        message_t = caller.db.attack_message_2 + " you!"
        message_r = caller.db.attack_message_2 + " %s!" % target.name

        armor_block = 100 - target.db.armor_bonus
        armor_block = float(armor_block) / 100
        damage_amount = caller.db.damage_amount * 2
        damage_amount = damage_amount * armor_block
        damage_amount = int(damage_amount)
        target.db.health = target.db.health - damage_amount
        target.msg(message_t)
        target.location.msg_contents(message_r, exclude=target)
        if target.db.health <= 0:
            target.db.health = 0
            string = "|m%s has been slain by %s.|n" % (target.name, caller.name)
            SESSIONS.announce_all(string)
            rules.death_movement(caller, target)

    elif d3 == 3:
        message_t = caller.db.attack_message_3 + " you!"
        message_r = caller.db.attack_message_3 + " %s!" % target.name

        armor_block = 100 - target.db.armor_bonus
        armor_block = float(armor_block) / 100
        damage_amount = caller.db.damage_amount * 3
        damage_amount = damage_amount * armor_block
        damage_amount = int(damage_amount)
        target.db.health = target.db.health - damage_amount
        target.msg(message_t)
        target.location.msg_contents(message_r, exclude=target)
        if target.db.health <= 0:
            target.db.health = 0
            string = "|m%s has been slain by %s.|n" % (target.name, caller.name)
            SESSIONS.announce_all(string)
            rules.death_movement(caller, target)

    if (float(target.db.health) / float(target.db.max_health)) > 0.80:
        prompt_hp_color = "|g"
    elif (float(target.db.health) / float(target.db.max_health)) > 0.36:
        prompt_hp_color = "|y"
    else:
        prompt_hp_color = "|r"

    if target.db.stamina > 6:
        prompt_stamina_color = "|g"
    elif target.db.stamina > 3:
        prompt_stamina_color = "|y"
    else:
        prompt_stamina_color = "|r"

    prompt = "%sHealth|n: %s%s|n - |gMagic|n: |nAsleep|n - %sStamina|n: %s%s." % (prompt_hp_color, prompt_hp_color, target.db.health, prompt_stamina_color, prompt_stamina_color, target.db.stamina)
    target.msg(prompt)
Esempio n. 34
0
 def func(self):
     """
     Reload the system.
     """
     SESSIONS.announce_all(" Server resetting/restarting ...")
     SESSIONS.portal_reset_server()