Exemplo n.º 1
0
 def mail_results(self):
     for faction in Faction.objects.all():
         actions = Action.objects.filter(faction=faction, turn=self.turn)
         Message.mail_line(
             faction.controller,
             "%s Turn Results: %s" % (faction.name, self.display_turn()),
             "\n".join([a.p_str for a in actions]))
Exemplo n.º 2
0
 def generate_resources(self):
     for faction in Faction.objects.all():
         generated = []
         for territory in faction.territory_set.filter(special=MINE):
             generated.append("%s generates %s" % (territory.name, territory.resource_generated()))
         try:
             Message.mail_line(faction.controller, "Resources Generated", "Your territories generated the following resources:\n%s" % "\n".join(generated))
         except:
             pass
Exemplo n.º 3
0
 def disband_units(self):
     for faction in Faction.objects.all():
         if faction.code == 'ET': continue # ET gets a pass, ha ha
         if faction.units() > faction.allowed_units():
             to_disband = faction.units() - faction.allowed_units()
             disbandees = faction.unit_set.filter(alive=True).order_by('disband_priority')[:to_disband]
             for d in disbandees:
                 d.alive = False
                 d.save()
             try:
                 Message.mail_line(faction.controller, "%s units disbanded" % disbandees.count(), "You were over your cap, so units in the following territories were disbanded:\n%s" % "\n".join([d.territory.name for d in list(disbandees)]))
             except Exception, e:
                 print e, type(e), e.message
Exemplo n.º 4
0
 def generate_resources(self):
     for faction in Faction.objects.all():
         generated = []
         for territory in faction.territory_set.filter(special=MINE):
             generated.append(
                 "%s generates %s" %
                 (territory.name, territory.resource_generated()))
         try:
             Message.mail_line(
                 faction.controller, "Resources Generated",
                 "Your territories generated the following resources:\n%s" %
                 "\n".join(generated))
         except:
             pass
Exemplo n.º 5
0
 def build_units(self):
     for faction in Faction.objects.all():
         if not BuildOrder.objects.filter(faction=faction, turn=self.turn).exists():
             continue
         built = []
         for b in BuildOrder.objects.filter(faction=faction, turn=self.turn):
             if b.territory.owner != faction:
                 built.append("%s: failed, territory not yours" % b.territory.name)
             elif b.territory.has_unit:
                 built.append("%s: failed, territory still occupied" % b.territory.name)
             else:
                 built.append("%s: succeeded" % b.territory.name)
                 Unit.objects.create(faction=faction, territory=b.territory)
         try:
             Message.mail_line(faction.controller, "Unit Build Results", "Your build orders:\n%s" % "\n".join(built))
         except:
             pass
Exemplo n.º 6
0
 def disband_units(self):
     for faction in Faction.objects.all():
         if faction.code == 'ET': continue  # ET gets a pass, ha ha
         if faction.units() > faction.allowed_units():
             to_disband = faction.units() - faction.allowed_units()
             disbandees = faction.unit_set.filter(
                 alive=True).order_by('disband_priority')[:to_disband]
             for d in disbandees:
                 d.alive = False
                 d.save()
             try:
                 Message.mail_line(
                     faction.controller,
                     "%s units disbanded" % disbandees.count(),
                     "You were over your cap, so units in the following territories were disbanded:\n%s"
                     %
                     "\n".join([d.territory.name
                                for d in list(disbandees)]))
             except Exception, e:
                 print e, type(e), e.message
Exemplo n.º 7
0
 def build_units(self):
     for faction in Faction.objects.all():
         if not BuildOrder.objects.filter(faction=faction,
                                          turn=self.turn).exists():
             continue
         built = []
         for b in BuildOrder.objects.filter(faction=faction,
                                            turn=self.turn):
             if b.territory.owner != faction:
                 built.append("%s: failed, territory not yours" %
                              b.territory.name)
             elif b.territory.has_unit:
                 built.append("%s: failed, territory still occupied" %
                              b.territory.name)
             else:
                 built.append("%s: succeeded" % b.territory.name)
                 Unit.objects.create(faction=faction, territory=b.territory)
         try:
             Message.mail_line(faction.controller, "Unit Build Results",
                               "Your build orders:\n%s" % "\n".join(built))
         except:
             pass
Exemplo n.º 8
0
 def mail_results(self):
     for faction in Faction.objects.all():
         actions = Action.objects.filter(faction=faction, turn=self.turn)
         Message.mail_line(faction.controller, "%s Turn Results: %s" % (faction.name, self.display_turn()), "\n".join([a.p_str for a in actions]))