def Proj(self,p,skillto):
        
        died=False   
        
        if self.projCheck(p,self.turn,skillto,self.proj) and self.proj.dur>0: 
            
            
            p[skillto].moneyTaken(30)
            window.getAlarm("버드에게 30골드를 빼앗김")
            self.giveMoney(30)
            died=self.skillHit(p, [0,self.proj.damage,0], self.turn, skillto, 1)
#             mdmg=self.proj.damage
#             self.stats[0]+=mdmg
#             totaldamage=p[skillto].totalDamage(self,0,mdmg,self.arP,self.MP)
#             died = p[skillto].giveDamage(p,totaldamage, self.turn)
            
            if died: 
                self.addKill(1)
            
            
            
            self.proj.reset()
            
           
            p[skillto].resetOutbattle()
        
        elif self.proj.dur==0:
            self.proj.reset()
            
        self.proj.dur-=1
        return died
Exemple #2
0
 def autoskill(self,players):
     window.getAlarm("auto")
     w=self.useWnext
     
     self.useWnext=False
     if w: return self.endW(players)
     else: return 0
Exemple #3
0
 def endW(self,players):
     self.cooltime[1]=6
     self.duration[1]=0
     skillto=self.multitarget(players,self.location-3,self.location+3,2)
     if skillto==None: return 0              #used skill but there was no players in range
     window.getAlarm(self.name+"W 끝남")
     mdmg=int(30+0.5*self.AP+self.HP*0.1)
     self.addShield(-1*self.shield)
     #return [pdmg,mdmg,fdmg,skillto] 
     for i in range(len(skillto)):
         self.hitoneTarget(i, players, [0,mdmg,0,skillto], self.turn, 2)
 def AI_2(self,players):
     closeopponent=False
     for p in players:
         if abs(self.location-p.location)<7 and self!=p:                
             closeopponent=True
             
             
     if self.phase>1 and self.cooltime[1]==0 and self.cooltime[0]==0 and closeopponent:           # use w if w,q cool is back and theres nearby opponent
         window.getAlarm(self.name+"W 사용")
         return 2
     else: return 0
    def useSkill(self, s, players):
        
        mdmg = 0
        pdmg = 0
        fdmg = 0

        skillto = 0
        if s == 1:
            if self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[0])
                return -1 
            else:
                skillto=self.choosetarget(players,2,1)
                if skillto > -1: 
                    mdmg = int(10 + 0.5 * (self.AP + self.AR + self.MR))
                    self.cooltime[0] = 2
                    needopp = True
                    #window.getAlarm(self.name+"used Q to "+players[skillto].name+"("+players[skillto].champ+")")
                else: return -1  
        elif s == 2:
            if self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[1])
                return -1 
            else:
                skillto=self.choosetarget(players,20,2)
                if skillto > -1:
                    self.cooltime[1] = 5  
                    needopp = True
                    #window.getAlarm(self.name+"used W to "+players[skillto].name+"("+players[skillto].champ+")")
                else: return -1  
        elif s == 3:
            if self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[2])
                return -1
            else:
                self.cooltime[2] = 14
                self.duration[2] = 4
                if self.HP <= 150:
                    self.silveru1 = 200
                    self.MR += 200
                    self.AR += 200
                else:
                    self.silveru1 = 100
                    self.MR += 100
                    self.AR += 100
                window.getAlarm(self.name+"궁 사용, 방어력,마법저항력 +%d"%self.silveru1)
            return 0
        
        return [pdmg, mdmg, fdmg, [skillto]] 
    def useSkill(self, s,players):
        
        mdmg = 0
        pdmg = 0
        fdmg = 0

        skillto=0
        if s == 1:
        
            if self.duration[0]==0:
                self.duration[0]=999
                window.getAlarm(self.name+"Q 활성화됨")
                return 0
            else:
                self.duration[0]=0
                
                window.getAlarm(self.name+"Q 비활성화")
        
                return -1    
            
        elif s == 2:
            if self.duration[1]>0:
                self.duration[1]=0
                self.effects[2]=0
                self.effects[1]=self.yangiWspeed
                return -1
            elif self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[1])
                return -1
            else:
                self.duration[1]=3
                self.cooltime[1]=5
                self.effects[2]=2
                window.getAlarm(self.name+"W 사용함")
                
                return 0   
             
        elif s == 3:
            if self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[2])
                return -1
            else:
                
                skillto=self.choosetarget(players,5,3)
                
                if skillto>-1:
                    self.cooltime[2]=8
                    pdmg=50+self.AD+int(0.5*(players[skillto].MaxHP-players[skillto].HP))
                    needopp=True           
                    window.getAlarm(self.name+"이(가) "+players[skillto].name+"("+players[skillto].champ+") 에게 궁 사용")
                    
                else: return -1  
                
                
        return [pdmg,mdmg,fdmg,[skillto] ]
    def useSkill(self, s, players):

        if s == 1:
            if self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[0])
                return -1
            else:
                mdmg = 10 + self.AP
                if self.duration[1] > 0:
                    if self.duration[2] > 0:
                        mdmg += 10 + self.AP
                    else:
                        mdmg += int(10 + 0.5 * self.AP)
                        
                if self.isai:             #AI projectile launch
                    project=self.AIproj(20,20,players)
                    if project==0: return -1
                    
                    
                # projectile check
                else:
                    if self.adamage==30:
                        drawrange(self.zero(self.location-60),(self.location+60))
                    else:
                        drawrange(self.zero(self.location-20),self.location+20)
                    project=[False,0]
                    while(True):
                        project=self.testProj(20,20)
                        if project==0: return -1
                        
                        if project[0]: break;
                    
                
                self.cooltime[0] = 4        
                winsound.PlaySound('sound\\place.wav', winsound.SND_ASYNC)
                self.proj.setproj(mdmg,project[1],4)
                window.getAlarm(self.name+"Q 사용함")
                return 0
                
        elif s == 2:
            if self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[1])
                return -1
            else:
                self.duration[1] = 3
                self.cooltime[1] = 5
                window.getAlarm(self.name+"W 활성화됨")
                return 0
             
        elif s == 3:
            if self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[2])
                return -1
            else:
                self.duration[2] = 8
                self.cooltime[2] = 13
                window.getAlarm(self.name+"궁 활성화됨")
                return 0    
