PDA

View Full Version : ♥ Riftwalker Mechanics



MacroHard
05-11-2012, 11:06 AM
Riftwalker - Ranged Intelligence

Basic Hero Info

Str 18 + 2.1
Agi 16 + 1.2
Int 20 + 3.0 (primary)

Attack Range 600
Movespeed 300
Turnrate 540

Base Armor 0.50
Base Attack Cooldown 1.7
Base Damage 22-27 + 20 (int)

Level 1 Health 492
Level 1 Mana 260
Level 1 Armor 2.7

Level 25 Health 1830
Level 25 Mana 1456
Level 25 Armor 9.6

«game/resources0.s2z/heroes/riftmage/»

hero.entity


<hero
name="Hero_Riftmage"
newhero="true"

team="Hellbourne"
icon="icon.tga"
portrait="icon.tga"
model="model.mdf"
skin=""

passiveeffect="effects/body.effect"
spawneffect=""
respawneffect="/shared/effects/respawn.effect"
selectedsound="sounds/voice/select_%.wav"
selectedflavorsound="sounds/voice/select_flavour_%.wav"
confirmmovesound="sounds/voice/move_%.wav"
confirmattacksound="sounds/voice/attack_%.wav"
nomanasound="sounds/voice/no_mana.wav"
cooldownsound="sounds/voice/cooldown.wav"
announcersound="sounds/voice/hero_select.wav"
tauntedsound="sounds/voice/taunt_prior.wav"
tauntkillsound="sounds/voice/taunt_after.wav"

preglobalscale="2.025"
modelscale="1"
effectscale="0.9"
boundsheight="112"
boundsradius="24"
selectionradius="48"
targetoffset="0 0 92"

category="magic cc"
difficulty="4"
movespeed="300"
turnrate="540"
turnsmoothing="0.05"

infoheight="165"

maxhealth="150"
healthregen="0.25"
maxmana="0"
manaregen="0.01"

armor="0.5"
magicarmor="5.5"

inventory0="Ability_Riftmage1"
inventory1="Ability_Riftmage2"
inventory2="Ability_Riftmage3"
inventory3="Ability_Riftmage4"
inventory4="Ability_AttributeBoost"
inventory5=""
inventory6=""
inventory8="Ability_Taunt"

attackduration="1000"
attackactiontime="450"
attackcooldown="1700"
attackdamagemin="22"
attackdamagemax="27"
attacknumanims="2"
attackoffset="0 55 90"
attackprojectile="Projectile_RiftmageAttack"
attackrange="600"
attackstarteffect=""
attackactioneffect="effects/attackaction.effect"
attackimpacteffect=""
attacktype="ranged"
combattype="Hero"

aggrorange="600"
sightrangeday="1800"
sightrangenight="800"
wanderrange="250"

primaryattribute="Intelligence"
strength="18"
strengthperlevel="2.1"
agility="16"
agilityperlevel="1.2"
intelligence="20"
intelligenceperlevel="3.0"

previewmodel="preview.mdf"
previewpos="0 0 -60"
previewangles="0 0 0"
previewscale="1.65"

storemodel="store_model.mdf"
storepos="0 0 -20"
storeangles="0 0 0"
storescale="1.95"
>
<recommendeditem name="Item_MinorTotem" />
<recommendeditem name="Item_RunesOfTheBlight" />
<recommendeditem name="Item_HealthPotion" />
<recommendeditem name="Item_HomecomingStone" />



<modifier key="Alt" modpriority="1"
altavatar="true"

icon="alt/icon.tga"
portrait="alt/icon.tga"
model="alt/model.mdf"

attackprojectile="Projectile_RiftmageAttack_Alt"
attackactioneffect="alt/effects/attackaction.effect"


previewmodel="alt/preview.mdf"
previewpos="0 0 -60"
previewangles="0 0 0"
previewscale="1.65"

storemodel="alt/store_model.mdf"
storepos="0 0 -20"
storeangles="0 0 0"
storescale="1.95"

infoheight="185"

preglobalscale="2.1"

selectedsound="alt/sounds/voice/select_%.wav"
selectedflavorsound="alt/sounds/voice/select_flavour_%.wav"
confirmmovesound="alt/sounds/voice/move_%.wav"
confirmattacksound="alt/sounds/voice/attack_%.wav"
nomanasound="alt/sounds/voice/no_mana.wav"
cooldownsound="alt/sounds/voice/cooldown.wav"
announcersound="alt/sounds/voice/hero_select.wav"
tauntedsound="alt/sounds/voice/taunt_prior.wav"
tauntkillsound="alt/sounds/voice/taunt_after.wav"
>
</modifier>

</hero>



Ability 1 - Cascade Event

http://i.imgur.com/BZh1Q.jpg
After a short delay, damages and pulls enemy units into the center of target AOE.

