Archived copy of warcraft-source.com, the Warcraft: Source (WCS) forum (2007–2011), rebuilt from the Internet Archive by wc3mods.net. This page was captured on 2009-10-29 (original capture). Home · Forum · All archived topics · Downloads
Warcraft-Source.com - WCS mod for CSS
October 29, 2009, 10:31:19 AM *
Welcome, Guest. Please login or register.
Login with username, password and session length
News: WCS Tournament being opened for applications!

Post here for signups!
Google  
  Home   Forum   Help Search Login Register   *
Pages: [1] 2   Go Down
  Print  
This topic has not yet been rated! You have not rated this topic. Select a rating:
Author Topic: Demon Hunter  (Read 312 times)
Espeladden
Pwning ultra sexy beastly hot legend
Level 7 Expert
*****
Offline Offline

Norway

Posts: 590



WWW
Gastingor
Mursat

myServer 74.86.98.64:27017
(Warning: click connects through Steam)
« on: March 03, 2008, 06:04:35 PM »

Demon Hunter

Mana Burn - Have a chance to burn the enemies money
Evasion - Have a chance to evade shots fired at you
Immolation - Give yourself a burning aura that damages any enemy inside it, but you lose a lot money. +ability / -ability
Metamorphosis - Transform into a demon for a while. While you are a demon, you deal more damage and have more health and speed



Demon Hunters are dark, shadowy warriors who are shunned by the greater Night Elf society. They made a pact, long ago, to fight against the forces of chaos using its own terrible powers against it. These mysterious warriors ritually blind themselves so that they develop 'spectral sight' that enables them to see demons and undead with greater clarity. They wield demonically charged warblades in battle and even call upon demonic energies to augment their formidable combat skills. Although they are counted as some of the mightiest warriors within the Night Elves' society, the Demon Hunters are always maligned and misunderstood for making their selfless pact with darkness.

Code
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
# Thank you The_Last_ghost or as I call u Hawk for helping me with the ability
# Import module
import es
import random
import gamethread
 
import wcs
from wcs import wcs
 
###################
#    PUBLISH INFO
info = es.AddonInfo()
info.name = 'Demon Hunter'
info.author = 'Espeladden'
 
###################
#     RACE INFO
#
RaceName = 'Demon Hunter'
race = wcs.Race(RaceName)
race.registerMinLevel(70)
 
###################
#    SKILL INFO
# Syntax: registerSkill("skill name",<amount of levels>,<skill points to buy>,"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,'Transform into a demon')
 
def player_hurt(ev):
   userid = int(ev['userid'])
   attacker = int(ev['attacker'])
   damage = int(ev['dmg_health'])
   evasion = wcs.GetLevel(attacker, RaceName, 'Evasion') * 5
   mana = wcs.GetLevel(attacker, RaceName, 'Mana burn') * 5
   metamorphosis = wcs.GetLevel(attacker,RaceName, 'Metamorphosis')
   amount = int(damage * 0.15)
   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)
           es.tell(userid, '#multi', '#lightgreenMetamorphosis #default- #greenYou have dealt %s extra damage as a beast!'%amount)
   if mana:
       if mana > random.randint(1,100):
           amount = es.setplayerprop('CCSPlayer.m_iAccount',int(es.getplayerprop(userid,'CCSPlayer.m_iAccount')) - 400)
           es.tell(userid,'#multi', '#lightgreenMana Burn #default- #greenYou have stole 400 mana from your victim.')
           wcs.Effect().Beam4(userid, attacker, 2, 234, 167, 48)
 
