Big prog
This commit is contained in:
@@ -16,6 +16,7 @@ admin.site.register(charmSolar)
|
||||
admin.site.register(charmLunar)
|
||||
admin.site.register(charmLunarShape)
|
||||
admin.site.register(charmEvocation)
|
||||
admin.site.register(charmMartialArt)
|
||||
|
||||
admin.site.register(merit)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Generated by Django 3.0.5 on 2020-04-13 00:12
|
||||
# Generated by Django 3.0.5 on 2020-04-15 20:45
|
||||
|
||||
import app.models
|
||||
from django.db import migrations, models
|
||||
@@ -90,6 +90,7 @@ class Migration(migrations.Migration):
|
||||
('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')),
|
||||
('character', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='intimacy_set', to='app.characterBase', verbose_name='Character')),
|
||||
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_app.intimacybase_set+', to='contenttypes.ContentType')),
|
||||
],
|
||||
options={
|
||||
@@ -144,6 +145,7 @@ class Migration(migrations.Migration):
|
||||
('motesPersonal', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Personal Motes')),
|
||||
('motesPeripheralMax', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Maximum Peripheral Motes')),
|
||||
('motesPeripheral', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Current Peripheral Motes')),
|
||||
('motesCommitted', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Committed Motes')),
|
||||
('limitTrigger', models.TextField(blank='False', max_length=1000, verbose_name='Limit Trigger')),
|
||||
('limitBreak', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Limit Break')),
|
||||
('experienceExaltedTotal', app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Total Exalted Experience')),
|
||||
@@ -375,6 +377,18 @@ class Migration(migrations.Migration):
|
||||
},
|
||||
bases=('app.characterexaltbase',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='charmEvocation',
|
||||
fields=[
|
||||
('charmbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.charmBase')),
|
||||
('key', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.itemBase', verbose_name='Artifact')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
'base_manager_name': 'objects',
|
||||
},
|
||||
bases=('app.charmbase',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='charmLunar',
|
||||
fields=[
|
||||
@@ -517,24 +531,11 @@ class Migration(migrations.Migration):
|
||||
bases=('app.ownershipbase',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ownershipIntimacyTie',
|
||||
name='ownershipCharmSolar',
|
||||
fields=[
|
||||
('ownershipbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.ownershipBase')),
|
||||
('owner', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipIntimacyTie_set', to='app.characterBase', verbose_name='Owner')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipIntimacyTieTarget_set', to='app.intimacyTie', verbose_name='Tie')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
'base_manager_name': 'objects',
|
||||
},
|
||||
bases=('app.ownershipbase',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ownershipIntimacyPrincipal',
|
||||
fields=[
|
||||
('ownershipbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.ownershipBase')),
|
||||
('owner', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipIntimacyPrincipal_set', to='app.characterBase', verbose_name='Owner')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipIntimacyPrincipalTarget_set', to='app.intimacyPrincipal', verbose_name='Principal')),
|
||||
('owner', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmSolar_set', to='app.characterExaltSolar', verbose_name='Solar Exalted Owner')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmSolarTarget_set', to='app.charmSolar', verbose_name='Solar Charm')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
@@ -547,33 +548,7 @@ class Migration(migrations.Migration):
|
||||
fields=[
|
||||
('ownershipbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.ownershipBase')),
|
||||
('owner', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmMartialArt_set', to='app.characterExaltBase', verbose_name='Exalted Owner')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmMartialArtTarget_set', to='app.characterExaltBase', verbose_name='Martial Arts Charm')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
'base_manager_name': 'objects',
|
||||
},
|
||||
bases=('app.ownershipbase',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ownershipCharmEvocation',
|
||||
fields=[
|
||||
('ownershipbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.ownershipBase')),
|
||||
('owner', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmEvocation_set', to='app.characterExaltBase', verbose_name='Exalted Owner')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmEvocationTarget_set', to='app.characterExaltBase', verbose_name='Evocation')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
'base_manager_name': 'objects',
|
||||
},
|
||||
bases=('app.ownershipbase',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ownershipCharmSolar',
|
||||
fields=[
|
||||
('ownershipbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.ownershipBase')),
|
||||
('owner', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmSolar_set', to='app.characterExaltSolar', verbose_name='Solar Exalted Owner')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmSolarTarget_set', to='app.characterExaltSolar', verbose_name='Solar Charm')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmMartialArtTarget_set', to='app.charmMartialArt', verbose_name='Martial Arts Charm')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
@@ -586,7 +561,7 @@ class Migration(migrations.Migration):
|
||||
fields=[
|
||||
('ownershipbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.ownershipBase')),
|
||||
('owner', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmLunarShape_set', to='app.characterExaltLunar', verbose_name='Lunar Exalted Owner')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmLunarShapeTarget_set', to='app.characterExaltLunar', verbose_name='Lunar Shape')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmLunarShapeTarget_set', to='app.charmLunarShape', verbose_name='Lunar Shape')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
@@ -599,7 +574,7 @@ class Migration(migrations.Migration):
|
||||
fields=[
|
||||
('ownershipbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.ownershipBase')),
|
||||
('owner', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmLunar_set', to='app.characterExaltLunar', verbose_name='Lunar Exalted Owner')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmLunarTarget_set', to='app.characterExaltLunar', verbose_name='Lunar Charm')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmLunarTarget_set', to='app.charmLunar', verbose_name='Lunar Charm')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
@@ -608,15 +583,16 @@ class Migration(migrations.Migration):
|
||||
bases=('app.ownershipbase',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='charmEvocation',
|
||||
name='ownershipCharmEvocation',
|
||||
fields=[
|
||||
('charmbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.charmBase')),
|
||||
('key', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.itemBase', verbose_name='Artifact')),
|
||||
('ownershipbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='app.ownershipBase')),
|
||||
('owner', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmEvocation_set', to='app.characterExaltBase', verbose_name='Exalted Owner')),
|
||||
('target', app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ownershipCharmEvocationTarget_set', to='app.charmEvocation', verbose_name='Evocation')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
'base_manager_name': 'objects',
|
||||
},
|
||||
bases=('app.charmbase',),
|
||||
bases=('app.ownershipbase',),
|
||||
),
|
||||
]
|
||||
|
||||
24
app/migrations/0002_auto_20200415_2109.py
Normal file
24
app/migrations/0002_auto_20200415_2109.py
Normal file
@@ -0,0 +1,24 @@
|
||||
# Generated by Django 3.0.5 on 2020-04-15 21:09
|
||||
|
||||
import app.models
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='charmlunarshape',
|
||||
name='shapeType',
|
||||
field=app.models.SingleChoiceField(blank=True, choices=[('Human', 'Human'), ('Animal', 'Animal')], max_length=100, verbose_name='Shape Type'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='charmlunarshape',
|
||||
name='size',
|
||||
field=app.models.SingleChoiceField(blank=True, choices=[('Normal', 'Normal')], max_length=100, verbose_name='Size'),
|
||||
),
|
||||
]
|
||||
@@ -1,19 +0,0 @@
|
||||
# Generated by Django 3.0.5 on 2020-04-13 13:15
|
||||
|
||||
import app.models
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='characterexaltbase',
|
||||
name='motesCommitted',
|
||||
field=app.models.NamedIntegerField(default=0, help_text=None, verbose_name='Committed Motes'),
|
||||
),
|
||||
]
|
||||
@@ -1,38 +0,0 @@
|
||||
# Generated by Django 3.0.5 on 2020-04-15 19:29
|
||||
|
||||
import app.models
|
||||
from django.db import migrations
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app', '0002_characterexaltbase_motescommitted'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='ownershipintimacytie',
|
||||
name='owner',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='ownershipintimacytie',
|
||||
name='ownershipbase_ptr',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='ownershipintimacytie',
|
||||
name='target',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='intimacybase',
|
||||
name='character',
|
||||
field=app.models.NamedForeignKeyField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.characterBase', verbose_name='Character'),
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='ownershipIntimacyPrincipal',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='ownershipIntimacyTie',
|
||||
),
|
||||
]
|
||||
@@ -124,6 +124,7 @@ TAGS_WEAPONS = [
|
||||
),
|
||||
(
|
||||
"Thrown", (
|
||||
("Thrown", "Thrown"),
|
||||
("Occult", "Occult"),
|
||||
("Cutting", "Cutting"),
|
||||
("Poisonable", "Poisonable"),
|
||||
@@ -218,6 +219,15 @@ CASTES_LUNAR = [
|
||||
("Castless", "Castless")
|
||||
]
|
||||
|
||||
SHAPE_SIZES = [
|
||||
("Normal", "Normal"),
|
||||
]
|
||||
|
||||
SHAPE_TYPES = [
|
||||
("Human", "Human"),
|
||||
("Animal", "Animal"),
|
||||
]
|
||||
|
||||
#==============================================================================#
|
||||
#------------------------------- CUSTOM MODELS --------------------------------#
|
||||
#==============================================================================#
|
||||
@@ -923,6 +933,11 @@ class characterBase(PolymorphicModel):
|
||||
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]
|
||||
def healthDots(self):
|
||||
output = []
|
||||
for i in range(len(self.healthTrack()) - 1):
|
||||
output.append((self.healthTrack()[i+1], i < self.healthIndex))
|
||||
return output
|
||||
|
||||
#============ STATICS =============#
|
||||
def resolve(self, speciality=None, mod=0):
|
||||
@@ -1035,7 +1050,7 @@ class characterExaltLunar(characterExaltBase):
|
||||
#========= SHAPESHIFTING ==========#
|
||||
spiritShape = models.CharField(verbose_name="Spirit Shape", max_length=100)
|
||||
# Reverse relation
|
||||
def shapeSet(self):
|
||||
def lunarShapeSet(self):
|
||||
output = []
|
||||
try:
|
||||
ownerships = self.ownershipCharmLunarShape_set.all()
|
||||
@@ -1161,30 +1176,49 @@ class charmBase(effectBase):
|
||||
keywords = MultiChoiceField("Charm Keywords", CHARM_KEYWORDS)
|
||||
|
||||
class charmMartialArt(charmBase):
|
||||
def type(self):
|
||||
return "Martial Art"
|
||||
levelKey = NamedIntegerField("Martial Arts Level")
|
||||
key = None
|
||||
|
||||
class charmEvocation(charmBase):
|
||||
def type(self):
|
||||
return "Evocation"
|
||||
levelKey = 0
|
||||
key = NamedForeignKeyField("Artifact", itemBase)
|
||||
|
||||
class charmSolar(charmBase):
|
||||
def type(self):
|
||||
return "Solar"
|
||||
levelKey = NamedIntegerField("Ability Level")
|
||||
key = SingleChoiceField("Key Ability", ABILITIES)
|
||||
|
||||
class charmLunar(charmBase):
|
||||
def type(self):
|
||||
return "Lunar"
|
||||
levelKey = NamedIntegerField("Attribute Level")
|
||||
key = SingleChoiceField("Key Attribute", ATTRIBUTES)
|
||||
|
||||
class charmLunarShape(charmBase):
|
||||
levelKey = 0
|
||||
def type(self):
|
||||
return "Lunar Shape"
|
||||
key = None
|
||||
size = SingleChoiceField("Size", SHAPE_SIZES)
|
||||
shapeType = SingleChoiceField("Shape Type", SHAPE_TYPES)
|
||||
|
||||
#==============================================================================#
|
||||
#----------------------------------- MERITS -----------------------------------#
|
||||
#==============================================================================#
|
||||
class merit(effectBase):
|
||||
dots = DotField("Dots")
|
||||
def dotsDisplay(self):
|
||||
output = []
|
||||
for i in range(self.dots):
|
||||
output.append(True)
|
||||
for i in range(5 - self.dots):
|
||||
output.append(False)
|
||||
return output
|
||||
|
||||
#==============================================================================#
|
||||
#-------------------------------- SPECIALITIES --------------------------------#
|
||||
@@ -1200,7 +1234,7 @@ class intimacyBase(PolymorphicModel):
|
||||
|
||||
description = DescriptionField()
|
||||
intensity = SingleChoiceField("Intensity", INTENSITIES)
|
||||
character = NamedForeignKeyField("Character", characterBase)
|
||||
character = NamedForeignKeyField("Character", characterBase, related_name="intimacy_set")
|
||||
|
||||
class intimacyTie(intimacyBase):
|
||||
target = NamedCharField("Target")
|
||||
@@ -1226,19 +1260,19 @@ class ownershipItemArmor(ownershipBase):
|
||||
owner = NamedForeignKeyField("Owner", characterBase, related_name="ownershipItemArmor_set")
|
||||
|
||||
class ownershipCharmMartialArt(ownershipBase):
|
||||
target = NamedForeignKeyField("Martial Arts Charm", characterExaltBase, related_name="ownershipCharmMartialArtTarget_set")
|
||||
target = NamedForeignKeyField("Martial Arts Charm", charmMartialArt, related_name="ownershipCharmMartialArtTarget_set")
|
||||
owner = NamedForeignKeyField("Exalted Owner", characterExaltBase, related_name="ownershipCharmMartialArt_set")
|
||||
class ownershipCharmEvocation(ownershipBase):
|
||||
target = NamedForeignKeyField("Evocation", characterExaltBase, related_name="ownershipCharmEvocationTarget_set")
|
||||
target = NamedForeignKeyField("Evocation", charmEvocation, related_name="ownershipCharmEvocationTarget_set")
|
||||
owner = NamedForeignKeyField("Exalted Owner", characterExaltBase, related_name="ownershipCharmEvocation_set")
|
||||
class ownershipCharmSolar(ownershipBase):
|
||||
target = NamedForeignKeyField("Solar Charm", characterExaltSolar, related_name="ownershipCharmSolarTarget_set")
|
||||
target = NamedForeignKeyField("Solar Charm", charmSolar, related_name="ownershipCharmSolarTarget_set")
|
||||
owner = NamedForeignKeyField("Solar Exalted Owner", characterExaltSolar, related_name="ownershipCharmSolar_set")
|
||||
class ownershipCharmLunar(ownershipBase):
|
||||
target = NamedForeignKeyField("Lunar Charm", characterExaltLunar, related_name="ownershipCharmLunarTarget_set")
|
||||
target = NamedForeignKeyField("Lunar Charm", charmLunar, related_name="ownershipCharmLunarTarget_set")
|
||||
owner = NamedForeignKeyField("Lunar Exalted Owner", characterExaltLunar, related_name="ownershipCharmLunar_set")
|
||||
class ownershipCharmLunarShape(ownershipBase):
|
||||
target = NamedForeignKeyField("Lunar Shape", characterExaltLunar, related_name="ownershipCharmLunarShapeTarget_set")
|
||||
target = NamedForeignKeyField("Lunar Shape", charmLunarShape, related_name="ownershipCharmLunarShapeTarget_set")
|
||||
owner = NamedForeignKeyField("Lunar Exalted Owner", characterExaltLunar, related_name="ownershipCharmLunarShape_set")
|
||||
|
||||
class ownershipMerit(ownershipBase):
|
||||
|
||||
Reference in New Issue
Block a user