Пример #1
0
    def reply_handler(cls, action, response, from_):
        # Deep copy bomb
        action_c = Action()
        action_c.attacker = action.attacker
        action_c.action = action.action
        action_c.victim = from_.key.id()
        action_c.datetime = datetime.now()
        action_c.place = action.place

        if response == "Y" or response == "y":
            action_c.need_validation = False
            action_c.incorrect_kill = False
            action_c_key = action_c.put()

            victim = Player.get_by_id(action_c.victim)
            victim.state = "DEAD"
            victim.killed_by = str(action_c_key.id())
            victim.put()

            attacker = Player.get_by_id(action_c.attacker)
            attacker.killed.append(str(action_c_key.id()))
            attacker.put()

            return [("*", "{} has been killed".format(victim.codename))]

        else:
            action_c.need_validation = True
            action_c.incorrect_kill = True
            return []
Пример #2
0
    def reply_handler(cls, action, response, from_):
        # Deep copy bomb
        action_c = Action()
        action_c.attacker = action.attacker
        action_c.action = action.action
        action_c.victim = from_.key.id()
        action_c.datetime = datetime.now()
        action_c.place = action.place

        if response == "Y" or response == "y":
            action_c.need_validation = False
            action_c.incorrect_kill = False
            action_c_key = action_c.put()

            victim = Player.get_by_id(action_c.victim)
            victim.state = "DEAD"
            victim.killed_by = str(action_c_key.id())
            victim.put()

            attacker = Player.get_by_id(action_c.attacker)
            attacker.killed.append(str(action_c_key.id()))
            attacker.put()

            return [("*", "{} has been killed".format(victim.codename))]

        else:
            action_c.need_validation = True
            action_c.incorrect_kill = True
            return []
Пример #3
0
    def handler(cls, attacker, params):

        if len(params) == 0:
            raise CommandError("Parameter {}".format(params))

        victim = Util.get_victim(params[0])
        Disarm.validate_disarm(attacker, victim)

        action = Action()
        action.attacker = attacker.key.id()
        action.action = "DISARM"
        action.victim = victim.key.id()
        action.datetime = datetime.now()
        action.need_validation = True
        action_key = action.put()

        return [(action.victim, "{} claimed to have disarm you. "
            "[REPLY {}] Y/N.".format(attacker.realname, action_key.id()))]
Пример #4
0
    def handler(cls, attacker, params):
        logging.info("KILL start")

        victim = Util.get_victim(params[0])

        Kill.validate_kill(attacker, victim)

        action = Action()
        action.attacker = attacker.key.id()
        action.action = "KILL"
        action.victim = victim.key.id()
        action.datetime = datetime.now()
        action.need_validation = True
        action_key = action.put()

        logging.info("KILL finish")

        return [(action.victim, "{} claimed to have killed you. "
            "[REPLY {}] Y/N.".format(attacker.realname, action_key.id()))]
Пример #5
0
    def handler(cls, attacker, params):
        logging.info("KILL start")

        victim = Util.get_victim(params[0])

        Kill.validate_kill(attacker, victim)

        action = Action()
        action.attacker = attacker.key.id()
        action.action = "KILL"
        action.victim = victim.key.id()
        action.datetime = datetime.now()
        action.need_validation = True
        action_key = action.put()

        logging.info("KILL finish")

        return [
            (
                action.victim,
                "{} claimed to have killed you. " "[REPLY {}] Y/N.".format(attacker.realname, action_key.id()),
            )
        ]