Пример #1
0
    def setUp(self):
        Hero.objects.all().delete()
        self.h1 = Hero(name=u'Książę Karol')
        self.h2 = Hero(name=u'Królowa Karolina')
        self.h1.save()
        self.h2.save()

        reka = ItemSlot(name=u'prawa ręka')
        reka.save()

        self.sword = Item(name=u'Srebrny Miecz', location=reka, min_lvl=0)
        Item.objects.all().delete()
        self.sword.save()
        self.sword.spawn(1, self.h1).save()
Пример #2
0
def registration(request, template_name='main/registration.html'):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            hero = Hero(login=form.cleaned_data['login'],
                        password=form.cleaned_data['password1'],
                        email=form.cleaned_data['email'],
                        sex = form.cleaned_data['sex'])
            hero.save()
            request.session['hero_id'] = hero.id
            return HttpResponseRedirect(reverse('hero'))
    else:
        form = RegistrationForm()

    variables = RequestContext(request, {'form': form})

    return render_to_response(template_name, variables)
Пример #3
0
def registration(request, template_name='main/registration.html'):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            hero = Hero(login=form.cleaned_data['login'],
                        password=form.cleaned_data['password1'],
                        email=form.cleaned_data['email'],
                        sex=form.cleaned_data['sex'])
            hero.save()
            request.session['hero_id'] = hero.id
            return HttpResponseRedirect(reverse('hero'))
    else:
        form = RegistrationForm()

    variables = RequestContext(request, {'form': form})

    return render_to_response(template_name, variables)
Пример #4
0
def update_hero_cache():
    Card.create_cache()
    Hero.create_cache()
    HeroEvolveCosts.create_cache()
    HeroSkill.create_cache()
    Warrior.create_cache()
    WarriorLevel.create_cache()
    HeroLevel.create_cache()
    HeroStarUpgrade.create_cache()
    HeroMaster.create_cache()
    HeroAttribute.create_cache()
    HeroDestiny.create_cache()
    HeroStar.create_cache()
    # HeroTrain.create_cache()
    HeroTeam.create_cache()
    HeroTeamLevel.create_cache()
    HeroBubble.create_cache()
    HeroCombat.create_cache()
Пример #5
0
class TestCase(unittest.TestCase):
    def setUp(self):
        Hero.objects.all().delete()
        self.h1 = Hero(name=u'Książę Karol')
        self.h2 = Hero(name=u'Królowa Karolina')
        self.h1.save()
        self.h2.save()

        reka = ItemSlot(name=u'prawa ręka')
        reka.save()

        self.sword = Item(name=u'Srebrny Miecz', location=reka, min_lvl=0)
        Item.objects.all().delete()
        self.sword.save()
        self.sword.spawn(1, self.h1).save()

    def test_ownership(self):
        foundItems = ItemInstance.objects.filter(owner=self.h1)
        print type(foundItems)
        self.assertEqual(foundItems.count(), 1)
        self.assertEqual(foundItems[0].item.name, u'Srebrny Miecz')
Пример #6
0
 def setUp(self):
     self.malkavian = BloodLine(name="Malkavian", power=8, resistance=8, dexterity=8, perception=9, intelligence=10,
         web=10, artifice=1,
         hp=10, ap=100, speed=100, detection=0, hide=2, trade=0)
     self.malkavian.save()
     self.knight = Profession(name="knight", power_cost=30, resistance_cost=30, dexterity_cost=30,
         perception_cost=30, intelligence_cost=30,
         web_cost=30, artifice_cost=30, detection_cost=10, hide_cost=10, trade_cost=10)
     self.knight.save()
     self.hero = Hero(max_load=100, name="Baron Duck", lvl=200, lvl_points=0, blood_line=self.malkavian,
         profession=self.knight,
         experience=0,
         energy=100, energy_regeneration=30, gold=12345, power=70, resistance=170, dexterity=270, perception=370,
         intelligence=470,
         web=570, artifice=670, hp=770, ap=870, speed=970, detection=1070, hide=1170, trade=1270)
     self.hero.save()
Пример #7
0
class HeroTalents(TestCase):
    def setUp(self):
        self.malkavian = BloodLine(name="Malkavian", power=8, resistance=8, dexterity=8, perception=9, intelligence=10,
            web=10, artifice=1,
            hp=10, ap=100, speed=100, detection=0, hide=2, trade=0)
        self.malkavian.save()
        self.knight = Profession(name="knight", power_cost=30, resistance_cost=30, dexterity_cost=30,
            perception_cost=30, intelligence_cost=30,
            web_cost=30, artifice_cost=30, detection_cost=10, hide_cost=10, trade_cost=10)
        self.knight.save()
        self.hero = Hero(max_load=100, name="Baron Duck", lvl=200, lvl_points=0, blood_line=self.malkavian,
            profession=self.knight,
            experience=0,
            energy=100, energy_regeneration=30, gold=12345, power=70, resistance=170, dexterity=270, perception=370,
            intelligence=470,
            web=570, artifice=670, hp=770, ap=870, speed=970, detection=1070, hide=1170, trade=1270)
        self.hero.save()


    def test_contains(self):
        self.talent1 = Talent(name="Overpower")
        self.talent1.save()
        self.talent2 = Talent(name="Overpower2")
        self.talent2.save()
        self.hero.talents.add(self.talent1)

        self.assertTrue(self.hero.have_talent(self.talent1), "Bohater posiada talent")
        self.assertFalse(self.hero.have_talent(self.talent2), "Bohater nie posiada talentu")


    def test_meets_bloodline_requirament(self):
        self.malkavian2 = BloodLine(name="Malkavian2", power=8, resistance=8, dexterity=8, perception=9,
            intelligence=10, web=10, artifice=1,
            hp=10, ap=100, speed=100, detection=0, hide=2, trade=0)
        self.malkavian2.save()

        self.talent1 = Talent(name="Overpower")
        self.talent1.save()
        self.talent2 = Talent(name="Overpower2", blood_line_requirement=self.malkavian)
        self.talent2.save()
        self.talent3 = Talent(name="Overpower3", blood_line_requirement=self.malkavian2)
        self.talent3.save()

        self.assertTrue(self.hero.meets_bloodline_requirament(self.talent1),
            "Dla talentu z brakiem wymagania lini krwii")
        self.assertTrue(self.hero.meets_bloodline_requirament(self.talent2),
            "Dla talentu z wymaganiem posiadanej lini krwii")
        self.assertFalse(self.hero.meets_bloodline_requirament(self.talent3),
            "Dla talentu z wymaganiem nieposiadanej lini krwii")
