Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 9
0
    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
Exemplo n.º 10
0
    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
Exemplo n.º 11
0
    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
Exemplo n.º 12
0
    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
Exemplo n.º 13
0
    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
Exemplo n.º 14
0
    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
Exemplo n.º 15
0
    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
Exemplo n.º 16
0
    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
Exemplo n.º 17
0
    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
Exemplo n.º 18
0
    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
Exemplo n.º 19
0
    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
Exemplo n.º 20
0
    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
Exemplo n.º 23
0
    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
Exemplo n.º 24
0
    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
Exemplo n.º 25
0
    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
Exemplo n.º 26
0
    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