|
|
as a CS major i thought it would be fun to try and script one of my dream heroes Shadow Dancer . i am having some problems doing so. below is the scripts in progress for the hero and any questions i have pertaining to each skill. if please don't comment on the hero's design. the link is only their so people understand mechanically what i am trying to do. if you must comment on the hero design please put it on dream not in this thread.
Last edited by EternalShade; 04-27-2011 at 07:06 PM.
Skill 1
Questions
1) for some reason this code is causing the return portion of the skill the hero to damage and slow himself instead of returning.
ability.entity
state.entityCode:<?xml version="1.0" encoding="UTF-8"?> <ability name="Ability_Shadow1" icon="icon.tga" anim="ability_1" casttime="0" castactiontime="1000" statuseffecttooltip="State_Shadow_Ability1" maxlevel="4" requiredlevel="1,3,5,7" actiontype="target_entity" casteffecttype="Magic" targetscheme="enemy_units" manacost="80,90,100,110" cooldowntime="10000" range="500,600,700,800" > <onimpact> <spawnunit name="Gadget_Shadow_Ability1" count="1" target="this_entity" pushentity="true"/> <setproxy entity="this_entity" target="stack_entity" /> <disjoint target="source_entity"/> <teleport interpolate="false"/> <applystate name="State_Shadow_Ability1" duration="3000,4000,5000,6000"/> <damage effecttype="magic" amount="50,100,150,200"/> <activatemodifierkey entity="this_entity" name="Return_Shadow_Abiltiy1" /> <starttimer entity="this_entity" duration="10000" /> </onimpact> <ontimer> <deactivatemodifierkey entity="this_entity" name="Return_Shadow_Abiltiy1" /> <kill target="proxy_entity" source="" /> </ontimer> <modifier key="Return_Shadow_Abiltiy1" modpriority="100" ignorecooldown="true" statuseffecttooltip="" anim="" icon="" castactiontime="0" manacost="50" actiontype="no_target" cooldowntime="0" frontqueue="true" inheritmovement="true" > <disjoint target="source_entity"/> <teleport source="this_entity" target="proxy_position" interpolate="false"/> <kill target="proxy_entity" source=""/> <deactivatemodifierkey entity="this_entity" name="Return_Shadow_Abiltiy1" /> <resettimer /> </modifier> </ability>
gadget.entityCode:<?xml version="1.0" encoding="UTF-8"?> <state name="State_Shadow_Ability1" icon="icon.tga" passiveeffect="effects/state.effect" effecttype="StatusDebuff" movespeedslow="0.2" > </state>
Code:<?xml version="1.0" encoding="UTF-8"?> <gadget name="Gadget_Shadow_Ability1" icon="" portrait="" modelscale="1.75" model="" idleanim="spawn" passiveeffect="" boundsheight="0" boundsradius="0" isselectable="false" selectionradius="0" targetoffset="0 0 0" canrotate="false" ismobile="false" attacktype="none" combattype="Ranged" sightrangeday="0" sightrangenight="0" unitwalking="true" canattack="false" deathtime="0" corpsetime="0" invulnerable="true" flying="false" drawonmap="false" lifetime="10000" > </gadget>
Last edited by EternalShade; 04-30-2011 at 01:04 AM.
Skill 2
Questions
1) is their any way to stop the target from seeing people attacking him?
ability.entity
state.entityCode:<?xml version="1.0" encoding="UTF-8"?> <ability name="Ability_Shadow2" icon="icon.tga" anim="ability_2" casttime="0" castactiontime="0" statuseffecttooltip="State_Shadow_Ability2" maxlevel="4" requiredlevel="1,3,5,7" actiontype="target_entity" casteffecttype="Magic" targetscheme="enemy_units" manacost="150,160,170,180" cooldowntime="20000,18000,16000,14000" range="600" > <onimpact> <applystate name="State_Shadow_Ability2" target="target_entity" duration="4000"/> </onimpact> </ability>
Code:<?xml version="1.0" encoding="UTF-8"?> <state name="State_Shadow_Ability2" icon="icon.tga" passiveeffect="effects/state.effect" effecttype="StatusDebuff" isolated="true" morphpriority="100" morphsightrangeday="0" morphsightrangenight="0" > <onframe> <damage effecttype="Magic DOT" amount="25,40,55,70" b="frametime" /> </onframe> </state>
Last edited by EternalShade; 04-28-2011 at 02:38 PM.
Skill 3
Questions
1) ally effect isnt blocking damage at all
ability.entity
enemy_state.entityCode:<?xml version="1.0" encoding="UTF-8"?> <ability name="Ability_Shadow3" icon="icon.tga" anim="ability_3" casttime="0" castactiontime="0" statuseffecttooltip="State_Shadow_Ability3" maxlevel="4" requiredlevel="1,3,5,7" actiontype="target_entity" casteffecttype="Magic" targetscheme="all_units" manacost="100" cooldowntime="15000" range="600" > <onimpact> <cantarget targetscheme="ally_units"> <applystate name="Ally_State_Shadow_Ability3" target="target_entity" duration="15000"/> </cantarget> <cantarget targetscheme="enemy_units"> <applystate name="Enemy_State_Shadow_Ability3" target="target_entity" duration="4000,5000,6000,7000"/> </cantarget> </onimpact> </ability>
ally_state.entityCode:<?xml version="1.0" encoding="UTF-8"?> <state name="Enemy_State_Shadow_Ability3" icon="icon.tga" passiveeffect="effects/state.effect" effecttype="StatusDebuff" > <onframe> <damage effecttype="Magic DOT" amount="20,30,40,50" b="frametime"/> </onframe> </state>
Code:<?xml version="1.0" encoding="UTF-8"?> <state name="Ally_State_Shadow_Ability3" icon="icon.tga" passiveeffect="effects/state.effect" effecttype="StatusDebuff" > <oninflict> <setcharges a="4,5,6,7" /> </oninflict> <onattackdamageevent> <setvar0 a="damage_attempted" b="20,30,40,50" op="sub" /> <setvalue name="damage_attempted" a="damage_attempted" b="var0" op="sub" /> <removecharge /> <compare a="charges" b="0" op="eq"> <expire /> </compare> </onattackdamageevent> </state>
Last edited by EternalShade; 04-30-2011 at 01:05 AM.
Skill 4
Questions
1) working as intended now
ability.entity
target_state.entityCode:<?xml version="1.0" encoding="UTF-8"?> <ability name="Abilty_Shadow4" statuseffecttooltip="Source_State_Shadow_Ability4" icon="icon.tga" anim="ability_4" casttime="1000" castactiontime="0" channeltime="3000,2000,1000" maxlevel="3" requiredlevel="6,11,16" actiontype="target_entity" ischanneling="true" casteffecttype="Magic" targetscheme="ally_units" manacost="200" cooldowntime="60000,55000,50000" range="900001" > <onchannelstart> <applystate name="Target_State_Shadow_Ability4" target="target_entity" duration="1000"/> <applystate name="Source_State_Shadow_Ability4" target="source_entity" duration="1000"/> </onchannelstart> <onimpact> </onimpact> <onchannelend> <teleport interpolate="false"/> <disjoint target="source_entity" /> </onchannelend> </ability>
source_state.entityCode:<?xml version="1.0" encoding="UTF-8"?> <state name="Target_State_Shadow_Ability4" icon="icon.tga" passiveeffect="effects/state.effect" effecttype="StatusBuff" > <ondamaged> <absorbdamage max="400,500,600"> <expire /> </absorbdamage> </ondamaged> </state>
Code:<?xml version="1.0" encoding="UTF-8"?> <state name="Source_State_Shadow_Ability4" icon="icon.tga" passiveeffect="effects/state.effect" effecttype="StatusBuff" > <ondamaged> <absorbdamage max="400,500,600"> <expire /> </absorbdamage> </ondamaged> </state>
Last edited by EternalShade; 04-30-2011 at 01:06 AM.
[Custom Map] Valkyrie Wars [Dream]
[Guide] How to create a neutral creep spot | [Map] Borderland [Dream]
[MineCraft Server] CraftCraft 20Slot 24/7 [84.200.47.30]
Last edited by EternalShade; 04-27-2011 at 09:19 PM.
ABILITY 4 :
I copied a part of your ulti, you will see that the numbers don't fit.
Also, you apply a few states (target en source) but you should add an attribute target="source_entity" in you <applystate/>.Code:maxlevel="4" requiredlevel="1,3,5,7" cooldowntime="60000,55000,50000"
And both states are marked as Debuffs, should be Buffs.
The numbers on the abilities sound quite OP to me, but that's not that much on topic i guess. (16 sec cripple on first skill, 7sec x 50dps for 100 mana 15 sec cd on third).
My Custom Maps
Rampage Runner (SP) - showthread.php?t=255701
SokoHoN (SP) - showthread.php?t=246141
Chess of Newerth (MP) - showthread.php?t=312907
yeah, sorry as I mentioned it was way to late for me =)
Did you create a gadget.entity ? We need one because we do spawn
the Gadget_Location unit.
It ports you to the position of the gadget, you spawn at the position
you use the spell, if there is no gadget it ports you to the default value.
(btw. you will be always teleport to left bottom of the map if something
is wrong with the targeted position)
I am now at university will go through when I am at home. Sry that I didn't
explain how modifiers / proxy works.
Furthermore, I am not the best in explaining proxy, you should search, Oloko
did once explain it to me in a thread (maybe I dig for it later).
Modifier modify the "abilities" so you can set active modifier and everything
in the matching <modifier key ...> </modifier> will be active, everything you
don't change will be as previous. I would suggest to look at different spells
using modifier for instance dampeer, fayde and or heroes like pharao which
get an additional spell while holding a staff of master.
If you still questions, which I guess you will have because I suck at explaning =D
Feel free to ask ^^
[Custom Map] Valkyrie Wars [Dream]
[Guide] How to create a neutral creep spot | [Map] Borderland [Dream]
[MineCraft Server] CraftCraft 20Slot 24/7 [84.200.47.30]
A really easy solution to your first skill is to look at Gladiator's "return" ability (Kunkka's X marks the spot). You can essentially copy the majority of that skill and use it.
For the third skill:
Haven't verified that would work, but that would be more intuitive than say using absorb damage.Code:<?xml version="1.0" encoding="UTF-8"?> <state name="Ally_State_Shadow_Ability3" icon="icon.tga" passiveeffect="effects/state.effect" effecttype="StatusBuff" > <oninflict> <setcharges a="4,5,6,7" /> </oninflict> <ondamaged> <setvar0 a="damage_attempted" b="20,30,40,50" op="sub" /> <setvalue name="damage_attempted" a="damage_attempted" b="var0" op="sub" /> <removecharge /> <compare a="charges" b="0" op="eq"> <expire /> </compare> </ondamaged> </state>
If you want to reduce damage by a non-static amount (say, a percentage) use <scaledamage>.
HONOR- If you need it defined, you don't have it.
working on updating OP with everyone's suggestions. cant test atm at school.
alright got new problems posted in OP that i need help with.
First skill : change this so you don't apply the debuff to yourself
<applystate name="State_Shadow_Ability1" duration="3000,4000,5000,6000" target="target_entity"/>
Second skill : I think that it's hard coded in the engine that attacking someone puts a hidden state with revealed="true" on you. You can try to counter it by applying the opposite. Not sure if it will work.
Third skill : didn't look into it yet.
My Custom Maps
Rampage Runner (SP) - showthread.php?t=255701
SokoHoN (SP) - showthread.php?t=246141
Chess of Newerth (MP) - showthread.php?t=312907
1st Skill: Tafelpoot already sad it.
2nd Skill: Try to use a state on yourself, which if you attack, applies invisibility to
you with a fade time of 0 (if this works or something like 0.1 ) so you will be revealed
for short timer but not enough to right click you or so. Btw.
3rd Skill: Maybe you are using the wrong event tag. I would use the
<onattackedpredamage /> --> Someone successful attacked you but damage
/spell damage is not applied yet
Originally Posted by Mapping /Hero Guide
[Custom Map] Valkyrie Wars [Dream]
[Guide] How to create a neutral creep spot | [Map] Borderland [Dream]
[MineCraft Server] CraftCraft 20Slot 24/7 [84.200.47.30]
wtf they using xml to code this crap? lol. I guess it's better then c++ i suppose.
Wanna diss delusional people? Make Zeph, Chronos, Tempest, Magebane and Electrican heroes only available to PREPURCHASE or only 30$