Пример #8
0
 def mutate(root, info, input=None):
     ok = True
     hero_instance =\
         Hero(name=input.name, gender=input.gender, mainTeam=input.mainTeam)
     hero_instance.save()
     return CreateHero(ok=ok, hero=hero_instance)
Пример #9
0
def get_hero(pk):
    return Hero.get(int(pk))
Пример #10
0
# coding: utf-8
from armory.models import Weapon
from hero.models import Hero

__author__ = 'episage'

from armory.models import *
from django.core.management import call_command

call_command('reset', 'hero')

rycerz = Hero(name='rycerz tomek')
rycerz.save()

miecz = Weapon(
    name='miecz',
    speed=2,
    hit_bonus=4,
    piercing_dmg=12,
    energetic_dmg=0,
    critical=20
)
miecz.save()
miecze = miecz.spawn(2, rycerz)
miecze.save()

grosz = Money(
    name='Grosz',
    weight=0.00164
)
grosz.save()
Пример #11
0
class HeroUpdateStatistics(TestCase):
    def setUp(self):
        self.malkavian = BloodLine(name="Malkavian", power=8, resistance=8, dexterity=8, perception=9, intelligence=10,
            web=10, artifice=1,
            hp=10, ap=100, speed=100, detection=0, hide=2, trade=0)
        self.malkavian.save()
        self.knight = Profession(name="knight", power_cost=30, resistance_cost=30, dexterity_cost=30,
            perception_cost=30, intelligence_cost=30,
            web_cost=30, artifice_cost=30, detection_cost=10, hide_cost=10, trade_cost=10)
        self.knight.save()
        self.hero = Hero(max_load=100, name="Baron Duck", lvl=200, lvl_points=0, blood_line=self.malkavian,
            profession=self.knight,
            experience=0,
            energy=100, energy_regeneration=30, gold=12345, power=70, resistance=170, dexterity=270, perception=370,
            intelligence=470,
            web=570, artifice=670, hp=770, ap=870, speed=970, detection=1070, hide=1170, trade=1270)
        self.hero.save()


    def test_one_effect(self):
        self.hero.talents.create(name="Overpower")
        self.hero.talents.all()[0].effects.create(value=10, variable=1, percent=False, where_works=1)
        self.assertEqual(self.hero.power + 10, self.hero.get_updated_statistic(1))


    def test_many_effect(self):
        self.hero.talents.create(name="Overpower")
        talent = self.hero.talents.all()[0]
        talent.effects.create(value=10, variable=1, percent=False, where_works=1)
        talent.effects.create(value=20, variable=1, percent=False, where_works=1)
        talent.effects.create(value=15, variable=1, percent=True, where_works=1)
        talent.effects.create(value=25, variable=1, percent=True, where_works=1)
        talent.effects.create(value=1000, variable=2, percent=False, where_works=1)
        talent.effects.create(value=1000, variable=1, percent=False, where_works=2)
        self.assertEqual((self.hero.power + 30) * 1.4, self.hero.get_updated_statistic(1))


    def test_many_talents(self):
        talents_set = set()
        add_number = 10
        for i in range(1, add_number + 1):
            talent = Talent(name="talent " + str(i))
            talent.save()
            talent.effects.create(value=1, variable=1, percent=False, where_works=1)
            self.hero.talents.add(talent)
        self.assertEqual(self.hero.power + add_number, self.hero.get_updated_statistic(1))


    def test_many_talents_many_effects(self):
        talents_set = set()
        add_number = 10
        for i in range(1, add_number + 1):
            talent = Talent(name="talent " + str(i))
            talent.save()
            talent.effects.create(value=1, variable=1, percent=False, where_works=1)
            talent.effects.create(value=2, variable=1, percent=False, where_works=1)
            talent.effects.create(value=3, variable=1, percent=True, where_works=1)
            talent.effects.create(value=4, variable=1, percent=True, where_works=1)
            self.hero.talents.add(talent)
        self.assertEqual((self.hero.power + 3 * add_number) * 1.7, self.hero.get_updated_statistic(1))


        def test_min_border(self):
            self.hero.talents.all()[0].effects.create(value=-self.hero.power, variable=1, percent=False, where_works=1)
            self.assertEqual(1, self.hero.get_updated_statistic(1))