SUPPORT ACCOUNT CLANS
Welcome, Unregistered.
 

Thread: Hero - Shadow Dancer - Questions and Errors

Results 1 to 17 of 17
  1. #1

    Hero - Shadow Dancer - Questions and Errors

    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.

  2. #2
    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
    Code:
    <?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>
    state.entity
    Code:
    <?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>
    gadget.entity
    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.

  3. #3
    Skill 2

    Questions
    1) is their any way to stop the target from seeing people attacking him?

    ability.entity
    Code:
    <?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>
    state.entity
    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.

  4. #4
    Skill 3

    Questions
    1) ally effect isnt blocking damage at all

    ability.entity
    Code:
    <?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>
    enemy_state.entity
    Code:
    <?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>
    ally_state.entity
    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.

  5. #5
    Skill 4

    Questions
    1) working as intended now

    ability.entity
    Code:
    <?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>
    target_state.entity
    Code:
    <?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>
    source_state.entity
    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.

  6. #6
    Quote Originally Posted by EternalShade View Post
    Skill 1

    Questions

    1) i could use help figuring out how to do the return portion of this skill. i have looked at both bubbles and malkin and the proxy stuff confuses me.

    ability.entity
    Code:
    <?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_location" target="this_position" pushentity="true" />
    		<setproxy entity="this_entity" target="stack_entity" />
            <teleport target="target_entity" source="source_entity" />
            <applystate name="State_Shadow_Ability1" target="target_entity" duration="16000"/>
    		<activatemodifierkey entity="this_entity"  name="Ability1_Activated" />
    		<starttimer entity="this_entity" duration="10000" />
            <damage effecttype="magic" amount="50,100,150,200"/>
        </onimpact>
    	
    	<ontimer>
    		<deactivatemodifierkey entity="this_entity" name="Ability1_Activated" />
    	</ontimer>
    	
    	<modifier key="Ability1_Activated" modpriority="100"
    		manacost="0"
    		ignorecooldown="true"
    		actiontype="target_self"
    		icon="other_icon.tga"
    	>
    		<onimpact>
    			<teleport target="this_proxy_entity" source="target_entity" />
    			<resettimer />
    			<deactivatemodifierkey entity="this_entity" name="Ability1_Activated" />
    		</onimpact>
    		
    	</modifier>
    	
    </ability>
    state.entity
    Code:
    <?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>
    I guess I did some mistakes, it's 1:20 am and I am tired, but in general
    this should work. I will look through it again tomorrow and maybe look
    at the other abilities too.

    good night

    [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]

  7. #7
    Quote Originally Posted by Schm0ftie View Post
    I guess I did some mistakes, it's 1:20 am and I am tired, but in general
    this should work. I will look through it again tomorrow and maybe look
    at the other abilities too.

    good night
    O_o i was looking for an explanation of the modifier and proxy system but ill take a fully made skill i guess.

    ya it a little off somewhere. it return you to the bottom left side of the map atm.
    Last edited by EternalShade; 04-27-2011 at 09:19 PM.

  8. #8
    Offline
    Account Icon
    Chat Symbol
    Join Date
    Jun 2009
    Location
    Belgium
    Posts
    415
    ABILITY 4 :
    I copied a part of your ulti, you will see that the numbers don't fit.
    Code:
    maxlevel="4"     
    requiredlevel="1,3,5,7"
    cooldowntime="60000,55000,50000"
    Also, you apply a few states (target en source) but you should add an attribute target="source_entity" in you <applystate/>.
    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

  9. #9
    Quote Originally Posted by Tafelpoot View Post
    ABILITY 4 :
    I copied a part of your ulti, you will see that the numbers don't fit.
    Code:
    maxlevel="4"     
    requiredlevel="1,3,5,7"
    cooldowntime="60000,55000,50000"
    Also, you apply a few states (target en source) but you should add an attribute target="source_entity" in you <applystate/>.
    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).
    thx for catching the error. seems silly that i missed that.

  10. #10
    Quote Originally Posted by EternalShade View Post
    O_o i was looking for an explanation of the modifier and proxy system but ill take a fully made skill i guess.

    ya it a little off somewhere. it return you to the bottom left side of the map atm.
    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]

  11. #11
    Offline
    Account Icon
    Join Date
    Jul 2009
    Location
    Minnesnowta
    Posts
    2,085
    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:
    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>
    Haven't verified that would work, but that would be more intuitive than say using absorb damage.

    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.

  12. #12
    Offline
    Account Icon
    Join Date
    Jul 2009
    Location
    Minnesnowta
    Posts
    2,085
    Quote Originally Posted by dandylion View Post
    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:
    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>      
      <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>
    Haven't verified that would work, but that would be more intuitive than say using absorb damage.

    If you want to reduce damage by a non-static amount (say, a percentage) use <scaledamage>.
    Hopefully that formatting sticks, it was all weird before.
    HONOR- If you need it defined, you don't have it.

  13. #13
    working on updating OP with everyone's suggestions. cant test atm at school.

  14. #14
    alright got new problems posted in OP that i need help with.

  15. #15
    Offline
    Account Icon
    Chat Symbol
    Join Date
    Jun 2009
    Location
    Belgium
    Posts
    415
    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

  16. #16
    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

    Quote Originally Posted by Mapping /Hero Guide
    <onattackdamageevent /> // Called every time this entity deals damage. Includes <damage /> calls

    <onattackedpredamage /> // This entity has been attacked, but damage/effects have not yet been applied (includes spells)

    [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]

  17. #17
    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$

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •