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.21" info['author'] = "Largo Usagi" info['url'] = "http://www.noobscss.com" info['description'] = "Soul Reaver by Largo Usagi" RaceName = 'Soul Reaver' slowSkill = 'Slow' hpSkill = 'HP Bonus' wcs.Race(RaceName).registerSkill(slowSkill, 8, 1, 'Slows Oponents.') wcs.Race(RaceName).registerSkill(hpSkill, 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', 16, 8, 2, 'Turn into an Ethereal Being.') def player_death(ev): steamid = ev['es_attackersteamid'] attacker = es.getuserid(steamid) attacker = int(attacker) if wcs.GetRace(attacker) == RaceName: sLevel = wcs.GetLevel(attacker,RaceName,"Soul Collecter") soulProb = sLevel * 3.75 gen = random.randint(1,100) if gen <= soulProb: 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']) if wcs.GetRace(attacker) == RaceName: if wcs.GetLevel(attacker,RaceName,slowSkill) >= 1: slowChance = wcs.GetLevel(attacker,RaceName,slowSkill) * 5 gen = random.randint(1,100) if gen <= slowChance: reduction = 1 - (.0375 * wcs.GetLevel(attacker,RaceName,slowSkill)) nreduction = reduction * -1 wcs.Command(userid).SpeedAdd(nreduction) wcs.Command(userid).Delayed(wcs.GetLevel(attacker,RaceName,slowSkill),wcs.Command(userid).SpeedAdd,reduction) es.tell(attacker, "#green", "You Slowed Your Oponent.") def player_spawn(ev): userid=int(ev['userid']) if wcs.GetRace(userid) == RaceName: bonusLevel = wcs.GetLevel(userid,RaceName,hpSkill) 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) if wcs.Command(userid).ReturnDict('souls') >= 1: bonus = wcs.Command(userid).ReturnDict('souls') if bonus > 40: bonus = 40 bonus = bonus * .01 wcs.Command(userid).SpeedAdd(bonus) bonus = 1 - bonus wcs.Command(userid).ChangeGravity(bonus) 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) es.tell(userid, "#green", "You Healed Yourself At the Sacrifice of Part of your Soul.") def player_activate(ev): userid=int(ev['userid']) wcs.Command(userid).UpdateDict('souls', 0)