Exemple #8
0
 def AI_3(self,players):
     if self.cooltime[2]==0 and self.phase>2 and self.duration[2]==0:  # use u if cool is back
         window.getAlarm(self.name+"궁 사용")
         return 3
     else: return 0
Exemple #9
0
 def AI_2(self,players):
     if self.phase>1 and self.cooltime[1]==0 and self.duration[1]==0:           # use w if cool is back 
         window.getAlarm(self.name+"W 사용")
         return 2
     else: return 0
Exemple #10
0
 def AI_1(self,players):
     if self.cooltime[0]==0:           # use q if cool is back
         window.getAlarm(self.name+"Q 사용")
         return 1
     else: return 0
    def useSkill(self, s, players):

        if s == 1:
            if self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[0])
                return -1
            else:
                if self.HP<=35:
                    mb.showinfo(None, "체력이 부족합니다")
                    return -1
                
                mdmg = 10 + int(self.MaxHP/5)
                
                        
                if self.isai:             #AI projectile launch
                    project=self.AIproj(20,20,players)
                    if project==0: return -1
                    
                    
                # projectile check
                else:
                    if self.adamage==30:
                        drawrange(self.zero(self.location-30),(self.location+30))
                    else:
                        drawrange(self.zero(self.location-10),self.location+10)
                    project=[False,0]
                    while(True):
                        project=self.testProj(10,10)
                        if project==0: return -1
                        
                        if project[0]: break;
                    
                
                self.cooltime[0] = 2        
                self.giveDamage(players,35, 0)
                winsound.PlaySound('sound\\place.wav', winsound.SND_ASYNC)
                self.proj.setproj(mdmg,project[1],3)
                window.getAlarm(self.name+"Q 사용함")
                return 0
                
        elif s == 2:
            if self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[1])
                return -1
            if self.Wactive: return -1
            else:
                self.additionalHP=int(self.MaxHP*0.3)
                self.addMaxhp(self.additionalHP)
                window.getAlarm(self.name+"W 활성화됨")
                self.Wactive=True
                return 0
             
        elif s == 3:
            if self.cooltime[s - 1] > 0:
                mb.showinfo(None, "아직 쿨타임이 돌아오지 않았습니다! %d 턴 남음" %self.cooltime[2])
                return -1
            else:
                self.duration[2] = 5
                self.cooltime[2] = 12
                window.getAlarm(self.name+"궁 활성화됨")
                return 0