• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python prototypes.MobRecordPrototype类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中the_tale.game.mobs.prototypes.MobRecordPrototype的典型用法代码示例。如果您正苦于以下问题:Python MobRecordPrototype类的具体用法?Python MobRecordPrototype怎么用?Python MobRecordPrototype使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了MobRecordPrototype类的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: setUp

    def setUp(self):
        super(MobsStorageTests, self).setUp()
        create_test_map()

        self.mob_1, self.mob_2, self.mob_3 = mobs_storage.all()

        self.mob_1.type = MOB_TYPE.CIVILIZED
        self.mob_1.save()

        self.mob_2.type = MOB_TYPE.BARBARIAN
        self.mob_2.save()

        self.mob_3.type = MOB_TYPE.CIVILIZED
        self.mob_3.save()

        self.bandit = MobRecordPrototype.create(uuid='bandit',
                                                level=1,
                                                utg_name=names.generator.get_test_name(name='bandint'),
                                                description='description',
                                                abilities=['hit'],
                                                terrains=[TERRAIN.PLANE_SAND],
                                                type=MOB_TYPE.CIVILIZED,
                                                state=MOB_RECORD_STATE.ENABLED)
        self.bandint_wrong = MobRecordPrototype.create(uuid='bandit_wrong',
                                                       level=1,
                                                       utg_name=names.generator.get_test_name(name='bandit_wrong'),
                                                       description='bandit_wrong description',
                                                       abilities=['hit'],
                                                       terrains=[TERRAIN.PLANE_SAND],
                                                       type=MOB_TYPE.CIVILIZED,
                                                       state=MOB_RECORD_STATE.DISABLED)
开发者ID:Alkalit,项目名称:the-tale,代码行数:31,代码来源:test_storage.py


示例2: test_choose_mob__when_actions__total_actions

    def test_choose_mob__when_actions__total_actions(self):
        account = self.accounts_factory.create_account()
        hero = heroes_logic.load_hero(account_id=account.id)

        MobRecordPrototype.create_random('action_1', global_action_probability=0.66)
        MobRecordPrototype.create_random('action_2', global_action_probability=0.66)

        counter = collections.Counter([mobs_storage.get_random_mob(hero).id for i in range(10000)])

        self.assertEqual(sum([count for uuid, count in counter.items() if uuid not in ('action_1', 'action_2')], 0), 0)

        self.assertTrue(abs(counter['action_2'] - counter['action_1']) < 0.2 * counter['action_2'])
开发者ID:,项目名称:,代码行数:12,代码来源:


示例3: test_choose_mob__when_actions__total_actions

    def test_choose_mob__when_actions__total_actions(self):
        result, account_id, bundle_id = register_user('test_user_1', '[email protected]', '111111')
        hero = HeroPrototype.get_by_account_id(account_id)

        MobRecordPrototype.create_random('action_1', global_action_probability=0.66)
        MobRecordPrototype.create_random('action_2', global_action_probability=0.66)

        counter = collections.Counter([mobs_storage.get_random_mob(hero).id for i in xrange(10000)])

        self.assertEqual(sum([count for uuid, count in counter.iteritems() if uuid not in ('action_1', 'action_2')], 0), 0)

        self.assertTrue(abs(counter['action_2'] - counter['action_1']) < 0.2 * counter['action_2'])
开发者ID:Alkalit,项目名称:the-tale,代码行数:12,代码来源:test_storage.py


示例4: test_choose_mob__when_actions

    def test_choose_mob__when_actions(self):
        account = self.accounts_factory.create_account()
        hero = heroes_logic.load_hero(account_id=account.id)

        MobRecordPrototype.create_random("action_1", global_action_probability=0.25)
        MobRecordPrototype.create_random("action_2", global_action_probability=0.10)

        counter = collections.Counter([mobs_storage.get_random_mob(hero).id for i in xrange(1000)])

        non_actions_count = sum(count for uuid, count in counter.iteritems() if uuid not in ("action_1", "action_2"))

        self.assertTrue(counter["action_2"] < counter["action_1"] < non_actions_count)
