def custom_init(self, nart): myscene = self.elements["LOCALE"] myfac = self.elements.get("ENEMY_FACTION") self.register_element("ROOM", pbge.randmaps.rooms.FuzzyRoom(15, 15), dident="LOCALE") self.register_element("DUD_ROOM", pbge.randmaps.rooms.FuzzyRoom(5, 5), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") myunit = gears.selector.RandomMechaUnit(self.rank, 100, myfac, myscene.environment, add_commander=True) team2.contents += myunit.mecha_list self.register_element("_commander", myunit.commander) if myfac: self.obj = adventureseed.MissionObjective( "Locate {} forces".format(myfac), MAIN_OBJECTIVE_VALUE) else: self.obj = adventureseed.MissionObjective("Locate enemy forces", MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myroom = self.register_element("ROOM", pbge.randmaps.rooms.FuzzyRoom(10, 10), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") myunit = gears.selector.RandomMechaUnit( self.rank, 120, self.elements.get("ENEMY_FACTION"), myscene.environment, add_commander=False) team2.contents += myunit.mecha_list team3 = self.register_element("_cargoteam", teams.Team(), dident="ROOM") team3.contents += game.content.plotutility.CargoContainer.generate_cargo_fleet( self.rank) # Oh yeah, when using PyCharm, why not use ludicrously long variable names? self.starting_number_of_containers = len(team3.contents) self.obj = adventureseed.MissionObjective( "Respond to convoy distress call", MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) self.combat_entered = False self.combat_finished = False return True
def custom_init( self, nart ): myscene = self.elements["LOCALE"] myroom = self.register_element("ROOM",pbge.randmaps.rooms.FuzzyRoom(10,10),dident="LOCALE") myfac = self.elements.get("ENEMY_FACTION") team2 = self.register_element("_eteam",teams.Team(enemies=(myscene.player_team,)),dident="ROOM") mynpc = self.seek_element(nart,"_commander",self._npc_is_good,must_find=False,lock=True) if mynpc: plotutility.CharacterMover(self,mynpc,myscene,team2) myunit = gears.selector.RandomMechaUnit(self.rank, 120, myfac, myscene.environment, add_commander=False) else: myunit = gears.selector.RandomMechaUnit(self.rank, 150, myfac, myscene.environment, add_commander=True) self.register_element("_commander",myunit.commander) team2.contents += myunit.mecha_list team3 = self.register_element("_cargoteam",teams.Team(),dident="ROOM") team3.contents += game.content.plotutility.CargoContainer.generate_cargo_fleet(self.rank) # Oh yeah, when using PyCharm, why not use ludicrously long variable names? self.starting_number_of_containers = len(team3.contents) self.obj = adventureseed.MissionObjective("Investigate the meteor", missionbuilder.MAIN_OBJECTIVE_VALUE * 2 ) self.adv.objectives.append(self.obj) self.combat_entered = False self.combat_finished = False return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myroom = self.register_element("ROOM", pbge.randmaps.rooms.FuzzyRoom(10, 10), dident="LOCALE") myfac = self.elements.get("ENEMY_FACTION") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") for i in range(4): mek = gears.selector.generate_ace(self.rank, myfac, myscene.environment) champions.upgrade_to_champion(mek) team2.contents.append(mek) if i == 0: self.register_element("_commander", mek.get_pilot()) self.obj = adventureseed.MissionObjective( "Investigate the meteor", missionbuilder.MAIN_OBJECTIVE_VALUE * 2) self.adv.objectives.append(self.obj) self.combat_entered = False self.combat_finished = False return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myfac = self.elements.get("ENEMY_FACTION") roomtype = self.elements["ARCHITECTURE"].get_a_room() enemy_room = self.register_element("ROOM", roomtype(15, 15), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") myunit = gears.selector.RandomMechaUnit(self.rank, 100, myfac, myscene.environment, add_commander=True) team2.contents += myunit.mecha_list self.obj = adventureseed.MissionObjective( "Investigate refugee camp", adventureseed.MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) enemy_room.contents.append(ghwaypoints.SmokingWreckage()) enemy_room.contents.append(ghwaypoints.SmokingWreckage()) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] self.register_element("ROOM", pbge.randmaps.rooms.FuzzyRoom( 15, 15, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") mynpc = self.elements["LMNPC"] self.locked_elements.add("LMNPC") self.party_member = mynpc in nart.camp.party if self.party_member: plotutility.AutoLeaver(mynpc)(nart.camp) plotutility.CharacterMover(nart.camp, self, mynpc, myscene, team2, allow_death=False) self.obj = adventureseed.MissionObjective( "Defeat {}".format(mynpc), missionbuilder.MAIN_OBJECTIVE_VALUE * 2) self.adv.objectives.append(self.obj) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] roomtype = self.elements["ARCHITECTURE"].get_a_room() self.register_element("ROOM", roomtype(15, 15, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") myunit = [ gears.selector.get_design_by_full_name("DZD Kerberos") for t in range(4) ] team2.contents += myunit self.obj = adventureseed.MissionObjective( "Battle Kerberos", adventureseed.MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] roomtype = self.elements["ARCHITECTURE"].get_a_room() self.register_element("ROOM", roomtype(15, 15, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") self.cetus: gears.base.Monster = gears.selector.get_design_by_full_name( "DZD Cetus") self.cetus.never_show_die = True team2.contents.append(self.cetus) self.obj = adventureseed.MissionObjective( "Battle Cetus", adventureseed.MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) self.regen_count = 0 team3 = self.register_element( "_ateam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") self.allied_mecha = gears.selector.RandomMechaUnit( self.rank, 500, gears.factions.DeadzoneFederation, myscene.environment).mecha_list self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] roomtype = self.elements["ARCHITECTURE"].get_a_room() myroom = self.register_element("ROOM", roomtype(10, 10), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") myunit = gears.selector.RandomMechaUnit( self.rank, 100, self.elements.get("ENEMY_FACTION"), myscene.environment, add_commander=True) team2.contents += myunit.mecha_list team3 = self.register_element("_propteam", teams.Team(), dident="ROOM") for t in range(random.randint(1, 2 + self.rank // 25)): team3.contents.append( gears.selector.get_design_by_full_name("Concrete Building")) # Oh yeah, when using PyCharm, why not use ludicrously long variable names? self.starting_number_of_props = len(team3.contents) self.obj = adventureseed.MissionObjective("Capture the buildings", MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) self.combat_entered = False self.combat_finished = False return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myfac = self.elements.get("ENEMY_FACTION") roomtype = self.elements["ARCHITECTURE"].get_a_room() self.register_element("ROOM", roomtype(15, 15, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") myunit = gears.selector.RandomMechaUnit(self.rank, 150, myfac, myscene.environment, add_commander=True) team2.contents += myunit.mecha_list self.obj = adventureseed.MissionObjective( "Defeat hostile mecha".format(myfac), missionbuilder.MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myfac = self.elements.get("ENEMY_FACTION") if myfac: colors = myfac.mecha_colors else: colors = gears.color.random_mecha_colors() roomtype = self.elements["ARCHITECTURE"].get_a_room() self.register_element("ROOM", roomtype(8, 8), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") for t in range(random.randint(3, 4)): mydrone = gears.selector.get_design_by_full_name( "DZD-01 Sentry Drone") mydrone.colors = colors team2.contents.append(mydrone) self.obj = adventureseed.MissionObjective( "Neutralize all security drones".format(myfac), MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myfac = self.elements.get("ENEMY_FACTION") roomtype = self.elements["ARCHITECTURE"].get_a_room() self.register_element("ROOM", roomtype(15, 15, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") mynpc = self.seek_element( nart, "_commander", self.adv.is_good_enemy_npc, must_find=False, lock=True, backup_seek_func=self.adv.is_good_backup_enemy) self.regular_checkpoint = True if mynpc: plotutility.CharacterMover(nart.camp, self, mynpc, myscene, team2) myunit = gears.selector.RandomMechaUnit(self.rank, 120, myfac, myscene.environment, add_commander=False) if nart.camp.is_unfavorable_to_pc(myfac): self.add_sub_plot(nart, "MC_ENEMY_DEVELOPMENT", elements={"NPC": mynpc}) self.regular_checkpoint = False else: myunit = gears.selector.RandomMechaUnit(self.rank, 150, myfac, myscene.environment, add_commander=True) self.register_element("_commander", myunit.commander) if nart.camp.is_unfavorable_to_pc(myfac): self.add_sub_plot( nart, "MC_NDBCONVERSATION", elements={"NPC": myunit.commander.get_pilot()}) self.regular_checkpoint = False team2.contents += myunit.mecha_list self.obj = adventureseed.MissionObjective( "Pass {} Checkpoint".format(myfac), missionbuilder.MAIN_OBJECTIVE_VALUE * 2) self.adv.objectives.append(self.obj) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myfac = self.elements.get("ENEMY_FACTION") roomtype = self.elements["ARCHITECTURE"].get_a_room() self.register_element("ROOM", roomtype(15, 15, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") mynpc = self.seek_element(nart, "_commander", self._npc_is_good, must_find=False, lock=True) if mynpc: plotutility.CharacterMover(self, mynpc, myscene, team2) myunit = gears.selector.RandomMechaUnit(self.rank, 70, myfac, myscene.environment, add_commander=False) else: myunit = gears.selector.RandomMechaUnit(self.rank, 100, myfac, myscene.environment, add_commander=True) self.register_element("_commander", myunit.commander) team2.contents += myunit.mecha_list myfac = self.elements.get("ENEMY_FACTION") if myfac: colors = myfac.mecha_colors else: colors = gears.color.random_mecha_colors() for t in range(random.randint(1, 2) + max(self.rank // 20, 0)): team2.contents.append( gears.selector.get_design_by_full_name("HAL-82 Artillery")) team2.contents[-1].colors = colors self.obj = adventureseed.MissionObjective("Destroy enemy artillery", MAIN_OBJECTIVE_VALUE * 2) self.adv.objectives.append(self.obj) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myfac = self.elements.get("ENEMY_FACTION") roomtype = self.elements["ARCHITECTURE"].get_a_room() self.register_element("ROOM", roomtype(15, 15), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") npc1 = self.seek_element(nart, "_commander", self._npc_is_good, must_find=False, lock=True) if npc1: plotutility.CharacterMover(self, npc1, myscene, team2) myunit = gears.selector.RandomMechaUnit(self.rank, 120, myfac, myscene.environment, add_commander=False) else: myunit = gears.selector.RandomMechaUnit(self.rank, 150, myfac, myscene.environment, add_commander=True) self.register_element("_commander", myunit.commander) team2.contents += myunit.mecha_list npc2 = self.seek_element(nart, "_assistant", self._npc_is_good, must_find=False, lock=True) if npc2: plotutility.CharacterMover(self, npc2, myscene, team2) else: npc2 = self.register_element("_assistant", gears.selector.generate_ace( self.rank, myfac, myscene.environment), dident="_eteam") self.obj = adventureseed.MissionObjective( "Defeat {_commander} and {_assistant}".format(**self.elements), MAIN_OBJECTIVE_VALUE * 3) self.adv.objectives.append(self.obj) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myroom = self.register_element("ROOM", pbge.randmaps.rooms.FuzzyRoom(10, 10), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") team3 = self.register_element("_ateam", teams.Team( enemies=(team2, ), allies=(myscene.player_team, )), dident="ROOM") myunit = gears.selector.RandomMechaUnit( self.rank, 200, self.elements.get("ENEMY_FACTION"), myscene.environment, add_commander=False) team2.contents += myunit.mecha_list mynpc = self.seek_element(nart, "PILOT", self._npc_is_good, scope=self.elements["METROSCENE"], must_find=False, lock=True) if mynpc: plotutility.CharacterMover(self, mynpc, myscene, team3) mek = mynpc.get_root() self.register_element("SURVIVOR", mek) else: mysurvivor = self.register_element( "SURVIVOR", gears.selector.generate_ace( self.rank, self.elements.get("ALLIED_FACTION"), myscene.environment)) self.register_element("PILOT", mysurvivor.get_pilot()) team3.contents.append(mysurvivor) self.obj = adventureseed.MissionObjective( "Extract allied pilot {}".format(self.elements["PILOT"]), MAIN_OBJECTIVE_VALUE, can_reset=False) self.adv.objectives.append(self.obj) self.intro_ready = True self.eteam_activated = False self.eteam_defeated = False self.pilot_fled = False return True
def custom_init( self, nart ): myscene = self.elements["LOCALE"] self.register_element("ROOM",pbge.randmaps.rooms.FuzzyRoom(5,5),dident="LOCALE") team2 = self.register_element("_eteam",teams.Team(enemies=(myscene.player_team,)),dident="ROOM") myace = gears.selector.generate_ace(self.rank,self.elements.get("ALLIED_FACTION"),myscene.environment) team2.contents.append(myace) self.register_element("_commander",myace.get_pilot()) self.obj = adventureseed.MissionObjective("Defeat {}".format(myace.get_pilot()), MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myfac = self.elements.get("ENEMY_FACTION") self.register_element("ROOM", pbge.randmaps.rooms.FuzzyRoom(10, 10), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") myunit = gears.selector.RandomMechaUnit(self.rank, 150, myfac, myscene.environment, add_commander=True) team2.contents += myunit.mecha_list self.register_element("_commander", myunit.commander) self.starting_guards = len(team2.contents) myfort = self.register_element( "_FORT", gears.selector.generate_fortification(self.rank, myfac, myscene.environment)) team2.contents.append(myfort) self.obj1 = adventureseed.MissionObjective( "Destroy {} command center".format(myfac), MAIN_OBJECTIVE_VALUE * 3) self.adv.objectives.append(self.obj1) self.obj2 = adventureseed.MissionObjective( "Defeat command center guards".format(myunit.commander), MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj2) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myfac = self.elements.get("ENEMY_FACTION") roomtype = self.elements["ARCHITECTURE"].get_a_room() self.register_element("ROOM", roomtype(15, 15, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") if myfac: mynpc = self.seek_element(nart, "_commander", self._npc_is_good, must_find=False, lock=True) else: mynpc = None if mynpc: unit_size = 120 if mynpc.renown > self.rank: unit_size = max(unit_size + self.rank - mynpc.renown, 50) plotutility.CharacterMover(self, mynpc, myscene, team2) myunit = gears.selector.RandomMechaUnit(self.rank, unit_size, myfac, myscene.environment, add_commander=False) else: myunit = gears.selector.RandomMechaUnit(self.rank, 150, myfac, myscene.environment, add_commander=True) self.register_element("_commander", myunit.commander) team2.contents += myunit.mecha_list self.obj = adventureseed.MissionObjective( "Defeat the bandits".format(myfac), MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] roomtype = self.elements["ARCHITECTURE"].get_a_room() self.register_element("ROOM", roomtype(15, 15, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") mynpc: gears.base.Character = self.seek_element( nart, "_commander", self.is_good_challenger, must_find=True, lock=True) myfac = mynpc.faction if not mynpc.job: mynpc.job = gears.jobs.ALL_JOBS["Mecha Pilot"] if mynpc.renown < self.rank: mynpc.job.scale_skills(mynpc, mynpc.renown + random.randint(1, 10)) plotutility.CharacterMover(nart.camp, self, mynpc, myscene, team2) myunit = gears.selector.RandomMechaUnit(self.rank, 120, myfac, myscene.environment, add_commander=False) self.add_sub_plot(nart, "MC_ENEMY_DEVELOPMENT", elements={"NPC": mynpc}) team2.contents += myunit.mecha_list self.obj = adventureseed.MissionObjective( "Defeat challenger {}".format(self.elements["_commander"]), missionbuilder.MAIN_OBJECTIVE_VALUE * 2) self.adv.objectives.append(self.obj) self.intro_ready = True self.choice_ready = True self.chose_glory = False self.bounty_primed = False return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] roomtype = self.elements["ARCHITECTURE"].get_a_room() myroom = self.register_element( "ROOM", roomtype(10, 10, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") team3 = self.register_element("_ateam", teams.Team( enemies=(team2, ), allies=(myscene.player_team, )), dident="ROOM") myunit = gears.selector.RandomMechaUnit( self.rank, 200, self.elements.get("ENEMY_FACTION"), myscene.environment, add_commander=False) team2.contents += myunit.mecha_list mynpc = self.seek_element(nart, "PILOT", self._npc_is_good, lock=True) plotutility.CharacterMover(nart.camp, self, mynpc, myscene, team3) mek = mynpc.get_root() self.register_element("SURVIVOR", mek) self.add_sub_plot(nart, "MT_TEAMUP_DEVELOPMENT", ident="NPC_TALK", elements={ "NPC": mynpc, }) self.obj = adventureseed.MissionObjective( "Respond to {}'s distress call".format(self.elements["PILOT"]), missionbuilder.MAIN_OBJECTIVE_VALUE, can_reset=False) self.adv.objectives.append(self.obj) self.choice_ready = True self.intro_ready = True self.eteam_activated = False self.eteam_defeated = False self.pilot_fled = False return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myroom = self.register_element("ROOM", pbge.randmaps.rooms.FuzzyRoom(10, 10), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") team3 = self.register_element("_ateam", teams.Team( enemies=(team2, ), allies=(myscene.player_team, )), dident="ROOM") myunit = gears.selector.RandomMechaUnit( self.rank, 200, self.elements.get("ENEMY_FACTION"), myscene.environment, add_commander=False) team2.contents += myunit.mecha_list mynpc = self.register_element( "NPC", gears.selector.random_character( rank=self.rank + 10, job=gears.jobs.ALL_JOBS["Knight"], faction=gears.factions.TheSilverKnights, combatant=True)) mek = plotutility.AutoJoiner.get_mecha_for_character(mynpc, True) mek.load_pilot(mynpc) self.register_element("SURVIVOR", mek, dident="_ateam") self.obj = adventureseed.MissionObjective( "Investigate the meteor", missionbuilder.MAIN_OBJECTIVE_VALUE * 2, can_reset=False) self.adv.objectives.append(self.obj) self.intro_ready = True self.eteam_activated = False self.eteam_defeated = False self.pilot_left = False return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myscene.attributes.add(gears.tags.SCENE_SOLO) self.register_element("ROOM", pbge.randmaps.rooms.FuzzyRoom(10, 10), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") fac = self.elements["ENEMY_FACTION"] npc = self.seek_element(nart, "_champion", self.adv.is_good_enemy_npc, must_find=False, lock=True) if npc: plotutility.CharacterMover(nart.camp, self, npc, myscene, team2) self.add_sub_plot(nart, "MC_ENEMY_DEVELOPMENT", elements={"NPC": npc}) else: mek = gears.selector.generate_ace(self.rank, fac, myscene.environment) npc = mek.get_pilot() self.register_element("_champion", npc) team2.contents.append(mek) champions.upgrade_to_champion(mek) self.obj = adventureseed.MissionObjective( "Defeat the {}'s champion {}".format(fac, npc), missionbuilder.MAIN_OBJECTIVE_VALUE * 2) self.adv.objectives.append(self.obj) self.intro_ready = True return True
def custom_init(self, nart): myscene: gears.GearHeadScene = self.elements["LOCALE"] myscene.attributes |= { gears.tags.SCENE_SOLO, gears.tags.SCENE_ARENARULES } roomtype = self.elements["ARCHITECTURE"].get_a_room() self.register_element("ROOM", roomtype(5, 5, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") mynpc: gears.base.Character = self.seek_element( nart, "_commander", self.is_good_challenger, must_find=True, lock=True) if not mynpc.job: mynpc.job = gears.jobs.ALL_JOBS["Mecha Pilot"] if mynpc.renown < self.rank: mynpc.job.scale_skills(mynpc, mynpc.renown + random.randint(1, 10)) self.add_sub_plot(nart, "MC_DUEL_DEVELOPMENT", elements={"NPC": mynpc}) plotutility.CharacterMover(nart.camp, self, mynpc, myscene, team2) self.obj = adventureseed.MissionObjective( "Defeat challenger {}".format(self.elements["_commander"]), missionbuilder.MAIN_OBJECTIVE_VALUE * 2) self.adv.objectives.append(self.obj) self.intro_ready = True self.choice_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] myfac = self.elements.get("ENEMY_FACTION") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ENTRANCE_ROOM") myunit = gears.selector.RandomMechaUnit(self.rank, 100, myfac, myscene.environment, add_commander=False) team2.contents += myunit.mecha_list self.obj = adventureseed.MissionObjective( "Survive the ambush".format(myfac), MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) self.intro_ready = True return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] self.num_battles = random.randint(2, 3) self.enemy_team_ok = dict() for t in range(self.num_battles): roomtype = self.elements["ARCHITECTURE"].get_a_room() myroom = self.register_element("_room_{}".format(t), roomtype(6, 6), dident="LOCALE") eteam = self.register_element( "_eteam_{}", teams.Team(enemies=(myscene.player_team, )), dident="_room_{}".format(t)) ateam = self.register_element("_ateam_{}", teams.Team( enemies=(eteam, ), allies=(myscene.player_team, )), dident="_room_{}".format(t)) eunit = gears.selector.RandomMechaUnit( self.rank, 400 // self.num_battles, self.elements.get("ENEMY_FACTION"), myscene.environment, add_commander=False) eteam.contents += eunit.mecha_list aunit = gears.selector.RandomMechaUnit( self.rank - 10, 150 // self.num_battles, self.elements.get("ALLIED_FACTION"), myscene.environment, add_commander=False) ateam.contents += aunit.mecha_list self.enemy_team_ok[eteam] = True self.obj = adventureseed.MissionObjective("Aid allied forces", MAIN_OBJECTIVE_VALUE * 2) self.adv.objectives.append(self.obj) return True
def custom_init(self, nart): myscene = self.elements["LOCALE"] roomtype = self.elements["ARCHITECTURE"].get_a_room() candidates = [ f for f in nart.camp.faction_relations.keys() if nart.camp.is_unfavorable_to_pc(f) ] if candidates: myfac = random.choice(candidates) self.elements["ENEMY_FACTION"] = myfac self.register_element("ROOM", roomtype( 15, 15, anchor=pbge.randmaps.anchors.middle), dident="LOCALE") team2 = self.register_element( "_eteam", teams.Team(enemies=(myscene.player_team, )), dident="ROOM") myunit = gears.selector.RandomMechaUnit(self.rank, 150, myfac, myscene.environment, add_commander=True) team2.contents += myunit.mecha_list self.obj = adventureseed.MissionObjective( "Defeat {}".format(myfac), missionbuilder.MAIN_OBJECTIVE_VALUE) self.adv.objectives.append(self.obj) self.intro_ready = True return candidates