Загрузка данных


@name SuperPunch_Follow_V7
@persist Owner:entity Range Damage LastPunch WeaponClass:string
@trigger all

if (first()) {
    Owner = owner()
    Range = 110         #  
    Damage = 30        # 
    WeaponClass = "weapon_fists" 
    LastPunch = 0
    
    #     
    entity():setAlpha(0)
    entity():propNotSolid(1)
    
    timer("logic", 50)
}

if (clk("logic")) {
    
    # 1.      (    )
    # : 80     
    entity():setPos(Owner:pos() + vec(0, 0, 80))
    
    # 2.  
    if (Owner:keyAttack1() && Owner:weapon():getClass() == WeaponClass) {
        
        if (curtime() > LastPunch + 0.5) {
            
            Forward = Owner:eyeAngles():forward()
            rangerFilter(Owner)
            
            #    
            Trace = rangerOffset(Range, Owner:shootPos(), Forward)
            Targ = Trace:entity()
            
            if (Targ:isValid() && Targ != Owner) {
                
                #  
                Targ:takeDamage(Damage, Owner, entity())
                
                #   (       )
                soundPlay(1, 0, "physics/body/body_medium_break" + randint(2,4) + ".wav")
                soundPlay(2, 0, "physics/body/body_medium_impact_hard" + randint(1,6) + ".wav")
                
                LastPunch = curtime()
            }
        }
    }
    
    timer("logic", 50)
}