예제 #1
0
    def firststrike(self):
        opponent_builder = Encounter.OpponentBuilder()
        self.opponent = opponent_builder.monstermaker(self.player["level"])
        dice_roll = Combat()
        first = dice_roll.d20
        if first >= 11:
            self.prompt_list[0] = "Player has first strike."
            self.main_frame.destroy()
            self.game_window(True)

        else:
            self.prompt_list[0] = "Opponent has first strike."
            self.main_frame.destroy()
            self.game_window(False)
예제 #2
0
    def firststrike(self, playerlvl):
        opponent_builder = Encounter.OpponentBuilder()
        opponent = opponent_builder.monstermaker(int(playerlvl))
        dice_roll = Combat()
        first = dice_roll.d20
        if first >= 11:
            prompt = "Player has first strike."
            temp_list = [opponent, prompt, False]
            return temp_list

        else:
            prompt = "Opponent has first strike."
            temp_list = [opponent, prompt, True]
            return temp_list
def initShips():
    pStarbaseSet = App.g_kSetManager.GetSet("Starbase12")

    global g_sPlayerRace
    g_sPlayerRace, playerShipName = Encounter.createRandomPlayerShip()
    pPlayer = MissionLib.CreatePlayerShip(playerShipName, pStarbaseSet, "player", "Player Start")
    pStarbase = loadspacehelper.CreateShip("FedStarbase", pStarbaseSet, "Starbase 12", "Starbase12 Location")

    g_pFriendlies.AddName("player")
    g_pFriendlies.AddName("Starbase 12")

    fleet = Encounter.createPlayerFleet(g_sPlayerRace)
    n = 1
    for s in fleet:
        name = s + "(" + repr(n) + ")"
        pShip = loadspacehelper.CreateShip(s, pStarbaseSet, name, "")
        import ai.FollowAI

        pShip.SetAI(ai.FollowAI.CreateAI(pShip))
        g_pFriendlies.AddName(name)
        MissionLib.AddCommandableShip(name)
        PlaceShipRandomly(pShip)
        n = n + 1
예제 #4
0
	def get_encounters(self, text_directory):
		""" 
			Method for creating a list of encounter objects from a directory of encounter text files.
		"""
		encounter_list = []
		counter = 0
		onlyfiles = [f for f in listdir(text_directory) if f[0] != '.']
		for encounter_text in onlyfiles:
			counter += 1
			if counter >= 120 and counter < 200:
				print(counter)
				encounter_text = text_directory + '/' + encounter_text
				new_encounter = Encounter(encounter_text, self.hospital_type, self.range_info)
				encounter_list += [new_encounter]
		return encounter_list
예제 #5
0
 def firststrike(self):
     self.dice_roll = Combat()
     builder = Encounter.OpponentBuilder()
     self.player = self.play.characterbuilder()
     self.opponent = builder.monstermaker(self.player["level"])
     first = self.dice_roll.d20
     if first >= 11:
         print("Player has first strike.")
         start.playerturn()
     else:
         print("Opponent has first strike.")
         time.sleep(1)
         print("Player Stats:\n", self.player)
         print("Opponent stats:\n", self.opponent)
         time.sleep(1)
         start.opponentturn()
def EnterSet(pObject, pEvent):
    pShip = App.ShipClass_Cast(pEvent.GetDestination())

    if pShip == None:
        return
    if pShip.IsDead():
        return

    pSet = pShip.GetContainingSet()
    lpEnemies = g_pEnemies.GetActiveObjectTuple()
    lpFriends = g_pFriendlies.GetActiveObjectTuple()

    if (
        (pShip.GetName() == "player")
        and (pSet.GetName() != "Starbase12")
        and ((pSet.GetName() != "warp"))
        and (len(lpEnemies) == 0)
    ):
        fleet = Encounter.createEnemyFleet(g_sPlayerRace, g_pFriendlies.GetNumActiveObjects() - 1)
        n = 1
        for s in fleet:
            name = s + "(" + repr(n) + ")"
            pShip = loadspacehelper.CreateShip(s, pSet, name, "")
            import ai.QuickBattleAI

            pShip.SetAI(ai.QuickBattleAI.CreateAI(pShip, 2, 1))
            g_pEnemies.AddName(name)
            PlaceShipRandomly(pShip)
            n = n + 1

        for pObject in lpFriends:
            pShip = App.ShipClass_Cast(pObject)
            if (pShip.GetWarpEngineSubsystem() != None) and (pShip.GetName() != "player"):
                import ai.FleetAI

                pShip.SetAI(ai.FleetAI.CreateAI(pShip))

    if pObject:
        pObject.CallNextHandler(pEvent)
