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))
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))
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)))
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))
def act(self,x,y): self.owner.set_v(x,y) self.summon(unit.decorator(model.闪光(0.5)))
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)