예제 #1
0
def _open_hero(char_id, hero_oid, **kwargs):
    drop1 = ActivityEntry(char_id, 9001).get_additional_drop()
    drop2 = ActivityEntry(char_id, 13001).get_additional_drop()

    drop = merge_drop([drop1, drop2])
    if is_empty_drop(drop):
        return

    resource = Resource(char_id, "HeroPanel open")
    resource.add(**drop)
예제 #2
0
def _open_hero(char_id, hero_oid, sycee, **kwargs):
    drop1 = ActivityEntry(char_id, 9001).get_additional_drop()
    drop2 = ActivityEntry(char_id, 13001).get_additional_drop()

    drop = merge_drop([drop1, drop2])
    if not is_empty_drop(drop):
        resource = Resource(char_id, "HeroPanel open")
        resource.add(**drop)

    if sycee:
        TimesLogGetHeroBySycee(char_id).inc()
예제 #3
0
def _open_hero(char_id, hero_oid, sycee, **kwargs):
    drop1 = ActivityEntry(char_id, 9001).get_additional_drop()
    drop2 = ActivityEntry(char_id, 13001).get_additional_drop()

    drop = merge_drop([drop1, drop2])
    if not is_empty_drop(drop):
        resource = Resource(char_id, "HeroPanel open")
        resource.add(**drop)

    if sycee:
        TimesLogGetHeroBySycee(char_id).inc()
예제 #4
0
    def get_sutff_drop(cls, _id):
        # 获得宝箱中的 drop
        from core.attachment import get_drop, is_empty_drop, make_standard_drop_from_template

        s = STUFFS[_id]
        packages = s.packages
        if not packages:
            return make_standard_drop_from_template()

        package_ids = [int(i) for i in packages.split(',')]
        prepare_drop = get_drop(package_ids)
        if is_empty_drop(prepare_drop) and s.default_package:
            package_ids = [s.default_package]
            prepare_drop = get_drop(package_ids)

        return prepare_drop
예제 #5
0
    def get_sutff_drop(cls, _id):
        # 获得宝箱中的 drop
        from core.attachment import get_drop, is_empty_drop, make_standard_drop_from_template

        s = STUFFS[_id]
        packages = s.packages
        if not packages:
            return make_standard_drop_from_template()

        package_ids = [int(i) for i in packages.split(',')]
        prepare_drop = get_drop(package_ids)
        if is_empty_drop(prepare_drop) and s.default_package:
            package_ids = [s.default_package]
            prepare_drop = get_drop(package_ids)

        return prepare_drop
예제 #6
0
    def stuff_use(self, _id, amount):
        from core.attachment import standard_drop_to_attachment_protomsg, is_empty_drop, merge_drop
        from core.resource import Resource
        try:
            s = STUFFS[_id]
        except KeyError:
            raise SanguoException(
                errormsg.STUFF_NOT_EXIST,
                self.char_id,
                "Stuff Use",
                "stuff {0} not exist".format(_id)
            )

        # XXX
        if s.tp != 3:
            raise SanguoException(
                errormsg.STUFF_CAN_NOT_USE,
                self.char_id,
                "Stuff Use",
                "stuff {0} tp is {1}. Can not use".format(_id, s.tp)
            )

        # XXX 忽略amount,只能一个一个用
        self.stuff_remove(_id, amount)

        # 活动 10001
        additional_drop_1 = ActivityEntry(self.char_id, 10001).get_additional_drop(_id)
        additional_drop_2 = ActivityEntry(self.char_id, 12001).get_additional_drop(_id)
        additional_drop_3 = ActivityEntry(self.char_id, 15001).get_additional_drop(_id)

        prepare_drop = self.get_sutff_drop(_id)
        drop = merge_drop([prepare_drop, additional_drop_1, additional_drop_2, additional_drop_3])
        if is_empty_drop(drop):
            return None

        resource = Resource(self.char_id, "Stuff Use", "use {0}".format(_id))
        standard_drop = resource.add(**drop)
        return standard_drop_to_attachment_protomsg(standard_drop)
예제 #7
0
    def stuff_use(self, _id, amount):
        from core.attachment import standard_drop_to_attachment_protomsg, is_empty_drop, merge_drop
        from core.resource import Resource
        try:
            s = STUFFS[_id]
        except KeyError:
            raise SanguoException(errormsg.STUFF_NOT_EXIST, self.char_id,
                                  "Stuff Use",
                                  "stuff {0} not exist".format(_id))

        # XXX
        if s.tp != 3:
            raise SanguoException(
                errormsg.STUFF_CAN_NOT_USE, self.char_id, "Stuff Use",
                "stuff {0} tp is {1}. Can not use".format(_id, s.tp))

        # XXX 忽略amount,只能一个一个用
        self.stuff_remove(_id, amount)

        # 活动 10001
        additional_drop_1 = ActivityEntry(self.char_id,
                                          10001).get_additional_drop(_id)
        additional_drop_2 = ActivityEntry(self.char_id,
                                          12001).get_additional_drop(_id)
        additional_drop_3 = ActivityEntry(self.char_id,
                                          15001).get_additional_drop(_id)

        prepare_drop = self.get_sutff_drop(_id)
        drop = merge_drop([
            prepare_drop, additional_drop_1, additional_drop_2,
            additional_drop_3
        ])
        if is_empty_drop(drop):
            return None

        resource = Resource(self.char_id, "Stuff Use", "use {0}".format(_id))
        standard_drop = resource.add(**drop)
        return standard_drop_to_attachment_protomsg(standard_drop)
예제 #8
0
    def stuff_use(self, _id, amount):
        from core.attachment import get_drop, standard_drop_to_attachment_protomsg, is_empty_drop
        from core.resource import Resource
        try:
            s = STUFFS[_id]
        except KeyError:
            raise SanguoException(
                errormsg.STUFF_NOT_EXIST,
                self.char_id,
                "Stuff Use",
                "stuff {0} not exist".format(_id)
            )

        # XXX
        if s.tp != 3:
            raise SanguoException(
                errormsg.STUFF_CAN_NOT_USE,
                self.char_id,
                "Stuff Use",
                "stuff {0} tp is {1}. Can not use".format(_id, s.tp)
            )

        # XXX 忽略amount,只能一个一个用
        self.stuff_remove(_id, amount)

        packages = s.packages
        if not packages:
            return None

        package_ids = [int(i) for i in packages.split(',')]
        prepare_drop = get_drop(package_ids)
        if is_empty_drop(prepare_drop) and s.default_package:
            package_ids = [s.default_package]
            prepare_drop = get_drop(package_ids)

        resource = Resource(self.char_id, "Stuff Use", "use {0}".format(_id))
        standard_drop = resource.add(**prepare_drop)
        return standard_drop_to_attachment_protomsg(standard_drop)