Mana 120
Cooldown 24/21/18/15
Cast range 1200
Cast action time 300

Target area
After 1.5 second delay, spawns a 350 radius affector that damages and pulls enemy units
After (same) 1.5 second delay, gives 400 day/night clearvision at target location

Deals 80/140/200/260 magic damage

Pulls all targets to center of the AOE over 0.2 seconds
Affected units will end up 20 distance from AOE center

Touch type, effect type, and damage type are Magic
The pull has no effect type and cannot be purged or transfered

«game/resources0.s2z/heroes/riftmage/ability_01/»

ability.entity


<ability
name="Ability_Riftmage1"

icon="icon.tga"

anim="ability_1"
casttime="400"
castactiontime="300"
casteffect=""
maxlevel="4"
requiredlevel="1,3,5,7"

targetradius="350"
targetmaterial="/shared/materials/area_cast_indicator_simple.material"

actiontype="target_position"
targetscheme="enemy_nonboss_units"

casteffecttype="Magic"

manacost="120"
cooldowntime="24000,21000,18000,15000"

range="1200"
>
<onimpact>
<spawnaffector name="Affector_Riftmage_Ability1" target="target_position" />
<spawnunit name="Gadget_Riftmage_Ability1" count="1" target="target_position" fixedposition="true" />
</onimpact>
</ability>


affector.entity


<affector
name="Affector_Riftmage_Ability1"

radius="350"
impacteffect=""
effect="effects/hole.effect"

visibility="allies"

impactdelay="1500"
targetselection="all"
targetscheme="enemy_nonboss_units"

effecttype="Magic"
>
<onspawn>
<playeffect effect="effects/hole_pulse.effect" source="this_position" target="" occlude="true" />
</onspawn>

<onimpact>
<distance source="this_position" />
<!-- Subtracting 20 from distance so it will end up 20 units away -->
<evaluate a="result" b="20" op="sub" />
<evaluate a="result" b="400" op="min" />
<setvar0 a="result" b="-5" op="mult" />

<!-- Check to see if the force is positive; if yes, then static pull force -->
<compare a="var0" b="0" op="ge">
<push force="-70" duration="200" source="this_entity" />
</compare>
<else>
<push force="var0" duration="200" source="this_entity" />
</else>
<applystate name="State_Riftmage_Ability1" duration="200" />
<damage effecttype="Magic" amount="80,140,200,260" />

</onimpact>

</affector>


gadget.entity


<gadget
name="Gadget_Riftmage_Ability1"

model="/shared/models/invis.mdf"
skin=""
unitwalking="true"
diewithowner="false"

stealthtype="unrevealable"
fadetime="0"

spawneffect=""
respawneffect=""
deatheffect=""
selectsound=""
isselectable="false"
iscontrollable="false"
orderconfirmedsound=""
expireeffect=""
preglobalscale="1.35"
modelscale=".75"
effectscale="0.9"
boundsheight="64"
boundsradius="16"
selectionradius="36"
targetoffset="0 0 0"

sightrangeday="0"
sightrangenight="0"
drawonmap="false"
invulnerable="true"
canattack="false"

corpsetime="0"
corpsefadetime="0"
deathtime="0"

lifetime="1550"
>
<onexpired>

<spawnunit name="Gadget_Riftmage_Ability1_Vision" count="1" target="this_position" />
</onexpired>
</gadget>


gadget_vision.entity


<gadget
name="Gadget_Riftmage_Ability1_Vision"

model=""
isselectable="false"
iscontrollable="false"
attacktype="none"
passiveeffect=""
sightrangeday="400"
sightrangenight="400"

deathtime="0"
corpsetime="0"

invulnerable="true"
flying="true"
clearvision="true"
drawonmap="false"

lifetime="2000"

stealthtype="unrevealable"
fadetime="0"
>
</gadget>


state.entity


<state
name="State_Riftmage_Ability1"

icon="icon.tga"
passiveeffect=""

immobilized="true"
ishidden="true"

effecttype=""
>
</state>



Ability 2 - Shared Existence

http://i.imgur.com/aKAGn.jpg
Slows movement speed of target enemy hero. Target is slowed further for every non-DOT damage instance.

Mana 75
Cooldown 20/16/12/8
Cast range 600
Cast action time 500

Slows target movespeed for 20/25/30/35% for 4 seconds
Slows an additional 4/5/6/7% for every non-DOT damage instance

Maximum slow of 40/50/60/70%

Taking damage does not refresh slow duration

Effect type is magic
Slow is a status debuff that can be purged or transfered

«game/resources0.s2z/heroes/riftmage/ability_02/»

ability.entity


<ability
name="Ability_Riftmage2"

icon="icon.tga"
statuseffecttooltip="State_Riftmage_Ability2"

