New Race 'Heavy Soldier' Enjoy!
############################
# IMPORT
import es
import gamethread
import playerlib
import random
import wcs
############################
# PUBLISH INFO
info = es.AddonInfo()
info.name = 'Heavy Soldier'
info.author = 'DanMister'
############################
# RACE INFO
RaceName = 'Heavy Soldier'
race = wcs.Race(RaceName)
race.registerWeaponRestriction('allow only',['knife','deagle','m429'])
############################
# SKILL INFO
race.registerSkill('Heavy Weapon',1,5,'Gain your heavy weapon, the M429,with extra ammo')
race.registerSkill('Heavy Health',1,6,'Recieve the health and armor a heavy should have')
race.registerSkill('Heavy Hits'1,5,'Do the damage a heavy should do')
race.registerSkill('Plan B'1,6,'Explode, resulting in area damage, and taking away enemy ammo')
race.registerSkill('Heavy Force'1,5,'Push enemy back and take a percentage of their ammo for your own')
#############################
# CODE/PT.1 PLAYER_SPAWN
def player_spawn(ev):
userid = ev['userid']
effect = wcs.effect()
player = playerlib.getPlayer(userid)
Weapon = wcs.GetLevel(userid, RaceName, 'Heavy Weapon')
Health = wcs.GetLevel(userid, RaceName, 'Heavy Health')
player.setSpeed(.75)
if Weapon > 3 and not Weapon == 0:
es.server.queuecmd('est_Give %s weapon_m429' % (userid))
wcs.effect().Misc3(userid, 5, 1)
player.setPrimaryAmmo(125)
player.setPrimaryClip(125)
if Weapon = 3:
es.server.queuecmd('est_Give %s weapon_m429' % (userid))
wcs.effect().Misc3(userid, 5, 2)
player.setPrimaryAmmo(150)
player.setPrimaryClip(150)
if Weapon > 3:
es.server.queuecmd('est_Give %s weapon_m429' % (userid))
wcs.effect()Misc3(userid, 5, 3)
player.setPrimaryAmmo(175)
player.setPrimaryClip(175)
if Health < 3 and not Health == 0:
player.setHealth(150)
player.setArmor(100)
if Health = 3:
player.setHealth(225)
player.setArmor(125)
if Health > 3:
player.setHealth(300)
player.setArmor(150)
##############################
# CODE/PT.2 PLAYER_HURT
def player_hurt(ev):
userid = ev['userid']
attacker = ev['attacker']
effect = wcs.effect()
player = playerlib.getPlayer(userid)
player2 = playerlib.getPlayer(attacker)
player1 = wcs.Command(userid)
H-Hits = wcs.GetLevel(userid, RaceName, 'Heavy Hits')
H-Force = wcs.GetLevel(userid, RaceName, 'Heavy Force')
chance = random.randint(1,20)
chance1 = random.randint(1,40)
if H-Hits < 3 and not H-Hits == 0 and H-Hits >= chance:
player1.Damage(2, 2, (attacker))
effect.Beam1((attacker), (userid), 5, 0, 100, 100, 0)
if H-Hits = 3 and H-Hits >= chance:
player1.Damage(3, 2, (attacker))
effect.Beam1((attacker), (userid), 5, 0, 100, 100, 0)
if H-Hits > 3 H-Hits >= chance:
player1.Damage(4, 2, (attacker))
effect.Beam1((attacker), (userid), 5, 0, 100, 100, 0)
if H-Force < 3 and not H-Force == 0 and H-Force >= chance1:
wcs.Command(userid).Push(25, 25, 25)
player2.setPrimaryAmmo(player.getAmmo(player.getPrimary())*1/8)
wcs.Command((userid).Drop()
if H-Force = 3 and H-Force >= chance1:
wcs.Command(userid).Push(30, 30, 30)
player2.setPrimaryAmmo(player.getAmmo(player.getPrimary())*1/7)
if H-Force > 3 and H-Force >= chance1:
wcs.Command(userid).Push(35, 35, 35)
player2.setPrimaryAmmo(player.getAmmo(player.getPrimary())*1/6)
###############################
# CODE/PT.3 PLAYER_DEATH
def player_death(ev):
player3 = wcs.Command(ev['attacker'])
Plan-B = wcs.GetLevel(userid, RaceName, 'Plan B')
userid = ev['userid']
player = playerlib.getPlayer(userid)
player4 = playerlib.getPlayer(attacker)
player5 = playerlib.getPlayer(player.getNearPlayers(150))
player6 = playberlib.getPlayer(player.getNearPlayers(175))
player7 = playerlib.getPlayer(player.getNearPlayers(200))
if Plan-B < 3 and not Plan-B == 0:
if ['es_userteam'] == '2':
team = 'c'
else:
team = 't'
player5.setAmmo(player5.getPrimary(), (player5.getAmmo(player5.getPrimary())*2/3))
player.AreaDamage(team, 150, 50)
if Plan-B = 3:
if ['es_userteam'] == '2':
team = 'c'
else:
team = 't'
player6.setAmmo(player6.getPrimary(), (player6.getAmmo(player6.getPrimary())*1/2))
player.AreaDamage(team, 175, 60)
if Plan-B > 3:
if ['es_userteam'] == '2':
team = 'c'
else:
team = 't'
player7.setAmmo(player7.getPrimary(), (player7.getAmmo(player7.getPrimary())*1/3))
player.AreaDamage(team, 200, 75)
################################
# CODE END. RACE COMPLETE! :D