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)
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
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
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)
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
from Character import Character import Enemy import Encounter player = Character() player.print_char_sheet() player.level_up() #Enemy.create_mage() Encounter.encounter_mage()