Exemple #1
0
 def act(self,x,y):
     v=vec(x,y)
     for i in range(-3,4):
         vi=(v-self.owner.v).adjust_angle(i*0.17)
         
         t=self.summon(unit.arrow_to_d(vi, model.箭头(color=(170,170,255))))
         t.die_model=model.爆炸(r=35,t=0.2,color=(200,180,255))
         t.speed=600
         t.add_ef(effect.bomb(r=30,power=30,func=lambda u:u.add_ef(effect.slow(life_time=2,percent=0.6))))
Exemple #2
0
 def act(self,x=0,y=0):
     r=180
     for i in unit.unit_pool:
         if i is not self.owner and (self.owner.v-i.v).mo()<r:
             self.dam(i,30)
             i.add_ef(effect.slow(life_time=1.4,percent=0.25))
     self.owner.model.append(model.白圆(r,0.15))
     self.owner.model.append(model.白圆(r,0.2))
     self.owner.model.append(model.白圆(r,0.25))
Exemple #3
0
 def act(self):
     tar_pool=list(filter(lambda i: i.player!=self.owner.player 
                             and isinstance(i,unit.real_unit)
                 , unit.unit_pool))
     if not tar_pool: return 
     target=min(tar_pool,key = lambda x:(x.v-self.owner.v).mo())
     
     t=self.summon(unit.arrow_to_u(target,set_model=model.圆形(r=10)))
     t.speed=850
     t.die_model=model.爆炸(100,0.2,color=(155,210,130))
     t.add_ef(effect.bomb(aoe=True,r=-1,aoe_r=100,power=50,
         func=lambda x:x.add_ef(effect.slow(2,0.5)) ) )
Exemple #4
0
 def act(self):
     r=150
     self.owner.add_ef(effect.slow(life_time=2.5,percent=1.5))
     self.owner.model.append(model.爆炸(r*2/4,t=0.4,color=(255,180,100)))
     self.owner.model.append(model.爆炸(r*3/4,t=0.3,color=(255,180,100)))
     self.owner.model.append(model.爆炸(r,t=0.2,color=(255,180,100)))
Exemple #5
0
 def act(self,x,y):
     r=155
     t=self.summon(unit.token(),7,x,y)
     t.add_ef(effect.aura(r=r, color=(50,150,0), generator=lambda: effect.silence(life_time=0) ))
     t.add_ef(effect.aura(r=r, color=(50,150,0), generator=lambda i: effect.slow(percent=0.4+0.4*((t.v-i.v).mo()/r),life_time=0) ))
Exemple #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)
Exemple #7
0
 def act(self,x,y):
     t=self.summon(unit.token(),8,x,y)
     t.add_ef(effect.aura(r=100, generator=lambda: effect.slow(life_time=0,percent=0.7)))