def player_ability_on(ev):
   userid = int(ev['userid'])
   immolation = wcs.GetLevel(userid, RaceName, 'Immolation')
   if immolation:
       playeru = wcs.Command(userid)
       cash = es.getplayerprop(userid, 'CSSPlayer.m_iAccount')
       if not cash < 1000:
           immostatus = playeru.ReturnDict('ImmoStatus')
           if immostatus == 0:
               playeru.UpdateDict('ImmoStatus', 1)
               es.tell(userid, '#multi', '#lightgreenYou have turned #greenImmolation on!')
               immo_loop(userid)
           elif immostatus == 1:
               playeru.UpdateDict('ImmoStatus', 0)
               name = 'immolation_%s' % userid
               gamethread.canceldelayed(name)
               es.tell(userid, '#multi', '#lightgreenYou have turned #greenImmolation off!')
       else:
           es.tell(userid, '#multi', "#lightgreenYou have turned #greenImmolation off #lightgreenbecause you don't have enough mana")
 
def force_ability_off(userid):
   wcs.Command(userid).UpdateDict('ImmoStatus', 0)
   name = 'immolation_%s' % userid
   gamethread.canceldelayed(name)
   es.tell(userid, '#multi', '#lightgreenYour #greenImmolation #lightgreenhave been turned #greenoff!')
 
def immo_loop(userid):
   cash = es.getplayerprop(userid, 'CSSPlayer.m_iAccount')
   if not cash < 1000:
       immolation = wcs.GetLevel(userid, RaceName, 'Immolation')
       irange = 60 + immolation * 10
       userteam = es.getplayerteam(userid)
       if userteam == 2:
          targets = '#ct'
       elif userteam == 3:
           targets = '#t'
       wcs.Effect().Misc5(userid,5,1)
       wcs.Command(userid).DamageArea(irange, 2, targets)
       es.setplayerprop(userid, 'CCSPlayer.m_iAccount', cash - 50)
       name = 'immolation_%s' % userid
       gamethread.delayedname(1, name, immo_loop, userid)
   else:
       es.tell(userid, '#multi', "#lightgreenYou have turned #greenImmolation off #lightgreenbecause you don't have enough mana")
 
def player_spawn(ev):
   meta = wcs.GetLevel(ev['userid'],RaceName, 'Metamorphosis')
   if meta:
       wcs.Command(ev['userid']).UpdateDict('transformed',0)
 
def player_death(ev):
userid = ev['userid']
if wcs.GetLevel(userid,RaceName,'Metamorphosis') and wcs.Command(userid).ReturnDict('transformed'):
gamethread.cancelDelayed('meta_%s'%userid)
TransformBack(userid)
 
def player_ultimate_on(ev):
   userid = ev['userid']
   player = wcs.Command(userid)
   level = wcs.GetLevel(userid,RaceName,'Metamorphosis')
   player.SetCoolDown('Metamorphosis',40)
   effect = wcs.Effect()
   if level:
       player.HealthAdd(50)            
       player.SpeedAdd(0.4)            
       player.UpdateDict('transformed',1)              
       gamethread.delayedname(10,'meta_' + str(userid),TransformBack, userid)
       effect.Ring1(userid, 150, 5, 255, 0, 255)
 
def round_end(ev):
for player in es.getUseridList():
if wcs.Command(player).ReturnDict('transformed'):
TransformBack(player)
 
def round_start(ev):
   for player in es.getUseridList():
       if wcs.Command(player).ReturnDict('ImmoStatus'):
           force_ability_off(player)
 
def TransformBack(uid):
   player = wcs.Command(uid)
   if player.ReturnDict('transformed'):
   player.HealthAdd(-50)
   player.SpeedAdd(-0.4)
   player.UpdateDict('transformed',0)
   wcs.Effect().Ring4(uid, 50, 300, 4, 25, 10, 255, 0, 0)
   es.tell(uid,'#multi','#greenMetamorphosis #default- #lightgreenYou have reverted back to your former self')
 
def round_end
   userid = ev['userid']
  if wcs.GetLevel(userid,RaceName,'Metamorphosis') and wcs.Command(userid).ReturnDict('transformed'):
    gamethread.cancelDelayed('meta_%s'%userid)
       TransformBack(userid)
 
 


Well here is my first shot at a python race Wink Dukes helped me a lot with it and Rotgutts came in handy too Smiley
If you find any bugs let me know, then ill try to fix them.
Come with any feedback u might have
« Last Edit: March 04, 2008, 10:33:36 AM by Noobzard » Logged