开发者ID:Jazzis18,项目名称:the-tale,代码行数:12,代码来源:test_storage.py


示例5: test_generate_artifact

    def test_generate_artifact(self):
        from the_tale.game.mobs.prototypes import MobPrototype, MobRecordPrototype

        self.hero.level = 5

        mob_record = MobRecordPrototype.create_random(uuid='bandit', level=2, state=mobs_relations.MOB_RECORD_STATE.ENABLED)
        mob = MobPrototype(record_id=mob_record.id, level=3)
        artifact_1 = ArtifactRecordPrototype.create_random('bandit_loot', mob=mob_record, type_=relations.ARTIFACT_TYPE.USELESS, state=relations.ARTIFACT_RECORD_STATE.ENABLED)
        artifact_2 = ArtifactRecordPrototype.create_random('bandit_artifact', mob=mob_record, type_=relations.ARTIFACT_TYPE.HELMET, state=relations.ARTIFACT_RECORD_STATE.ENABLED)

        with mock.patch('the_tale.game.heroes.objects.Hero.artifacts_probability', lambda self, mob: 1.0):
            with mock.patch('the_tale.game.heroes.objects.Hero.loot_probability', lambda self, mob: 1.0):
                artifact = artifacts_storage.generate_loot(self.hero, mob)

        self.assertEqual(artifact.level, mob.level)
        self.assertFalse(artifact.type.is_USELESS)
        self.assertEqual(artifact_2.id, artifact.record.id)

        with mock.patch('the_tale.game.heroes.objects.Hero.artifacts_probability', lambda self, mob: 0.0):
            with mock.patch('the_tale.game.heroes.objects.Hero.loot_probability', lambda self, mob: 1.0):
                artifact = artifacts_storage.generate_loot(self.hero, mob)
        self.assertEqual(artifact.level, mob.record.level)
        self.assertTrue(artifact.type.is_USELESS)
        self.assertEqual(artifact_1.id, artifact.record.id)

        with mock.patch('the_tale.game.heroes.objects.Hero.artifacts_probability', lambda self, mob: 0.0):
            with mock.patch('the_tale.game.heroes.objects.Hero.loot_probability', lambda self, mob: 0.0):
                self.assertEqual(artifacts_storage.generate_loot(self.hero, mob), None)
开发者ID:,项目名称:,代码行数:28,代码来源:


示例6: test_linguistics_restrictions_on_create

    def test_linguistics_restrictions_on_create(self):
        with mock.patch('the_tale.linguistics.logic.sync_restriction') as sync_restriction:
            mob = MobRecordPrototype.create_random(uuid='bandit', state=MOB_RECORD_STATE.DISABLED)

        self.assertEqual(sync_restriction.call_args_list, [mock.call(group=linguistics_relations.TEMPLATE_RESTRICTION_GROUP.MOB,
                                                                     external_id=mob.id,
                                                                     name=mob.name)])
开发者ID:Alkalit,项目名称:the-tale,代码行数:7,代码来源:test_prototypes.py


示例7: test_generate_artifact__rarity

    def test_generate_artifact__rarity(self):
        from the_tale.game.mobs.prototypes import MobPrototype, MobRecordPrototype

        self.hero.level = 5

        mob_record = MobRecordPrototype.create_random(
            uuid="bandit", level=2, state=mobs_relations.MOB_RECORD_STATE.ENABLED
        )
        mob = MobPrototype(record_id=mob_record.id, level=3)
        ArtifactRecordPrototype.create_random(
            "bandit_artifact",
            mob=mob_record,
            type_=relations.ARTIFACT_TYPE.HELMET,
            state=relations.ARTIFACT_RECORD_STATE.ENABLED,
        )

        with mock.patch(
            "the_tale.game.artifacts.storage.ArtifactsStorage.get_rarity_type",
            lambda self, hero: relations.RARITY.NORMAL,
        ):
            artifact = artifacts_storage.generate_loot(self.hero, mob)
            self.assertTrue(artifact.rarity.is_NORMAL)

        with mock.patch(
            "the_tale.game.artifacts.storage.ArtifactsStorage.get_rarity_type", lambda self, hero: relations.RARITY.RARE
        ):
            artifact = artifacts_storage.generate_loot(self.hero, mob)
            self.assertTrue(artifact.rarity.is_RARE)

        with mock.patch(
            "the_tale.game.artifacts.storage.ArtifactsStorage.get_rarity_type", lambda self, hero: relations.RARITY.EPIC
        ):
            artifact = artifacts_storage.generate_loot(self.hero, mob)
            self.assertTrue(artifact.rarity.is_EPIC)
