Beispiel #1
0
 def create_factions(self, amount):
     for i in range(amount):
         best_stat = random.randint(1, 3)
         name = names[i]
         key = random.choice(list(self.universe_map.keys()))
         #system = random.choice(list(self.universe_map))
         system = self.universe_map[key]
         planet_amount = len(system.planets)
         rand_int = random.randint(0, planet_amount - 1)
         homeworld = system.planets[rand_int]
         faction = None
         if (best_stat == 1):
             #name, force rating, cunning, wealth, fac,creds, tags, homeworld
             faction = Faction.Faction(name, 2, 1, 1, 1, None, homeworld,
                                       Colour.faction_colours[i])
         elif (best_stat == 2):
             #name, force rating, cunning, wealth, fac,creds, tags, homeworld
             faction = Faction.Faction(name, 1, 2, 1, 1, None, homeworld,
                                       Colour.faction_colours[i])
         elif (best_stat == 3):
             #name, force rating, cunning, wealth, fac,creds, tags, homeworld
             faction = Faction.Faction(name, 1, 1, 2, 1, None, homeworld,
                                       Colour.faction_colours[i])
         self.universe_map[key].controlling_faction = faction
         homeworld.controlling_faction = faction
         self.factions.append(faction)
     pass
Beispiel #2
0
 def affectedUnits(self, map, sourceUnit, posn):
     if sourceUnit.sp() < self._cost:
         return []
     if not self.correctWeapon(sourceUnit.weapon()):
         return []
         
     if len(posn) == 2:
         (x, y) = posn
         z = map.squares[x][y].z
     else:
         (x, y, z) = posn
     affectedSquares = self._aoe(map, sourceUnit, (x, y, z))
     result = []
     for (x, y) in affectedSquares:
         sq = map.squares[x][y]
         t = sq.unit
         if t != None:
             if self._targetType == FRIENDLY_AND_HOSTILE:
                 result.append(t)
             elif (self._targetType == FRIENDLY and
                   Faction.friendly(sourceUnit.faction(), t.faction())):
                 result.append(t)
             elif (self._targetType == HOSTILE and
                   Faction.hostile(sourceUnit.faction(), t.faction())):
                 result.append(t)                    
     return result
    def parse_unit_line(self, unitLine, current_mode):
        def read_trigger_line(unitLine, current_mode):
            if ',' in unitLine[2]:
                position = tuple(int(n) for n in unitLine[2].split(','))
                return self.get_unit_from_pos(position, current_mode[0])
            else:
                unit = self.get_unit_from_id(unitLine[2])
                if unit:
                    return unit
                else:
                    return self.get_rein_from_id(unitLine[2])

        if unitLine[0] == 'faction':
            self.factions[unitLine[1]] = Faction.Faction(
                unitLine[1], unitLine[2], unitLine[3], unitLine[4])
        elif unitLine[0] == 'mode':
            current_mode = unitLine[1].split(',')
        elif unitLine[0] == 'load_player_characters':
            self.load_player_characters = True
        elif unitLine[0] == 'trigger':
            unit = read_trigger_line(unitLine, current_mode)
            if unitLine[1] not in self.triggers:
                self.triggers[unitLine[1]] = Trigger()
            self.triggers[unitLine[1]].add_unit(unit, unitLine[3], unitLine[4])
        else:  # For now it just loads every unit, irrespective of mode
            # New Unit
            if len(unitLine) > 7:
                self.create_unit_from_line(unitLine, current_mode)
            else:
                self.add_unit_from_line(unitLine, current_mode)
            # # Saved Unit
            # elif unitLine[1] == "1":
            #     print("Saved!")
            #     self.saved_unit_from_line(unitLine)
        return current_mode
Beispiel #4
0
 def __call__(self, battle):
     """@return: True iff all the player's units have been rendered
     inactive."""
     active = [u for u in battle.units() if u.active()]
     for u in active:
         if Faction.playerControlled(u.faction()):
             return False
     return True
Beispiel #5
0
 def __call__(self, battle):
     """@return: True iff all enemy units have been rendered
     inactive."""
     active = [u for u in battle.units() if u.active()]
     for u in active:
         if Faction.hostile(Faction.PLAYER_FACTION, u.faction()):
             return False
     return True
Beispiel #6
0
def connected(sq1, sq2, unit, ignoreUnits=False):
    if not ignoreUnits:
        if (sq2.unit != None and sq2.unit.alive()
                and not Faction.friendly(unit.faction(), sq2.unit.faction())):
            return False
    if sq1 is sq2:
        return False
    if sq1.z == 0 or sq2.z == 0:
        return False
    if sq1.z + 4 < sq1.waterHeight or sq2.z + 4 < sq2.waterHeight:
        return False
#    if sq1.maxHeight() - sq1.minHeight() > 16:
#        return False
#    if sq2.maxHeight() - sq2.minHeight() > 16:
#        return False
    result = abs(sq1.z - sq2.z) <= unit.jump()
    return result
Beispiel #7
0
def connected(sq1, sq2, unit, ignoreUnits=False):
    if not ignoreUnits:
        if (sq2.unit != None and
            sq2.unit.alive() and
            not Faction.friendly(unit.faction(), sq2.unit.faction())):
            return False
    if sq1 is sq2:
        return False
    if sq1.z == 0 or sq2.z == 0:
        return False
    if sq1.z + 4 < sq1.waterHeight or sq2.z + 4 < sq2.waterHeight:
        return False
