Ejemplo n.º 1
0
 def act(self,x,y):
     t=self.summon(unit.token(),2.3,x,y)
     t.model.append(model.吟唱())
     self.summon(unit.decorator(model=model.扩散白圈(t=0.3,r=self.r,reverse=True)),x=x,y=y)
     tar_pool=list(filter(lambda i: not i.imm()
                                 and (t.v-i.v).mo()<self.r
                     , unit.unit_pool))
     for i in tar_pool:
         t.add_ef(effect.eat(eat_unit=i))
Ejemplo n.º 2
0
 def act(self,target):
     x,y=(target.v.x,target.v.y)
     self.summon(unit.decorator(model.圆(r=self.r,t=self.delay)),t=None,x=x,y=y)
     def f():
         def unit_gen():
             t=self.summon(unit.arrow_to_d(vec(x+rd(-self.r//4*3,self.r//4*3),y+rd(-self.r//4*3,self.r//4*3))-self.owner.v,set_model=model.直线(width=1),exact=True))
             t.speed=350
             t.add_ef(effect.bomb(aoe=True,r=-1,aoe_r=self.r/4*3,power=self.power))
             return t
         self.owner.add_ef(effect.unit_gen(t=0.75,cd=0.15,unit=unit_gen))
     self.owner.add_ef(effect.timer(self.delay,f))
Ejemplo n.º 3
0
 def act(self):
     def d(i):
         def g():
             self.dam(i,80)
         return g
     r=300
     tar_pool=list(filter(lambda i: i.player!=self.owner.player 
                                 and isinstance(i,unit.real_unit)
                                 and (self.owner.v-i.v).mo()<r
                     , unit.unit_pool))
     if tar_pool:
         i=random.choice(tar_pool)
         self.dam(i,80)
         self.summon(unit.decorator(model.闪电(t=0.2,tar=i.v)))
Ejemplo n.º 4
0
 def act(self,x,y):
     self.summon(unit.decorator(model.激光(color=(125,125,125),t=0.4,pos=(x,y),r=self.r*2)))
     for i in self.sel_line(self.owner.v,vec(x,y)):
         if i is not self.owner: 
             i.add_ef(effect.forced_move(self.owner.v.x,self.owner.v.y))
Ejemplo n.º 5
0
 def act(self,x,y):
     self.owner.set_v(x,y)
     self.summon(unit.decorator(model.闪光(0.5)))
Ejemplo n.º 6
0
 def act(self,x,y):
     self.summon(unit.decorator(model.激光(color=(125,255,125),t=0.2,pos=(x,y),r=self.r*2)))
     for i in self.sel_line(self.owner.v,vec(x,y)):
         if i is not self.owner: 
             i.add_ef(effect.slow(life_time=0.7,percent=0.4))
             self.dam(i,self.power)