开发者ID:Jazzis18,项目名称:the-tale,代码行数:34,代码来源:test_prototypes.py


示例8: test_mob_attributes

    def test_mob_attributes(self):
        MobRecordPrototype.create(uuid='bandit',
                                  level=1,
                                  utg_name=names.generator.get_test_name(name='bandit'),
                                  description='bandint',
                                  abilities=['hit', 'thick', 'slow', 'extra_strong'],
                                  terrains=TERRAIN.records,
                                  type=MOB_TYPE.CIVILIZED,
                                  archetype=game_relations.ARCHETYPE.NEUTRAL,
                                  state=MOB_RECORD_STATE.ENABLED)
        mobs_storage.sync(force=True)

        bandit = MobPrototype(record_id=mobs_storage.get_by_uuid('bandit').id, level=1)

        self.assertEqual(bandit.health_cooficient, 1.025)
        self.assertEqual(bandit.initiative, 0.975)
        self.assertEqual(bandit.damage_modifier, 1.05)
开发者ID:Alkalit,项目名称:the-tale,代码行数:17,代码来源:test_prototypes.py


示例9: test_mobs_without_artifacts

    def test_mobs_without_artifacts(self):
        self.request_login('[email protected]')

        from the_tale.game.mobs.prototypes import MobRecordPrototype
        from the_tale.game.artifacts.prototypes import ArtifactRecordPrototype

        mob_without_loot = MobRecordPrototype.create_random('mob_without_loot')
        mob_without_artifact = MobRecordPrototype.create_random('mob_without_artifact')
        mob_without_loot_on_first_level = MobRecordPrototype.create_random('mob_without_loot_on_first_level')
        mob_without_artifact_on_firs_level = MobRecordPrototype.create_random('mob_without_artifact_on_firs_level')

        ArtifactRecordPrototype.create_random('not_first_loot', mob=mob_without_loot_on_first_level, level=mob_without_loot_on_first_level.level+1)
        ArtifactRecordPrototype.create_random('not_first_artifact', mob=mob_without_artifact_on_firs_level, level=mob_without_artifact_on_firs_level.level+1)

        self.check_html_ok(self.request_html(reverse('portal:developers-info:mobs-and-artifacts')), texts=[mob_without_loot.name,
                                                                                                         mob_without_artifact.name,
                                                                                                         mob_without_loot_on_first_level.name,
                                                                                                         mob_without_artifact_on_firs_level.name])
开发者ID:Alkalit,项目名称:the-tale,代码行数:18,代码来源:test_request.py


示例10: test_linguistics_restrictions_update_on_save

    def test_linguistics_restrictions_update_on_save(self):
        mob = MobRecordPrototype.create_random(uuid='bandit', state=MOB_RECORD_STATE.DISABLED)
        mob.set_utg_name(names.generator().get_test_name('new-name'))

        with mock.patch('the_tale.linguistics.logic.sync_restriction') as sync_restriction:
            mob.save()

        self.assertEqual(sync_restriction.call_args_list, [mock.call(group=linguistics_relations.TEMPLATE_RESTRICTION_GROUP.MOB,
                                                                     external_id=mob.id,
                                                                     name=mob.name)])
