diff --git a/accounts/forms.py b/accounts/forms.py index 114fd9c..e17b4de 100644 --- a/accounts/forms.py +++ b/accounts/forms.py @@ -1,7 +1,7 @@ from django import forms from accounts.models import Accounts -from accounts.utils import LoginHelper +from accounts.utils import LoginHelper, VocationHelper class LoginForm(forms.Form): @@ -18,3 +18,9 @@ class LoginForm(forms.Form): return True else: return False + +class CreateCharacterForm(forms.Form): + name = forms.CharField() + vocation = forms.ChoiceField( + choices=VocationHelper.get_base_vocation_choices()) + sex = forms.ChoiceField(choices=((0, 'female'), (1, 'male'))) \ No newline at end of file diff --git a/accounts/migrations/0002_auto_20190123_1959.py b/accounts/migrations/0002_auto_20190123_1959.py new file mode 100644 index 0000000..d261d2f --- /dev/null +++ b/accounts/migrations/0002_auto_20190123_1959.py @@ -0,0 +1,17 @@ +# Generated by Django 2.1.5 on 2019-01-23 19:59 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('accounts', '0001_initial'), + ] + + operations = [ + migrations.AlterModelOptions( + name='accounts', + options={'managed': True}, + ), + ] diff --git a/accounts/migrations/0003_auto_20190123_2000.py b/accounts/migrations/0003_auto_20190123_2000.py new file mode 100644 index 0000000..6f7800d --- /dev/null +++ b/accounts/migrations/0003_auto_20190123_2000.py @@ -0,0 +1,41 @@ +# Generated by Django 2.1.5 on 2019-01-23 20:00 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('accounts', '0002_auto_20190123_1959'), + ] + + operations = [ + migrations.AddField( + model_name='accounts', + name='linked_django_user', + field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + migrations.AlterField( + model_name='accounts', + name='creation', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='accounts', + name='lastday', + field=models.PositiveIntegerField(default=0), + ), + migrations.AlterField( + model_name='accounts', + name='premdays', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='accounts', + name='type', + field=models.IntegerField(default=1), + ), + ] diff --git a/accounts/migrations/0004_auto_20190123_2214.py b/accounts/migrations/0004_auto_20190123_2214.py new file mode 100644 index 0000000..7e47f31 --- /dev/null +++ b/accounts/migrations/0004_auto_20190123_2214.py @@ -0,0 +1,17 @@ +# Generated by Django 2.1.5 on 2019-01-23 22:14 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('accounts', '0003_auto_20190123_2000'), + ] + + operations = [ + migrations.AlterModelOptions( + name='players', + options={'managed': True}, + ), + ] diff --git a/accounts/migrations/0005_auto_20190123_2225.py b/accounts/migrations/0005_auto_20190123_2225.py new file mode 100644 index 0000000..6a5a858 --- /dev/null +++ b/accounts/migrations/0005_auto_20190123_2225.py @@ -0,0 +1,259 @@ +# Generated by Django 2.1.5 on 2019-01-23 22:25 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('accounts', '0004_auto_20190123_2214'), + ] + + operations = [ + migrations.AddField( + model_name='players', + name='account', + field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.DO_NOTHING, to='accounts.Accounts'), + ), + migrations.AlterField( + model_name='players', + name='balance', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='blessings', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='cap', + field=models.IntegerField(default=400), + ), + migrations.AlterField( + model_name='players', + name='conditions', + field=models.TextField(blank=True, null=True), + ), + migrations.AlterField( + model_name='players', + name='deletion', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='experience', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='group_id', + field=models.IntegerField(default=1), + ), + migrations.AlterField( + model_name='players', + name='health', + field=models.IntegerField(default=150), + ), + migrations.AlterField( + model_name='players', + name='healthmax', + field=models.IntegerField(default=150), + ), + migrations.AlterField( + model_name='players', + name='lastip', + field=models.PositiveIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='lastlogin', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='lastlogout', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='level', + field=models.IntegerField(default=1), + ), + migrations.AlterField( + model_name='players', + name='lookaddons', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='lookbody', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='lookfeet', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='lookhead', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='looklegs', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='looktype', + field=models.IntegerField(default=136), + ), + migrations.AlterField( + model_name='players', + name='maglevel', + field=models.IntegerField(default=1), + ), + migrations.AlterField( + model_name='players', + name='mana', + field=models.IntegerField(default=55), + ), + migrations.AlterField( + model_name='players', + name='manamax', + field=models.IntegerField(default=55), + ), + migrations.AlterField( + model_name='players', + name='manaspent', + field=models.PositiveIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='offlinetraining_skill', + field=models.IntegerField(default=-1), + ), + migrations.AlterField( + model_name='players', + name='offlinetraining_time', + field=models.PositiveSmallIntegerField(default=43200), + ), + migrations.AlterField( + model_name='players', + name='onlinetime', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='save', + field=models.IntegerField(default=1), + ), + migrations.AlterField( + model_name='players', + name='sex', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='skill_axe', + field=models.PositiveIntegerField(default=10), + ), + migrations.AlterField( + model_name='players', + name='skill_axe_tries', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='skill_club', + field=models.PositiveIntegerField(default=10), + ), + migrations.AlterField( + model_name='players', + name='skill_club_tries', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='skill_dist', + field=models.PositiveIntegerField(default=10), + ), + migrations.AlterField( + model_name='players', + name='skill_dist_tries', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='skill_fishing', + field=models.PositiveIntegerField(default=10), + ), + migrations.AlterField( + model_name='players', + name='skill_fishing_tries', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='skill_fist', + field=models.PositiveIntegerField(default=10), + ), + migrations.AlterField( + model_name='players', + name='skill_fist_tries', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='skill_shielding', + field=models.PositiveIntegerField(default=10), + ), + migrations.AlterField( + model_name='players', + name='skill_shielding_tries', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='skill_sword', + field=models.PositiveIntegerField(default=10), + ), + migrations.AlterField( + model_name='players', + name='skill_sword_tries', + field=models.BigIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='skull', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='skulltime', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='soul', + field=models.PositiveIntegerField(default=0), + ), + migrations.AlterField( + model_name='players', + name='stamina', + field=models.PositiveSmallIntegerField(default=2520), + ), + migrations.AlterField( + model_name='players', + name='town_id', + field=models.IntegerField(default=1), + ), + migrations.AlterField( + model_name='players', + name='vocation', + field=models.IntegerField(default=0), + ), + ] diff --git a/accounts/migrations/0006_auto_20190123_2232.py b/accounts/migrations/0006_auto_20190123_2232.py new file mode 100644 index 0000000..7a22459 --- /dev/null +++ b/accounts/migrations/0006_auto_20190123_2232.py @@ -0,0 +1,18 @@ +# Generated by Django 2.1.5 on 2019-01-23 22:32 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('accounts', '0005_auto_20190123_2225'), + ] + + operations = [ + migrations.AlterField( + model_name='players', + name='id', + field=models.AutoField(primary_key=True, serialize=False), + ), + ] diff --git a/accounts/migrations/0007_auto_20190123_2239.py b/accounts/migrations/0007_auto_20190123_2239.py new file mode 100644 index 0000000..f9b5763 --- /dev/null +++ b/accounts/migrations/0007_auto_20190123_2239.py @@ -0,0 +1,23 @@ +# Generated by Django 2.1.5 on 2019-01-23 22:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('accounts', '0006_auto_20190123_2232'), + ] + + operations = [ + migrations.RenameField( + model_name='players', + old_name='save', + new_name='tibia_save', + ), + migrations.AlterField( + model_name='players', + name='tibia_save', + field=models.IntegerField(db_column='save', default=1), + ), + ] diff --git a/accounts/migrations/0008_auto_20190123_2240.py b/accounts/migrations/0008_auto_20190123_2240.py new file mode 100644 index 0000000..cf8117b --- /dev/null +++ b/accounts/migrations/0008_auto_20190123_2240.py @@ -0,0 +1,18 @@ +# Generated by Django 2.1.5 on 2019-01-23 22:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('accounts', '0007_auto_20190123_2239'), + ] + + operations = [ + migrations.AlterField( + model_name='players', + name='conditions', + field=models.TextField(blank=True, default='', null=True), + ), + ] diff --git a/accounts/models.py b/accounts/models.py index 42cedd5..7db2c98 100644 --- a/accounts/models.py +++ b/accounts/models.py @@ -290,62 +290,63 @@ class PlayerStorage(models.Model): class Players(models.Model): + id = models.AutoField(primary_key=True) name = models.CharField(unique=True, max_length=255) - group_id = models.IntegerField() - account = models.ForeignKey(Accounts, models.DO_NOTHING) - level = models.IntegerField() - vocation = models.IntegerField() - health = models.IntegerField() - healthmax = models.IntegerField() - experience = models.BigIntegerField() - lookbody = models.IntegerField() - lookfeet = models.IntegerField() - lookhead = models.IntegerField() - looklegs = models.IntegerField() - looktype = models.IntegerField() - lookaddons = models.IntegerField() - maglevel = models.IntegerField() - mana = models.IntegerField() - manamax = models.IntegerField() - manaspent = models.PositiveIntegerField() - soul = models.PositiveIntegerField() - town_id = models.IntegerField() + group_id = models.IntegerField(default=1) + account = models.ForeignKey(Accounts, models.DO_NOTHING, default=1) + level = models.IntegerField(default=1) + vocation = models.IntegerField(default=0) + health = models.IntegerField(default=150) + healthmax = models.IntegerField(default=150) + experience = models.BigIntegerField(default=0) + lookbody = models.IntegerField(default=0) + lookfeet = models.IntegerField(default=0) + lookhead = models.IntegerField(default=0) + looklegs = models.IntegerField(default=0) + looktype = models.IntegerField(default=136) + lookaddons = models.IntegerField(default=0) + maglevel = models.IntegerField(default=1) + mana = models.IntegerField(default=55) + manamax = models.IntegerField(default=55) + manaspent = models.PositiveIntegerField(default=0) + soul = models.PositiveIntegerField(default=0) + town_id = models.IntegerField(default=1) posx = models.IntegerField() posy = models.IntegerField() posz = models.IntegerField() - conditions = models.TextField() - cap = models.IntegerField() - sex = models.IntegerField() - lastlogin = models.BigIntegerField() - lastip = models.PositiveIntegerField() - save = models.IntegerField() - skull = models.IntegerField() - skulltime = models.IntegerField() - lastlogout = models.BigIntegerField() - blessings = models.IntegerField() - onlinetime = models.IntegerField() - deletion = models.BigIntegerField() - balance = models.BigIntegerField() - offlinetraining_time = models.PositiveSmallIntegerField() - offlinetraining_skill = models.IntegerField() - stamina = models.PositiveSmallIntegerField() - skill_fist = models.PositiveIntegerField() - skill_fist_tries = models.BigIntegerField() - skill_club = models.PositiveIntegerField() - skill_club_tries = models.BigIntegerField() - skill_sword = models.PositiveIntegerField() - skill_sword_tries = models.BigIntegerField() - skill_axe = models.PositiveIntegerField() - skill_axe_tries = models.BigIntegerField() - skill_dist = models.PositiveIntegerField() - skill_dist_tries = models.BigIntegerField() - skill_shielding = models.PositiveIntegerField() - skill_shielding_tries = models.BigIntegerField() - skill_fishing = models.PositiveIntegerField() - skill_fishing_tries = models.BigIntegerField() + conditions = models.TextField(blank=True, null=True, default='') + cap = models.IntegerField(default=400) + sex = models.IntegerField(default=0) + lastlogin = models.BigIntegerField(default=0) + lastip = models.PositiveIntegerField(default=0) + tibia_save = models.IntegerField(default=1, db_column='save') + skull = models.IntegerField(default=0) + skulltime = models.IntegerField(default=0) + lastlogout = models.BigIntegerField(default=0) + blessings = models.IntegerField(default=0) + onlinetime = models.IntegerField(default=0) + deletion = models.BigIntegerField(default=0) + balance = models.BigIntegerField(default=0) + offlinetraining_time = models.PositiveSmallIntegerField(default=43200) + offlinetraining_skill = models.IntegerField(default=-1) + stamina = models.PositiveSmallIntegerField(default=2520) + skill_fist = models.PositiveIntegerField(default=10) + skill_fist_tries = models.BigIntegerField(default=0) + skill_club = models.PositiveIntegerField(default=10) + skill_club_tries = models.BigIntegerField(default=0) + skill_sword = models.PositiveIntegerField(default=10) + skill_sword_tries = models.BigIntegerField(default=0) + skill_axe = models.PositiveIntegerField(default=10) + skill_axe_tries = models.BigIntegerField(default=0) + skill_dist = models.PositiveIntegerField(default=10) + skill_dist_tries = models.BigIntegerField(default=0) + skill_shielding = models.PositiveIntegerField(default=10) + skill_shielding_tries = models.BigIntegerField(default=0) + skill_fishing = models.PositiveIntegerField(default=10) + skill_fishing_tries = models.BigIntegerField(default=0) class Meta: - managed = False + managed = True db_table = 'players' diff --git a/accounts/templates/add_character.html b/accounts/templates/add_character.html new file mode 100644 index 0000000..fefcfcf --- /dev/null +++ b/accounts/templates/add_character.html @@ -0,0 +1,10 @@ +{% extends "base_generic.html" %} + +{% block content %} +