from __future__ import division import wcs, es, random, gamethread, playerlib from wcs import wcs info = es.AddonInfo() info['name'] = "Soul Reaver" info['version'] = "1.2.41" info['author'] = "Largo Usagi" info['url'] = "http://www.noobscss.com" info['description'] = "Soul Reaver by Largo Usagi" RaceName = 'Soul Reaver' wcs.Race(RaceName).registerSkill('Torment Soul', 8, 1, 'Slows Oponents.') wcs.Race(RaceName).registerSkill('Heavy Soul', 8, 1, 'Increases Your Streingth.') wcs.Race(RaceName).registerSkill('Ancient Drugs', 8, 1, 'Drugs, With Some Strange Side Effects.(Ability)') wcs.Race(RaceName).registerSkill('Soul Collecter', 8, 1, 'Collects Souls And increases the Power of Your Own.') wcs.Race(RaceName).registerSkill('Soul Sacrifice', 8, 1, 'Sacrifice a collected soul for a Health Bonus.(Ability2)') wcs.Race(RaceName).registerUltimate('Ethereal Form', 20, 8, 1, 'Turn into an Ethereal Being.') def player_death(ev): steamid = ev['es_attackersteamid'] attacker = es.getuserid(steamid) attacker = int(attacker) effect = wcs.Effect() if wcs.GetRace(attacker) == RaceName: sLevel = wcs.GetLevel(attacker,RaceName,"Soul Collecter") soulProb = sLevel * 3.75 gen = random.randint(1,100) if gen <= soulProb: effect.Smoke(ev['userid']) tempSouls = wcs.Command(attacker).ReturnDict('souls') + 1 wcs.Command(attacker).UpdateDict('souls', tempSouls) es.tell(attacker, "#green", "Your Soul Collection Has increased By 1.") def prep_hurt(ev): userid = int(ev['userid']) attacker = int(ev['attacker']) effect = wcs.Effect() if wcs.GetRace(attacker) == RaceName: if wcs.GetLevel(attacker,RaceName,'Torment Soul') >= 1: slowChance = wcs.GetLevel(attacker,RaceName,'Torment Soul') * 5 gen = random.randint(1,100) if gen <= slowChance: effect.Beam2(ev['attacker'], ev['userid'], 5, 255, 0, 0) reduction = 1 - (.0375 * wcs.GetLevel(attacker,RaceName,'Torment Soul')) nreduction = reduction * -1 wcs.Command(userid).SpeedAdd(nreduction) wcs.Command(userid).Delayed(wcs.GetLevel(attacker,RaceName,'Torment Soul'),wcs.Command(userid).SpeedAdd,reduction) es.tell(attacker, "#green", "You Torment Your Oponents Soul.") es.tell(userid, "#green", "Your Soul is in agony.") def player_spawn(ev): userid = int(ev['userid']) if wcs.GetRace(userid) == RaceName: bonusLevel = wcs.GetLevel(userid,RaceName,'Heavy Soul') soulS = str(wcs.Command(userid).ReturnDict('souls')) wcs.Command(userid).UpdateDict('drugs', 0) es.tell(userid, "#green", "You have " + soulS + " Souls" ) if bonusLevel >= 1: bonusHp = bonusLevel * 8 wcs.Command(userid).HealthAdd(bonusHp) wcs.Effect().Misc1(userid, 11) if wcs.Command(userid).ReturnDict('souls') >= 1: bonus = wcs.Command(userid).ReturnDict('souls') if bonus > 40: bonus = 40 bonus = bonus * 0.02 wcs.Command(userid).SpeedAdd(bonus) bonus = 1.0 - bonus if bonus < 0.7: bonus = 0.7 wcs.Command(userid).ChangeGravity(bonus) es.tell(userid, "#green", "You can feel You Soul Pulsating in you") wcs.Effect().Misc3(userid, 10, 1) def player_ability_on(ev): userid = int(ev['userid']) if wcs.GetRace(userid) == RaceName: if wcs.Command(userid).ReturnDict('drugs') == 0: wcs.Command(userid).UpdateDict('drugs', 1) if wcs.GetLevel(userid,RaceName,'Ancient Drugs') >= 1: wcs.Command(userid).Drug() wcs.Command(userid).Speed(2) dhp = wcs.GetLevel(userid,RaceName,'Ancient Drugs') * 7 wcs.Command(userid).HealthAdd(dhp) es.tell(userid, "#green", "O.0 Oh O, OOoooo :)") def player_ability_on2(ev): userid = int(ev['userid']) if wcs.GetRace(userid) == RaceName: if wcs.GetLevel(userid,RaceName,'Soul Sacrifice') >= 1: lvl = wcs.GetLevel(userid,RaceName,'Soul Sacrifice') dtime = 10 - lvl dhp = wcs.GetLevel(userid,RaceName,'Soul Sacrifice') * 2 wcs.Command(userid).Drug(dtime) wcs.Command(userid).HealthAdd(dhp) tempSouls = wcs.Command(userid).ReturnDict('souls') - 1 wcs.Command(userid).UpdateDict('souls', tempSouls) wcs.Effect().Misc5(userid, 5, 1) es.tell(userid, "#green", "You Healed Yourself At the Sacrifice of Part of your Soul.") def player_ultimate_on(ev): userid = int(ev['userid']) if wcs.GetRace(userid) == RaceName: loc = es.getplayerlocation(userid)