开发者ID:,项目名称:,代码行数:10,代码来源:


示例11: create_test_map

def create_test_map():
    linguistics_logic.sync_static_restrictions()

    map_logic.create_test_my_info()

    p1 = PlacePrototype.create( x=1, y=1, size=1, utg_name=names.generator.get_test_name(name='1x1'))
    p2 = PlacePrototype.create( x=3, y=3, size=3, utg_name=names.generator.get_test_name(name='10x10'))
    p3 = PlacePrototype.create( x=1, y=3, size=3, utg_name=names.generator.get_test_name(name='1x10'))

    for place in places_storage.all():
        place.sync_persons(force_add=True)

    RoadPrototype.create(point_1=p1, point_2=p2).update()
    RoadPrototype.create(point_1=p2, point_2=p3).update()

    update_waymarks()

    update_nearest_cells()

    mob_1 = MobRecordPrototype.create_random('mob_1')
    mob_2 = MobRecordPrototype.create_random('mob_2')
    mob_3 = MobRecordPrototype.create_random('mob_3')

    ArtifactRecordPrototype.create_random('loot_1', mob=mob_1)
    ArtifactRecordPrototype.create_random('loot_2', mob=mob_2)
    ArtifactRecordPrototype.create_random('loot_3', mob=mob_3)

    ArtifactRecordPrototype.create_random('helmet_1', type_=ARTIFACT_TYPE.HELMET, mob=mob_1)
    ArtifactRecordPrototype.create_random('plate_1', type_=ARTIFACT_TYPE.PLATE, mob=mob_2)
    ArtifactRecordPrototype.create_random('boots_1', type_=ARTIFACT_TYPE.BOOTS, mob=mob_3)

    ArtifactRecordPrototype.create_random(DEFAULT_HERO_EQUIPMENT.PANTS, type_=ARTIFACT_TYPE.PANTS)
    ArtifactRecordPrototype.create_random(DEFAULT_HERO_EQUIPMENT.BOOTS, type_=ARTIFACT_TYPE.BOOTS)
    ArtifactRecordPrototype.create_random(DEFAULT_HERO_EQUIPMENT.PLATE, type_=ARTIFACT_TYPE.PLATE)
    ArtifactRecordPrototype.create_random(DEFAULT_HERO_EQUIPMENT.GLOVES, type_=ARTIFACT_TYPE.GLOVES)
    ArtifactRecordPrototype.create_random(DEFAULT_HERO_EQUIPMENT.WEAPON, type_=ARTIFACT_TYPE.MAIN_HAND)

    companions_logic.create_random_companion_record('companion_1', dedication=companions_relations.DEDICATION.HEROIC, state=companions_relations.STATE.ENABLED)
    companions_logic.create_random_companion_record('companion_2', dedication=companions_relations.DEDICATION.BOLD, state=companions_relations.STATE.ENABLED)
    companions_logic.create_random_companion_record('companion_3', dedication=companions_relations.DEDICATION.BOLD, state=companions_relations.STATE.DISABLED)

    return p1, p2, p3
开发者ID:alexudracul,项目名称:the-tale,代码行数:42,代码来源:logic.py


示例12: create_test_map

