Flipped it over! Now weapons, armor, merits, specialities etc. belong to specific characters

This commit is contained in:
tcaxle 2020-04-11 18:07:22 +01:00
parent 5c92a1fa53
commit 3d9ba0d598
39 changed files with 1441 additions and 1272 deletions

Binary file not shown.

View File

@ -21,6 +21,6 @@ admin.site.register(speciality)
admin.site.register(intimacyTie)
admin.site.register(intimacyPrincipal)
admin.site.register(characterMortal)
admin.site.register(characterBase)
admin.site.register(characterExaltSolar)
admin.site.register(characterExaltLunar)

View File

@ -1,4 +1,4 @@
# Generated by Django 3.0.5 on 2020-04-11 01:58
# Generated by Django 3.0.5 on 2020-04-11 14:59
import app.models
from django.db import migrations, models
@ -12,43 +12,12 @@ class Migration(migrations.Migration):
]
operations = [
migrations.CreateModel(
name='characterExaltLunar',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='characterExaltSolar',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='characterMortal',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='charm',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
),
migrations.CreateModel(
name='intimacyPrincipal',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('description', app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description')),
('intensity', app.models.SingleChoiceField(blank=True, choices=[('MINOR', 'Minor'), ('MAJOR', 'Major'), ('DEFINING', 'Defining')], max_length=100, verbose_name='Intensity')),
],
options={
'abstract': False,
@ -58,6 +27,9 @@ class Migration(migrations.Migration):
name='intimacyTie',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('description', app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description')),
('intensity', app.models.SingleChoiceField(blank=True, choices=[('MINOR', 'Minor'), ('MAJOR', 'Major'), ('DEFINING', 'Defining')], max_length=100, verbose_name='Intensity')),
('target', app.models.NamedCharField(max_length=100, verbose_name='Target')),
],
options={
'abstract': False,
@ -75,11 +47,17 @@ class Migration(migrations.Migration):
},
),
migrations.CreateModel(
name='itemAmor',
name='itemArmor',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', app.models.NameField(max_length=100, verbose_name='Name')),
('description', app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description')),
('category', app.models.SingleChoiceField(blank=True, choices=[('L', 'Light'), ('M', 'Medium'), ('H', 'Heavy')], max_length=100, verbose_name='Category')),
('tags', app.models.MultiChoiceField(blank=True, choices=[('BUOYANT', 'Buoyant'), ('CONCEALABLE', 'Concealable'), ('SILENT', 'Silent')], max_length=100, verbose_name='Tags')),
('soak', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Soak')),
('hardness', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Hardness')),
('mobilityPenalty', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Mobility Penalty')),
('attunement', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Attunement')),
],
options={
'abstract': False,
@ -91,6 +69,13 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', app.models.NameField(max_length=100, verbose_name='Name')),
('description', app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description')),
('category', app.models.SingleChoiceField(blank=True, choices=[('L', 'Light'), ('M', 'Medium'), ('H', 'Heavy')], max_length=100, verbose_name='Category')),
('tags', app.models.MultiChoiceField(blank=True, choices=[('General', (('ONE HANDED', 'One Handed'), ('TWO HANDED', 'Two Handed'), ('BASHING', 'Bashing'), ('CONCEALABLE', 'Concealable'), ('LETHAL', 'Lethal'), ('MOUNTED', 'Mounted'), ('PIERCING', 'Piercing'), ('SPECIAL', 'Special'))), ('Melee', (('MELEE', 'Melee'), ('BALANCED', 'Balanced'), ('BRAWL', 'Brawl'), ('CHOPPING', 'Chopping'), ('DISARMING', 'Disarming'), ('FLEXIBLE', 'Flexible'), ('IMPROVISED', 'Improvised'), ('GRAPPLING', 'Grappling'), ('MARTIAL ARTS', 'Martial Arts'), ('NATURAL', 'Natural'), ('REACHING', 'Reaching'), ('SHIELD', 'Shield'), ('SMASHING', 'Smashing'), ('WORN', 'Worn'))), ('Thrown', (('THROWN', 'Occult'), ('CUTTING', 'Cutting'), ('POISONABLE', 'Poisonable'), ('SUBTLE', 'Subtle'))), ('Archery', (('ARCHERY', 'Archery'), ('CROSSBOW', 'Crossbow'), ('FLAME', 'Flame'), ('POWERFUL', 'Powerful'), ('SLOW', 'Slow')))], max_length=100, verbose_name='Tags')),
('accuracy', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Accuracy')),
('damage', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Damage')),
('defense', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Defense')),
('overwhelming', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Overwhelming')),
('attunement', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Attunement')),
],
options={
'abstract': False,
@ -102,21 +87,29 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', app.models.NameField(max_length=100, verbose_name='Name')),
('description', app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description')),
('category', app.models.SingleChoiceField(blank=True, choices=[('L', 'Light'), ('M', 'Medium'), ('H', 'Heavy')], max_length=100, verbose_name='Category')),
('tags', app.models.MultiChoiceField(blank=True, choices=[('General', (('ONE HANDED', 'One Handed'), ('TWO HANDED', 'Two Handed'), ('BASHING', 'Bashing'), ('CONCEALABLE', 'Concealable'), ('LETHAL', 'Lethal'), ('MOUNTED', 'Mounted'), ('PIERCING', 'Piercing'), ('SPECIAL', 'Special'))), ('Melee', (('MELEE', 'Melee'), ('BALANCED', 'Balanced'), ('BRAWL', 'Brawl'), ('CHOPPING', 'Chopping'), ('DISARMING', 'Disarming'), ('FLEXIBLE', 'Flexible'), ('IMPROVISED', 'Improvised'), ('GRAPPLING', 'Grappling'), ('MARTIAL ARTS', 'Martial Arts'), ('NATURAL', 'Natural'), ('REACHING', 'Reaching'), ('SHIELD', 'Shield'), ('SMASHING', 'Smashing'), ('WORN', 'Worn'))), ('Thrown', (('THROWN', 'Occult'), ('CUTTING', 'Cutting'), ('POISONABLE', 'Poisonable'), ('SUBTLE', 'Subtle'))), ('Archery', (('ARCHERY', 'Archery'), ('CROSSBOW', 'Crossbow'), ('FLAME', 'Flame'), ('POWERFUL', 'Powerful'), ('SLOW', 'Slow')))], max_length=100, verbose_name='Tags')),
('accuracy', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Accuracy')),
('damage', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Damage')),
('defense', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Defense')),
('overwhelming', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Overwhelming')),
('attunement', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Attunement')),
('rangeClose', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Close Range')),
('rangeShort', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Short Range')),
('rangeMedium', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Medium Range')),
('rangeLong', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Long Range')),
('rangeExtreme', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Extreme Range')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='merit',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
),
migrations.CreateModel(
name='modifierAbility',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('value', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Modifier Value')),
('ability', app.models.SingleChoiceField(blank=True, choices=[('War', (('ARCHERY', 'Archery'), ('ATHLETICS', 'Athletics'), ('AWARENESS', 'Awareness'), ('BRAWL', 'Brawl'), ('DODGE', 'Dodge'), ('INTEGRITY', 'Integrity'), ('MELEE', 'Melee'), ('RESISTANCE', 'Resistance'), ('THROWN', 'Thrown'), ('WAR', 'War'))), ('Life', (('CRAFT', 'Craft'), ('LARCENY', 'Larceny'), ('LINGUISTICS', 'Linguistics'), ('PERFORMANCE', 'Performance'), ('PRESENCE', 'Presence'), ('RIDE', 'Ride'), ('SAIL', 'Sail'), ('SOCIALISE', 'Socialise'), ('STEALTH', 'Stealth'), ('SURVIVAL', 'Survival'))), ('Wisdom', (('BUREAUCRACY', 'Bureaucracy'), ('INVESTIGATION', 'Investigation'), ('LORE', 'Lore'), ('MEDICINE', 'Medicine'), ('OCCULT', 'Occult')))], max_length=100, verbose_name='Ability')),
],
options={
'abstract': False,
@ -126,6 +119,8 @@ class Migration(migrations.Migration):
name='modifierAttribute',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('value', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Modifier Value')),
('attribute', app.models.SingleChoiceField(blank=True, choices=[('Physical', (('STR', 'Srength'), ('DEX', 'Dexterity'), ('STA', 'Stamina'))), ('Social', (('CHA', 'Charisma'), ('MAN', 'Manipulation'), ('APP', 'Appearance'))), ('Mental', (('PER', 'Perception'), ('INT', 'Intelligence'), ('WIT', 'Wits')))], max_length=100, verbose_name='Attribute')),
],
options={
'abstract': False,
@ -135,15 +130,234 @@ class Migration(migrations.Migration):
name='modifierStatic',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('value', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Modifier Value')),
('static', app.models.SingleChoiceField(blank=True, choices=[('SOAK NATURAL', 'Natural Soak'), ('SOAK ARMORED', 'Armored Soak'), ('SOAK TOTAL', 'Total Soak'), ('HARDNESS', 'Hardness'), ('PARRY', 'Parry'), ('EVASION', 'Evasion'), ('RESOLVE', 'Resolve'), ('GUILE', 'Guile'), ('RUSH', 'Rush'), ('DISENGAGE', 'Disengage'), ('JOIN BATTLE', 'Join Battle')], max_length=100, verbose_name='Static')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='rollConfiguration',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('r01', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=1, verbose_name='1s')),
('r02', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=2, verbose_name='2s')),
('r03', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=3, verbose_name='3s')),
('r04', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=4, verbose_name='4s')),
('r05', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=5, verbose_name='5s')),
('r06', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=6, verbose_name='6s')),
('r07', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['SUCCESS'], max_length=100, number=7, verbose_name='7s')),
('r08', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['SUCCESS'], max_length=100, number=8, verbose_name='8s')),
('r09', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['SUCCESS'], max_length=100, number=9, verbose_name='9s')),
('r10', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['SUCCESS', 'DOUBLE'], max_length=100, number=10, verbose_name='10s')),
],
),
migrations.CreateModel(
name='speciality',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', app.models.NameField(max_length=100, verbose_name='Name')),
('ability', app.models.SingleChoiceField(blank=True, choices=[('War', (('ARCHERY', 'Archery'), ('ATHLETICS', 'Athletics'), ('AWARENESS', 'Awareness'), ('BRAWL', 'Brawl'), ('DODGE', 'Dodge'), ('INTEGRITY', 'Integrity'), ('MELEE', 'Melee'), ('RESISTANCE', 'Resistance'), ('THROWN', 'Thrown'), ('WAR', 'War'))), ('Life', (('CRAFT', 'Craft'), ('LARCENY', 'Larceny'), ('LINGUISTICS', 'Linguistics'), ('PERFORMANCE', 'Performance'), ('PRESENCE', 'Presence'), ('RIDE', 'Ride'), ('SAIL', 'Sail'), ('SOCIALISE', 'Socialise'), ('STEALTH', 'Stealth'), ('SURVIVAL', 'Survival'))), ('Wisdom', (('BUREAUCRACY', 'Bureaucracy'), ('INVESTIGATION', 'Investigation'), ('LORE', 'Lore'), ('MEDICINE', 'Medicine'), ('OCCULT', 'Occult')))], max_length=100, verbose_name='Ability')),
],
),
migrations.CreateModel(
name='merit',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', app.models.NameField(max_length=100, verbose_name='Name')),
('description', app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description')),
('dots', app.models.DotField(default=0, verbose_name='Dots')),
('modifierAbility', app.models.NamedManyToManyField(blank=True, to='app.modifierAbility', verbose_name='Abilities Modifiers')),
('modifierAttribute', app.models.NamedManyToManyField(blank=True, to='app.modifierAttribute', verbose_name='Attribute Modifiers')),
('modifierStatic', app.models.NamedManyToManyField(blank=True, to='app.modifierStatic', verbose_name='Statics Modifiers')),
('rollConfiguration', app.models.NamedManyToManyField(blank=True, to='app.rollConfiguration', verbose_name='Roll Configurations')),
],
),
migrations.CreateModel(
name='charm',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', app.models.NameField(max_length=100, verbose_name='Name')),
('description', app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description')),
('modifierAbility', app.models.NamedManyToManyField(blank=True, to='app.modifierAbility', verbose_name='Abilities Modifiers')),
('modifierAttribute', app.models.NamedManyToManyField(blank=True, to='app.modifierAttribute', verbose_name='Attribute Modifiers')),
('modifierStatic', app.models.NamedManyToManyField(blank=True, to='app.modifierStatic', verbose_name='Statics Modifiers')),
('rollConfiguration', app.models.NamedManyToManyField(blank=True, to='app.rollConfiguration', verbose_name='Roll Configurations')),
],
),
migrations.CreateModel(
name='characterMortal',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', app.models.NameField(max_length=100, verbose_name='Name')),
('strength', app.models.DotField(default=0, verbose_name='Strength')),
('dexterity', app.models.DotField(default=0, verbose_name='Dexterity')),
('stamina', app.models.DotField(default=0, verbose_name='Stamina')),
('charisma', app.models.DotField(default=0, verbose_name='Charisma')),
('manipulation', app.models.DotField(default=0, verbose_name='Manipulation')),
('appearance', app.models.DotField(default=0, verbose_name='Apperance')),
('perception', app.models.DotField(default=0, verbose_name='Perception')),
('intelligence', app.models.DotField(default=0, verbose_name='Intelligence')),
('wits', app.models.DotField(default=0, verbose_name='Wits')),
('archey', app.models.DotField(default=0, verbose_name='Archery')),
('athletics', app.models.DotField(default=0, verbose_name='Athletics')),
('awareness', app.models.DotField(default=0, verbose_name='Awareness')),
('brawl', app.models.DotField(default=0, verbose_name='Brawl')),
('bureaucracy', app.models.DotField(default=0, verbose_name='Bureaucracy')),
('craft', app.models.DotField(default=0, verbose_name='Craft')),
('dodge', app.models.DotField(default=0, verbose_name='Dodge')),
('integrity', app.models.DotField(default=0, verbose_name='Integrity')),
('investigation', app.models.DotField(default=0, verbose_name='Investigation')),
('larceny', app.models.DotField(default=0, verbose_name='Larceny')),
('linguistics', app.models.DotField(default=0, verbose_name='Linguistics')),
('lore', app.models.DotField(default=0, verbose_name='Lore')),
('martialArts', app.models.DotField(default=0, verbose_name='MartialArts')),
('medicine', app.models.DotField(default=0, verbose_name='Medicine')),
('melee', app.models.DotField(default=0, verbose_name='Melee')),
('occult', app.models.DotField(default=0, verbose_name='Occult')),
('performance', app.models.DotField(default=0, verbose_name='Performance')),
('presence', app.models.DotField(default=0, verbose_name='Presence')),
('resistance', app.models.DotField(default=0, verbose_name='Resistance')),
('ride', app.models.DotField(default=0, verbose_name='Ride')),
('sail', app.models.DotField(default=0, verbose_name='Sail')),
('socialize', app.models.DotField(default=0, verbose_name='Socialize')),
('stealth', app.models.DotField(default=0, verbose_name='Stealth')),
('survival', app.models.DotField(default=0, verbose_name='Survival')),
('thrown', app.models.DotField(default=0, verbose_name='Thrown')),
('war', app.models.DotField(default=0, verbose_name='War')),
('willpowerMax', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Maximum Willpower')),
('willpower', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Willpower')),
('experienceTotal', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Total Experience')),
('experience', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Experience')),
('health0', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-0' Health Levels")),
('health1', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-1' Health Levels")),
('health2', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-2' Health Levels")),
('healthIndex', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Health Track Index')),
('armor', app.models.NamedManyToManyField(blank=True, to='app.itemArmor', verbose_name='Armor')),
('items', app.models.NamedManyToManyField(blank=True, to='app.item', verbose_name='Items')),
('merits', app.models.NamedManyToManyField(blank=True, to='app.merit', verbose_name='Merits')),
('weaponsMelee', app.models.NamedManyToManyField(blank=True, to='app.itemWeaponMelee', verbose_name='Melee Weapons')),
('weaponsRanged', app.models.NamedManyToManyField(blank=True, to='app.itemWeaponRanged', verbose_name='Ranged Weapons')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='characterExaltSolar',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', app.models.NameField(max_length=100, verbose_name='Name')),
('strength', app.models.DotField(default=0, verbose_name='Strength')),
('dexterity', app.models.DotField(default=0, verbose_name='Dexterity')),
('stamina', app.models.DotField(default=0, verbose_name='Stamina')),
('charisma', app.models.DotField(default=0, verbose_name='Charisma')),
('manipulation', app.models.DotField(default=0, verbose_name='Manipulation')),
('appearance', app.models.DotField(default=0, verbose_name='Apperance')),
('perception', app.models.DotField(default=0, verbose_name='Perception')),
('intelligence', app.models.DotField(default=0, verbose_name='Intelligence')),
('wits', app.models.DotField(default=0, verbose_name='Wits')),
('archey', app.models.DotField(default=0, verbose_name='Archery')),
('athletics', app.models.DotField(default=0, verbose_name='Athletics')),
('awareness', app.models.DotField(default=0, verbose_name='Awareness')),
('brawl', app.models.DotField(default=0, verbose_name='Brawl')),
('bureaucracy', app.models.DotField(default=0, verbose_name='Bureaucracy')),
('craft', app.models.DotField(default=0, verbose_name='Craft')),
('dodge', app.models.DotField(default=0, verbose_name='Dodge')),
('integrity', app.models.DotField(default=0, verbose_name='Integrity')),
('investigation', app.models.DotField(default=0, verbose_name='Investigation')),
('larceny', app.models.DotField(default=0, verbose_name='Larceny')),
('linguistics', app.models.DotField(default=0, verbose_name='Linguistics')),
('lore', app.models.DotField(default=0, verbose_name='Lore')),
('martialArts', app.models.DotField(default=0, verbose_name='MartialArts')),
('medicine', app.models.DotField(default=0, verbose_name='Medicine')),
('melee', app.models.DotField(default=0, verbose_name='Melee')),
('occult', app.models.DotField(default=0, verbose_name='Occult')),
('performance', app.models.DotField(default=0, verbose_name='Performance')),
('presence', app.models.DotField(default=0, verbose_name='Presence')),
('resistance', app.models.DotField(default=0, verbose_name='Resistance')),
('ride', app.models.DotField(default=0, verbose_name='Ride')),
('sail', app.models.DotField(default=0, verbose_name='Sail')),
('socialize', app.models.DotField(default=0, verbose_name='Socialize')),
('stealth', app.models.DotField(default=0, verbose_name='Stealth')),
('survival', app.models.DotField(default=0, verbose_name='Survival')),
('thrown', app.models.DotField(default=0, verbose_name='Thrown')),
('war', app.models.DotField(default=0, verbose_name='War')),
('willpowerMax', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Maximum Willpower')),
('willpower', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Willpower')),
('experienceTotal', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Total Experience')),
('experience', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Experience')),
('health0', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-0' Health Levels")),
('health1', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-1' Health Levels")),
('health2', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-2' Health Levels")),
('healthIndex', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Health Track Index')),
('armor', app.models.NamedManyToManyField(blank=True, to='app.itemArmor', verbose_name='Armor')),
('items', app.models.NamedManyToManyField(blank=True, to='app.item', verbose_name='Items')),
('merits', app.models.NamedManyToManyField(blank=True, to='app.merit', verbose_name='Merits')),
('weaponsMelee', app.models.NamedManyToManyField(blank=True, to='app.itemWeaponMelee', verbose_name='Melee Weapons')),
('weaponsRanged', app.models.NamedManyToManyField(blank=True, to='app.itemWeaponRanged', verbose_name='Ranged Weapons')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='characterExaltLunar',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', app.models.NameField(max_length=100, verbose_name='Name')),
('strength', app.models.DotField(default=0, verbose_name='Strength')),
('dexterity', app.models.DotField(default=0, verbose_name='Dexterity')),
('stamina', app.models.DotField(default=0, verbose_name='Stamina')),
('charisma', app.models.DotField(default=0, verbose_name='Charisma')),
('manipulation', app.models.DotField(default=0, verbose_name='Manipulation')),
('appearance', app.models.DotField(default=0, verbose_name='Apperance')),
('perception', app.models.DotField(default=0, verbose_name='Perception')),
('intelligence', app.models.DotField(default=0, verbose_name='Intelligence')),
('wits', app.models.DotField(default=0, verbose_name='Wits')),
('archey', app.models.DotField(default=0, verbose_name='Archery')),
('athletics', app.models.DotField(default=0, verbose_name='Athletics')),
('awareness', app.models.DotField(default=0, verbose_name='Awareness')),
('brawl', app.models.DotField(default=0, verbose_name='Brawl')),
('bureaucracy', app.models.DotField(default=0, verbose_name='Bureaucracy')),
('craft', app.models.DotField(default=0, verbose_name='Craft')),
('dodge', app.models.DotField(default=0, verbose_name='Dodge')),
('integrity', app.models.DotField(default=0, verbose_name='Integrity')),
('investigation', app.models.DotField(default=0, verbose_name='Investigation')),
('larceny', app.models.DotField(default=0, verbose_name='Larceny')),
('linguistics', app.models.DotField(default=0, verbose_name='Linguistics')),
('lore', app.models.DotField(default=0, verbose_name='Lore')),
('martialArts', app.models.DotField(default=0, verbose_name='MartialArts')),
('medicine', app.models.DotField(default=0, verbose_name='Medicine')),
('melee', app.models.DotField(default=0, verbose_name='Melee')),
('occult', app.models.DotField(default=0, verbose_name='Occult')),
('performance', app.models.DotField(default=0, verbose_name='Performance')),
('presence', app.models.DotField(default=0, verbose_name='Presence')),
('resistance', app.models.DotField(default=0, verbose_name='Resistance')),
('ride', app.models.DotField(default=0, verbose_name='Ride')),
('sail', app.models.DotField(default=0, verbose_name='Sail')),
('socialize', app.models.DotField(default=0, verbose_name='Socialize')),
('stealth', app.models.DotField(default=0, verbose_name='Stealth')),
('survival', app.models.DotField(default=0, verbose_name='Survival')),
('thrown', app.models.DotField(default=0, verbose_name='Thrown')),
('war', app.models.DotField(default=0, verbose_name='War')),
('willpowerMax', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Maximum Willpower')),
('willpower', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Willpower')),
('experienceTotal', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Total Experience')),
('experience', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Experience')),
('health0', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-0' Health Levels")),
('health1', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-1' Health Levels")),
('health2', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-2' Health Levels")),
('healthIndex', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Health Track Index')),
('armor', app.models.NamedManyToManyField(blank=True, to='app.itemArmor', verbose_name='Armor')),
('items', app.models.NamedManyToManyField(blank=True, to='app.item', verbose_name='Items')),
('merits', app.models.NamedManyToManyField(blank=True, to='app.merit', verbose_name='Merits')),
('weaponsMelee', app.models.NamedManyToManyField(blank=True, to='app.itemWeaponMelee', verbose_name='Melee Weapons')),
('weaponsRanged', app.models.NamedManyToManyField(blank=True, to='app.itemWeaponRanged', verbose_name='Ranged Weapons')),
],
options={
'abstract': False,
},
),
]

View File

@ -1,144 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 02:39
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='intimacyprincipal',
name='description',
field=app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description'),
),
migrations.AddField(
model_name='intimacyprincipal',
name='intensity',
field=app.models.SingleChoiceField(blank=True, choices=[('MINOR', 'Minor'), ('MAJOR', 'Major'), ('DEFINING', 'Defining')], max_length=100, verbose_name='Intensity'),
),
migrations.AddField(
model_name='intimacytie',
name='description',
field=app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description'),
),
migrations.AddField(
model_name='intimacytie',
name='intensity',
field=app.models.SingleChoiceField(blank=True, choices=[('MINOR', 'Minor'), ('MAJOR', 'Major'), ('DEFINING', 'Defining')], max_length=100, verbose_name='Intensity'),
),
migrations.AddField(
model_name='itemamor',
name='attunement',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Attunement'),
),
migrations.AddField(
model_name='itemamor',
name='hardness',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Hardness'),
),
migrations.AddField(
model_name='itemamor',
name='mobilityPenalty',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Mobility Penalty'),
),
migrations.AddField(
model_name='itemamor',
name='soak',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Soak'),
),
migrations.AddField(
model_name='itemweaponmelee',
name='accuracy',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Accuracy'),
),
migrations.AddField(
model_name='itemweaponmelee',
name='attunement',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Attunement'),
),
migrations.AddField(
model_name='itemweaponmelee',
name='damage',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Damage'),
),
migrations.AddField(
model_name='itemweaponmelee',
name='defense',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Defense'),
),
migrations.AddField(
model_name='itemweaponmelee',
name='overwhelming',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Overwhelming'),
),
migrations.AddField(
model_name='itemweaponranged',
name='accuracy',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Accuracy'),
),
migrations.AddField(
model_name='itemweaponranged',
name='attunement',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Attunement'),
),
migrations.AddField(
model_name='itemweaponranged',
name='damage',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Damage'),
),
migrations.AddField(
model_name='itemweaponranged',
name='defense',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Defense'),
),
migrations.AddField(
model_name='itemweaponranged',
name='overwhelming',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Overwhelming'),
),
migrations.AddField(
model_name='itemweaponranged',
name='rangeClose',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Close Range'),
),
migrations.AddField(
model_name='itemweaponranged',
name='rangeExtreme',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Extreme Range'),
),
migrations.AddField(
model_name='itemweaponranged',
name='rangeLong',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Long Range'),
),
migrations.AddField(
model_name='itemweaponranged',
name='rangeMedium',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Medium Range'),
),
migrations.AddField(
model_name='itemweaponranged',
name='rangeShort',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Short Range'),
),
migrations.AddField(
model_name='modifierability',
name='value',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Modifier Value'),
),
migrations.AddField(
model_name='modifierattribute',
name='value',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Modifier Value'),
),
migrations.AddField(
model_name='modifierstatic',
name='value',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Modifier Value'),
),
]

View File

@ -0,0 +1,37 @@
# Generated by Django 3.0.5 on 2020-04-11 15:02
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0001_initial'),
]
operations = [
migrations.RemoveField(
model_name='characterexaltlunar',
name='experience',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='experienceTotal',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='experience',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='experienceTotal',
),
migrations.RemoveField(
model_name='charactermortal',
name='experience',
),
migrations.RemoveField(
model_name='charactermortal',
name='experienceTotal',
),
]

View File

@ -1,17 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 02:44
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0002_auto_20200411_0239'),
]
operations = [
migrations.RenameModel(
old_name='itemAmor',
new_name='itemArmor',
),
]

View File

@ -0,0 +1,44 @@
# Generated by Django 3.0.5 on 2020-04-11 15:03
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0002_auto_20200411_1502'),
]
operations = [
migrations.AddField(
model_name='characterexaltlunar',
name='experience',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Experience'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='experienceTotal',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Total Experience'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='experience',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Experience'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='experienceTotal',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Total Experience'),
),
migrations.AddField(
model_name='charactermortal',
name='experience',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Experience'),
),
migrations.AddField(
model_name='charactermortal',
name='experienceTotal',
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Total Experience'),
),
]

View File

@ -1,65 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 02:50
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0003_auto_20200411_0244'),
]
operations = [
migrations.AddField(
model_name='characterexaltlunar',
name='name',
field=app.models.NameField(default='', max_length=100, verbose_name='Name'),
preserve_default=False,
),
migrations.AddField(
model_name='characterexaltsolar',
name='name',
field=app.models.NameField(default='', max_length=100, verbose_name='Name'),
preserve_default=False,
),
migrations.AddField(
model_name='charactermortal',
name='name',
field=app.models.NameField(default='', max_length=100, verbose_name='Name'),
preserve_default=False,
),
migrations.AddField(
model_name='charm',
name='description',
field=app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description'),
),
migrations.AddField(
model_name='charm',
name='name',
field=app.models.NameField(default='', max_length=100, verbose_name='Name'),
preserve_default=False,
),
migrations.AddField(
model_name='merit',
name='description',
field=app.models.DescriptionField(blank=True, max_length=1000, verbose_name='Description'),
),
migrations.AddField(
model_name='merit',
name='dots',
field=app.models.DotField(default=0, verbose_name='Dots'),
),
migrations.AddField(
model_name='merit',
name='name',
field=app.models.NameField(default='', max_length=100, verbose_name='Name'),
preserve_default=False,
),
migrations.AddField(
model_name='speciality',
name='name',
field=app.models.NameField(default='', max_length=100, verbose_name='Name'),
preserve_default=False,
),
]

View File

@ -0,0 +1,29 @@
# Generated by Django 3.0.5 on 2020-04-11 15:44
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0003_auto_20200411_1503'),
]
operations = [
migrations.AddField(
model_name='itemarmor',
name='equipped',
field=app.models.NamedBooleanField(default=False, verbose_name='Equipped?'),
),
migrations.AddField(
model_name='itemweaponmelee',
name='equipped',
field=app.models.NamedBooleanField(default=False, verbose_name='Equipped?'),
),
migrations.AddField(
model_name='itemweaponranged',
name='equipped',
field=app.models.NamedBooleanField(default=False, verbose_name='Equipped?'),
),
]

View File

@ -0,0 +1,70 @@
# Generated by Django 3.0.5 on 2020-04-11 16:20
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0004_auto_20200411_1544'),
]
operations = [
migrations.RenameField(
model_name='characterexaltlunar',
old_name='armor',
new_name='armorEquipped',
),
migrations.RenameField(
model_name='characterexaltlunar',
old_name='weaponsMelee',
new_name='weaponsMeleeEquipped',
),
migrations.RenameField(
model_name='characterexaltlunar',
old_name='weaponsRanged',
new_name='weaponsRangedEquipped',
),
migrations.RenameField(
model_name='characterexaltsolar',
old_name='armor',
new_name='armorEquipped',
),
migrations.RenameField(
model_name='characterexaltsolar',
old_name='weaponsMelee',
new_name='weaponsMeleeEquipped',
),
migrations.RenameField(
model_name='characterexaltsolar',
old_name='weaponsRanged',
new_name='weaponsRangedEquipped',
),
migrations.RenameField(
model_name='charactermortal',
old_name='armor',
new_name='armorEquipped',
),
migrations.RenameField(
model_name='charactermortal',
old_name='weaponsMelee',
new_name='weaponsMeleeEquipped',
),
migrations.RenameField(
model_name='charactermortal',
old_name='weaponsRanged',
new_name='weaponsRangedEquipped',
),
migrations.RemoveField(
model_name='itemarmor',
name='equipped',
),
migrations.RemoveField(
model_name='itemweaponmelee',
name='equipped',
),
migrations.RemoveField(
model_name='itemweaponranged',
name='equipped',
),
]

View File

@ -1,20 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 02:52
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0004_auto_20200411_0250'),
]
operations = [
migrations.AddField(
model_name='intimacytie',
name='target',
field=app.models.NamedCharField(default='', max_length=100, verbose_name='Target'),
preserve_default=False,
),
]

View File

@ -1,149 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 02:57
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0005_intimacytie_target'),
]
operations = [
migrations.AddField(
model_name='characterexaltlunar',
name='appearance',
field=app.models.DotField(default=0, verbose_name='Apperance'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='charisma',
field=app.models.DotField(default=0, verbose_name='Charisma'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='dexterity',
field=app.models.DotField(default=0, verbose_name='Dexterity'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='intelligence',
field=app.models.DotField(default=0, verbose_name='Intelligence'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='manipulation',
field=app.models.DotField(default=0, verbose_name='Manipulation'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='perception',
field=app.models.DotField(default=0, verbose_name='Perception'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='stamina',
field=app.models.DotField(default=0, verbose_name='Stamina'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='strength',
field=app.models.DotField(default=0, verbose_name='Strength'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='wits',
field=app.models.DotField(default=0, verbose_name='Wits'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='appearance',
field=app.models.DotField(default=0, verbose_name='Apperance'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='charisma',
field=app.models.DotField(default=0, verbose_name='Charisma'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='dexterity',
field=app.models.DotField(default=0, verbose_name='Dexterity'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='intelligence',
field=app.models.DotField(default=0, verbose_name='Intelligence'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='manipulation',
field=app.models.DotField(default=0, verbose_name='Manipulation'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='perception',
field=app.models.DotField(default=0, verbose_name='Perception'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='stamina',
field=app.models.DotField(default=0, verbose_name='Stamina'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='strength',
field=app.models.DotField(default=0, verbose_name='Strength'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='wits',
field=app.models.DotField(default=0, verbose_name='Wits'),
),
migrations.AddField(
model_name='charactermortal',
name='appearance',
field=app.models.DotField(default=0, verbose_name='Apperance'),
),
migrations.AddField(
model_name='charactermortal',
name='charisma',
field=app.models.DotField(default=0, verbose_name='Charisma'),
),
migrations.AddField(
model_name='charactermortal',
name='dexterity',
field=app.models.DotField(default=0, verbose_name='Dexterity'),
),
migrations.AddField(
model_name='charactermortal',
name='intelligence',
field=app.models.DotField(default=0, verbose_name='Intelligence'),
),
migrations.AddField(
model_name='charactermortal',
name='manipulation',
field=app.models.DotField(default=0, verbose_name='Manipulation'),
),
migrations.AddField(
model_name='charactermortal',
name='perception',
field=app.models.DotField(default=0, verbose_name='Perception'),
),
migrations.AddField(
model_name='charactermortal',
name='stamina',
field=app.models.DotField(default=0, verbose_name='Stamina'),
),
migrations.AddField(
model_name='charactermortal',
name='strength',
field=app.models.DotField(default=0, verbose_name='Strength'),
),
migrations.AddField(
model_name='charactermortal',
name='wits',
field=app.models.DotField(default=0, verbose_name='Wits'),
),
]

View File

@ -0,0 +1,28 @@
# Generated by Django 3.0.5 on 2020-04-11 16:24
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0005_auto_20200411_1620'),
]
operations = [
migrations.RenameField(
model_name='characterexaltlunar',
old_name='archey',
new_name='archery',
),
migrations.RenameField(
model_name='characterexaltsolar',
old_name='archey',
new_name='archery',
),
migrations.RenameField(
model_name='charactermortal',
old_name='archey',
new_name='archery',
),
]

View File

@ -1,404 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 03:02
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0006_auto_20200411_0257'),
]
operations = [
migrations.AddField(
model_name='characterexaltlunar',
name='archey',
field=app.models.DotField(default=0, verbose_name='Archery'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='athletics',
field=app.models.DotField(default=0, verbose_name='Athletics'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='awareness',
field=app.models.DotField(default=0, verbose_name='Awareness'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='brawl',
field=app.models.DotField(default=0, verbose_name='Brawl'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='bureaucracy',
field=app.models.DotField(default=0, verbose_name='Bureaucracy'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='craft',
field=app.models.DotField(default=0, verbose_name='Craft'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='dodge',
field=app.models.DotField(default=0, verbose_name='Dodge'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='integrity',
field=app.models.DotField(default=0, verbose_name='Integrity'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='investigation',
field=app.models.DotField(default=0, verbose_name='Investigation'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='larceny',
field=app.models.DotField(default=0, verbose_name='Larceny'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='linguistics',
field=app.models.DotField(default=0, verbose_name='Linguistics'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='lore',
field=app.models.DotField(default=0, verbose_name='Lore'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='martialArts',
field=app.models.DotField(default=0, verbose_name='MartialArts'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='medicine',
field=app.models.DotField(default=0, verbose_name='Medicine'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='melee',
field=app.models.DotField(default=0, verbose_name='Melee'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='occult',
field=app.models.DotField(default=0, verbose_name='Occult'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='performance',
field=app.models.DotField(default=0, verbose_name='Performance'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='presence',
field=app.models.DotField(default=0, verbose_name='Presence'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='resistance',
field=app.models.DotField(default=0, verbose_name='Resistance'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='ride',
field=app.models.DotField(default=0, verbose_name='Ride'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='sail',
field=app.models.DotField(default=0, verbose_name='Sail'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='socialize',
field=app.models.DotField(default=0, verbose_name='Socialize'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='stealth',
field=app.models.DotField(default=0, verbose_name='Stealth'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='survival',
field=app.models.DotField(default=0, verbose_name='Survival'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='thrown',
field=app.models.DotField(default=0, verbose_name='Thrown'),
),
migrations.AddField(
model_name='characterexaltlunar',
name='war',
field=app.models.DotField(default=0, verbose_name='War'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='archey',
field=app.models.DotField(default=0, verbose_name='Archery'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='athletics',
field=app.models.DotField(default=0, verbose_name='Athletics'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='awareness',
field=app.models.DotField(default=0, verbose_name='Awareness'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='brawl',
field=app.models.DotField(default=0, verbose_name='Brawl'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='bureaucracy',
field=app.models.DotField(default=0, verbose_name='Bureaucracy'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='craft',
field=app.models.DotField(default=0, verbose_name='Craft'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='dodge',
field=app.models.DotField(default=0, verbose_name='Dodge'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='integrity',
field=app.models.DotField(default=0, verbose_name='Integrity'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='investigation',
field=app.models.DotField(default=0, verbose_name='Investigation'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='larceny',
field=app.models.DotField(default=0, verbose_name='Larceny'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='linguistics',
field=app.models.DotField(default=0, verbose_name='Linguistics'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='lore',
field=app.models.DotField(default=0, verbose_name='Lore'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='martialArts',
field=app.models.DotField(default=0, verbose_name='MartialArts'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='medicine',
field=app.models.DotField(default=0, verbose_name='Medicine'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='melee',
field=app.models.DotField(default=0, verbose_name='Melee'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='occult',
field=app.models.DotField(default=0, verbose_name='Occult'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='performance',
field=app.models.DotField(default=0, verbose_name='Performance'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='presence',
field=app.models.DotField(default=0, verbose_name='Presence'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='resistance',
field=app.models.DotField(default=0, verbose_name='Resistance'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='ride',
field=app.models.DotField(default=0, verbose_name='Ride'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='sail',
field=app.models.DotField(default=0, verbose_name='Sail'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='socialize',
field=app.models.DotField(default=0, verbose_name='Socialize'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='stealth',
field=app.models.DotField(default=0, verbose_name='Stealth'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='survival',
field=app.models.DotField(default=0, verbose_name='Survival'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='thrown',
field=app.models.DotField(default=0, verbose_name='Thrown'),
),
migrations.AddField(
model_name='characterexaltsolar',
name='war',
field=app.models.DotField(default=0, verbose_name='War'),
),
migrations.AddField(
model_name='charactermortal',
name='archey',
field=app.models.DotField(default=0, verbose_name='Archery'),
),
migrations.AddField(
model_name='charactermortal',
name='athletics',
field=app.models.DotField(default=0, verbose_name='Athletics'),
),
migrations.AddField(
model_name='charactermortal',
name='awareness',
field=app.models.DotField(default=0, verbose_name='Awareness'),
),
migrations.AddField(
model_name='charactermortal',
name='brawl',
field=app.models.DotField(default=0, verbose_name='Brawl'),
),
migrations.AddField(
model_name='charactermortal',
name='bureaucracy',
field=app.models.DotField(default=0, verbose_name='Bureaucracy'),
),
migrations.AddField(
model_name='charactermortal',
name='craft',
field=app.models.DotField(default=0, verbose_name='Craft'),
),
migrations.AddField(
model_name='charactermortal',
name='dodge',
field=app.models.DotField(default=0, verbose_name='Dodge'),
),
migrations.AddField(
model_name='charactermortal',
name='integrity',
field=app.models.DotField(default=0, verbose_name='Integrity'),
),
migrations.AddField(
model_name='charactermortal',
name='investigation',
field=app.models.DotField(default=0, verbose_name='Investigation'),
),
migrations.AddField(
model_name='charactermortal',
name='larceny',
field=app.models.DotField(default=0, verbose_name='Larceny'),
),
migrations.AddField(
model_name='charactermortal',
name='linguistics',
field=app.models.DotField(default=0, verbose_name='Linguistics'),
),
migrations.AddField(
model_name='charactermortal',
name='lore',
field=app.models.DotField(default=0, verbose_name='Lore'),
),
migrations.AddField(
model_name='charactermortal',
name='martialArts',
field=app.models.DotField(default=0, verbose_name='MartialArts'),
),
migrations.AddField(
model_name='charactermortal',
name='medicine',
field=app.models.DotField(default=0, verbose_name='Medicine'),
),
migrations.AddField(
model_name='charactermortal',
name='melee',
field=app.models.DotField(default=0, verbose_name='Melee'),
),
migrations.AddField(
model_name='charactermortal',
name='occult',
field=app.models.DotField(default=0, verbose_name='Occult'),
),
migrations.AddField(
model_name='charactermortal',
name='performance',
field=app.models.DotField(default=0, verbose_name='Performance'),
),
migrations.AddField(
model_name='charactermortal',
name='presence',
field=app.models.DotField(default=0, verbose_name='Presence'),
),
migrations.AddField(
model_name='charactermortal',
name='resistance',
field=app.models.DotField(default=0, verbose_name='Resistance'),
),
migrations.AddField(
model_name='charactermortal',
name='ride',
field=app.models.DotField(default=0, verbose_name='Ride'),
),
migrations.AddField(
model_name='charactermortal',
name='sail',
field=app.models.DotField(default=0, verbose_name='Sail'),
),
migrations.AddField(
model_name='charactermortal',
name='socialize',
field=app.models.DotField(default=0, verbose_name='Socialize'),
),
migrations.AddField(
model_name='charactermortal',
name='stealth',
field=app.models.DotField(default=0, verbose_name='Stealth'),
),
migrations.AddField(
model_name='charactermortal',
name='survival',
field=app.models.DotField(default=0, verbose_name='Survival'),
),
migrations.AddField(
model_name='charactermortal',
name='thrown',
field=app.models.DotField(default=0, verbose_name='Thrown'),
),
migrations.AddField(
model_name='charactermortal',
name='war',
field=app.models.DotField(default=0, verbose_name='War'),
),
]

View File

@ -0,0 +1,426 @@
# Generated by Django 3.0.5 on 2020-04-11 16:51
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('app', '0006_auto_20200411_1624'),
]
operations = [
migrations.RemoveField(
model_name='characterexaltlunar',
name='appearance',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='archery',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='armorEquipped',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='athletics',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='awareness',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='brawl',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='bureaucracy',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='charisma',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='craft',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='dexterity',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='dodge',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='experience',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='experienceTotal',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='health0',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='health1',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='health2',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='healthIndex',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='id',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='integrity',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='intelligence',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='investigation',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='items',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='larceny',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='linguistics',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='lore',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='manipulation',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='martialArts',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='medicine',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='melee',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='merits',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='name',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='occult',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='perception',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='performance',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='presence',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='resistance',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='ride',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='sail',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='socialize',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='stamina',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='stealth',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='strength',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='survival',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='thrown',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='war',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='weaponsMeleeEquipped',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='weaponsRangedEquipped',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='willpower',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='willpowerMax',
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='wits',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='appearance',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='archery',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='armorEquipped',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='athletics',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='awareness',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='brawl',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='bureaucracy',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='charisma',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='craft',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='dexterity',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='dodge',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='experience',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='experienceTotal',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='health0',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='health1',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='health2',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='healthIndex',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='id',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='integrity',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='intelligence',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='investigation',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='items',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='larceny',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='linguistics',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='lore',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='manipulation',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='martialArts',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='medicine',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='melee',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='merits',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='name',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='occult',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='perception',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='performance',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='presence',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='resistance',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='ride',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='sail',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='socialize',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='stamina',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='stealth',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='strength',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='survival',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='thrown',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='war',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='weaponsMeleeEquipped',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='weaponsRangedEquipped',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='willpower',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='willpowerMax',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='wits',
),
migrations.AddField(
model_name='characterexaltlunar',
name='charactermortal_ptr',
field=models.OneToOneField(auto_created=True, default=None, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.characterMortal'),
preserve_default=False,
),
migrations.AddField(
model_name='characterexaltsolar',
name='charactermortal_ptr',
field=models.OneToOneField(auto_created=True, default=None, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.characterMortal'),
preserve_default=False,
),
]

View File

@ -1,29 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 12:55
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0007_auto_20200411_0302'),
]
operations = [
migrations.AddField(
model_name='modifierability',
name='ability',
field=app.models.SingleChoiceField(blank=True, choices=[('War', (('ARCHERY', 'Archery'), ('ATHLETICS', 'Athletics'), ('AWARENESS', 'Awareness'), ('BRAWL', 'Brawl'), ('DODGE', 'Dodge'), ('INTEGRITY', 'Integrity'), ('MELEE', 'Melee'), ('RESISTANCE', 'Resistance'), ('THROWN', 'Thrown'), ('WAR', 'War'))), ('Life', (('CRAFT', 'Craft'), ('LARCENY', 'Larceny'), ('LINGUISTICS', 'Linguistics'), ('PERFORMANCE', 'Performance'), ('PRESENCE', 'Presence'), ('RIDE', 'Ride'), ('SAIL', 'Sail'), ('SOCIALISE', 'Socialise'), ('STEALTH', 'Stealth'), ('SURVIVAL', 'Survival'))), ('Wisdom', (('BUREAUCRACY', 'Bureaucracy'), ('INVESTIGATION', 'Investigation'), ('LORE', 'Lore'), ('MEDICINE', 'Medicine'), ('OCCULT', 'Occult')))], max_length=100, verbose_name='Ability'),
),
migrations.AddField(
model_name='modifierattribute',
name='attribute',
field=app.models.SingleChoiceField(blank=True, choices=[('Physical', (('STR', 'Srength'), ('DEX', 'Dexterity'), ('STA', 'Stamina'))), ('Social', (('CHA', 'Charisma'), ('MAN', 'Manipulation'), ('APP', 'Appearance'))), ('Mental', (('PER', 'Perception'), ('INT', 'Intelligence'), ('WIT', 'Wits')))], max_length=100, verbose_name='Attribute'),
),
migrations.AddField(
model_name='modifierstatic',
name='static',
field=app.models.SingleChoiceField(blank=True, choices=[('SOAK NATURAL', 'Natural Soak'), ('SOAK ARMORED', 'Armored Soak'), ('SOAK TOTAL', 'Total Soak'), ('HARDNESS', 'Hardness'), ('PARRY', 'Parry'), ('EVASION', 'Evasion'), ('RESOLVE', 'Resolve'), ('GUILE', 'Guile'), ('RUSH', 'Rush'), ('DISENGAGE', 'Disengage'), ('JOIN BATTLE', 'Join Battle')], max_length=100, verbose_name='Static'),
),
]

View File

@ -0,0 +1,93 @@
# Generated by Django 3.0.5 on 2020-04-11 16:53
import app.models
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('app', '0007_auto_20200411_1651'),
]
operations = [
migrations.CreateModel(
name='characterBase',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', app.models.NameField(max_length=100, verbose_name='Name')),
('strength', app.models.DotField(default=0, verbose_name='Strength')),
('dexterity', app.models.DotField(default=0, verbose_name='Dexterity')),
('stamina', app.models.DotField(default=0, verbose_name='Stamina')),
('charisma', app.models.DotField(default=0, verbose_name='Charisma')),
('manipulation', app.models.DotField(default=0, verbose_name='Manipulation')),
('appearance', app.models.DotField(default=0, verbose_name='Apperance')),
('perception', app.models.DotField(default=0, verbose_name='Perception')),
('intelligence', app.models.DotField(default=0, verbose_name='Intelligence')),
('wits', app.models.DotField(default=0, verbose_name='Wits')),
('archery', app.models.DotField(default=0, verbose_name='Archery')),
('athletics', app.models.DotField(default=0, verbose_name='Athletics')),
('awareness', app.models.DotField(default=0, verbose_name='Awareness')),
('brawl', app.models.DotField(default=0, verbose_name='Brawl')),
('bureaucracy', app.models.DotField(default=0, verbose_name='Bureaucracy')),
('craft', app.models.DotField(default=0, verbose_name='Craft')),
('dodge', app.models.DotField(default=0, verbose_name='Dodge')),
('integrity', app.models.DotField(default=0, verbose_name='Integrity')),
('investigation', app.models.DotField(default=0, verbose_name='Investigation')),
('larceny', app.models.DotField(default=0, verbose_name='Larceny')),
('linguistics', app.models.DotField(default=0, verbose_name='Linguistics')),
('lore', app.models.DotField(default=0, verbose_name='Lore')),
('martialArts', app.models.DotField(default=0, verbose_name='MartialArts')),
('medicine', app.models.DotField(default=0, verbose_name='Medicine')),
('melee', app.models.DotField(default=0, verbose_name='Melee')),
('occult', app.models.DotField(default=0, verbose_name='Occult')),
('performance', app.models.DotField(default=0, verbose_name='Performance')),
('presence', app.models.DotField(default=0, verbose_name='Presence')),
('resistance', app.models.DotField(default=0, verbose_name='Resistance')),
('ride', app.models.DotField(default=0, verbose_name='Ride')),
('sail', app.models.DotField(default=0, verbose_name='Sail')),
('socialize', app.models.DotField(default=0, verbose_name='Socialize')),
('stealth', app.models.DotField(default=0, verbose_name='Stealth')),
('survival', app.models.DotField(default=0, verbose_name='Survival')),
('thrown', app.models.DotField(default=0, verbose_name='Thrown')),
('war', app.models.DotField(default=0, verbose_name='War')),
('willpowerMax', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Maximum Willpower')),
('willpower', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Willpower')),
('experienceTotal', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Total Experience')),
('experience', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Experience')),
('health0', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-0' Health Levels")),
('health1', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-1' Health Levels")),
('health2', app.models.NamedIntegerField(default=0, help_text=None, verbose_name="'-2' Health Levels")),
('healthIndex', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Health Track Index')),
('armorEquipped', app.models.NamedManyToManyField(blank=True, to='app.itemArmor', verbose_name='Armor')),
('items', app.models.NamedManyToManyField(blank=True, to='app.item', verbose_name='Items')),
('merits', app.models.NamedManyToManyField(blank=True, to='app.merit', verbose_name='Merits')),
('weaponsMeleeEquipped', app.models.NamedManyToManyField(blank=True, to='app.itemWeaponMelee', verbose_name='Melee Weapons')),
('weaponsRangedEquipped', app.models.NamedManyToManyField(blank=True, to='app.itemWeaponRanged', verbose_name='Ranged Weapons')),
],
),
migrations.RemoveField(
model_name='characterexaltlunar',
name='charactermortal_ptr',
),
migrations.RemoveField(
model_name='characterexaltsolar',
name='charactermortal_ptr',
),
migrations.DeleteModel(
name='characterMortal',
),
migrations.AddField(
model_name='characterexaltlunar',
name='characterbase_ptr',
field=models.OneToOneField(auto_created=True, default=None, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.characterBase'),
preserve_default=False,
),
migrations.AddField(
model_name='characterexaltsolar',
name='characterbase_ptr',
field=models.OneToOneField(auto_created=True, default=None, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.characterBase'),
preserve_default=False,
),
]

View File

@ -1,34 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 13:01
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0008_auto_20200411_1255'),
]
operations = [
migrations.AddField(
model_name='itemweaponmelee',
name='category',
field=app.models.SingleChoiceField(blank=True, choices=[('L', 'Light'), ('M', 'Medium'), ('H', 'Heavy')], max_length=100, verbose_name='Category'),
),
migrations.AddField(
model_name='itemweaponmelee',
name='tags',
field=app.models.MultiChoiceField(blank=True, choices=[('General', (('ONE HANDED', 'One Handed'), ('TWO HANDED', 'Two Handed'), ('BASHING', 'Bashing'), ('CONCEALABLE', 'Concealable'), ('LETHAL', 'Lethal'), ('MOUNTED', 'Mounted'), ('PIERCING', 'Piercing'), ('SPECIAL', 'Special'))), ('Melee', (('MELEE', 'Melee'), ('BALANCED', 'Balanced'), ('BRAWL', 'Brawl'), ('CHOPPING', 'Chopping'), ('DISARMING', 'Disarming'), ('FLEXIBLE', 'Flexible'), ('IMPROVISED', 'Improvised'), ('GRAPPLING', 'Grappling'), ('MARTIAL ARTS', 'Martial Arts'), ('NATURAL', 'Natural'), ('REACHING', 'Reaching'), ('SHIELD', 'Shield'), ('SMASHING', 'Smashing'), ('WORN', 'Worn'))), ('Thrown', (('THROWN', 'Occult'), ('CUTTING', 'Cutting'), ('POISONABLE', 'Poisonable'), ('SUBTLE', 'Subtle'))), ('Archery', (('ARCHERY', 'Archery'), ('CROSSBOW', 'Crossbow'), ('FLAME', 'Flame'), ('POWERFUL', 'Powerful'), ('SLOW', 'Slow')))], max_length=100, verbose_name='Tags'),
),
migrations.AddField(
model_name='itemweaponranged',
name='category',
field=app.models.SingleChoiceField(blank=True, choices=[('L', 'Light'), ('M', 'Medium'), ('H', 'Heavy')], max_length=100, verbose_name='Category'),
),
migrations.AddField(
model_name='itemweaponranged',
name='tags',
field=app.models.MultiChoiceField(blank=True, choices=[('General', (('ONE HANDED', 'One Handed'), ('TWO HANDED', 'Two Handed'), ('BASHING', 'Bashing'), ('CONCEALABLE', 'Concealable'), ('LETHAL', 'Lethal'), ('MOUNTED', 'Mounted'), ('PIERCING', 'Piercing'), ('SPECIAL', 'Special'))), ('Melee', (('MELEE', 'Melee'), ('BALANCED', 'Balanced'), ('BRAWL', 'Brawl'), ('CHOPPING', 'Chopping'), ('DISARMING', 'Disarming'), ('FLEXIBLE', 'Flexible'), ('IMPROVISED', 'Improvised'), ('GRAPPLING', 'Grappling'), ('MARTIAL ARTS', 'Martial Arts'), ('NATURAL', 'Natural'), ('REACHING', 'Reaching'), ('SHIELD', 'Shield'), ('SMASHING', 'Smashing'), ('WORN', 'Worn'))), ('Thrown', (('THROWN', 'Occult'), ('CUTTING', 'Cutting'), ('POISONABLE', 'Poisonable'), ('SUBTLE', 'Subtle'))), ('Archery', (('ARCHERY', 'Archery'), ('CROSSBOW', 'Crossbow'), ('FLAME', 'Flame'), ('POWERFUL', 'Powerful'), ('SLOW', 'Slow')))], max_length=100, verbose_name='Tags'),
),
]

View File

@ -0,0 +1,100 @@
# Generated by Django 3.0.5 on 2020-04-11 17:06
import app.models
from django.db import migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('app', '0008_auto_20200411_1653'),
]
operations = [
migrations.RemoveField(
model_name='characterbase',
name='armorEquipped',
),
migrations.RemoveField(
model_name='characterbase',
name='items',
),
migrations.RemoveField(
model_name='characterbase',
name='merits',
),
migrations.RemoveField(
model_name='characterbase',
name='weaponsMeleeEquipped',
),
migrations.RemoveField(
model_name='characterbase',
name='weaponsRangedEquipped',
),
migrations.AddField(
model_name='charm',
name='active',
field=app.models.NamedBooleanField(default=False, verbose_name='Active?'),
),
migrations.AddField(
model_name='charm',
name='character',
field=app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.characterBase', verbose_name='Character'),
),
migrations.AddField(
model_name='intimacyprincipal',
name='character',
field=app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.characterBase', verbose_name='Character'),
),
migrations.AddField(
model_name='intimacytie',
name='character',
field=app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.characterBase', verbose_name='Character'),
),
migrations.AddField(
model_name='item',
name='character',
field=app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.characterBase', verbose_name='Character'),
),
migrations.AddField(
model_name='itemarmor',
name='character',
field=app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.characterBase', verbose_name='Character'),
),
migrations.AddField(
model_name='itemarmor',
name='equipped',
field=app.models.NamedBooleanField(default=False, verbose_name='Equipped?'),
),
migrations.AddField(
model_name='itemweaponmelee',
name='character',
field=app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.characterBase', verbose_name='Character'),
),
migrations.AddField(
model_name='itemweaponmelee',
name='equipped',
field=app.models.NamedBooleanField(default=False, verbose_name='Equipped?'),
),
migrations.AddField(
model_name='itemweaponranged',
name='character',
field=app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.characterBase', verbose_name='Character'),
),
migrations.AddField(
model_name='itemweaponranged',
name='equipped',
field=app.models.NamedBooleanField(default=False, verbose_name='Equipped?'),
),
migrations.AddField(
model_name='merit',
name='character',
field=app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.characterBase', verbose_name='Character'),
),
migrations.AddField(
model_name='speciality',
name='character',
field=app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.characterBase', verbose_name='Character'),
),
]

View File

@ -1,24 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 13:02
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0009_auto_20200411_1301'),
]
operations = [
migrations.AddField(
model_name='itemarmor',
name='category',
field=app.models.SingleChoiceField(blank=True, choices=[('L', 'Light'), ('M', 'Medium'), ('H', 'Heavy')], max_length=100, verbose_name='Category'),
),
migrations.AddField(
model_name='itemarmor',
name='tags',
field=app.models.MultiChoiceField(blank=True, choices=[('BUOYANT', 'Buoyant'), ('CONCEALABLE', 'Concealable'), ('SILENT', 'Silent')], max_length=100, verbose_name='Tags'),
),
]

View File

@ -1,30 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 13:55
import app.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('app', '0010_auto_20200411_1302'),
]
operations = [
migrations.CreateModel(
name='rollConfiguration',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('r01', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING', 'Exploding'), ('DISAPPEARING', 'Disappearing'), ('SUBTRACTING', 'Subtracting')], default='NONE', max_length=100, number=1, verbose_name='1s')),
('r02', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING', 'Exploding'), ('DISAPPEARING', 'Disappearing'), ('SUBTRACTING', 'Subtracting')], default='NONE', max_length=100, number=2, verbose_name='2s')),
('r03', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING', 'Exploding'), ('DISAPPEARING', 'Disappearing'), ('SUBTRACTING', 'Subtracting')], default='NONE', max_length=100, number=3, verbose_name='3s')),
('r04', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING', 'Exploding'), ('DISAPPEARING', 'Disappearing'), ('SUBTRACTING', 'Subtracting')], default='NONE', max_length=100, number=4, verbose_name='4s')),
('r05', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING', 'Exploding'), ('DISAPPEARING', 'Disappearing'), ('SUBTRACTING', 'Subtracting')], default='NONE', max_length=100, number=5, verbose_name='5s')),
('r06', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING', 'Exploding'), ('DISAPPEARING', 'Disappearing'), ('SUBTRACTING', 'Subtracting')], default='NONE', max_length=100, number=6, verbose_name='6s')),
('r07', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING', 'Exploding'), ('DISAPPEARING', 'Disappearing'), ('SUBTRACTING', 'Subtracting')], default='SUCCESS', max_length=100, number=7, verbose_name='7s')),
('r08', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING', 'Exploding'), ('DISAPPEARING', 'Disappearing'), ('SUBTRACTING', 'Subtracting')], default='SUCCESS', max_length=100, number=8, verbose_name='8s')),
('r09', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING', 'Exploding'), ('DISAPPEARING', 'Disappearing'), ('SUBTRACTING', 'Subtracting')], default='SUCCESS', max_length=100, number=9, verbose_name='9s')),
('r10', app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING', 'Exploding'), ('DISAPPEARING', 'Disappearing'), ('SUBTRACTING', 'Subtracting')], default='DOUBLE', max_length=100, number=10, verbose_name='10s')),
],
),
]

View File

@ -1,64 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 14:14
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0011_rollconfiguration'),
]
operations = [
migrations.AlterField(
model_name='rollconfiguration',
name='r01',
field=app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=1, verbose_name='1s'),
),
migrations.AlterField(
model_name='rollconfiguration',
name='r02',
field=app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=2, verbose_name='2s'),
),
migrations.AlterField(
model_name='rollconfiguration',
name='r03',
field=app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=3, verbose_name='3s'),
),
migrations.AlterField(
model_name='rollconfiguration',
name='r04',
field=app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=4, verbose_name='4s'),
),
migrations.AlterField(
model_name='rollconfiguration',
name='r05',
field=app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=5, verbose_name='5s'),
),
migrations.AlterField(
model_name='rollconfiguration',
name='r06',
field=app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['NONE'], max_length=100, number=6, verbose_name='6s'),
),
migrations.AlterField(
model_name='rollconfiguration',
name='r07',
field=app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['SUCCESS'], max_length=100, number=7, verbose_name='7s'),
),
migrations.AlterField(
model_name='rollconfiguration',
name='r08',
field=app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['SUCCESS'], max_length=100, number=8, verbose_name='8s'),
),
migrations.AlterField(
model_name='rollconfiguration',
name='r09',
field=app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['SUCCESS'], max_length=100, number=9, verbose_name='9s'),
),
migrations.AlterField(
model_name='rollconfiguration',
name='r10',
field=app.models.DieField(choices=[('NONE', 'None'), ('SUCCESS', 'Success'), ('DOUBLE', 'Double'), ('EXPLODING_DISAPPEARING', 'Exploding / Disappearing'), ('SUBTRACTING', 'Subtracting')], default=['SUCCESS', 'DOUBLE'], max_length=100, number=10, verbose_name='10s'),
),
]

View File

@ -1,20 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 14:23
import app.models
from django.db import migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('app', '0012_auto_20200411_1414'),
]
operations = [
migrations.AddField(
model_name='charm',
name='rollConfiguration',
field=app.models.NamedForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.rollConfiguration', verbose_name='Roll Configuration'),
),
]

View File

@ -1,38 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 14:28
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0013_charm_rollconfiguration'),
]
operations = [
migrations.AddField(
model_name='charm',
name='modifierAbility',
field=app.models.NamedManyToManyField(blank=True, null=True, to='app.modifierAbility', verbose_name='Abilities Modifiers'),
),
migrations.AddField(
model_name='charm',
name='modifierAttribute',
field=app.models.NamedManyToManyField(blank=True, null=True, to='app.modifierAttribute', verbose_name='Attribute Modifiers'),
),
migrations.AddField(
model_name='charm',
name='modifierStatic',
field=app.models.NamedManyToManyField(blank=True, null=True, to='app.modifierStatic', verbose_name='Statics Modifiers'),
),
migrations.RemoveField(
model_name='charm',
name='rollConfiguration',
),
migrations.AddField(
model_name='charm',
name='rollConfiguration',
field=app.models.NamedManyToManyField(blank=True, null=True, to='app.rollConfiguration', verbose_name='Roll Configurations'),
),
]

View File

@ -1,34 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 14:31
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0014_auto_20200411_1428'),
]
operations = [
migrations.AlterField(
model_name='charm',
name='modifierAbility',
field=app.models.NamedManyToManyField(blank=True, to='app.modifierAbility', verbose_name='Abilities Modifiers'),
),
migrations.AlterField(
model_name='charm',
name='modifierAttribute',
field=app.models.NamedManyToManyField(blank=True, to='app.modifierAttribute', verbose_name='Attribute Modifiers'),
),
migrations.AlterField(
model_name='charm',
name='modifierStatic',
field=app.models.NamedManyToManyField(blank=True, to='app.modifierStatic', verbose_name='Statics Modifiers'),
),
migrations.AlterField(
model_name='charm',
name='rollConfiguration',
field=app.models.NamedManyToManyField(blank=True, to='app.rollConfiguration', verbose_name='Roll Configurations'),
),
]

View File

@ -1,39 +0,0 @@
# Generated by Django 3.0.5 on 2020-04-11 14:39
import app.models
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('app', '0015_auto_20200411_1431'),
]
operations = [
migrations.AddField(
model_name='merit',
name='modifierAbility',
field=app.models.NamedManyToManyField(blank=True, to='app.modifierAbility', verbose_name='Abilities Modifiers'),
),
migrations.AddField(
model_name='merit',
name='modifierAttribute',
field=app.models.NamedManyToManyField(blank=True, to='app.modifierAttribute', verbose_name='Attribute Modifiers'),
),
migrations.AddField(
model_name='merit',
name='modifierStatic',
field=app.models.NamedManyToManyField(blank=True, to='app.modifierStatic', verbose_name='Statics Modifiers'),
),
migrations.AddField(
model_name='merit',
name='rollConfiguration',
field=app.models.NamedManyToManyField(blank=True, to='app.rollConfiguration', verbose_name='Roll Configurations'),
),
migrations.AddField(
model_name='speciality',
name='ability',
field=app.models.SingleChoiceField(blank=True, choices=[('War', (('ARCHERY', 'Archery'), ('ATHLETICS', 'Athletics'), ('AWARENESS', 'Awareness'), ('BRAWL', 'Brawl'), ('DODGE', 'Dodge'), ('INTEGRITY', 'Integrity'), ('MELEE', 'Melee'), ('RESISTANCE', 'Resistance'), ('THROWN', 'Thrown'), ('WAR', 'War'))), ('Life', (('CRAFT', 'Craft'), ('LARCENY', 'Larceny'), ('LINGUISTICS', 'Linguistics'), ('PERFORMANCE', 'Performance'), ('PRESENCE', 'Presence'), ('RIDE', 'Ride'), ('SAIL', 'Sail'), ('SOCIALISE', 'Socialise'), ('STEALTH', 'Stealth'), ('SURVIVAL', 'Survival'))), ('Wisdom', (('BUREAUCRACY', 'Bureaucracy'), ('INVESTIGATION', 'Investigation'), ('LORE', 'Lore'), ('MEDICINE', 'Medicine'), ('OCCULT', 'Occult')))], max_length=100, verbose_name='Ability'),
),
]

View File

@ -1,6 +1,7 @@
from django.db import models
import multiselectfield
from random import randint
from math import ceil
#==============================================================================#
#-------------------------------- OPTION LISTS --------------------------------#
@ -229,7 +230,14 @@ class DieField(multiselectfield.MultiSelectField):
kwargs['number'] = self.number
return name, path, args, kwargs
class NamedForeignKey(models.ForeignKey):
class NamedBooleanField(models.BooleanField):
def __init__(self, verbose_name, default=False, *args, **kwargs):
kwargs['verbose_name'] = verbose_name
kwargs['default'] = default
kwargs['blank'] = False
super().__init__(*args, **kwargs)
class NamedForeignKeyField(models.ForeignKey):
def __init__(self, verbose_name, *args, **kwargs):
kwargs['verbose_name'] = verbose_name
kwargs['on_delete'] = models.CASCADE
@ -340,124 +348,10 @@ class modifierStatic(modifierBase):
static = SingleChoiceField("Static", STATICS)
#==============================================================================#
#----------------------------------- ITEMS ------------------------------------#
#==============================================================================#
class itemBase(models.Model):
class Meta:
abstract = True
def __str__(self):
return self.name
name = NameField()
description = DescriptionField()
class item(itemBase):
pass
#==============================================================================#
#---------------------------------- WEAPONS -----------------------------------#
#==============================================================================#
class itemWeaponBase(itemBase):
class Meta:
abstract = True
category = SingleChoiceField("Category", CATEGORIES)
tags = MultiChoiceField("Tags", TAGS_WEAPONS)
accuracy = NamedIntegerField("Accuracy")
damage = NamedIntegerField("Damage")
defense = NamedIntegerField("Defense")
overwhelming = NamedIntegerField("Overwhelming")
attunement = NamedIntegerField("Attunement")
class itemWeaponMelee(itemWeaponBase):
pass
class itemWeaponRanged(itemWeaponBase):
rangeClose = NamedIntegerField("Close Range")
rangeShort = NamedIntegerField("Short Range")
rangeMedium = NamedIntegerField("Medium Range")
rangeLong = NamedIntegerField("Long Range")
rangeExtreme = NamedIntegerField("Extreme Range")
#==============================================================================#
#----------------------------------- ARMOR ------------------------------------#
#==============================================================================#
class itemArmor(itemBase):
category = SingleChoiceField("Category", CATEGORIES)
tags = MultiChoiceField("Tags", TAGS_ARMOR)
soak = NamedIntegerField("Soak")
hardness = NamedIntegerField("Hardness")
mobilityPenalty = NamedIntegerField("Mobility Penalty")
attunement = NamedIntegerField("Attunement")
#==============================================================================#
#----------------------------------- CHARMS -----------------------------------#
#==============================================================================#
class charm(models.Model):
def __str__(self):
return self.name
name = NameField()
description = DescriptionField()
modifierAttribute = NamedManyToManyField("Attribute Modifiers", modifierAttribute)
modifierAbility = NamedManyToManyField("Abilities Modifiers", modifierAbility)
modifierStatic = NamedManyToManyField("Statics Modifiers", modifierStatic)
rollConfiguration = NamedManyToManyField("Roll Configurations", rollConfiguration)
#==============================================================================#
#----------------------------------- MERITS -----------------------------------#
#==============================================================================#
class merit(models.Model):
def __str__(self):
return self.name
name = NameField()
description = DescriptionField()
dots = DotField("Dots")
modifierAttribute = NamedManyToManyField("Attribute Modifiers", modifierAttribute)
modifierAbility = NamedManyToManyField("Abilities Modifiers", modifierAbility)
modifierStatic = NamedManyToManyField("Statics Modifiers", modifierStatic)
rollConfiguration = NamedManyToManyField("Roll Configurations", rollConfiguration)
#==============================================================================#
#-------------------------------- SPECIALITIES --------------------------------#
#==============================================================================#
class speciality(models.Model):
def __str__(self):
return "[{}] {}".format(self.ability, self.name)
modifier = 2
name = NameField()
ability = SingleChoiceField("Ability", ABILITIES)
#==============================================================================#
#--------------------------------- INTIMACIES ---------------------------------#
#==============================================================================#
class intimacyBase(models.Model):
class Meta:
abstract = True
def __str__(self):
return "[{}] {}".format(self.description, self.intensity)
description = DescriptionField()
intensity = SingleChoiceField("Intensity", INTENSITIES)
class intimacyTie(intimacyBase):
target = NamedCharField("Target")
class intimacyPrincipal(intimacyBase):
pass
#==============================================================================#
#--------------------------------- CHARACTERS ---------------------------------#
#==============================================================================#
class characterBase(models.Model):
class Meta:
abstract = True
def __str__(self):
return self.name
@ -476,7 +370,7 @@ class characterBase(models.Model):
wits = DotField("Wits")
#=========== ABILITIES ============#
archey = DotField("Archery")
archery = DotField("Archery")
athletics = DotField("Athletics")
awareness = DotField("Awareness")
brawl = DotField("Brawl")
@ -504,20 +398,86 @@ class characterBase(models.Model):
war = DotField("War")
#============= MERITS =============#
# Reverse relation
# .merit_set.all()
#=========== WILLPOWER ============#
willpowerCap = 10
willpowerMax = NamedIntegerField("Maximum Willpower")
willpower = NamedIntegerField("Current Willpower")
#=========== EXPERIENCE ===========#
experienceTotal = NamedIntegerField("Total Experience")
experience = NamedIntegerField("Current Experience")
#============ WEAPONS =============#
# Reverse relation
# .itemWeaponMelee_set.all()
# .itemWeaponRanged_set.all()
#============= ARMOR ==============#
# Reverse relation
# .itemArmor_set.all()
#============= ITEMS ==============#
# Reverse relation
# .item_set.all()
#============= HEALTH =============#
health0 = NamedIntegerField("'-0' Health Levels")
health1 = NamedIntegerField("'-1' Health Levels")
health2 = NamedIntegerField("'-2' Health Levels")
healthIndex = NamedIntegerField("Health Track Index")
def healthTrack(self):
return ["Healthy"] + ["-0" for i in range(self.health0)] + ["-1" for i in range(self.health1)] + ["-1" for i in range(self.health1)] + ["-4", "i"]
def healthLevel(self):
return self.healthTrack()[self.healthIndex]
#============ STATICS =============#
def resolve(self, speciality=None, mod=0):
if self.charmsActive():
mod += sum([])
if speciality:
mod += specility.modifier
return mod + ceil((self.wits + self.integrity) / 2)
def guile(self, speciality=None, mod=0):
if self.charmsActive():
mod += sum([])
if speciality:
mod += specility.modifier
return mod + ceil((self.manipulation + self.socialize) / 2)
def soakNatural(self, mod=0):
if self.charmsActive():
mod += sum([])
return mod + self.stamina
def soakArmored(self, mod=0):
if self.armorEquipped.all():
mod += sum([])
return mod
def soakTotal(self, mod=0):
return mod + self.soakNatural() + self.soakArmored()
def hardness(self, mod=0):
if self.armorEquipped.all():
mod += sum([])
if self.charmsActive():
mod += sum([])
return mod
def joinBattle(self, mod=0):
if self.charmsActive():
mod += sum([])
return mod + self.wits + self.awareness + 3
def evasion(self, mod=0):
if self.charmsActive():
mod += sum([])
return mod + ceil((self.dexterity + self.dodge) / 2) - sum([])
def rush(self, mod=0):
if self.charmsActive():
mod += sum([])
return mod + self.dexterity + self.athletics
def disengage(self, mod=0):
if self.charmsActive():
mod += sum([])
return mod + self.dexterity + self.dodge
class characterExaltBase(characterBase):
class Meta:
@ -533,9 +493,6 @@ class characterExaltBase(characterBase):
pass
class characterMortal(characterBase):
pass
class characterExaltSolar(characterExaltBase):
#============ SUPERNAL ============#
@ -547,3 +504,161 @@ class characterExaltLunar(characterExaltBase):
#========= SHAPESHIFTING ==========#
pass
#==============================================================================#
#----------------------------------- ITEMS ------------------------------------#
#==============================================================================#
class itemBase(models.Model):
class Meta:
abstract = True
def __str__(self):
return self.name
name = NameField()
description = DescriptionField()
character = NamedForeignKeyField("Character", characterBase)
class item(itemBase):
pass
#==============================================================================#
#---------------------------------- WEAPONS -----------------------------------#
#==============================================================================#
class itemWeaponBase(itemBase):
class Meta:
abstract = True
equipped = NamedBooleanField("Equipped?")
category = SingleChoiceField("Category", CATEGORIES)
tags = MultiChoiceField("Tags", TAGS_WEAPONS)
accuracy = NamedIntegerField("Accuracy")
damage = NamedIntegerField("Damage")
defense = NamedIntegerField("Defense")
overwhelming = NamedIntegerField("Overwhelming")
attunement = NamedIntegerField("Attunement")
class itemWeaponMelee(itemWeaponBase):
def attack(self, ability, mod=0, withering=True):
if withering:
return mod + ability + self.dexterity + weapon.accuracy
else:
return mod + ability + self.dexterity
def parry(self, ability, mod=0):
if self.character.charmsActive():
mod += sum([])
return mod + ceil((self.dexterity + ability) / 2) + weapon.defense
class itemWeaponRanged(itemWeaponBase):
rangeClose = NamedIntegerField("Close Range")
rangeShort = NamedIntegerField("Short Range")
rangeMedium = NamedIntegerField("Medium Range")
rangeLong = NamedIntegerField("Long Range")
rangeExtreme = NamedIntegerField("Extreme Range")
def attack(self, ability, rangeBand, mod=0, withering=True):
rangeBand = rangeBand.lower()
if rangeBand == "close" or rangeBand == "c":
rangeModifier = self.rangeClose
elif rangeBand == "short" or rangeBand == "s":
rangeModifier = self.rangeShort
elif rangeBand == "medium" or rangeBand == "m":
rangeModifier = self.rangeMedium
elif rangeBand == "long" or rangeBand == "l":
rangeModifier = self.rangeLong
elif rangeBand == "extreme" or rangeBand == "e":
rangeModifier = self.rangeExtreme
else:
rangeModifier = 0
if withering:
return mod + rangeModifier + ability + self.dexterity + weapon.accuracy
else:
return mod + rangeModifier + ability + self.dexterity
#==============================================================================#
#----------------------------------- ARMOR ------------------------------------#
#==============================================================================#
class itemArmor(itemBase):
equipped = NamedBooleanField("Equipped?")
category = SingleChoiceField("Category", CATEGORIES)
tags = MultiChoiceField("Tags", TAGS_ARMOR)
soak = NamedIntegerField("Soak")
hardness = NamedIntegerField("Hardness")
mobilityPenalty = NamedIntegerField("Mobility Penalty")
attunement = NamedIntegerField("Attunement")
#==============================================================================#
#----------------------------------- CHARMS -----------------------------------#
#==============================================================================#
class charm(models.Model):
def __str__(self):
return self.name
name = NameField()
description = DescriptionField()
rollConfiguration = NamedManyToManyField("Roll Configurations", rollConfiguration)
character = NamedForeignKeyField("Character", characterBase)
active = NamedBooleanField("Active?")
modifierAttribute = NamedManyToManyField("Attribute Modifiers", modifierAttribute)
modifierAbility = NamedManyToManyField("Abilities Modifiers", modifierAbility)
modifierStatic = NamedManyToManyField("Statics Modifiers", modifierStatic)
def modifier(self, keyword):
output = 0
for modifierAttribute in self.modifierAttribute.all():
if keyword == modifierAttribute.attribute:
output += modifierAttribute.value
for modifierAbility in self.modifierAbility.all():
if keyword == modifierAbility.ability:
output += modifierAbility.value
for modifierStatic in self.modifierStatic.all():
if keyword == modifierStatic.static:
output += modifierStatic.value
return
#==============================================================================#
#----------------------------------- MERITS -----------------------------------#
#==============================================================================#
class merit(models.Model):
def __str__(self):
return self.name
name = NameField()
description = DescriptionField()
dots = DotField("Dots")
character = NamedForeignKeyField("Character", characterBase)
rollConfiguration = NamedManyToManyField("Roll Configurations", rollConfiguration)
modifierAttribute = NamedManyToManyField("Attribute Modifiers", modifierAttribute)
modifierAbility = NamedManyToManyField("Abilities Modifiers", modifierAbility)
modifierStatic = NamedManyToManyField("Statics Modifiers", modifierStatic)
#==============================================================================#
#-------------------------------- SPECIALITIES --------------------------------#
#==============================================================================#
class speciality(models.Model):
def __str__(self):
return "[{}] {}".format(self.ability, self.name)
modifier = 2
name = NameField()
ability = SingleChoiceField("Ability", ABILITIES)
character = NamedForeignKeyField("Character", characterBase)
#==============================================================================#
#--------------------------------- INTIMACIES ---------------------------------#
#==============================================================================#
class intimacyBase(models.Model):
class Meta:
abstract = True
def __str__(self):
return "[{}] {}".format(self.description, self.intensity)
description = DescriptionField()
intensity = SingleChoiceField("Intensity", INTENSITIES)
character = NamedForeignKeyField("Character", characterBase)
class intimacyTie(intimacyBase):
target = NamedCharField("Target")
class intimacyPrincipal(intimacyBase):
pass

124
elect drop table " Normal file
View File

@ -0,0 +1,124 @@
List of relations
Schema | Name | Type | Owner
--------+-----------------------------------------+----------+--------
public | app_characterexaltlunar | table | django
public | app_characterexaltlunar_id_seq | sequence | django
public | app_characterexaltlunar_merits | table | django
public | app_characterexaltlunar_merits_id_seq | sequence | django
public | app_characterexaltsolar | table | django
public | app_characterexaltsolar_id_seq | sequence | django
public | app_characterexaltsolar_merits | table | django
public | app_characterexaltsolar_merits_id_seq | sequence | django
public | app_charactermortal | table | django
public | app_charactermortal_id_seq | sequence | django
public | app_charactermortal_merits | table | django
public | app_charactermortal_merits_id_seq | sequence | django
public | app_charm | table | django
public | app_charm_id_seq | sequence | django
public | app_charm_modifierAbility | table | django
public | app_charm_modifierAbility_id_seq | sequence | django
public | app_charm_modifierAttribute | table | django
public | app_charm_modifierAttribute_id_seq | sequence | django
public | app_charm_modifierStatic | table | django
public | app_charm_modifierStatic_id_seq | sequence | django
public | app_charm_rollConfiguration | table | django
public | app_charm_rollConfiguration_id_seq | sequence | django
public | app_intimacyprincipal | table | django
public | app_intimacyprincipal_id_seq | sequence | django
public | app_intimacytie | table | django
public | app_intimacytie_id_seq | sequence | django
public | app_item | table | django
public | app_item_id_seq | sequence | django
public | app_itemamor_id_seq | sequence | django
public | app_itemarmor | table | django
public | app_itemweaponmelee | table | django
public | app_itemweaponmelee_id_seq | sequence | django
public | app_itemweaponranged | table | django
public | app_itemweaponranged_id_seq | sequence | django
public | app_merit | table | django
public | app_merit_id_seq | sequence | django
public | app_merit_modifierAbility | table | django
public | app_merit_modifierAbility_id_seq | sequence | django
public | app_merit_modifierAttribute | table | django
public | app_merit_modifierAttribute_id_seq | sequence | django
public | app_merit_modifierStatic | table | django
public | app_merit_modifierStatic_id_seq | sequence | django
public | app_merit_rollConfiguration | table | django
public | app_merit_rollConfiguration_id_seq | sequence | django
public | app_modifierability | table | django
public | app_modifierability_id_seq | sequence | django
public | app_modifierattribute | table | django
public | app_modifierattribute_id_seq | sequence | django
public | app_modifierstatic | table | django
public | app_modifierstatic_id_seq | sequence | django
public | app_rollconfiguration | table | django
public | app_rollconfiguration_id_seq | sequence | django
public | app_speciality | table | django
public | app_speciality_id_seq | sequence | django
public | auth_group | table | django
public | auth_group_id_seq | sequence | django
public | auth_group_permissions | table | django
public | auth_group_permissions_id_seq | sequence | django
public | auth_permission | table | django
public | auth_permission_id_seq | sequence | django
public | auth_user | table | django
public | auth_user_groups | table | django
public | auth_user_groups_id_seq | sequence | django
public | auth_user_id_seq | sequence | django
public | auth_user_user_permissions | table | django
public | auth_user_user_permissions_id_seq | sequence | django
public | charsheet_abilityeffect | table | django
public | charsheet_abilityeffect_id_seq | sequence | django
public | charsheet_armor | table | django
public | charsheet_armor_id_seq | sequence | django
public | charsheet_attributeeffect | table | django
public | charsheet_attributeeffect_id_seq | sequence | django
public | charsheet_charm | table | django
public | charsheet_charm_abilityEffects | table | django
public | charsheet_charm_abilityEffects_id_seq | sequence | django
public | charsheet_charm_attributeEffects | table | django
public | charsheet_charm_attributeEffects_id_seq | sequence | django
public | charsheet_charm_id_seq | sequence | django
public | charsheet_charm_staticEffects | table | django
public | charsheet_charm_staticEffects_id_seq | sequence | django
public | charsheet_merit | table | django
public | charsheet_merit_abilityEffects | table | django
public | charsheet_merit_abilityEffects_id_seq | sequence | django
public | charsheet_merit_attributeEffects | table | django
public | charsheet_merit_attributeEffects_id_seq | sequence | django
public | charsheet_merit_id_seq | sequence | django
public | charsheet_merit_staticEffects | table | django
public | charsheet_merit_staticEffects_id_seq | sequence | django
public | charsheet_principal | table | django
public | charsheet_principal_id_seq | sequence | django
public | charsheet_solar | table | django
public | charsheet_solar_armor | table | django
public | charsheet_solar_armor_id_seq | sequence | django
public | charsheet_solar_charms | table | django
public | charsheet_solar_charms_id_seq | sequence | django
public | charsheet_solar_id_seq | sequence | django
public | charsheet_solar_merits | table | django
public | charsheet_solar_merits_id_seq | sequence | django
public | charsheet_solar_weaponsMelee | table | django
public | charsheet_solar_weaponsMelee_id_seq | sequence | django
public | charsheet_solar_weaponsRanged | table | django
public | charsheet_solar_weaponsRanged_id_seq | sequence | django
public | charsheet_speciality | table | django
public | charsheet_speciality_id_seq | sequence | django
public | charsheet_staticeffect | table | django
public | charsheet_staticeffect_id_seq | sequence | django
public | charsheet_tie | table | django
public | charsheet_tie_id_seq | sequence | django
public | charsheet_weaponmelee | table | django
public | charsheet_weaponmelee_id_seq | sequence | django
public | charsheet_weaponranged | table | django
public | charsheet_weaponranged_id_seq | sequence | django
public | django_admin_log | table | django
public | django_admin_log_id_seq | sequence | django
public | django_content_type | table | django
public | django_content_type_id_seq | sequence | django
public | django_migrations | table | django
public | django_migrations_id_seq | sequence | django
public | django_session | table | django
(119 rows)