예제 #1
0
 def get_creature(self, location=None):
     name = Name(self.get_adjective()+" ghoul")
     ghoul = actor.Person(location, name=name, sched=self.schedule)
     ai.WanderingMonsterAI(ghoul)
     ghoul.body = body.UndeadBody(ghoul)
     ghoul.combat_skill = 60
     return ghoul
예제 #2
0
 def create_random_creatures(self, amount=None):
     if amount is None:
         amount = max(7, min(25, int(self.power)))
     out = []
     for _ in range(amount):
         ant = actor.Person(location=None, name=Name("giant ant"))
         ant.damage_type = "sharp"
         ant.damage_mult = 2
         ant.combat_skill = 30
         ant.ai = ai.WanderingMonsterAI(ant)
         out.append(ant)
     return out
예제 #3
0
 def create_random_creatures(self, amount=None):
     if amount is None:
         amount = len(self.adjectives)
     shuffle(self.adjectives)
     actors = []
     for adjective in self.adjectives[:amount]:
         ghoul = actor.Person(name=Name(adjective + " ghoul"))
         ai.WanderingMonsterAI(ghoul)
         ghoul.body = body.UndeadBody(ghoul)
         ghoul.combat_skill = 60
         actors.append(ghoul)
     return actors
예제 #4
0
    def build_actors(self):
        for adjective in self.adjectives:
            kobold = actor.SquadActor(location=None,
                                      name=Name(adjective) + "kobold")
            self.actors.append(kobold)

        boss = actor.Person(
            location=None,
            name=Name("kobold leader"),
        )
        self.actors.append(boss)
        boss.ai = ai.WanderingMonsterAI(boss)
        sword = game_object.Item(location=boss, name=Name("crude sword"))
        sword.damage_type = "sharp"
        sword.damage_mult = 6
        self.location_functions[boss] = self.boss_location_function
예제 #5
0
    def build(self):
        for kobold in self.create_random_creatures():
            self.actors.append(kobold)

        boss = actor.Person(
            location=None,
            name=Name("kobold leader"),
        )
        boss.traits.add(trait.kobold())
        boss.ai = ai.WanderingMonsterAI(boss)
        boss.combat_skill = 75
        sword = game_object.Item(location=boss, name=Name("crude sword"))
        sword.damage_type = "sharp"
        sword.damage_mult = 6
        self.location_functions[boss] = self.boss_location_function
        self.actors.append(boss)