def create_test_map():
    linguistics_logic.sync_static_restrictions()

    map_logic.create_test_map_info()

    p1 = places_logic.create_place( x=1, y=1, size=1, utg_name=names.generator().get_test_name(name='1x1'), race=relations.RACE.HUMAN)
    p2 = places_logic.create_place( x=3, y=3, size=3, utg_name=names.generator().get_test_name(name='10x10'), race=relations.RACE.HUMAN)
    p3 = places_logic.create_place( x=1, y=3, size=3, utg_name=names.generator().get_test_name(name='1x10'), race=relations.RACE.HUMAN)

    for place in places_storage.places.all():
        for i in range(3):
            places_logic.add_person_to_place(place)

    RoadPrototype.create(point_1=p1, point_2=p2).update()
    RoadPrototype.create(point_1=p2, point_2=p3).update()

    update_waymarks()

    nearest_cells.update_nearest_cells()

    mob_1 = MobRecordPrototype.create_random('mob_1')
    mob_2 = MobRecordPrototype.create_random('mob_2')
    mob_3 = MobRecordPrototype.create_random('mob_3')

    ArtifactRecordPrototype.create_random('loot_1', mob=mob_1)
    ArtifactRecordPrototype.create_random('loot_2', mob=mob_2)
    ArtifactRecordPrototype.create_random('loot_3', mob=mob_3)

    ArtifactRecordPrototype.create_random('helmet_1', type_=ARTIFACT_TYPE.HELMET, mob=mob_1)
    ArtifactRecordPrototype.create_random('plate_1', type_=ARTIFACT_TYPE.PLATE, mob=mob_2)
    ArtifactRecordPrototype.create_random('boots_1', type_=ARTIFACT_TYPE.BOOTS, mob=mob_3)

    for equipment_slot in heroes_relations.EQUIPMENT_SLOT.records:
        if equipment_slot.default:
            ArtifactRecordPrototype.create_random(equipment_slot.default, type_=equipment_slot.artifact_type)

    companions_logic.create_random_companion_record('companion_1', dedication=companions_relations.DEDICATION.HEROIC, state=companions_relations.STATE.ENABLED)
    companions_logic.create_random_companion_record('companion_2', dedication=companions_relations.DEDICATION.BOLD, state=companions_relations.STATE.ENABLED)
    companions_logic.create_random_companion_record('companion_3', dedication=companions_relations.DEDICATION.BOLD, state=companions_relations.STATE.DISABLED)

    return p1, p2, p3
开发者ID:,项目名称:,代码行数:41,代码来源:


示例13: construct_mob_with_abilities

    def construct_mob_with_abilities(abilities, index):
        from the_tale.game.mobs.prototypes import MobRecordPrototype
        from the_tale.game.mobs.relations import MOB_RECORD_STATE

        uuid = 'test_mob %d' % index
        mob_record =  MobRecordPrototype.create(uuid,
                                                level=1,
                                                utg_name=names.generator.get_test_name(uuid),
                                                description='',
                                                abilities=abilities,
                                                terrains=[],
                                                type=game_relations.BEING_TYPE.CIVILIZED,
                                                state=MOB_RECORD_STATE.ENABLED)
        return MobPrototype(level=1, record_id=mob_record.id)
开发者ID:alexudracul,项目名称:the-tale,代码行数:14,代码来源:test_habilities_attributes.py


示例14: setUp

    def setUp(self):
        super(MobsStorageTests, self).setUp()
        create_test_map()

        self.mob_1, self.mob_2, self.mob_3 = mobs_storage.all()

        self.mob_1.type = game_relations.BEING_TYPE.CIVILIZED
        self.mob_1.save()

        self.mob_2.type = game_relations.BEING_TYPE.CIVILIZED
        self.mob_2.is_mercenary = False
        self.mob_2.save()

        self.mob_3.type = game_relations.BEING_TYPE.CIVILIZED
        self.mob_3.save()

        self.bandit = MobRecordPrototype.create(
            uuid="bandit",
            level=1,
            utg_name=names.generator.get_test_name(name="bandint"),
            description="description",
            abilities=["hit"],
            terrains=[map_relations.TERRAIN.PLANE_SAND],
            type=game_relations.BEING_TYPE.CIVILIZED,
            state=MOB_RECORD_STATE.ENABLED,
        )
        self.bandint_wrong = MobRecordPrototype.create(
            uuid="bandit_wrong",
            level=1,
            utg_name=names.generator.get_test_name(name="bandit_wrong"),
            description="bandit_wrong description",
            abilities=["hit"],
            terrains=[map_relations.TERRAIN.PLANE_SAND],
            type=game_relations.BEING_TYPE.CIVILIZED,
            state=MOB_RECORD_STATE.DISABLED,
        )
