コード例 #1
0
 def murder(self, target):
     ec = self.owner.attributes['mana'] / 5
     if target:
         if self.damage:
             target.take_damage(self.owner, self.damage * ec)
         if self.stuntime:
             target.statuses.append(s.Stun(math.ceil(self.stuntime)))
         if self.poisontime and self.poisondamage:
             target.statuses.append(
                 s.Poison(math.ceil(self.poisontime),
                          self.poisondamage * ec))
コード例 #2
0
    def cast_cosmicBlast(self):
        num=0
        for a in self.owner.things:
            if isinstance(a,m.Monster):
                a.conceal()
                num+=1
        self.conceal()
        base.put("The rooms is plunged into darkness as a all light is gathered into a ball")
        base.put("Carl seems to have disappeared along with all other monsters!")
        if self.action_points > 0:
            if not self.aggroed:
                self.select_aggro()

            if self.aggro.alive:
                self.attack(self.aggro,self.power*(2+num))
                self.aggro.statuses.append(p_status.Stun(base.D3.roll()))
                self.aggro.statuses.append(p_status.Burn(base.D3.roll(),num*(self.power/5)))
            else:
                self.select_aggro()
                self.attack(self.aggro,self.power*(2+num))
                self.aggro.statuses.append(p_status.Burn(base.D3.roll(),num*(self.power/5)))
                self.aggro.statuses.append(p_status.Stun(base.D3.roll()))
コード例 #3
0
	def do_turn(self,target,damage):
		chance=base.D100.roll()
		if chance >99:
			base.put('The Arch Powers of the World infuse your body!')
			base.put('Mortal Blast!')
			target.statuses.append(s.Burn(self.owner.level,100))
			target.statuses.append(s.Poison(self.owner.level,120))
			target.statuses.append(s.Bleeding(self.owner.level,1000))
			target.statuses.append(s.Maim(self.owner.level))
			target.statuses.append(s.Stun(self.owner.level/2))
			target.statuses.append(s.Sleep())
			target.statuses.append(s.Blind(self.owner.level*2))
			for a in self.owner.owner.party.inventory:
				a.statuses.append(s.Healing())
			damage=0
コード例 #4
0
 def do_turn(self, target):
     chance = base.D20.roll()
     if chance > 18:
         target.statuses.append(s.Stun(base.D2.roll()))
         base.put('[STATUS] ' + target.name + " has been stunned by " +
                  self.owner.name)
     chance2 = base.D20.roll()
     if chance2 > 19:
         target.statuses.append(
             s.Poison(base.D4.roll(),
                      base.D6.roll() * self.level))
         base.put('[STATUS] ' + target.name + " has been poisoned by " +
                  self.owner.name)
     chance3 = base.D20.roll()
     if chance3 > 18:
         target.statuses.append(
             s.Burn(base.D6.roll(), self.level * base.D2.roll()))
         base.put('[STATUS] ' + target.name + " has been burned by " +
                  self.owner.name)
コード例 #5
0
 def main(self):
     target = self.owner.select_target()
     if target:
         # TODO- implement stun
         target.statuses.append(s.Stun(2))
コード例 #6
0
 def do_turn(self, target):
     chance = base.D20.roll()
     if chance > 12:
         target.statuses.append(s.Stun(2))
         base.put('[STATUS] ' + target.name + " has been stunned by " +
                  self.owner.name)