예제 #7
0
    def setup(self, x=None, y=None):

        #sprite list:
        self.player_list = arcade.SpriteList()
        self.wall_list = arcade.SpriteList()
        self.background_list = arcade.SpriteList()

        #player setup:
        self.player = Animation.PlayerCharacter()

        #setup map:
        map_name = f"maps/{self.map}.tmx"
        platforms_layer_name = 'walls'
        my_map = arcade.tilemap.read_tmx(map_name)

        # Only create the dialogue event list on the first load, reference list on successive map changes
        if self.first_load_of_game:
            # Set up Event Class
            # (Don't recreate Event class on new map load)
            self.event = Event.Event()
            self.event.dialogue_events_overworld = arcade.tilemap.process_layer(
                arcade.tilemap.read_tmx("maps/overworld.tmx"),
                "Dialogue_Events", TILE_SCALING)
            self.event.dialogue_events_dollarstore = arcade.tilemap.process_layer(
                arcade.tilemap.read_tmx("maps/DollarStore.tmx"),
                "Dialogue_Events", TILE_SCALING)
            self.event.dialogue_events_malmart = arcade.tilemap.process_layer(
                arcade.tilemap.read_tmx("maps/MalMart.tmx"), "Dialogue_Events",
                TILE_SCALING)
            self.event.dialogue_events_school = arcade.tilemap.process_layer(
                arcade.tilemap.read_tmx("maps/TheSchool.tmx"),
                "Dialogue_Events", TILE_SCALING)
            self.first_load_of_game = False

            # Only set-up encounters constructor/set-up on initial game load:
            self.encounter = Encounter.Encounter()
            self.encounter.setup(self.view_bottom, self.view_left)

        # Always display finished events
        self.finished_event = arcade.tilemap.process_layer(
            arcade.tilemap.read_tmx(map_name), "Finished_Event", TILE_SCALING)

        if self.map == "overworld":
            self.building_list = arcade.SpriteList()
            self.rand_range = 600
            if x and y:
                self.player.center_x = x
                self.player.center_y = y
            else:
                self.player.center_x = 512
                self.player.center_y = 5000
            # Use the event list for the overworld
            self.dialogue_events_list = self.event.dialogue_events_overworld
            self.building_list = arcade.tilemap.process_layer(
                my_map, "buildings", TILE_SCALING)
            arcade.set_background_color(arcade.csscolor.BURLYWOOD)
        else:
            # Use event list for Dollar Store
            if self.map == "DollarStore":
                self.dialogue_events_list = self.event.dialogue_events_dollarstore
            # Use event list for MalMart
            elif self.map == "MalMart":
                self.dialogue_events_list = self.event.dialogue_events_malmart
            # Use event list for School
            elif self.map == "TheSchool":
                self.dialogue_events_list = self.event.dialogue_events_school

            self.rand_range = 300
            self.door_list = arcade.SpriteList()
            self.player.center_x = 256
            self.player.center_y = 2960
            self.door_list = arcade.tilemap.process_layer(
                my_map, "doors", TILE_SCALING)
            arcade.set_background_color(arcade.csscolor.WHITE)

        self.player_list.append(self.player)

        # Set up overlay class
        self.overlay = Overlay.Overlay()
        self.overlay.load_media()

        #Set up Inventory Class
        self.inventory = Inventory.Inventory()

        #set up walls
        self.wall_list = arcade.tilemap.process_layer(
            map_object=my_map,
            layer_name=platforms_layer_name,
            scaling=TILE_SCALING)
        #set up background objects:
        self.background_list = arcade.tilemap.process_layer(
            my_map, "Background", TILE_SCALING)
        #setup background:
        if my_map.background_color:
            arcade.set_background_color(my_map.background_color)

        self.physics_engine = arcade.PhysicsEngineSimple(
            self.player, self.wall_list)
        self.view_bottom = 0
        self.view_left = 0
예제 #8
0
from Character import Character
import Enemy
import Encounter

player = Character()
player.print_char_sheet()
player.level_up()

#Enemy.create_mage()

Encounter.encounter_mage()