''' Succubus Hunter WCS:Python Race Coded By: Kevin002 ''' import wcs, es, random, gamethread from wcs import wcs #Our Race's Name - This is not needed I just feel it makes things look cleaner RaceName = 'Succubus Hunter' wcs.Race(RaceName).registerSkill('Demonic Knife', 4, 4, 'extra dmg/knife') wcs.Race(RaceName).registerSkill('Head Hunter', 10, 2, 'gain extra dmg, xp, and Skulls') wcs.Race(RaceName).registerSkill('Totem Incantation', 5, 5, 'Receive extra HP from each skull') wcs.Race(RaceName).registerSkill('Assault Tackle', 3, 2, 'Speed plus Low Grav and Long Jump.') wcs.Race(RaceName).registerUltimate('Deamonic Transformation', 8, 8, 6, 'Become A beast. (Knife Ultimate gain hp and speed)') wcs.Race(RaceName).registerMinLevel(125) def load(): es.doblock('corelib/noisy_on') def unload(): es.doblock('corelib/noisy_off') def player_spawn(event_var): global skulls_dict userid = int(event_var['userid']) if skulls_dict.has_key(userid): Skulls = skulls_dict[userid] es.server.queuecmd('est_UnrestrictAll %s'%event_var['userid']) Ass = wcs.GetLevel(userid, RaceName, 'Assault Tackle') if Ass: wcs.Command(userid).Speed(Ass / 15 + 1) wcs.Command(userid).SetGravity(1 - Ass / 15) wcs.Effect().Misc2(userid, 3, 2) es.tell(userid, '#multi', '#lightgreenAssault Tackle - #GreenLower Gravity and Increased Speed') Totem = wcs.GetLevel(userid, RaceName, 'Totem Incantation') if Totem: if Skulls <= 50: wcs.Command(userid).HealthAdd(Skulls * 2) elif Skulls > 50: wcs.Command(userid).HealthAdd(100) wcs.Command(userid).UpdateDict('WepR', 0) es.server.queuecmd('es_xgive %s %s' % (userid, 'weapon_knife')) team = int(es.getplayerteam(userid)) if team == 2: es.server.queuecmd('es_xgive %s %s' % (userid, 'weapon_glock')) elif team == 3: es.server.queuecmd('es_xgive %s %s' % (userid, 'weapon_usp')) def player_jump(event_var): userid = event_var['userid'] LongJump = wcs.GetLevel(userid, RaceName, 'Assault Tackle')*2.5 if LongJump: wcs.Effect().Ring1(userid, 500, 1, 125, 75, 180) vec1 = es.getplayerprop(userid,'CBasePlayer.localdata.m_vecVelocity[0]') vec2 = es.getplayerprop(userid,'CBasePlayer.localdata.m_vecVelocity[1]') vec1 = (LongJump * vec1) * (1 / 4.1) vec2 = (LongJump * vec2) * (1 / 4.1) vector = es.createvectorstring(vec1,vec2,0) es.setplayerprop(userid,'CBasePlayer.localdata.m_vecBaseVelocity',vector) def es_map_start(event_var): global skulls_dict skulls_dict = {} def round_start(event_var): es.cexec('#a','-ultimate') def player_activate(ev): global skulls_dict userid = int(ev['userid']) if not skulls_dict.has_key(userid): skulls_dict[userid] = 0 def player_disconnect(ev): userid = int(ev['userid']) if skulls_dict.has_key(userid): del skulls_dict[userid] def player_hurt(event_var): global skulls_dict userid = int(event_var['userid']) attacker = int(event_var['attacker']) weapon = event_var['weapon'] Skull_level = wcs.GetLevel(attacker, RaceName, 'Head Hunter') if Skull_level: if random.randint(1,12) <= Skull_level: player = wcs.Command(attacker) victim = wcs.Command(userid) skulls_dict[attacker] += 1 Skulls = skulls_dict[attacker] es.tell(attacker, '#green', 'You Now have %s' %Skulls) victim.Damage(Skull_level +5,attacker) wcs.Effect().Beam2(attacker, userid, 5, 255, 0, 0) es.tell(attacker, '#green', 'You did Extra Damage to %s' %(event_var['es_username'])) if Skulls <= 20: player.GiveXp(Skulls,'Received From Skulls') elif Skulls > 20: player.GiveXp(20,'Received From Skulls') Knife = wcs.GetLevel(attacker, RaceName, 'Demonic Knife') if Knife: if weapon == 'knife': victim.Damage(Skull_level +5,attacker) es.tell(attacker, '#green', 'extra Knife damage') def player_ultimate_on(event_var): userid = int(event_var['userid']) weapon = event_var['userweapon'] x,y,z = es.getplayerlocation(userid) Demon_level = wcs.GetLevel(userid, RaceName, 'Deamonic Transformation') if Demon_level: wcs.Command(userid).UpdateDict('WepR', 1) effect = wcs.Effect() effect.Smoke(userid) es.tell(userid, '#green', 'Holy SHIT!!! You are Transforming') wcs.Command(userid).Push(0,0,300) effect.Ring2(userid, 200, 2, 255, 25, 50) effect.Ring2(userid, 300, 2, 25, 255, 50) effect.Ring2(userid, 400, 2, 50, 25, 255) wcs.Command(userid).Shake(2,5) wcs.Command(userid).HealthAdd(Demon_level * 5) effect.RingCustom('#a', 2, 'sprites/plasma1.vmt', x, y, z, 30, 250, 2, 40, 20, 50, 200, 200, 200, 255, 4) wcs.Command(userid).SpeedAdd(Demon_level/8.0) gamethread.delayed(2, Transformation, userid) wcs.Command(userid).Freeze(2) es.server.queuecmd('est_RestrictAll %s'%userid) es.server.queuecmd('est_DropWeapon %s 1'%userid) es.server.queuecmd('est_DropWeapon %s 2'%userid) wcs.Command(userid).SetCoolDown('Deamonic Transformation',900) def item_pickup(event_var): userid = int(event_var['userid']) restrict = wcs.Command(userid).ReturnDict('WepR') if restrict: es.server.queuecmd('est_DropWeapon %s 1'%userid) es.server.queuecmd('est_DropWeapon %s 2'%userid) def player_death(event_var): userid = int(event_var['userid']) wcs.Command(userid).UpdateDict('WepR', 0) es.server.queuecmd('est_UnrestrictAll %s'%userid) def Transformation(userid): Demon_level = wcs.GetLevel(userid, RaceName, 'Deamonic Transformation') if Demon_level: effect = wcs.Effect() effect.Misc3(userid, 2, 80) es.tell(userid, '#green', 'You Feel A lot Stronger Now') es.server.queuecmd('est_unrestrict %s %s'%(userid,'weapon_knife')) es.server.queuecmd('es_xgive %s %s' % (userid, 'weapon_knife'))