bladesback
Level 0 Beginner

Offline Offline

Canada Canada

Posts: 9



« Reply #1 on: March 03, 2008, 06:08:42 PM »

looks so much more difficult then reg wcs
Logged
CA.Berettonawak
Le renommé méconnu...
Watchdogs
Level 7 Expert
*****
Offline Offline

France France

Posts: 2650


Big Berettonawak is watching you...


WWW
Bifkids
« Reply #2 on: March 03, 2008, 06:10:22 PM »

Yeah, looks fun and harder.
Logged

Quote from: N0life
Beret, keep yourself focusing on 1 project. Be sure to memorize that down since it sounds good.
Quote from: myself
i love tuna juice Cheesy
Quote from: Pietro
=CA= Pietro: back
=CA= Pietro: sorry, was downstair sharing my chocolate with my cat
=CA= Pietro: you should see his face when he ate it xD
Quote from: myself
=CA= Berettonawak: just because you don't have hope doesn't mean we're doomed
Rotgutts
Level 7 Expert
*****
Offline Offline

United States United States

Posts: 303


Krechure Feature



Merzlin
Merzlin
« Reply #3 on: March 03, 2008, 06:12:39 PM »

Absoloutly love this race! Thanks Noobzard for dealing with my issues my love -.-
Logged

freddukes
Level 7 Expert
*****
Offline Offline

United Kingdom

Posts: 292



« Reply #4 on: March 03, 2008, 06:12:51 PM »

blade... You can also use EventScripts Classing (current coding language) to code your races... If you learnt python, it's actually a lot simpler way to code races!

And on a better note: nice job Wink Keep up the good work

-freddukes
Logged

Espeladden
Pwning ultra sexy beastly hot legend
Level 7 Expert
*****
Offline Offline

Norway

Posts: 590



WWW
Gastingor
Mursat

myServer 74.86.98.64:27017
(Warning: click connects through Steam)
« Reply #5 on: March 03, 2008, 06:31:10 PM »

Not sure if it is just me but the last line for your es.tell is cut off in your post.

I like the race/what you have done with it but I have one request/recommendation. In true fashion to WC3FT Demon Hunter hero could you maybe make the immolation a bit more true to the game skill? Like maybe make it drain like 5$/second and loop until the user toggles it back off? Burning those around you every second?


Yeah it got cut off Tongue And what do u mean by the other stuff? Explain more? Cheesy
Logged

Espeladden
Pwning ultra sexy beastly hot legend
Level 7 Expert
*****
Offline Offline

Norway

Posts: 590



WWW
Gastingor
Mursat

myServer 74.86.98.64:27017
(Warning: click connects through Steam)
« Reply #6 on: March 03, 2008, 06:34:02 PM »

Added the cancel at round_end Smiley
Logged

Jeff
Level 7 Expert
*****
Offline Offline

United States United States

Posts: 458



WWW
beastrace91
« Reply #7 on: March 03, 2008, 06:34:52 PM »

I mean have you ever used the Demon in the actual war craft 3 game? His immolation skill is toggled on/off. While on it drains ur mana but deals damage every second to all enemies around him.

~J3ff
Logged

Espeladden
Pwning ultra sexy beastly hot legend
Level 7 Expert
*****
Offline Offline

Norway

Posts: 590



WWW
Gastingor
Mursat

myServer 74.86.98.64:27017
(Warning: click connects through Steam)
« Reply #8 on: March 03, 2008, 06:37:09 PM »

Oh.. Ill try do it Wink
And yes I played warcraft 3 but that was very little..
Logged

Espeladden
Pwning ultra sexy beastly hot legend
Level 7 Expert
*****
Offline Offline

Norway

Posts: 590



WWW
Gastingor
Mursat

myServer 74.86.98.64:27017
(Warning: click connects through Steam)
« Reply #9 on: March 04, 2008, 11:12:35 AM »

