''' Gargoyle WCS:Python Race Coded By: Kevin002 ''' import wcs, es, random, playerlib, gamethread from wcs import wcs RaceName = 'Gargoyle' allowed_weapons = ('knife') wcs.Race(RaceName).registerWeaponRestriction('allow only',allowed_weapons) wcs.Race(RaceName).registerSkill('Sharpened Claws', 5, 2, 'Extra Knife dmg and chance to cause Deep wounds') wcs.Race(RaceName).registerSkill('Upward Blast', 4, 1, 'Knock Enemy upward') wcs.Race(RaceName).registerSkill('Wing Leap', 4, 1, 'Jump Higher') wcs.Race(RaceName).registerUltimate('Stone Form', 7, 3, 2, 'Use +ultimate to To go Into Stone Form') def player_hurt(event_var): userid = event_var['userid'] attacker = event_var['attacker'] weapon = event_var['weapon'] Sharp_claws = wcs.GetLevel(attacker, RaceName, 'Sharpened Claws') if Sharp_claws: if weapon == "knife": wcs.Command(userid).Damage(Sharp_claws*2) es.tell(attacker, '#green', 'Sharpened Claws deal extra Damage') if random.randint(1,8) <= Sharp_claws: wcs.Command(userid).Drain(1,1,25) es.tell(attacker, '#green', 'Sharpened Claws cause Deep wounds') wcs.Effect().Follow(userid, 175, 200 , 15) Up_blast = wcs.GetLevel(attacker, RaceName, 'Upward Blast') if Up_blast: if random.randint(1,10) <= Up_blast: wcs.Command(userid).Push(0,0,600) def player_jump(event_var): userid = event_var['userid'] LongJump = wcs.GetLevel(userid, RaceName, 'Wing Leap') if LongJump: wcs.Effect().Ring1(userid, 200, 2, 125, 200, 180) temp_multiplier = LongJump / 4 es.setplayerprop(userid, 'CBasePlayer.localdata.m_vecBaseVelocity', '%s,%s,%s' % tuple([es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[%s]' % x) * temp_multiplier for x in range(3)])) gamethread.delayed(0.2, Cool, userid) gamethread.delayed(0.4, Cool, userid) gamethread.delayed(0.6, Cool, userid) gamethread.delayed(0.8, Cool, userid) gamethread.delayed(1.0, Cool, userid) gamethread.delayed(1.2, Cool, userid) gamethread.delayed(1.4, Cool, userid) gamethread.delayed(1.6, Cool, userid) gamethread.delayed(1.8, Cool, userid) def Cool(userid): wcs.Effect().Ring1(userid, 500, 2, 125, 200, 180) def player_spawn(event_var): userid = int(event_var['userid']) gun = es.server.queuecmd('est_getgun %s'%userid) if wcs.GetRace(event_var['userid']) == 'Gargoyle': wcs.Command(userid).Speed(1.5) wcs.Command(userid).UpdateDict('Stone', 0) if gun != "knife": es.server.queuecmd('est_DropWeapon %s 1'%userid) es.server.queuecmd('est_DropWeapon %s 2'%userid) def player_ultimate_on(event_var): userid = int(event_var['userid']) Form = wcs.GetLevel(userid, RaceName, 'Stone Form')*4 if Form: wcs.Command(userid).UpdateDict('Stone', 1) wcs.Effect().Misc2(userid, 5, 3) wcs.Command(userid).HealthAdd(Form * 10) es.server.queuecmd('est_Freeze %s 1'%event_var['userid']) gamethread.delayed(5, Formoff, userid) wcs.Command(userid).SetCoolDown('Stone Form',10) def player_ultimate_off(event_var): userid = int(event_var['userid']) Form = wcs.GetLevel(userid, RaceName, 'Stone Form') if Form: Formoff(userid) def Formoff(userid): state = wcs.Command(userid).ReturnDict('Stone') if state: wcs.Command(userid).UpdateDict('Stone', 0) es.server.queuecmd('est_Freeze %s 0'%userid) if playerlib.getPlayer(userid).get('health') >= 101: wcs.Command(userid).Health(100) es.cexec(userid,'-ultimate')