import wcs, playerlib, es, random, gamethread from wcs import wcs z = 'Hunter' race = wcs.Race(z) hideMaxLevel = 1 hideLevelInterval = 1 race.registerSkill("Aspect of the Hawk", 4, 1, "Increases the damage you deal by [2..8]") race.registerSkill("Survivalist", 4, 1, "Increases your health by [5..20]") race.registerSkill("Viper Sting", 2, 5, "Your attacks drain [1..2] (pistols) or [2..4] (other) bullets from your opponents' clips", 5) race.registerSkill("Concussive Barrage", 3, 2, "Your attacks have a [4..12]% chance of dazing your opponent for 3s", 2) race.registerSkill("Master Marksman", 5, 2, "Your attacks have a [1..5]% chance of being a critical hit", 4) uName = "Bestial Wrath" race.registerUltimate(uName, 6, 1, 1, "The hunter goes into a rage, dealing 20% extra damage for 18s (1m cooldown)") race.registerMinLevel(1) isDazed = [] def player_ultimate_on(event_var): userid = int(event_var['userid']) if wcs.GetLevel(userid, z, uName): if not wcs.Command(userid).GetCoolDown(uName): wcs.Command(userid).SetCoolDown(uName,60) wcs.Command(userid)[uName] = 1 gamethread.delayed(18,resetUltimate(userid)) def resetUltimate(userid): wcs.Command(userid)[uName] = 0 def player_hurt(event_var): userid = int(event_var['userid']) attacker = int(event_var['attacker']) extraDamage = 0 level = wcs.GetLevel(attacker, z, "Aspect of the Hawk") if level: extraDamage = extraDamage + level*2 if wcs.Command(attacker)[uName]: extraDamage = extraDamage * 1.2 + event_var['dmg_health'] * 0.2 level = wcs.GetLevel(attacker, z, "Master Marksman") if level: randNum = randint(1,100) if randNum <= level: extraDamage = int(extraDamage * 2 + event_var['dmg_health']) if extraDamage: wcs.Command(userid).Damage(extraDamage, 2, attacker) level = wcs.GetLevel(attacker, z, "Viper Sting") if level: wcs.Command(userid).ClipAdd(-level,1) wcs.Command(userid).ClipAdd(level*-2) level = wcs.GetLevel(attacker, z, "Concussive Barrage") if level: if userid not in isDazed: maxRand = level*4 randNum = randint(1,100) if randNum <= maxRand: isDazed.append(userid) wcs.Command(userid).Shake(1,5) wcs.Command(userid).SpeedAdd(-0.5) gamethread.delayed(3, wcs.Command(userid).SpeedAdd(0.5)) gamethread.delayed(3, isDazed.remove(userid)) def player_spawn(event_var): userid = int(event_var['userid']) level = wcs.GetLevel(userid, z, 'Survivalist') wcs.Command(userid).HealthAdd(level*5)