I have now changed the ability (immolation) to the idea Jeff came with Smiley
If u have it plz re-add it Smiley
Logged

Kevin002
Level 3 Trained Apprentice
***
Offline Offline

Canada Canada

Posts: 61




Kevin002
« Reply #10 on: March 04, 2008, 11:14:13 AM »

i will run it through my test Server. Debug it if necessary and most likely add it to my Clan Server
Logged
Espeladden
Pwning ultra sexy beastly hot legend
Level 7 Expert
*****
Offline Offline

Norway

Posts: 590



WWW
Gastingor
Mursat

myServer 74.86.98.64:27017
(Warning: click connects through Steam)
« Reply #11 on: March 04, 2008, 11:20:08 AM »

Awsome Smiley
If u find any bugs, plz let me know
Logged

joshtrav
Level 4 Intermediate
****
Online Online

United States United States

Posts: 83



WWW
76561197991487373

myServer 72.5.102.36:27015
(Warning: click connects through Steam)
« Reply #12 on: March 07, 2008, 08:32:48 AM »

Is this ready to be tested?  If so we will work on it this weekend for you.
Logged

Espeladden
Pwning ultra sexy beastly hot legend
Level 7 Expert
*****
Offline Offline

Norway

Posts: 590



WWW
Gastingor
Mursat

myServer 74.86.98.64:27017
(Warning: click connects through Steam)
« Reply #13 on: March 08, 2008, 04:33:33 PM »

Yeah, go ahead Smiley
I could always need some more feedback Smiley
Logged

joshtrav
Level 4 Intermediate
****
Online Online

United States United States

Posts: 83



WWW
76561197991487373

myServer 72.5.102.36:27015
(Warning: click connects through Steam)
« Reply #14 on: March 08, 2008, 09:32:03 PM »

Code
GeSHi (python):
Traceback (most recent call last):
 File "C:\Program Files\Valve\HLServer\CSSserver\cstrike\addons\eventscripts\es.py", line 321, in loadModuleAddon
   newaddon = __import__(importname)
 File "C:\Valve\HLServer\CSSserver\cstrike\addons\eventscripts\wcs\races\Demon Hunter\Demon Hunter.py", line 152
   def round_end
 
^
SyntaxError: invalid syntax

First error.
Logged

Pages: [1] 2   Go Up
  Print  
 
Jump to:  

Last 7 Shouts:
Today at 09:19:00 AM
lol Tongue
still awake though in the USA?
no work today?
Today at 09:15:34 AM
wtf woah... i didnt see that you guys talking about me.... but its k idk what you guys talking about..so im in good mood right now lol
Today at 09:12:55 AM
lol zawmb, sorry it was really dissing (if my dictionnary gave me the right meaning about this word)... chuck is a nice guy and i didn't say it bad, but still... it wasn't a random sentence i made Tongue
October 28, 2009, 07:43:27 PM
can anyone check this out....http://www.youtube.com/user/vadik24
October 28, 2009, 06:42:52 PM
Zoras, don't diss someone you aren't educated enough to "diss".  Berett said he only watched stargate for the past year and stargate alone and asked if anyone else had done the same.  He did not 'diss' chuck in any way.
October 28, 2009, 06:26:24 PM
What section should I post my set of races? Mah friend shut down his server, so I figure I'll just make 'em public.
October 28, 2009, 12:03:53 PM
Dont diss my homie Chuck ;]
Recent
[Today at 09:32:16 AM]

[Today at 09:29:45 AM]

[Today at 09:18:21 AM]

[Today at 09:14:35 AM]

[Today at 08:53:39 AM]

[Today at 05:41:49 AM]

[Today at 03:34:21 AM]

[Today at 03:33:46 AM]

[Today at 03:25:46 AM]

[Today at 02:04:47 AM]
Theme switch

Powered by MySQL Powered by PHP Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC
TinyPortal v0.9.8 © Bloc
Valid XHTML 1.0! Valid CSS!
Page created in 0.403 seconds with 22 queries.