#    if sq1.maxHeight() - sq1.minHeight() > 16:
#        return False
#    if sq2.maxHeight() - sq2.minHeight() > 16:
#        return False
    result = abs(sq1.z - sq2.z) <= unit.jump()
    return result
Beispiel #8
0
def NewGame():
    READY_TO_EXECUTE = False
    Player_Faction = Faction()
    Enemy_Faction = Faction()
    loop = True
    while loop == True:
        print(clear)
        print("load successful")
        print("Pick your side:")
        print("[1] Empyrion")
        print("[2] United Alliance")
        choice = int(input(">: "))
        loop = Switch(1,2,choice)


    print(clear)
    print(choice)
    if choice == 1:
        print("Emyprion chosen")
        Player_Faction.team = 1
        Enemy_Faction.team = 2
    elif choice == 2:
        print("United Alliance chosen")
        Player_Faction.team = 2
        Enemy_Faction.team = 1

    if Player_Faction.team == 1:
        loop = True
        while loop:
            Player_Faction.commanders[0] = "CPT Carson"
            Player_Faction.troops[0] = 16
            Player_Faction.commanders[1] = "CPT Slammer"
            Player_Faction.troops[1] = 13
            Player_Faction.commanders[2] = "CPT Bland"
            Player_Faction.troops[2] = 16
            print("Pick your Supreme Leader:")
            print("[1] Character A")
            print("[2] Character B")
            print("[3] Character C")
            choice = int(input(">: "))
            loop = Switch(1,3,choice)
            print(clear)

    elif Player_Faction.team == 2:
        loop = True
        while loop:
            Player_Faction.commanders[0] = "CPT Black"
            Player_Faction.troops[0] = 16
            Player_Faction.commanders[1] = "CPT Ramm"
            Player_Faction.troops[1] = 13
            Player_Faction.commanders[2] = "CPT Pelusa"
            Player_Faction.troops[2] = 16
            print("Pick your Supreme Leader:")
            print("[1] Character D")
            print("[2] Character E")
            print("[3] Character F")
            choice = int(input(">: "))
            loop = Switch(1, 3, choice)
            print(clear)

    if Player_Faction.team == 1:
        if choice == 1:
            Player_Faction.leader = "Character A"
        elif choice == 2:
            Player_Faction.leader = "Character B"
        elif choice == 3:
            Player_Faction.leader = "Character C"
    if Player_Faction.team == 2:
        if choice == 1:
            Player_Faction.leader = "Character D"
        elif choice == 2:
            Player_Faction.leader = "Character E"
        elif choice == 3:
            Player_Faction.leader = "Character F"

    #GIVE THE PLANETS INITIAL VALUES HERE
    planet1 = Planet()
    planet1.name = "Rhen Var"

    planet2 = Planet()
    planet2.name = "Mustafar"

    planet3 = Planet()
    planet3.name = "Rengalia"

    planet4 = Planet()
    planet4.name = "Empiria"

    planet5 = Planet()
    planet5.name = "Stelata"

    planet6 = Planet()
    planet6.name = "Cristosis"

    planet7 = Planet()
    planet7.name = "Muzark"
    #END PLANET GENERATION

    READY_TO_EXECUTE = True


    return{"Player_Faction" : Player_Faction,
           "Enemy_Faction"  : Enemy_Faction,
           "READY_TO_EXECUTE": READY_TO_EXECUTE,
           "planet1" : planet1,
           "planet2" : planet2,
           "planet3" : planet3,
           "planet4" : planet4,
           "planet5" : planet5,
           "planet6" : planet6,
           "planet7" : planet7}
Beispiel #9
0
from Provinces import *

#Pre-Game Loop Initialization Code
#Initializing Boolean and Counter Values

game_running = True
campaign_loop = False
session_running = False
global turn
turn = 1

#Core Game Loop

while game_running:
    #Faction Initialization
    faction1 = Faction('Gaul', 0, 0, 0, 50, None, None)
    faction2 = Faction('Rome', 0, 0, 0, 50, None, None)
    faction3 = Faction('Greece', 0, 0, 0, 50, None, None)
    faction4 = Faction('Germania', 0, 0, 0, 50, None, None)
    faction5 = Faction('Carthage', 0, 0, 0, 50, None, None)
    faction6 = Faction('Britons', 0, 0, 0, 50, None, None)
    faction7 = Faction('Macedonia', 0, 0, 0, 50, None, None)
    faction_array = [
        faction1, faction2, faction3, faction4, faction5, faction6, faction7
    ]
    Player = Faction

    #Setting baseline season value
    season = Season('Spring', 1)

    #Game Bootup Menu
Beispiel #10
0

# Pre-Game Loop Initialization Code
# Initializing Boolean and Counter Values

game_running = True
campaign_loop = False
session_running = False
global turn
turn = 1

# Core Game Loop

while game_running:
    # Faction Initialization
    faction1 = Faction('Gaul', 0, 0, 0, 50, None, None)
    faction2 = Faction('Rome', 0, 0, 0, 50, None, None)
    faction3 = Faction('Greece', 0, 0, 0, 50, None, None)
    faction4 = Faction('Germania', 0, 0, 0, 50, None, None)
    faction_array = [faction1, faction2, faction3, faction4]
    Player = Faction

    # Setting baseline season value
    season = Season('Spring', 1)

    # Game Bootup Menu
    print("Welcome to Europa Barbarorum")
    print("Make a choice:")
    print("[1] Start Game")
    print("[2] Exit Program")
    game_choice = input()