anim="ability_2"
casttime="500"
castactiontime="100"
maxlevel="4"
requiredlevel="1,3,5,7"

actiontype="target_entity"
casteffecttype="Magic"
targetscheme="enemy_heroes"

manacost="75"
cooldowntime="20000,16000,12000,8000"

range="600"
>
<onimpact>
<applystate name="State_Riftmage_Ability2" duration="4000" />
<playeffect effect="effects/portal.effect" source="target_entity" target="target_entity"/>
<playeffect effect="effects/portal_self.effect" source="source_entity" target="source_entity"/>
</onimpact>

<modifier key="Alt" modpriority="1"
>
<onimpact>
<applystate name="State_Riftmage_Ability2" duration="4000" />
<playeffect effect="effects/portal.effect" source="target_entity" target="target_entity"/>
<playeffect effect="/heroes/riftmage/alt/ability_02/effects/portal_self.effect" source="source_entity" target="source_entity"/>
</onimpact>
</modifier>

</ability>


state.entity


<state
name="State_Riftmage_Ability2"

icon="icon.tga"
effecttype="StatusDebuff"
allowtransfer="true"

movespeedslow="0.20,0.25,0.30,0.35"
movespeedslowpercharge="0.04,0.05,0.06,0.07"

maxcharges="5"
passiveeffect="effects/state.effect"
>
<onimpact/>

<ondamaged>
<damageeffecttype effecttype="DOT" />

<else>
<addcharges count="1" />
<playeffect effect="effects/portal.effect" target="source_entity" source="source_entity"/>
</else>
</ondamaged>
</state>



Ability 3 - Rift Burn

http://i.imgur.com/7teEy.jpg
Damages enemy units in target AOE. Deals extra damage in target AOE every second for 6 seconds. Damage increases with each pulse.

Mana 100/110/120/130
Cooldown 15
Cast range 600
Cast action time 300

Instantly damages enemies for 50/100/150/200 damage within 150 radius

Deals 6 pulses at target AOE at 1 pulse per second

Each pulse deals magic damage in a 300 radius
The damage is applied by an expanding ring that starts at 50 radius and grows to the full 300 radius over 0.4 seconds
Each pulse does 23% more damage than the previous

Damage is as follows:
pulse|level 1|level 2|level 3|level 4
1|9.4710|18.9420|28.4130|37.8840
2|11.6493|23.2987|34.9480|46.5973
3|14.3287|28.6574|42.9860|57.3147
4|17.6243|35.2485|52.8728|70.4971
5|21.6779|43.3557|65.0336|86.7114
6|26.6638|53.3275|79.9913|106.6550
total|101.4149|202.8298|304.2447|405.6596

Max possible magic damage, including initial damage, is about 150/300/450/600

Effect type and damage type are Magic

«game/resources0.s2z/heroes/riftmage/ability_03/»

ability.entity


<ability
name="Ability_Riftmage3"

icon="icon.tga"

anim="ability_3"
casttime="1000"
castactiontime="300"

maxlevel="4"
requiredlevel="1,3,5,7"

actiontype="target_position"
targetradius="300"
targetmaterial="/shared/materials/area_cast_indicator_geomancer.material"

cooldowntime="15000"
manacost="100,110,120,130"

range="600"
>
<onimpact>
<areaofeffect
radius="150"
targetselection="all"
targetscheme="enemy_units"
effecttype=""
center="target_position"
>
<damage effecttype="Magic" amount="50,100,150,200" />
</areaofeffect>
<spawnunit name="Gadget_Riftmage_Ability3" target="target_position" count="1" fixedposition="true" pushentity="true" />
<applystate name="State_Riftmage_Ability3" continuous="true" target="stack_entity" />
<!--
<playeffect effect="effects/wormhole_top.effect" target="" source="target_position" />
-->
</onimpact>
</ability>


affector_pulse.entity


<affector
name="Affector_Riftmage_Ability3_Pulse"

radiusstart="50"
radiusend="300"

innerradiusoffset="75"

lifetime="400"
maximpactspertarget="1"
targetselection="all"
targetscheme="enemy_units"
effecttype="Magic"
persist="true"
impacteffect=""
effect="effects/pulse.effect"
canturn="false"
>


<onimpact>

<damage effecttype="Magic" amount="1" b="param" op="mult" />
<playeffect effect="effects/impact.effect" source="target_entity" target="" />
</onimpact>
</affector>


gadget.entity


<gadget
name="Gadget_Riftmage_Ability3"

icon="icon.tga"
portrait=""

model="/shared/models/invis.mdf"
passiveeffect="effects/wormhole_bottom.effect"
preglobalscale="0.93"
modelscale="1.0"
effectscale="1.0"
boundsheight="112"
boundsradius="24"
selectionradius="64"
isselectable="false"
iscontrollable="false"