开发者ID:Jazzis18,项目名称:the-tale,代码行数:36,代码来源:test_storage.py


示例15: test_generate_artifact__rarity_with_normal_probabilities

    def test_generate_artifact__rarity_with_normal_probabilities(self):
        from the_tale.game.mobs.prototypes import MobPrototype, MobRecordPrototype

        self.hero.level = 5

        mob_record = MobRecordPrototype.create_random(uuid='bandit', level=2, state=mobs_relations.MOB_RECORD_STATE.ENABLED)
        mob = MobPrototype(record_id=mob_record.id, level=3)
        ArtifactRecordPrototype.create_random('bandit_artifact', mob=mob_record, type_=relations.ARTIFACT_TYPE.HELMET, state=relations.ARTIFACT_RECORD_STATE.ENABLED)

        rarities = set()

        for i in range(10000):
            artifact = artifacts_storage.generate_loot(self.hero, mob)
            rarities.add(artifact.rarity)

        self.assertEqual(rarities, set(relations.RARITY.records))
开发者ID:,项目名称:,代码行数:16,代码来源:


示例16: test_storage_version_update_on_create

 def test_storage_version_update_on_create(self):
     old_version = mobs_storage.version
     MobRecordPrototype.create_random(uuid="bandit", state=MOB_RECORD_STATE.DISABLED)
     self.assertNotEqual(old_version, mobs_storage.version)
开发者ID:lshestov,项目名称:the-tale,代码行数:4,代码来源:test_prototypes.py


示例17: to_ability

from the_tale.linguistics.forms import WordField

from the_tale.game.map.relations import TERRAIN

from the_tale.game import relations as game_relations

from the_tale.game.heroes.habilities import ABILITIES
from the_tale.game.heroes.habilities.battle import HIT

from the_tale.game.mobs.prototypes import MobRecordPrototype


def to_ability(ability_id):
    return ABILITIES[ability_id]

ABILITY_CHOICES_DICT = dict( (ability.get_id(), ability.NAME) for ability in MobRecordPrototype.get_available_abilities() )

ABILITY_CHOICES = sorted(ABILITY_CHOICES_DICT.items(), key=lambda choice: choice[1])

MOB_TYPE_CHOICES = sorted(game_relations.BEING_TYPE.choices(), key=lambda choice: choice[1])


class MobRecordBaseForm(forms.Form):

    level = fields.IntegerField(label='минимальный уровень')

    name = WordField(word_type=utg_relations.WORD_TYPE.NOUN, label='Название')

    type = fields.TypedChoiceField(label='тип', choices=MOB_TYPE_CHOICES, coerce=game_relations.BEING_TYPE.get_from_name)
    archetype = fields.TypedChoiceField(label='тип', choices=game_relations.ARCHETYPE.choices(), coerce=game_relations.ARCHETYPE.get_from_name)
开发者ID:,项目名称:,代码行数:30,代码来源:


示例18: test_save__not_stored_mob

    def test_save__not_stored_mob(self):
        mob = MobRecordPrototype.get_by_id(mobs_storage.all()[0].id)

        self.assertRaises(exceptions.SaveNotRegisteredMobError, mob.save)
开发者ID:Alkalit,项目名称:the-tale,代码行数:4,代码来源:test_prototypes.py


示例19: test_storage_version_update_on_save

 def test_storage_version_update_on_save(self):
     mob = MobRecordPrototype.create_random(uuid='bandit', state=MOB_RECORD_STATE.DISABLED)
     old_version = mobs_storage.version
     mob.save()
     self.assertNotEqual(old_version, mobs_storage.version)
开发者ID:Alkalit,项目名称:the-tale,代码行数:5,代码来源:test_prototypes.py



注:本文中的the_tale.game.mobs.prototypes.MobRecordPrototype类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python names.generator函数代码示例发布时间:2022-05-27
下一篇:
Python logic_storage.LogicStorage类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap