Пример #1
0
 def act(self,x,y):
     t=self.summon(unit.arrow_to_d(vec(x,y)-self.owner.v,set_model=model.圆形(r=10),exact=True))
     t.speed=400
     def f():
         t=self.summon(unit.token(),self.last_time,x,y)
         t.add_ef(effect.fire(r=self.r,power=self.power))
     t.add_ef(effect.bomb(r=-1,self_func=f ))
Пример #2
0
 def unit_gen():
     t=unit.token()
     t.speed=80
     t.model.append(model.火球())
     t.die_model=model.爆炸(t=0.2,r=50)
     t.add_ef(effect.bomb(r=30,power=40))
     t.add_ef(effect.closing())
     return t
Пример #3
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))))
Пример #4
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)) ) )
Пример #5
0
 def __init__(self, v):
     super().__init__(v, set_model=model.神风(), exact=True)
     self.speed = 600
     self.maxhp = 25
     self.hp = 25
     self.size = -999
     de(self.effect, lambda x: type(x) == effect.magic_imm)  #神风并不是魔免的
     self.add_ef(
         effect.funnel(arrow_model=lambda: model.直线(width=1),
                       speed=550,
                       cd=0.2,
                       power=2))
     self.add_ef(effect.bomb(r=-1, power=8, aoe=True, aoe_r=121))
Пример #6
0
 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
Пример #7
0
 def act(self,target):
     t=self.summon(unit.arrow_to_u(target,act=lambda:self.dam(target,self.power),set_model=model.鸟箭()))
     t.die_model=model.爆炸(45,0.2,color=(155,250,130))
     t.add_ef(effect.bomb(r=25,power=self.power))
Пример #8
0
 def act(self,x,y):
     t=self.summon(unit.arrow_to_d(vec(x,y)-self.owner.v,exact=True,set_model=model.直线(width=10)))
     t.speed=500
     t.die_model=(model.爆炸(t=0.2,r=self.r,color=(255,255,255)))
     t.add_ef(effect.bomb(r=-1,power=0, aoe=True, aoe_r=self.r, func=lambda i:i.add_ef(effect.stun(2))))
Пример #9
0
 def act(self,x,y):
     t=self.summon(unit.token(),x=x,y=y)
     t.die_model=model.爆炸(t=0.2,r=144)
     t.add_ef(effect.timer(t=2, func=t.die ))
     t.add_ef(effect.bomb(r=-1,power=80,aoe=True,aoe_r=144))
Пример #10
0
 def unit_gen():
     v=(vec(x,y)-self.owner.v).adjust_angle(random.gauss(0,0.14))
     t=unit.arrow_to_d(v,model.箭头(l=15,color=(255,255,200),width=2))
     t.add_ef(effect.bomb(r=25,power=30))
     t.speed=500
     return t
Пример #11
0
 def act(self,x,y):
     t=self.summon(unit.arrow_to_d(vec(x,y)-self.owner.v))
     t.speed=600
     t.add_ef(effect.bomb(r=30,power=30))
Пример #12
0
 def act(self,x,y):
     v=vec(x-self.owner.v.x, y-self.owner.v.y).adjust_angle((random.random()-0.5)/2)
     t=self.summon(unit.arrow_to_d(v,set_model=model.箭头(l=50,width=6,color=(255,111,111))))
     t.die_model=model.爆炸(t=0.3,r=200)
     t.speed=1200
     t.add_ef(effect.bomb(r=45,power=100,aoe=True,aoe_r=200))