GeSHi (python): ################### # Made by Espeladden a.k.a Noobzard # Thanks to Freddukes for helping me # And Rotgutts have to get some credit too. He came with the ideas, and what everything should do # Import module import es # Imports the main es code import random # Import the random module import gamethread # Import the gamethread function import wcs # imports the main base code of wcs from wcs import wcs # This just imports EVERYTHING from the base, to your code ################### # PUBLISH INFO info = es.AddonInfo() info.name = 'Demon Hunter' info.author = 'Espeladden' ################### # RACE INFO # race = wcs.Race('Demon Hunter') # This must be named exactly the same name as the .py file you will save it as race.registerMinLevel(70) # The minimum total level before you can access this race race.registerTeam('ALL') # T,CT or ALL ################### # SKILL INFO # Syntax: registerSkill("skill name",,,"description") race.registerSkill('Mana burn',5,2,'Burn your enemies mana') race.registerSkill('Evasion',6,2,'Have a chance to evade shots') race.registerSkill('Immolation',4,2,"Set yourself on fire and deal damage to nearby enemies") ################## # Ultimate Info # Syntax: registerUltimate(ultiName, ultiRequiredLevel, ultiMaxLevel, ultiLevelInterval, ultiDescription) race.registerUltimate("Metamorphosis",8,1,1,'Transfor into a demon' def player_hurt(evuserid)): userid = int(ev['userid']) attacker = int(ev['attacker']) damage = int(ev['dmg_health']) evasion = wcs.GetLevel(userid, RaceName, 'Evasion') * 5 immolation = wcs.GetLevel(userid, RaceName, 'Immolation') * 5 mama = wcs.GetLevel(userid, RaceName, 'Mana burn') * 5 effect = wcs.Effect() if evasion: if evasion >= random.randint(1,100): wcs.Command(userid).Heal(damage) es.tell(userid, '#multi', '#lightgreenEvasion #default- #greenYou have evaded a shot) effect.Ring3(userid, 150, 5, 255, 0, 0) if metamorphosis: if wcs.Command(userid).ReturnDict('transformed'): wcs.Command(userid).Damage(amount, 32, attacker) if mana: if mana >= random.randint(1,100): playerlib.getPlayer(userid).set('cash',int(playerlib.getPlayer(userid).get('cash')) - 400) wcs.Effect().Beam4(userid, attacker, 2, 234, 167, 48) def player_ability_on(ev): userid = ev['userid'] immolation = wcs.GetLevel(userid, RaceName, immolation) if immolation: if not wcs.Command(userid).GetCoolDown('Ability Name'): a = wcs.Command(userid) a.SetCoolDown(RaceName, 'immolation', 25) if int(ev['es_userteam']) == 2: p.AreaDamage('#c',immolation_level * 5 * (damage/5), int(immolation_level * 2.5 * (damage/5))) wcs.command(ev).burn 3 else: p.AreaDamage('#t',immolation_level * 5 * (damage/5), int(immolation_level * 2.5 * (damage/5))) wcs.command(ev).burn 3 def player_spawn(ev): level = wcs.GetLevel(ev['userid'],RaceName, 'Metamorphosis') if level: wcs.Command(ev['userid']).UpdateDict('transformed',0) def player_death(ev): gamethread.cancelDelayed('meta_%s'%ev['userid']) TransformBack(ev['userid']) def player_ultimate_on(ev): userid = ev['userid'] player = wcs.Command(userid) level = wcs.GetLevel(userid,RaceName,'Metamorphosis') wcs.Command(userid).SetCoolDown('Metomorphosis',40) effect = wcs.Effect() if level: player.HealthAdd(50) player.SpeedAdd(0.4) player.UpdateDict('transformed',1) gamethread.delayedname(10,'meta_%s'%userid,TransformBack, userid) effect.Ring1(userid, 150, 5, 255, 0, 255) def TransformBack(uid): es.tell(uid,'#multi','#greenMetomorphosis #default- #lightgreenYou have reverted back to your former self') player = wcs.Command(uid) player.HealthAdd(-50) player.SpeedAdd(-0.4) player.UpdateDict('transformed',0) wcs.Effect().Ring4(userid, 50, 300, 4, 25, 10, 255, 0, 0)