drawonmap="false"

targetoffset="0 0 0"

canrotate="true"
ismobile="false"
nothreat="true"

attacktype="none"
combattype="Ranged"

sightrangeday="0"
sightrangenight="0"
unitwalking="true"
canattack="false"

flying="false"
clearvision="true"
corpsetime="0"
deathtime="0"

lifetime="6100"
>

<onspawn>
<playeffect effect="effects/shake.effect" source="this_position" target="" occlude="true" />
</onspawn>

</gadget>


state.entity


<state
name="State_Riftmage_Ability3"

icon="icon.tga"

ishidden="true"
effecttype=""

impactinterval="1000"
>
<oninflict>
<setaccumulator value="7.7,15.4,23.1,30.8" />
</oninflict>

<onimpact>
<setaccumulator value="accumulator" valueb="1.23" valueop="mult" />
<popup name="poison" a="result" source="this_owner_entity" target="source_entity" />
<spawnaffector name="Affector_Riftmage_Ability3_Pulse" target="this_owner_entity" param="accumulator" />
</onimpact>
</state>



Ability 4 - Wormhole

http://i.imgur.com/SYzKc.jpg
After a 2 second channel, instantly teleports to target location. Damages and stuns in AOE centered around destination on arrival.

Mana 150/200/250
Cooldown 90/80/70
Cast range 1200
Cast action time 0

Begins channel for 2 seconds
After channel ends, teleports to target location

Damages and stuns within 400 radius of destination on arrival

250/350/450 magic damage
2.00/2.25/2.50 second stun

Effect type is superior magic
Damage type is magic

«game/resources0.s2z/heroes/riftmage/ability_04/»

ability.entity


<ability
name="Ability_Riftmage4"

icon="icon.tga"

anim="ability_4"
casttime="0"
castactiontime="0"
channeltime="2000"
ischanneling="true"

maxlevel="3"
requiredlevel="6,11,16"

actiontype="target_position"
targetradius="400"
targetmaterial="/shared/materials/area_cast_indicator_simple.material"

casteffecttype="SuperiorMagic"
casteffect=""
targetscheme="enemy_units"

manacost="150,200,250"
cooldowntime="90000,80000,70000"

novoiceresponse="true"

range="1200"
>
<onimpact />

<onchannelstart>
<applystate name="State_Riftmage_Ability4_Channel" target="source_entity" ischannel="true" />
<spawnunit name="Gadget_Riftmage_Ability4_Art" target="target_position" count="1" fixedposition="true" pushentity="true" />
<setproxy entity="this_entity" target="stack_entity" />
</onchannelstart>

<onchannelbreak>
<kill target="this_proxy_entity" source="" />
</onchannelbreak>

<onchannelend>
<setproxy entity="this_entity" target="stack_entity" />
<teleport source="source_entity" target="target_position" interpolate="false" />

<areaofeffect
radius="400"
targetselection="all"
targetscheme="enemy_units"
effecttype="SuperiorMagic"
center="target_position"
>
<applystate name="State_Stunned" duration="2000,2250,2500" />
<damage effecttype="Magic" amount="250,350,450" />
<playeffect effect="effects/impact.effect" source="target_entity" target="target_entity" occlude="true" />
</areaofeffect>
<killtrees target="source_entity" radius="400" />

<playeffect effect="effects/explosion.effect" source="source_position" occlude="true" />
<playeffect effect="effects/wormhole_top.effect" source="source_position" occlude="true" />
<playeffect effect="effects/state_arrive.effect" source="source_entity" occlude="true" />
</onchannelend>

<modifier key="Alt" modpriority="1"
>
<onchannelend>
<setproxy entity="this_entity" target="stack_entity" />
<teleport source="source_entity" target="target_position" interpolate="false" />

<areaofeffect
radius="400"
targetselection="all"
targetscheme="enemy_units"
effecttype="SuperiorMagic"
center="target_position"
>
<applystate name="State_Stunned" duration="2000,2250,2500" />
<damage effecttype="Magic" amount="250,350,450" />
<playeffect effect="effects/impact.effect" source="target_entity" target="target_entity" occlude="true" />
</areaofeffect>
<killtrees target="source_entity" radius="400" />

<playeffect effect="effects/explosion_alt.effect" source="source_position" occlude="true" />
<playeffect effect="effects/wormhole_top.effect" source="source_position" occlude="true" />
<playeffect effect="effects/state_arrive.effect" source="source_entity" occlude="true" />
</onchannelend>
</modifier>
</ability>

Aeru
05-11-2012, 01:12 PM
-deleted-

Aya
05-11-2012, 04:17 PM
:333

SomethingOdd
05-11-2012, 11:49 PM
Now that you work for S2, give us the mechanics BEFORE the hero comes out.