Create 27 vault slots by default
This commit is contained in:
@@ -199,6 +199,8 @@ CAMINUS_BEANSTALKD_PORT = 11300
|
||||
|
||||
CAMINUS_BOUNTY_PRICE=250
|
||||
|
||||
CAMINUS_VAULT_SLOTS = 27
|
||||
|
||||
# Load any site-local overrides, such as camin.us' database settings, etc
|
||||
try:
|
||||
from local_settings import *
|
||||
|
@@ -34,18 +34,29 @@ def send_vault_delete(sender, instance, *args, **kwargs):
|
||||
slots))
|
||||
|
||||
def send_vault_update(sender, instance, created, *args, **kwargs):
|
||||
if created and instance.quantity == -1:
|
||||
return
|
||||
slots = [
|
||||
{
|
||||
'item': instance.item,
|
||||
'quantity': instance.quantity,
|
||||
'damage': instance.damage,
|
||||
'data': instance.data,
|
||||
'position': instance.position
|
||||
}
|
||||
]
|
||||
broadcast_server_event(VaultContentsEvent(instance.player.mc_username, slots))
|
||||
if created and instance.item:
|
||||
slots = [
|
||||
{
|
||||
'item': instance.item.material,
|
||||
'quantity': instance.quantity,
|
||||
'damage': instance.item.damage,
|
||||
'data': instance.item.data,
|
||||
'position': instance.position
|
||||
}
|
||||
]
|
||||
broadcast_server_event(VaultContentsEvent(instance.player.mc_username, slots))
|
||||
|
||||
post_save.connect(send_vault_update, sender=VaultSlot, dispatch_uid='derp')
|
||||
post_delete.connect(send_vault_delete, sender=VaultSlot, dispatch_uid='derp')
|
||||
|
||||
def create_initial_slots(sender, instance, created, *args, **kwargs):
|
||||
slots = instance.vault_slots.all()
|
||||
if len(slots) < settings.CAMINUS_VAULT_SLOTS:
|
||||
neededPositions = range(0, settings.CAMINUS_VAULT_SLOTS)
|
||||
for s in slots:
|
||||
neededPositions.remove(s.position)
|
||||
for pos in neededPositions:
|
||||
VaultSlot.objects.create(player=instance, position=pos)
|
||||
|
||||
post_save.connect(create_initial_slots, sender=MinecraftProfile)
|
||||
|
||||
|
Reference in New Issue
Block a user